Ayuda Transferencia para archivos

Estamos implantando SAP desde 0 antes usando AS400 y estoy interado en recibir información en la transferencia de archivos de PG400 a SAP y toda la implementación al nuevo sistema.
Dispongo de los “Templates” de SAP y los voy cumplimentando mediante Acccess combinando las tablas para uego traspasar por "SAP Busines One Data Transfer Workbench"
No sé si existe algun método más eficaz o alguién ha hecho servir algún otro sistema.
tengo este mes de noviembre paar dejar toda la empresa traspasada al SAP.
Muchas gracias!

1 me gusta

Para la carga de datos utilizo el mismo programa, el DTW Data Transfer Workbench. No he encontrado nada mejor. Además me va bien.

Para hacer la pruebas de traspaso de datos más rápidamente accedo a los datos origen por ODBC desde el DTW, me creo una vista por cada plantilla a traspasar. En las plantillas hay 2 filas, la vista tiene que tener los nombres de la primara, que son los nombres de los campos en el SDK. La segunda es informativa, estan los nombres de los campos de las tablas de SQL Server de SAP Business One. En el ODBC no hacen falta la segunda línea.

Uso mucho la simulación. Porque si algo no está bien cambio la vista e inmediatamente le vuelvo a dar a simulación. Además con la opción de cancelar si hay 10 errores.

Para volcar a traspasar todo, me he creado un programa que va borrando las tablas usando el SDK en el orden inverso al que uso para cargarla.

1 me gusta

Muchas gracias Dradio!
Yo voy cumplimentando los dados de AS400 a las plantillas con access.
Luego las transfiero a Excel y las guardo en formato txt separado por tabulaciones pero no cosigo que me suban sin tropecientos errores.
he empezado con la plantlla “00 OCRD - BusinessPartners” pero ya tengo otras cumpimentadas
Creo por ODBC sería mucho más secillo y directo por lo que explcas pero no sé si tengo mucha idea (no soy un programador “nato”) pero tengo habilidad en aprender y daré como hacerlo.
Pero tampoco sé si dispongo de lso datos necesarios, puedes indicame cuáles son para solicitarlos a la consultoría?
El "informático"que debería de hacerlo y llevaba el proyecto no contrató el servicio de transferencia y nose maneja con la transferencia de datos de AS400 así que como yo sí “a mi manera” pues me tocó.
Muchísimas gracias por tu respuesta y colaoración
Saludos

1 me gusta

Para que no te den tantos errores pasa OCRD en modo “Add New Data” con los 3 campos básicos (CardCode, CardName, DebitorAccount) y luego vas pasando el resto con “Update Existing Data” con el campo CardCode y el o los que quieras y probando a actualizar.
Así tendrás los errores mas localizados.
Como pues en el post anterior, esto lo hago selects con ODBC porque es mas rápido que ir creando varios ficheros.

1 me gusta

Perfecto! Me ha ido genial esas instrucciones… es cuentión de mucha paciencia pues son muchas columnas en el Bussines artner (que de momento es en donde estoy)
Hay que rellenar todas las columnas oculessonlas necesarias para una empresa “normal!”?
Para crear los contactos cual debe de ser el “ParentKey”? Si creo uno diferente al “Card Code” me creea un cliente nuevo con los datso de contacto correcto pero obvio no es un nuevo cliete y si no me dice que ya existe y no me crea los nuevos datos.
Tengo para un mismo cliente varias lneas con un contacto diferente.
Donde puedo encontrar informacion para hacer por OBDC en acces ya creo consultas en SQL.
Nuevamenete… Muchísimas gracias por tu respuesta y colaboración
Saludos

Coincido con todo lo que te indica @dradio.

Además, los textos de error del DTW son de todo menos intuitivos por lo que en muchas ocasiones mi técnica de subida de datos ha consistido en una plantilla para un único maestro, por ejemplo, un sólo artículo o un sólo cliente, etc, y empiezo primero con los datos más básicos y luego voy añadiendo más. Cuando me lo actualiza todo de ese dato ya genero un fichero completo con todos los artículos o clientes que necesitaba.

En el caso de los contactos de un cliente, por ejemplo, tu ParentKey en la tabla de contactos será el CardCode y pondrás tantas líneas con el mismo CardCode como contactos distintos quieras crear, tan sólo tendrás que diferenciar una lína de otra dándole un nombre distinto al campo AddressName.

