ABAP: Obtener ruta de fichero local

Para obtener la ruta de un fichero local utilizaremos la función F4_FILENAME, al ejecutarla nos mostrará un cuadro de dialogo donde podremos seleccionar un documento de nuestro ordenador y nos devolverla la ruta del fichero.
 

Función F4_FILENAME

DATA: lv_ruta TYPE ibipparms-path.

CALL FUNCTION 'F4_FILENAME'
  EXPORTING
    program_name  = syst-cprog
    dynpro_number = syst-dynnr
    field_name    = ''
  IMPORTING
    file_name     = lv_ruta.

 
Para ver mas funciones de SAP pulse en el siguiente enlace: Listado de funciones

ABAP: Obtener extensión de un fichero

Para obtener la extensión de un fichero utilizaremos la función TRINT_FILE_GET_EXTENSION a la que pasaremos el nombre del fichero de tipo CHAR y nos devolverá la extensión del fichero en otra variable de tipo CHAR.
 

Parámetros de entrada

  • Filename: Nombre del fichero (Tipo CHAR)
  • Uppercase: Lo informaremos como X si queremos que nos la devuelva en mayúsculas.

 

Parámetros de salida

  • Extension: Extensión del fichero (Tipo CHAR)

 

Función TRINT_FILE_GET_EXTENSION

DATA: lv_filename TYPE c LENGHT 255,
      lv_ext      TYPE c LENGHT 30.

lv_filename = ‘Listado de Usuarios.doc’.

CALL FUNCTION 'TRINT_FILE_GET_EXTENSION'
      EXPORTING
        filename  = lv_filename
        uppercase = 'X'
      IMPORTING
        extension = lv_ext. “Devolverá el valor ‘DOC’.

 
Para ver mas funciones de SAP pulse en el siguiente enlace: Listado de funciones

ABAP: Obtener atributos de un fichero

Con la función estandar de SAP EPS_GET_FILE_ATTRIBUTES podremos obtener los datos de un fichero, para ello pasaremos la ruta y el nombre del fichero:

Exporting
  • File_name: Nombre del fichero
  • Dir_name: Ruta donde se encuentra el fichero
Importing
  • File_size: Tamaño del fichero
  • File_owner: Usuario que creo el fichero
  • File_mode: Modo de fichero
  • File_type: Typo de fichero
  • File_mtime: Fecha de creación/ultima modifiación del fichero

 

Función

DATA: lv_file_name TYPE epsf-epsfilnam,
      lv_ruta_salida60 TYPE epsf-epsdirnam,
      lv_file_size TYPE EPSF-EPSFILSIZ,
      lv_file_owner TYPE EPSF-EPSFILOWN,
      lv_file_mode TYPE EPSF-EPSFILMOD,
      lv_file_type TYPE EPSF-EPSFILTYP,
      lv_mtime TYPE p DECIMALS 0,
      lv_file_size TYPE P.

CALL FUNCTION 'EPS_GET_FILE_ATTRIBUTES'
   EXPORTING
     file_name              = lv_file_name
     dir_name               = lv_ruta_salida60
   IMPORTING
     file_size              = lv_file_size
     file_owner             = lv_file_owner
     file_mode              = lv_file_mode
     file_type              = lv_file_type
     file_mtime             = lv_mtime
     file_size_long         = lv_file_size
    EXCEPTIONS
     read_directory_failed  = 1
     read_attributes_failed = 2
     OTHERS                 = 3.

IF sy-subrc = 0.
ENDIF.

Leer más

ABAP: Listar ficheros en una ruta

Con la función EPS2_GET_DIRECTORY_LISTING listaremos los ficheros en una ruta, le pasaremos la ruta donde queremos listar los ficheros y obtendremos una tabla con el listado de ficheros.

  • IV_DIR_NAME: Ruta de la que quermos obtener los ficheros listados
  • DIR_LIST: Tabla en la que obtendremos los ficheros de la ruta indicada anteriormente

 

EPS2_GET_DIRECTORY_LISTING

DATA: lv_ruta_salida200 TYPE eps2filnam VALUE 'C:\SAP\Entrada',
      li_listado_ficheros TYPE z_eps2fili_t.

CALL FUNCTION 'EPS2_GET_DIRECTORY_LISTING'
  EXPORTING
    iv_dir_name            = lv_ruta_salida200
  TABLES
    dir_list               = li_listado_ficheros
  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.

IF sy-subrc = 0.
ENDIF.

Leer más