Programación General > ABAP
Nombre De Archivos.
senzao18:
Alguien sabra alguna funcion la cual me regrese el nombre de todos los archivos contenidos en una carpeta????
Blag:
Claro! :lol:
TMP_GUI_DIRECTORY_LIST_FILES
Te devuelve tantos los archivos como las subcarpetas existentes en un directorio B)
Saludos,
Blag :smartass:
senzao18:
Gracias de antemano y:
Horales yo logre hacerlo con las siguientes lineas de codigo jeje...
--- Código: Text --- CONCATENATE 'dir /A:-D C:' INTO v_comando SEPARATED BY space. CONCATENATE v_comando '\*.bmp' INTO v_comando. CALL 'SYSTEM' ID 'COMMAND' FIELD v_comando ID 'TAB' FIELD tabl-*sys*. DESCRIBE TABLE tabl LINES v_pos. v_pos = v_pos - 2. LOOP AT tabl FROM 6 TO v_pos. t_arch = tabl+39. APPEND t_arch. CLEAR t_arch. ENDLOOP.
Voy a probar la funcion que manda blag y si veo algo mejor ahi les cuento..
senzao18:
Listo......
--- Código: Text --- CALL FUNCTION 'TMP_GUI_DIRECTORY_LIST_FILES' EXPORTING directory = p_ruta filter = '*.*' IMPORTING file_count = v_file_count* DIR_COUNT = TABLES file_table = ti_files dir_table = ti_directories EXCEPTIONS cntl_error = 1 OTHERS = 2. IF sy-subrc <> 0. MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4. ENDIF.
Aunque el filter no da bola, siempre me regresa algo ponga lo que le ponga.....
Ideas??
Pero fuera de eso todo esta estupendo....
Asi no uso el CALL 'SYSTEM' que en la ayuda dice que no lo use nose por que...
Blag:
--- Citar ---Aunque el filter no da bola, siempre me regresa algo ponga lo que le ponga.....
Ideas??
--- Fin de la cita ---
Tienes razón...El FILTER no hace nada de nada :( La solución sería la siguiente...
Lees la tabla FILE_TABLE y el campo PATHNAME, por cada archivo obtienes la longitud y eliminas los que no cumplan con tu filtro :lol:
--- Código: Text --- DATA: FILTER TYPE C, TEMP_EXT TYPE STRING, LONG TYPE I, W_TABIX TYPE SY-TABIX. FILTER = '.TXT'. LOOP AT T_FILE_TABLE.LONG = STRLEN( T_FILE_TABLE-PATHNAME ).LONG = LONG - 3.TEMP_EXT = T_FILE_TABLE-PATHNAME+LONG(3).IF TEMP_FILE NE FILTER. W_TABIX = SY-TABIX. DELETE T_FILE_TABLE INDEX SY-TABIX.ENDIF.ENDLOOP.
Lo escrito de frente aquí que puede tener algunos errores, pero supongo que entiendes la idea :comp:
Saludos,
Blag :smartass:
Navegación
[#] Página Siguiente
Ir a la versión completa