✒️ABAP El Batch Input utilizando el Juego de datos
ABAP El Batch Input utilizando el Juego de datos
Lección 6. Batch Input utilizando Juego de Datos.
1.- Mi primer Batch Input utilizando Juego de Datos.
Vamos a crear un Batch Input utilizando la técnica de Juego de Datos. Ol Objetivo del Batch Input será la carga inicial de datos de la tabla ZTABLA_USUARIOS.
Para ello vamos a crear un archivo de texto con registros que cumplan con la estructura de la tabla ZTABLA_USUARIOS, si tener en cuenta el campo Mandante.
Como lo vamos a hacer será la carga inicial de la tabla usuarios, borraremos su contenido previamente a la ejecución de este ejemplo.
Ahora seguiremos los pasos que establecimos en la primera lección de la unidad.
Paso 1ro.: Declaración de los datos propios del Batch Input.
Declaramos una tabla interna y una estructura, ambas del tipo BDCDATA y otra tabla interna de usuarios que contendrá los registros que levantemos del archivo de entrada.
DATA: BEGIN OF ti_bdc_data OCCURS 0. INCLUDE STRUCTURE bdcdata. DATA: END OF ti_bdc_data. * Estructura del BI DATA: st_bdc_data TYPE bdcdata. dni(8) TYPE c, "Dni nombre_ape(35) TYPE c, "Nombre y Apellido estado_usu(1) TYPE c, "Estado del usuario direccion(30) TYPE c, "Dirección codigo_postal(4) TYPE c, "Código Postal f_nacimiento(8) TYPE c, "Fecha Nacimiento estado_civil(1) TYPE c, "Estado civil END OF ti_archivo. DATA: st_archivo LIKE LINE OF ti_archivo. * Variables DATA: v_campo(35) TYPE c, v_indice(2) TYPE c, v_qid TYPE apq_quid, v_group TYPE apq_grpn.
Paso 2do.: Lectura de datos de archivo de entrada.
Ejecutamos el método GUI_UPLOAD para levantar el archivo de entrada con la información para generar el Batch Input.
CALL METHOD cl_gui_frontend_services=>gui_upload EXPORTING filename = vl_file filetype = 'ASC' has_field_separator = '' CHANGING data_tab = ti_archivo[] 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 not_supported_by_gui = 17 error_no_gui = 18 OTHERS = 19. IF sy-subrc NE 0. MESSAGE e000(z_prueba) WITH text-004. ENDIF. IF ti_archivo[] IS INITIAL. MESSAGE s000(z_prueba) WITH text-005. .
Paso 3ro.: Apertura de la sesión del Juego de Datos.
Para realziar la apertura de la sesión del Juego de Datos, vamos a utilizar la función BDC_OPEN_GROUP, especificando el mandante, el grupo y el usuario.
FORM apertura_jd. v_group = sy-repid. CALL FUNCTION 'BDC_OPEN_GROUP' EXPORTING client = sy-mandt group = v_group keep = 'X' user = sy-uname IMPORTING qid = v_qid EXCEPTIONS client_invalid = 1 destination_invalid = 2 group_invalid = 3 group_is_locked = 4 
 
 
Sobre el autor
Publicación académica de Juan Hernández, en su ámbito de estudios para la Carrera Consultor ABAP.
Juan Hernández
Profesión: Programador Informático - España - Legajo: XQ15K
✒️Autor de: 125 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: PartTime
Certificación Académica de Juan Hernández