Si tienes a carpeta completa de DTW verás que dentro hay dos subcarpetas, una con templates y otra con “samples” y en esos ejemplos puedes ver ciertos datos que podrían guiarte.

Otra forma de hacerlo, pero eso ya es teniendo el cliente de SB1 instalado, crear una empresa de prueba (tener siempre algo así es altamente recomendable) y que puedas entrar en el sistema, creando un primer lo-que-sea: artículo, cliente, proveedor, etc con los datos que tú consideras necesarios. Luego puedes ver a qué campos corresponden si tienes activa la utilidad VISTA/Información del Sistema, o haciendo una query para las tablas necesarias (cabeceras y líneas). Por ejemplo, si creas ese cliente de prueba con dos direcciones de contacto, al hacer la consulta para la OCRD y la CRD1 verás las dos líneas y cómo están relacionadas con el cliente.

Espero ser de ayuda

1 me gusta

Hola jlohes:

Tal y como indica Lorena:

En las plantillas de ejemplo puedes ver que campos son los que estan llenos y esos son los únicos o al menos como minimo que debe llevar tu plantilla, no los debes llenar todos.

Saludos.

1 me gusta

Gracias Lorena!
El problema creo varia lineas por cada contacto pero me dice que el “ParentKey” (CardCode) ya existe… he probado quitando toda las columans y dejando sólo las de “ParentKey” “Line” “Address” sin exito… si doy otro numero al “ParentKey” me lo crea bien pero como una ficha nueva no como una de contacto dentro de la ficha ya ceada.
Created Failed C00001 1320000140 - Business partner code ‘C00001’ already assigned to a business partner; enter a unique business partner code 1320000140 - Business partner code ‘C00001’ already assigned to a business partner; enter a unique business partner codeoBusinessPartners
Sí miré los “samples” pero de una plantillasy pràcticamente dejan todos lso campos con comas mirare en ens tambien…
Muchísimas gracais!!
Saludos

He subido mirando las plantillas en el caso de lo datos de contactos he selecionado “PimaryKey” (CardCode) y Address para probar y me continua diciendo que ya existe ya puedo hace Añadir, actualizar o Añadir o actualizar.
También lo he hecho cumplimentando todos los campos de la plantilla según el de ejemplo de “contactemployees” y me da el mismo"error"
Estoy anclado ahí.
Muchísimas gracias!
Saudos

En la plantilla de contactos, tienes que cubrir el código de IC, tanto en el parentkey como en la columna cardcode, en el caso de tener más de uno tienes que cubrir el linenum, en vacio o 0 para el primero y un 1 para el segundo.

Cuando capturas en el DTW, tienes que proporcionar dos csv, una para los intelocutores comerciales en general y otra para los contactos.
La de IC en general con que tengas la columna cardcode solamente te vale.

2 Me gusta

Hola Meqs hice con dos csv y también aplicando lo del 0 y del 1 en ambos csaos me dice que el CardCode ya existe desde las tress formas (añadir, actualizar, actualizar-añadir)
Muchas gracias!
Saludos

Hola Lorena,
Lo de las plantillas lo estuve mirando incluso solo miarr de subir un campo y tengo el mismo problema.
¿Cómo hago para crear una empresa de puebas?
Ahora tengo una pero creo que es lo que "me esá matando"
Si lo de vista de información del sistema es como veo los campos y a que tabla y campo corresponde, alguno pone una descripcióm que no me dice nada.
Muchas gracias!
Saludos

Os paso un ejemplo de una SQL para pasar las personas de contacto

