PDA

Ver la Versión Completa : Ayuda con Tabla Dinamica


vamp_01
28/04/10, 18:57:48
Hola como estan, tengo un problema, que para mucho yo creo que es sencillo, pero aun no puedo dar con la solucion, asi que necesito ayuda...
tengo este codigo:

TABLES:
dd02l.

parameters: pa_tabla like dd02l-tabname, F_FILE LIKE RLGRAP-FILENAME DEFAULT 'C:\TEMP\FILE.TXT'.

START-OF-SELECTION.


DATA: lv_tabla TYPE dd02l-tabname,
generic_table TYPE REF TO data,
generic_line TYPE REF TO data.

lv_tabla = pa_tabla.

FIELD-SYMBOLS: <table> TYPE ANY TABLE,
<wa> TYPE ANY,
<field> TYPE ANY.

CREATE DATA generic_table TYPE STANDARD TABLE OF (lv_tabla).
ASSIGN generic_table->* TO <table>.

CREATE DATA generic_line TYPE (lv_tabla).
ASSIGN generic_line->* TO <wa>.

data: itab LIKE TABLE OF lv_tabla WITH HEADER LINE.

*subir archivo

call function 'WS_UPLOAD'
EXPORTING
FILENAME = F_FILE
FILETYPE = 'DAT'
tables
data_tab = itab
EXCEPTIONS
FILE_OPEN_ERROR = 1
FILE_READ_ERROR = 2
NO_BATCH = 3
GUI_REFUSE_FILETRANSFER = 4
INVALID_TYPE = 5
OTHERS = 6.

LOOP AT itab.
* SPLIT:


ENDLOOP.

Creo la tabla dependiendo de la tabla que ingrese como parametro, bueno se crea, con los campos y todo, pero me quedo trabado cuando tengo que hacer el split a la itab, es donde quedo la data que subo del archivo plano, no se como indicarle que el primer campo de la itab pertenece al primer campo de la tabla, y despues insertar ese valor en la tabla de sap, espero haberme explicado bien y gracias de ante mano por la ayuda.

ballan
29/04/10, 08:41:34
Si las tablas son exactamente iguales podrias hacer

<table>[] = itab[].

Aunque sinceramente dudo que esto funcione, lo que tendras que hacer es algo asi

Field-symbols: <fs1> type any,
<fs2> type any.

data: ls_linea like line of itab.

loop at itab into ls_linea.

do.

assign component sy-index of structure ls_linea to <fs1>.

if sy-subrc <> 0.
exit.
endif.

assign component sy-index of structure <wa> to <fs2>.

<fs2> = <fs1>.

enddo.

append <wa> to <table>.

endloop.

El codigo no esta completo y te tendras que pegar un poco con el pero la idea es tener dos field-sytmbols en paralelo donde iras recorriendo los distintos campos de cada una de las estructuras y los iras mapeando y luego añadiendo las lineas

Aunque ya te digo lo ideal seria que desde la GUI_UPLOAD leyeras el fichero de tal manera que ya te quedara con la misma estructura que la de la tabla y pudieras hacer la asignacion directa como te indique al principio