PDA

Ver la Versión Completa : Importar Archivos Planos a SAP


franksap
26/06/12, 18:20:42
Buenas Tardes amigos Abap.

Amigos Expertos en Abap. Necesito su ayuda.
Resulta que soy nuevo en la programacion Abap. Ya he hecho algunos programas de Interface para cargar datos maestros a traves de archivos planos a tablas estandar del SAP. Esos archivos planos que he cargado son de columnas fijas para todos los registros.

El problema que ahora es que los archivos planos vienen con un formato muy variables en cuanto a columnas y contenido de los datos. Es decir no vienen las columnas fijas. por ejemplo en un archivo viene en el primer reglon un texto "No. Proveedor" 999999 "No. Pedido" 9999999 . En el segundo renglo viene "Fecha del Pedido" 9999.99.99 en el tercer renglon viene "Condicion Especial " xxxxxxx "Plazo" 99 , y asi hasta llegar a los renglones de detalle que vienen con posiciones fijas como No. Proveedo, No. pedido, No. de Tienda, Cantidad pedida, Codigo Articulo, Unidad Medida,etc.

Como debo de tratar esos archivos para extraer los datos que voy a cargar a SAP ? de que manero lo debo hacer ? Help Me xfa.

horace
27/06/12, 12:14:22
franksap como estas

lo q queres hacer depende de la informacion que necesitas de tu archivo.
Antes que nada tenes q saber de que filas vas a tomar de tu archivo.

ejemplo: archivo con 4 filas (1 y 2 fila no te interesan y 3 y 4 si)
la estructura q creaste en tu tabla interna (campo1 campo2 campo3) estan bien si es que coinciden con la estructura del archivo (campo1 campo2 y campo3 para fila3 y fila4)

entonces levantas el archivo y a las 2 primeras filas no las tenes en cuenta y la eliminas de tu tabla interna (la eliminas pq van a contener basura, o campos mal cargados)


otra solucion seria, si no te sirve la estructura de campos, utiliza un string para cargar cada fila (char200), y despues separas cada campo tratando dicho string, ejemplo


campo1 = ti-campo+0(10).
campo2 = ti-campo+10(25)
campo3 = ti-campo+35(20)


y asi....
tambien se puede usar split.


espero q te sirva, Horace

kibo
27/06/12, 12:28:15
Agregando a lo que dijo Horace.

Vos tenes que tener en cuenta que tu archivo plano va a traer un separador de campos (para que el sistema detecte cuando termina un campo y empieza otro) por lo que lo ideal seria bajarte el archivo a un string largo y despues haces un Split por ese campo separador (como dijo Horace)

La idea es esa...

franksap
27/06/12, 14:37:58
franksap como estas

lo q queres hacer depende de la informacion que necesitas de tu archivo.
Antes que nada tenes q saber de que filas vas a tomar de tu archivo.

ejemplo: archivo con 4 filas (1 y 2 fila no te interesan y 3 y 4 si)
la estructura q creaste en tu tabla interna (campo1 campo2 campo3) estan bien si es que coinciden con la estructura del archivo (campo1 campo2 y campo3 para fila3 y fila4)

entonces levantas el archivo y a las 2 primeras filas no las tenes en cuenta y la eliminas de tu tabla interna (la eliminas pq van a contener basura, o campos mal cargados)


otra solucion seria, si no te sirve la estructura de campos, utiliza un string para cargar cada fila (char200), y despues separas cada campo tratando dicho string, ejemplo


campo1 = ti-campo+0(10).
campo2 = ti-campo+10(25)
campo3 = ti-campo+35(20)


y asi....
tambien se puede usar split.


espero q te sirva, Horace

Te lo agradezco mucho Horace ... Gracias !!! voy a probarlo ...

franksap
27/06/12, 14:39:56
Agregando a lo que dijo Horace.

Vos tenes que tener en cuenta que tu archivo plano va a traer un separador de campos (para que el sistema detecte cuando termina un campo y empieza otro) por lo que lo ideal seria bajarte el archivo a un string largo y despues haces un Split por ese campo separador (como dijo Horace)

La idea es esa...

Gracias por tu atencion Kibo ...... Te lo agradezco...