ABAP: Mover fichero de carpeta

En el siguiente ejemplo veremos como mover un fichero de una carpeta, este ejemplo serviría tanto para ficheros locales como ficheros que estén el el servidor.

Utilizaremos la función GUI_UPLOAD para cargar el fichero en una tabla interna, OPEN DATASET para crear el fichero el la nueva ruta y GUI_DELETE_FILE para borrar el fichero de la ruta inicial.

 

Leer fichero con GUI_UPLOAD

Con la función GUI_UPLOAD leeremos el fichero y añadiremos el fichero en una tabla interna.

  • Filename: Ruta y nombre del fichero (en este caso será C:\SAP\fichero_inicio.txt)
  • Filetype: Tipo de fichero que queremos leer (En este caso al ser .txt utilizaremos el tipo DAT)

(*) Crearemos el tipo T_RECEPCION que se utilizará para crear la tabla interna LI_RECEPCION donde se almacenará el contenido del fichero

TYPES: BEGIN OF t_recepcion,
         line TYPE c,
       END OF t_recepcion.

DATA: lv_filename TYPE string VALUE 'C:\SAP\fichero_inicio.txt',
      li_recepcion TYPE STANDARD TABLE OF t_recepcion.

CALL FUNCTION 'GUI_UPLOAD'
   EXPORTING
     filename                = lv_ilename
     filetype                = 'DAT'
   TABLES
     data_tab                = li_recepcion
   EXCEPTIONS
     file_open_error         = 1
     file_read_error         = 2
     no_batch                = 3
     gui_refuse_filetransfer = 4
     invalid_type            = 5
     no_authority            = 6
     unknown_error           = 7
     bad_data_format         = 8
     header_not_allowed      = 9
     separator_not_allowed   = 10
     header_too_long         = 11
     unknown_dp_error        = 12
     access_denied           = 13
     dp_out_of_memory        = 14
     disk_full               = 15
     dp_timeout              = 16
     OTHERS                  = 17.

IF sy-subrc = 0.
ENDIF.

Leer más

ABAP: Obtener ruta de fichero lógico

En esta entrada veremos como definir un nombre de fichero lógico en ABAP y obtener la dirección del fichero físico asociada:

Transacción FILE

Para definir un nombre de fichero lógico utilizaremos la transacción FILE y crearemos una entrada nueva:

 

Introduciremos los siguientes datos:

 

  • Fichero lógico: Identificador único del fichero lógico (con este ID llamaremos a la función para obtener la ruta)

Leer más

ABAP: Pasar de Excel a Tabla Interna

Para pasar información de un fichero Excel a una tabla interna en ABAP, se utiliza la función ALSM_EXCEL_TO_INTERNAL_TABLE:

Parametros de entrada
  • filename: Ruta del fichero en nuestro sitema local.
  • i_begin_col / i_end_col: Parametros para definir que columnas con las que se van a incluir en la tabla interna.
  • i_begin_row / i_end_row: Parametros para definir que filas se van a incluir en la tabla interna.
Parametros de salida
  • intern: Tabla interna con el contenido del fichero excel

Leer más