PDA

Ver la Versión Completa : duda con CP.


ximena251
22/05/14, 23:02:51
Buenas tardes, tengo el siguiente código, en cual me traigo todos los archivos de esa ruta. En el Loop, busco 'lartprc#a+*' y me trae una coincidencia que es lartprcaa...pero, no me trae lartprcab...no sé que estoy haciendo mal, necesito traer el nombre de esos dos archivos en mi tabla gt_archivos para después enviarlos como parámetros...Espero puedan ayudarme. Gracias.


lv_archivos = '/interfase/mer/temp'.
CALL FUNCTION 'EPS_GET_DIRECTORY_LISTING'
EXPORTING
dir_name = lv_archivos
TABLES
dir_list = gt_archivos
EXCEPTIONS
invalid_eps_subdir = 1
sapgparam_failed = 2
build_directory_failed = 3
no_authorization = 4
read_directory_failed = 5
too_many_read_errors = 6
empty_directory_list = 7
OTHERS = 8.


LOOP AT gt_archivos INTO wa_archivos WHERE name CP 'lartprc#a+*'.
CLEAR gt_archivos.
APPEND wa_archivos-name TO gt_archivos.

IF sy-subrc <> 0.
io_ok = true.
ENDIF.

ENDLOOP.

awas90
23/05/14, 06:31:59
LOOP AT gt_archivos INTO wa_archivos WHERE name CP 'lartprc#a+*'.
CLEAR gt_archivos.
APPEND wa_archivos-name TO gt_archivos.

IF sy-subrc <> 0.
io_ok = true.
ENDIF.

ENDLOOP.

gt_archivos intuyo que es una interna sin header line no?

Hay algunas cosillas que cambiar.

LOOP AT gt_archivos INTO wa_archivos WHERE name EQ 'lartprc#a+*'.
CLEAR gt_archivos[].
APPEND wa_archivos-name TO gt_archivos-name.

IF sy-subrc EQ 0.
io_ok = true.
ENDIF.

prueba así y nos cuentas

Ripper87
23/05/14, 12:22:31
Hola, esto lo pudiste haber puesto en el otro tema que había abierto.

A ver, de nuevo veo el código bien... así que lo único que se me ocurre es que te está dando problemas los nombres de los archivos en la tabla interna.

Será que las cadenas de texto están viniendo con espacios a la izquierda?

Si es así colocale un * a la izquierda a ver: '*lartprc#a+*'.