SoloCodigo

Programación General => ABAP => Mensaje iniciado por: senzao18 en Miércoles 11 de Octubre de 2006, 00:22

Título: Nombre De Archivos.
Publicado por: senzao18 en Miércoles 11 de Octubre de 2006, 00:22
Alguien sabra alguna funcion la cual me regrese el nombre de todos los archivos contenidos en una carpeta????
Título: Re: Nombre De Archivos.
Publicado por: Blag en Miércoles 11 de Octubre de 2006, 17:50
Claro!  :lol:

TMP_GUI_DIRECTORY_LIST_FILES

Te devuelve tantos los archivos como las subcarpetas existentes en un directorio  B)

Saludos,

Blag  :smartass:
Título: Re: Nombre De Archivos.
Publicado por: senzao18 en Jueves 12 de Octubre de 2006, 00:33
Gracias de antemano y:

Horales yo logre hacerlo con las siguientes lineas de codigo jeje...

Código: Text
  1.  
  2.   CONCATENATE 'dir /A:-D C:' INTO v_comando SEPARATED BY space.
  3.   CONCATENATE v_comando '\*.bmp' INTO v_comando.
  4.  
  5.   CALL 'SYSTEM' ID 'COMMAND' FIELD v_comando ID 'TAB' FIELD tabl-*sys*.
  6.  
  7.  
  8.   DESCRIBE TABLE tabl LINES v_pos.
  9.  
  10.   v_pos = v_pos - 2.
  11.  
  12.   LOOP AT tabl FROM 6 TO v_pos.
  13.  
  14.     t_arch = tabl+39.
  15.  
  16.     APPEND t_arch.
  17.  
  18.     CLEAR t_arch.
  19.  
  20.   ENDLOOP.
  21.  
  22.  

Voy a probar la funcion que manda blag y si veo algo mejor ahi les cuento..
Título: Re: Nombre De Archivos.
Publicado por: senzao18 en Jueves 12 de Octubre de 2006, 00:59
Listo......
Código: Text
  1.  
  2.  
  3.   CALL FUNCTION 'TMP_GUI_DIRECTORY_LIST_FILES'
  4.     EXPORTING
  5.      directory        = p_ruta
  6.      filter           = '*.*'
  7.  IMPORTING
  8.    file_count       = v_file_count
  9. *   DIR_COUNT        =
  10.     TABLES
  11.       file_table       = ti_files
  12.       dir_table        = ti_directories
  13.    EXCEPTIONS
  14.      cntl_error       = 1
  15.      OTHERS           = 2.
  16.  
  17.   IF sy-subrc <> 0.
  18.     MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
  19.             WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  20.   ENDIF.
  21.  
  22.  
  23.  

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...
Título: Re: Nombre De Archivos.
Publicado por: Blag en Jueves 12 de Octubre de 2006, 15:59
Citar
Aunque el filter no da bola, siempre me regresa algo ponga lo que le ponga.....

Ideas??

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
  1.  
  2. DATA: FILTER TYPE C,
  3.           TEMP_EXT TYPE STRING,
  4.           LONG TYPE I,
  5.           W_TABIX TYPE SY-TABIX.
  6.  
  7. FILTER = '.TXT'.
  8.  
  9. LOOP AT T_FILE_TABLE.
  10. LONG = STRLEN( T_FILE_TABLE-PATHNAME ).
  11. LONG = LONG - 3.
  12. TEMP_EXT = T_FILE_TABLE-PATHNAME+LONG(3).
  13. IF TEMP_FILE NE FILTER.
  14.   W_TABIX = SY-TABIX.
  15.   DELETE T_FILE_TABLE INDEX SY-TABIX.
  16. ENDIF.
  17. ENDLOOP.
  18.  
  19.  

Lo escrito de frente aquí que puede tener algunos errores, pero supongo que entiendes la idea  :comp:

Saludos,

Blag  :smartass:
Título: Re: Nombre De Archivos.
Publicado por: senzao18 en Jueves 12 de Octubre de 2006, 18:29
Gracias ya quedó... Algo mas lento pero pues ya quedó...

como dicen por ahi,,, Lento pero seguro. :D  :lol:  :rolleyes:
Título: Re: Nombre De Archivos.
Publicado por: Blag en Viernes 13 de Octubre de 2006, 15:18
Que bueno!  :kicking:

Saludos,

Blag  :smartass:
Título: Re: Nombre De Archivos.
Publicado por: TRANQUILO en Martes 7 de Noviembre de 2006, 23:05
hola se que estoy equivocado de foro pero me gustaria que si pueden me ayudacen  estoy necesitando el codigo de activacion de **** si me pueden ayudar les agradecere...

Citar
Modificado por Blag  :devil:

Además de equivocado, este no es foro para pedir cracks!  :lightsabre: