MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Subida de Archivo (foro/showthread.php?t=9065)

alterpeke 14/11/07 12:26:49

Subida de Archivo
 
Buenas!

Tengo un problema con la funcion gui_upload:

CALL FUNCTION 'GUI_UPLOAD'
EXPORTING
filename = lv_log
filetype = 'BIN'
TABLES
data_tab = pt_alic

En la tabla pt_alic me carga los datos pero desordenados, el archivo es un texto plano donde los campos estan separados por ";"

Se me ocurrio declarar la pt_alic como una tabla de un solo campo de 255 caracteres y luego procesar cada campo separandolos.
Pero este archivo me va a traer decenas de miles de registros y temo que haciendo eso se me vaya la performance al demonio.

Agradezco cualquier sugerencia.

Saludos.

Alterpeke:)

mysmb2 14/11/07 16:42:47

hola alterpeke, probaste con setear el parametro HAS_FIELD_SEPARATOR ?

alterpeke 14/11/07 17:12:38

Si probe y eso es para cuando los campos estan separados por tabuladores.
Mis campos estan separados por ;

Voy a tener que tratarlo manualmente linea por linea. otra cosa no se me ocurre

saludos

mysmb2 14/11/07 19:06:53

si, tenes razon vas a tener que loopear y remplazar todos los char ; por # de la tabla interna de una linea usando la sentencia replace.
Saludos

alterpeke 15/11/07 12:09:23

Mira lo que estoy haciendo es tomar la linea y hacer un SPLIT separando los campos por ;

Colocando cada campo en la estructura que luego voy a apendear en la tabla interna para el proceso de esos datos. Me queda algo asi:

loop at pt_upl into ls_upl.

split ls_upl-line at ';' into ls_alic-ze_fepubli
ls_alic-ze_fevigd
ls_alic-ze_fevigh
ls_alic-cuit
ls_alic-ztcontribu
ls_alic-ztalta
ls_alic-zcalicuo
lv_alic.

replace ',' with '.' into lv_alic.
move lv_alic to ls_alic-qsatz.

append ls_alic to pt_alic.

endloop.


Saludos y muchas gracias!!


Husos Horarios son GMT. La hora en este momento es 06:18:33.

www.mundosap.com 2006 - Spain
software crm, crm on demand, software call center, crm act, crm solutions, crm gratis, crm web