ABAP: Validar Cuenta Bancaria

Con la función BANK_ACCOUNT_CHECK podremos validar una cuenta bancaria, pasandole como información la Cuenta Bancaria, Clave control de banco, Clave de país y Código bancario.

Si disponemos del IBAN, podremos conbinarlo con la función CONVERT_IBAN_2_BANK_ACCOUNT, con esta función a partir del IBAN obtendremos los datos anteriores y los utilizaremos la nueva función para validarlos.

Parámetros de Entrada
  • BANK_ACCOUNT: Número de cuenta bancaria
  • BANK_CONTROL_KEY: Claves de control de banco
  • BANK_COUNTRY: País del banco
  • BANK_NUMER: Número del banco
Parámetros de Salida
  • SY-SUBRC = 0: Los datos son correctos (LaCuenta bancaria es válida)
  • SY-SUBRC <> 0: Los datos no son correctos o no es válida

Leer más

ABAP: Convertir IBAN en Cuenta Bancaria

La función CONVERT_IBAN_2_BANK_ACCOUNT es una función estandar de SAP que nos permitira convertir el IBAN a una Cuenta Bancaria, le pasaremos el IBAN y nos devolvera el Nº de Cuenta Bancaria, Clave de control de banco, País del banco y Nº del Banco.

Parámetros de Entrada
  • I_IBAN: IBAN
Parámetros de Salida
  • E_BANK_ACCOUNT: Número de cuenta bancaria
  • E_BANK_CONTROL_KEY: Claves de control de banco
  • E_BANK_COUNTRY: País del banco
  • E_BANK_NUMBER: Número del banco

Leer más

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

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