SELECT 'C' || LPAD(CLIENTES.CODIGO,6,'0') -- ParentKey	
           , '' -- LineNum	
           --, '' -- CardCode	
           , CLIENTES_CONTACTOS.CODIGO -- Name	
           , '' -- Position	
           , CLIENTES_CONTACTOS.NOMBRE -- Address	
           , CLIENTES_CONTACTOS.TELEFONO1 -- Phone1	
           , CLIENTES_CONTACTOS.FAX2 -- Phone2	
           , CLIENTES_CONTACTOS.TELEFONO2 -- MobilePhone	
           , CLIENTES_CONTACTOS.FAX1 -- Fax	
           , CLIENTES_CONTACTOS.EMAIL -- E_Mail	
           , '' -- Pager	
           , CLIENTES_CONTACTOS.DEPARTAMENTO -- Remarks1	
           , CLIENTES_CONTACTOS.CARGO -- Remarks2	
           , '' -- Password	
           , '' -- PlaceOfBirth	
           , '' -- DateOfBirth	
           , '' -- Gender	
           , '' -- Profession	
           , '' -- Title	
           --, '' -- CityOfBirth	
           --, '' -- Active
      FROM CLIENTES_CONTACTOS
      INNER JOIN CLIENTES ON (CLIENTES_CONTACTOS.PK_CLIENTE = CLIENTES.PK_CLIENTE)
      WHERE (CLIENTES.ESTADO = 0)
      ORDER BY CLIENTES.CODIGO
             , CLIENTES_CONTACTOS.CODIGO
1 me gusta

Te adjunto imagen de ejemplo:
OCRD


OCPR

1 me gusta

Pues yo las mías, como son para pruebas de desarrollos que tenemos en marcha suelo coger una de las bases de datos, hago una copia de seguridad y la restablezco con otro nombre para juguetear con ella.

Otras dos opciones que existen pero que no he usado nunca:

Una empresa nueva “vacía” directamente desde la ventana de entrada, en la que eliges la sociedad y pones tu usuario y password. En esa misma ventana puedes pinchar sobre NUEVA y con el usuario B1SiteUser puedes crear otra nueva. Ese usuario tiene password así que si no te la dio el partner tendrás que cambiarla. Hay una nota en SAP (h_tps://blogs.sap.com/2013/05/20/how-to-create-a-new-password-b1siteuser-in-882-and-90/) al respecto.

También puedes usar el Starter Packager, debería estar en la carpeta de SB1.

3 Me gusta

La mejor vía para una empresa de pruebas es un backup restaurado con otro nombre de una bbdd productiva.
si es para pruebas de otro tipo o inicio o configuraciones que no tienen que ver con la productiva es mejor crear una bbdd nueva desde la pción que comenta Lorena y que tienes que saber la password del B1siteuser, pero que el partner tuvo que haberte dicho, al igual que la del sql y la del B1iadmin y otras tantas…Son propiedad vuestra y no del partner, debe ser algo común.

Te corrijo lo del starter packager… es starter package y es un producto limitado, capado a un número de licencias y funcionalidad, es un tipo de venta de sap business one que ofrece sap, limitado a 5 usuarios y una sola bbdd.

Lo que pretendes indicarle es el solution packager, que en teoría recoge con scripts y ficheros xml la configuración básica de una bbdd y te permitiría crear otra con la parametrización de la primera y los datos maestros.

Creada una bbdd en blanco, también puedes usar el quick copy para pasar la parametrización y los datos entre sociedades o usar el DTW en modo odbc para que sea más rápido.

Todo depende del destino final que quieras hacer de la bbdd de pruebas…

4 Me gusta

Yeaapppp… sí, era eso!

1 me gusta

Hola!
Vuelvo a la carga ahora ya mi partner creó una base de empresa real “limpia” y vamos a traspasar cuentas contales, interlocutores comerciales (clientes, proveedores), movimientos y saldos a 31/12 (todo lo que pueda implicar a contablidad). Qué tablas necesito para el traspaso. En esta empresa no tengo artículos.
Muchas gracias!

Hola estimado @jlohes
Lo mas correcto es que para una consulta nueva, abras una nueva pregunta, y si este te fue solucionado, lo marques como “solucionado”.

Esto para mantener el orden en el foro, y tambien para que tu puedas darle un mejor seguimiento a tus dudas.

Saludos.

Hola,
Pues la verdad es que sigo con el mismo tema en la transferencia de archivos que planteaba al inicio desde AS400 a SAP mediante Data Transfer, ahora ya con una base de datos en blanco, que antes no tenía (era una de pruebas) y que tampoco podía crear (sólo mi partner puede pero tampoco nos hace la transferencia de datos).
Por lo que lamento que el tema no pueda estar solucionado y se me plantean las nuevas dudas que planteaba sobre que archivos y tablas hay que transferir, a parte de los IC.
Muchas gracias!
Saludos