✒️ABAP El Batch Input utilizando Call transaction
ABAP El Batch Input utilizando Call transaction
Unidad n°7: Los Batch Inputs vs las BAPIS y temas avanzados
Lección n°4: El Batch Input usando Call transaction
Mi primer Batch Input usando CALL TRANSACTION:
El objetivo del BI es la carga inicial de datos de la tabla ZTABLA_USUARIOS. Para esto creamos un archivo de texto con registros que cumplancon la estructura de la TBD ZTABLA_USUARIOS:
Como haremos la carga inicial de la TBD de usuarios, borraremos su contenido previamente a ala ejecución de este ejemplo. Ahora, seguiremos los pasos:
PASO 1: Declaración de datos propios del BI:
- Declaramos una TI y una estructura, ambas del tipo BDCDATA.
- Declaramos una TI y una estructura, ambas del tipo BDCMSGCOLL (para almacenar los msjs que se produzcan cuando ejecutemos el CALL TRANSACTION).
**Estructura BDCMSGCOOL: usada para definir la TI que almacenará los mensajes del Batch Input. - La IT de usuarios, contendrá datos que levantemos del archivo de entrada y una tabla para mostrar por pantalla los errores entre otras declaraciones.
PASO 2: Lectura de datos del archivo de entrada:
- Ejecutamos el método GUI_UPLOAD de la clase CL_GUI_FRONTEND_SERVICES para levantar el archivo de entrada con info para generar el BI:
PASO 3: La carga de la TI BDCDATA:
- Para cargar la TI usamos la subru. LLENAR_TABLA_BDCDATA. Pero antes debemos iniciar la TI del BI y la de los mensajes.
- Al ser muchos registros, tenemos que manejar índices para saber en que fila de la pantalla estamos cargando los datos. Esto lo hacemos concatenando al nombre del campo, el nro. de fila que le corresponde entre paréntesis.
PASO 4: La ejecución de la sentencia Call Transaction:
Veamos cada una de las opciones:
USING: acá especificamos la TI BDCDATA que se usará.
MODE: determina el modo de procesamiento que usará el BI. Los modos posibles son:
- A: procesamiento con visualización de todas las pantallas. Es el valor por default.
- E: procesamiento donde se muestran las pantallas solo si ocurre un error.
Si se alcanza un breakpoint, se termina el procesamiento con SY-SUBRC = 1001. El campo SY-MSGTY contendrá "S", SY-MSGID contendrá "00", SY-MSGNO contendrá "344", SY-MSGV1 contendrá "SAPMSSY3" y SY-MSGV2 contendrá "0131" - N: procesamiento donde no se muestran las pantallas.
- P: procesamiento donde no se muestran las pantallas. Si se alcanza un breakpoint, se pasa el control al debugger.
UPDATE: determina el modo de actualización de los campos que producirá el BI. Los modos posibles son:
- A: actualización asincrónica.
La actualización se hace de igual forma a la que pasa si usamos la sentencia COMMIT WORK.
Valor por defecto. - S: actualización sincrónica.
La actualización se hace de igual forma a la que pasa si usamos la sentencia COMMIT WORK AND WAIT. - L: actualización local.
MESSAGES INTO: con el usa de esta opción, todos los msjs generados durante el procesamiento del BI, son almacenados en una TI del tipo BDCMSGCOLL.
Para armar los msjs usaremos el mód. de fun. MESSAGE_PREPARE:
Ya que finalizamos con todos los pasos del BI, ejeutamos con modo de procesamiento "A", que nos permite ver el paso a paso de las actualizaciones:.
- Ingresamos a la trans SM30 con el nombre de la TBD ZTABLA_USUARIOS y hacemos clic en Actualizar.
- Clic en Entradas nuevas. El sist. nos informará que "No existen entradas" en la TBD.
- Se cargan todos los campos del registro y hacemos clic en grabar.
- Salimos de la dynpro en donde completamos el registro de la TBD.
- Y salimos a la pantalla inicial de la trans y repetimos esta secuencia de pasos por cuantos registros ingresemos en la TBD.
La sentencia CALL TRANSACTION también es usada en reportes, para acceder a una trans. determinada, a partir de los datos introducidos en pantalla, con el agregado de la cláusula AND SKIP FIRST SCREEN.
Finalmente, si vemos el contenido de la TBD ZTABLA_USUARIOS por medio de la trans SE16, verificaremos que en efecto, existen tres registros que son los que insertamos en la tabla:
 
 
 
Sobre el autor
Publicación académica de Candela Estefanía Calzada, en su ámbito de estudios para la Carrera Consultor ABAP.
Candela Estefanía Calzada
Profesión: Técnica Electrónica - Argentina - Legajo: JW91W
✒️Autor de: 160 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: FullTime
Presentación:
Me encuentro estudiando la ingeniería en sistemas de información. poseo amplia experiencia en edición de videos. tengo bases entorno a la programación que quiero continuar consolidando.
Certificación Académica de Candela Calzada