MUNDOSAP

MUNDOSAP (foro/index.php)
-   Programación ABAP IV (foro/forumdisplay.php?f=4)
-   -   Open Dataset (foro/showthread.php?t=11135)

nys 20/02/08 10:05:07

Open Dataset
 
Hola a todos.

Estoy transfiriendo una tabla interna con muchos campos y al hacer el open dataset y el transfer parece que lo hace bien.
Cuando voy a ver lo que me ha grabado a la al11 solo hay unos campos, no todos.

Tiene limite? Alguna idea de lo que pasa?

larmadovr 20/02/08 16:37:15

Que tal.
 
Respecto al límite es posible que tenga, por que alguna vez me paso igual.

No se si cuando haces tu open dataset estes pasando lo siguiente

campo1,campo2,campo3,campo4, ... campo n

En caso de que lo estes haciendo así, intenta lo siguiente

concatenate campo1 campo2 campo3 campo4 campon
into it_table-reg.

y despues lo mandas como si fuera un solo registro.

Si no te sirve, prueba esta funcion:

path = 'ruta del servidor'

CALL FUNCTION 'WS_DOWNLOAD'
EXPORTING
filename = path
filetype = 'DAT'
TABLES
data_tab = ti_salida
EXCEPTIONS
file_open_error = 1
fiel_write_error = 2
invalid_filesize = 3
invalid_table_width = 4
invalid_type = 5
no_batch = 6
unknown_error = 7
OTHERS = 8.

IF sy-subrc EQ 0.
MESSAGE s010(ad) WITH 'Archivo' path 'Creado'.
ELSE.
MESSAGE i010(ad) WITH 'El archivo no se pudo crear'.
ENDIF.


Espero te sirva cualquiera de estas 2 opciones.

Saludos.

DavidXD_XD 20/02/08 16:55:56

Hola, ahora que lo comenta Larvadomr a mi tambien me paso algo similar, no se me visualizaban campos .... lo resolvi mandando al directorio una tabla con una linea de caracteres, x ejemplo mi tabla interna tenia unos 62 campos, contando los caracteres salia algo de 2500 caracteres, entonces hice esto:

DATA: BEGIN OF t_itab OCCURS 0,
line(2500),
END OF t_itab.
DATA: l_itab(2500).
* Mi tabla interna con los 62 campos se llamaba ti_det2
* Paso todos los registros a t_itab
t_itab[] = ti_det2[].
* En v_ruta_fin concatene la ruta del directorio incluido
* con el nombre del archivo
OPEN DATASET V_RUTA_FIN FOR OUTPUT IN TEXT MODE.

LOOP AT t_itab INTO l_itab.

TRANSFER l_itab TO v_ruta_fin LENGTH 2500.

IF sy-subrc <> 0.
MESSAGE ID 'SU' TYPE 'I' NUMBER '000'
WITH 'No se pudo subir el archivo de proceso al servidor'.
EXIT.
ENDIF.

ENDLOOP.

CLOSE DATASET V_RUTA_FIN.

Espero te sirva :D


Husos Horarios son GMT. La hora en este momento es 16:01:29.

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