MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   open data set (foro/showthread.php?t=108070)

nmarquez1974 16/10/20 16:07:52

open data set
 
Buenos dias todos,

tengo un problema no se como utlizar el open data set y necesito algo de ayuda, algun programa que tenga, lo que necesito es leer ficheros del servidor y el contenido lo meta a una tabla interna

solo logro hacer esto
OPEN DATASET lv_fname for input in text mode encoding default.
IF sy-subrc IS INITIAL.
DO.
READ DATASET lv_fname INTO LT_TAB_EX2-FIELD.
IF sy-subrc IS NOT INITIAL.
EXIT.
ENDIF.
APPEND LT_TAB_EX2.
ENDDO.
CLOSE DATASET lv_fname.

el resultado me lo deja en una linea string, como hago para pasar del string a una tabla interna..
en espera de su ayuda

Dhdez 21/10/20 07:16:28

Re: open data set
 
Hola

Por lo que puedo ver, al leer el archivo lo estas metiendo dentro de un estructura que después cargas en la tabla interna.El código deberá recoger cada una de la líneas del documento que estas leyendo e introducirlas en la tabla interna que declaraste, ahora bien si el documento que estas leyendo tiene una única línea, tal como esta ahora el código, lo meterá todo en una sola línea.

Para separarlo dependerá del tipo de archivo que tangas, si es un CSV, XML, texto plano ...... En estos casos puedes optar por separarlo directamente dentro del DO o bien obtener esa única línea y después tratarlo con alguna clase o FM específico para el tipo de archivo que lees.

Saludos

ximena251 22/10/20 18:58:09

Re: open data set
 


Así.. te dejo un ejemplo.

TRANSLATE lv_name TO UPPER CASE.
CONCATENATE c_ruta name c_txt INTO lv_ruta.
OPEN DATASET lv_ruta FOR INPUT IN TEXT MODE ENCODING NON-UNICODE.
IF sy-subrc NE 0.
WRITE: / TEXT-002, lv_ruta.
ELSE.
DO.
READ DATASET lv_ruta INTO lv_cadena.
SPLIT lv_cadena AT cl_abap_char_utilities=>horizontal_tab INTO
wa_open-vkorg wa_open-fkdat
wa_open-kunrg wa_open-name1 wa_open-matnr wa_open-vbeln wa_open-guia
wa_open-fecha wa_open-orig wa_open-dest wa_open-zona wa_open-peso
wa_open-sobrepeso wa_open-peso_fact wa_open-largo wa_open-ancho
wa_open-alto wa_open-vol wa_open-val wa_open-mto_serv wa_open-mto_emba
IF lv_cadena IS INITIAL.
EXIT.
ELSE.
APPEND wa_open TO it_open.
ENDIF.
ENDDO.
ENDIF.
CLOSE DATASET lv_ruta.

Espero te sirva, saludos


Husos Horarios son GMT. La hora en este momento es 13:39:23.

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