✒️ABAP El Batch Input utilizando Call transaction
ABAP El Batch Input utilizando Call transaction
1- Mi Primer Batch Input utilizando CALL TRANSACTION
Tomaremos como objetivo de este Batch Input (BI) la Carga Inicial de Datos de la Tabla ZTABLA_USUARIOS, aumiendo que tenemos un archivo de texto con los registros a cargar y que cumplen con la estructura de la TBD excluyendo el campo Mandante.
- Paso 1: Declaración de Datos Propios del BI
- Tabla Interna y Estructura del Tipo BDCDATA
- Tabla Interna y Estructura del Tipo BDCMSGCOLL: Servirá para almacenar los Mensajes del CALL TRANSACTION.
- Tabla Interna del Tipo ztabla_usuarios: Contendrá los datos levantados del Archivo de Texto Externo.
- Tabla Interna de Errores: Para mostrar por Pantalla los Errores.
- Paso 2: Lectura de Datos del Archivo de Entrada
- Ejecución del Método CL_GUI_FRONTEND_SERVICES=>GUI_UPLOAD: Para levantar el Archivo de Texto Exterior.
- Paso 3: Carga de la Tabla BDCDATA
- Inicializar Tabla Interna BDCDATA.
- Inicializar Tabla Interna BDCMSGCOLL.
- Para cargar la Tabla BDCDATA utilizamos la subrutina BDC_FIELD manejando un índice, para establecer el Número de Fila que estamos procesando, concatenándolo al Nombre del Campo.
CLEAR v_campo.
CONCATENATE 'ZTABLA_USUARIOS-DNI(' v_indice ')' INTO v_campo.
PERFORM bdc_field USING ' ' v_campo st_archivo-dni.
- Paso 4: Ejecución de la Sentencia CALL TRANSACTION
CALL TRANSACTION v_cod_trans USING ti_bdc_data "Tabla BDCDATA
MODE v_modo " Modo de Procesamiento del Batch Input
MESSAGES INTO ti_messages.
IF NOT sy-subrc IS INITIAL.
v_error = 'X'
ENDIF.
- Modos de Procesamiento del Batch Input (Conviene asignarlo a una variable para poder modificarlo en ejecución)
A = Procesamiento con Visualización de Todas las Pantallas. Valor por Default.
E = Procesamiento donde se muestran las Pantallas Solo si ocurre un Error. Si se alcanza un breakpoint, se termina el proceso con sy-subrc = 1001 y sy-msgty = "S", sy-msgid = "00", sy-msgno = "344", sy-msgv1 = "SAPMSSY3" y sy-msgv2 = "0131".
N = Procesamiento Sin mostrar las Pantallas.
P = Procesamiento Sin mostrar las Pantallas. Si se alcanza un breakpoint, se pasa el control al Debugger.
- UPDATE: Determina el Modo de Actualización que producirá el Batch Input. Los valores posibles son:
A = Asincrónica (actúa igual que si NO utilizáramos la sentencia COMMIT WORK AND WAIT. Valor por defecto
S = Sincrónica (actúa igual a cuando se utiliza la sentencia COMMIT WORK AND WAIT.
L = Local.
Manejo de los Mensajes del Proceso del BI: Todos estos mensajes se almacenan en la Tabla del Tipo BDCMSGCOLL. Para armarlos se utiliza la Función MESSAGE_PREPARE, la cual nos devuelve la Descripción del Mensaje.
Ejecución del BI con Modo de Procesamiento A:
- Ingresamos a la Trx SM30 con el Nombre de la TBD y presionamos el botón Actualizar.
- Presionamos el botón Entradas nuevas.
- Cargamos todos los campos del registro y presionamos el botón Grabar.
- Salimos de la Trx SM30.
- Repetiremos esta secuencia de pasos por cada registro que contenga nuestro archivo externo.
 
 
 
Sobre el autor
Publicación académica de Victor Norberto Levi, en su ámbito de estudios para la Carrera Consultor ABAP.
Victor Norberto Levi
Profesión: Analista Programador - Argentina - Legajo: VT17H
✒️Autor de: 111 Publicaciones Académicas
🎓Egresado de los módulos:
Certificación Académica de Victor Levi