Batch Input Power Point

Transcripción

Batch Input Power Point
BATCH INPUT
Batch Input
Introducción
Formas de Batch Input (BI)
Call Transaction, nos permite llamar a la transacción estándar
e ir cargando cada dato en el correspondiente campo. Puede
correrse on-line o como proceso de fondo (background).
Sesión de Batch Input, es similar al anterior, con la
diferencia es que la actualización de los datos no se da en el
momento que ejecutamos el programa sino luego cuando
corremos el juego de datos generado por el programa.
También nos da un log de errores y otras opciones mas.
BAPIS: Es una forma de BI orientada a objetos, aunque al
estar encapsulado es solo una función, que si bien no llama a
la transacción estándar posee todas las validaciones; se la
puede acceder en forma remota (RFC) y nos independiza de
los campos y las pantallas. Para buscar las BAPI’s pueden
hacerlo desde la SE37 (*bapi*) o desde la transacción BAPI.
LSMW: Se aplica en versiones 4.6C o superior. Agrupa todas
las anteriores, no requiere de programación es una especie de
wizard.
Batch Input
Call Transaction
A través de este método, la ejecución de la transacción
está controlada por un programa ABAP/4,
el cual
decide las pantallas que se llaman y que datos se le
pasan a cada campo.
Este método recupera en una tabla
mensajes informados por el sistema
ejecución de la transacción.
interna los
durante la
El juego de datos se encuentra en una tabla interna de
estructura BDCDATA.
Batch Input
Call Transaction
Los mensajes devueltos con el resultado de la ejecución de la transacción se
encuentran en en una tabla interna de estructura BDCMSGCOLL.
Batch Input
Call Transaction
CALL TRANSACTION
USING
[ ( MODE
UPDATE
( OPTIONS FROM
MESSAGES INTO
<Nombre de la transacción a llamar>
<Tabla interna de estructura BDCDATA>
<Modo de Ejecución>
<Modo de Actualización> ) /
<Work Area de estructura CTUPARAMS> )
<Tabla interna de estructura BDCMSGCOLL ]
MODE (Modo de Ejecución):
Si no se usa esta opción, por default toma el valor ‘A’.
A: Se visualizan todas las pantallas.
E: Solo se visualiza la pantalla si aparece un error.
N: Invisible, no se visualizan las pantallas.
UPDATE (Modo de Actualización):
Si no se usa esta opción por default es ‘A’.
A: Asincrónica
S: Sincrónica
L: Actualización Local
Batch Input
Call Transaction
OPTIONS FROM: (Significado de los campos de la estructura CTU_PARAMAS)
• DISMODE: Mismo significado y valores aceptados que la adición MODE.
• UPDMODE: Mismo significado y valores aceptados que la adición UPDATE.
• CATTMODE: (Controles de Pantalla CATT)
' ' CATT no activo.
'N' Sin control simple de Pantalla.
'A' Con control simple de Pantalla.
• DEFSIZE: Usa la resolución de pantalla de windows.
• RACOMMIT: La transacción no termina con un COMMIT WORK.
• NOBINPT: Variable de sistema SY-BINPT = SPACE.
• NOBIEND: Sin modo batch imput luego del final de BDC data.
RECUPERACIÓN DE MENSAJES (tabla T001)
CALL FUNCTION 'MESSAGE_TEXT_BUILD„ or 'MESSAGE_PREPARE„
EXPORTING
msgid
msgnr
msgv1
msgv2
msgv3
msgv4
= t_mensajes-id
= t_mensajes-number
= t_mensajes-message_v1
= t_mensajes-message_v2
= t_mensajes-message_v3
= t_mensajes-message_v4
“tipo de mensaje
“número de msj
“msj1
“msj2
“msj3
“msj4
IMPORTING
message_text_output = w_mensaje. “mensaje completo
Batch Input
Ejemplo
EJEMPLO
DATA: BDCDATA
TYPE TABLE OF BDCDATA.
ITAB
TYPE TABLE OF BDCMSGCOLL.
PROGRAM
LIKE SY-REPID,
WA_BDCDATA TYPE BDCDATA.
WA_BDCDATA-PROGRAM = 'SAPMS38M'.
WA_BDCDATA-DYNPRO = '0100'.
WA_BDCDATA-DYNBEGIN = 'X'.
APPEND WA_BDCDATA TO BDCDATA.
CLEAR WA_BDCDATA.
WA_BDCDATA-FNAM = 'RS38M-PROGRAMM'.
WA_BDCDATA-FVAL
= PROGRAM.
APPEND WA_BDCDATA TO BDCDATA.
…
…
CALL TRANSACTION 'SE38'
USING BDCDATA
MODE 'N'
MESSAGES INTO ITAB.
Batch Input
Sesión de Batch Input
•
Este procesamiento consiste en la ejecución de una o
múltiples transacciones del sistema.
•
Los datos a actualizarse o lote provienen de una base de
datos de SAP, o bien de sistemas externos a través de
archivos.
•
La técnica de Sesión Batch Input consiste en la ejecución
de un número determinado de pasos que deben repetirse
por cada registro del lote a través de una sesión. El
procesamiento de la sesión es asincrónica.
•
La intervención manual está simulada y la actualización
se realiza a través de transacciones en forma automática.
•
Como consecuencia, se reducen de forma significativa los
costos en diseño, codificación y tests, al acotar a un único
procedimiento, el tratamiento de los datos.
•
Por medio de la Sesión Batch Input, se pueden realizar
controles y recuperación de errores, lo cual garantiza la
integridad del sistema y permite la corrección y
reprocesamiento de datos inconsistentes.
Batch Input
Sesión de Batch Input
•
Los pasos a ejecutar dentro de la transacción se graban en
una tabla interna BDCDATA.
•
Se inicia la sesión a través del módulo de funciones
BDC_OPEN_GROUP. Este módulo de funciones recibe como
parámetros el mandante sobre el cual se ejecutará la sesión,
el nombre de la sesión, el usuario, si se retiene o no la sesión
luego de su ejecución (salvo por un usuario que cuenta con
los permisos para hacerlo aún si está activo este flag) y si
tiene una fecha desde, antes de la cual no se puede ejecutar
la sesión, salvo por el administrador del sistema.
•
Se llama BDC_INSERT, el cual es otro módulo de funciones
que recibe por parámetro la transacción a ejecutar. Esta
transacción seguirá los pasos grabados en la tabla interna
BDCDATA con el juego de datos.
•
Una
vez
finalizada
BDC_CLOSE_GROUP.
•
Todos estos módulos de funciones cuentan con excepciones,
que permiten recuperar el tipo de error que no permitió la
correcta ejecución de los mismos, sin que cancele el proceso
de fondo.
la
sesión
se
la
cierra
con
Batch Input
Sesión de Batch Input
Comienzo de Programa
CALL FUNCTION
‘BDC_OPEN_GROUP’
Mientras haya datos
CALL FUNCTION
'BDC_OPEN_GROUP'
Cargar Tabla BDCDATA
*
CALL FUNCTION ‘BDC_INSERT’
CALL FUNCTION
‘BDC_CLOSE_GROUP’
EXPORTING
client
= sy-mandt
group
= <btc_groupid>
user
= sy-uname
holddate = sy-datum
keep
= 'X'.
Batch Input
Sesión de Batch Input
Comienzo de Programa
refresh t_bdcdata.
perform carga_bdcdata
using 'X' 'SAPLAIST' '0110'.
CALL FUNCTION
‘BDC_OPEN_GROUP’
Mientras haya datos
Cargar Tabla BDCDATA
CALL FUNCTION ‘BDC_INSERT’
CALL FUNCTION
‘BDC_CLOSE_GROUP’
perform carga_bdcdata
using space 'ANLA-ANLN1' t_archivo-anln1.
perform carga_bdcdata
using space 'ANLA-BUKRS' t_archivo-bukrs.
perform carga_bdcdata
using space 'BDC_OKCODE' '/0'.
CALL FUNCTION 'BDC_INSERT'
EXPORTING
tcode
= 'AS11'
TABLES
dynprotab = t_bdcdata.
Batch Input
Sesión de Batch Input
Comienzo de Programa
CALL FUNCTION
‘BDC_OPEN_GROUP’
Mientras haya datos
CALL FUNCTION ‘BDC_INSERT’
CALL FUNCTION
‘BDC_CLOSE_GROUP’
CALL FUNCTION
'BDC_CLOSE_GROUP'
Batch Input
Sesión de Batch Input
START-OF-SELECTION.
* De tablas de sap, de un archivo o funcion ext.
PERFORM carga_datos.
* Inicio de sesión
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
client
= sy-mandt
“mandante
group
= <btc_groupid> “nombre sesión
user
= sy-uname
“usuario
holddate = sy-datum
“fecha desde
keep
= 'X'.
“retiene sesión aún ejecutada
LOOP AT gt_datos.
* Creamos los distintos juegos de datos.
PERFORM carga_bdc.
* Llamado a transacción
CALL FUNCTION 'BDC_INSERT'
EXPORTING
tcode
= ‘MM01'
TABLES
dynprotab = t_bdcdata.
ENDLOOP.
“transacción
“juego de datos
* Cierre de sesión
CALL FUNCTION 'BDC_CLOSE_GROUP'.
Batch Input
Sesión de Batch Input
La sesión de Batch Input creada, la podemos manejar desde la transacción SM35
Con el botón de Análisis
(seleccionando una línea) podemos ver
la cantidad de transacciones generadas
(solapa “Transaccion”), ver el
contenido de la tabla BDC_DATA (en la
solapa dynpros) y el log de errores
(log).
Con el botón de Estadística
podemos ver las estadísticas de la
ejecución de un juego de datos.
Con el botón de Log
podemos
ver el log de ejecución del juego de
datos.
Con el botón de Ejecutar
podemos procesar el juego de datos
luego de completar las opciones.
Batch Input
Sesión de Batch Input
• De acuerdo con la versión de SAP en la
SM35 tienen el botón de grabación
que los lleva a la SHDB.
• Con el botón
podemos generar
una grabación de una transacción y así
poder obtener el nombre de los programas,
campos y códigos de función.
• Con el botón de visualizar
podemos ver
los nombres de los programas, campos,
códigos de función y que dato se cargo en
cada uno.
• Con el botón de ejecutar
reprocesar la grabación.
podemos
¡¡MUCHAS GRACIAS!!
[email protected]
[email protected] (MSN)
Tel: 155-841-2489
[email protected]
Tel: 155-739-0162

Documentos relacionados