Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Page 1 of 5
Internet Explorer 9
Tus Sitios Favoritos Anclados. Accede instantneamente, Prubalo! Microsoft.com
Anuncios Google
BATCH-INPUTS
8.1. INTRODUCCIN
8.2. FASE DE GENERACIN
8.3. OPERACIONES
8.4. FASE DE PROCESAMIENTO
8.1. INTRODUCCIN:
Un batch-input es un mtodo seguro, fiable y rpido de transferir grandes
cantidades de datos a un sistema SAP, para hacer muchas altas, modificaciones o
borrados. Se simula un proceso on-line (transaccin donde interacciona el usuario),
para someter a los datos a todos los chequeos y validaciones que sufriran si se
metieran manualmente, para salvaguardar la integridad de los mismos (cosa que no
ocurrira con un MODIFY directo a una tabla del D.D., eso es lo importante de los batch
-inputs). Pero en cambio no requieren interaccin.
Hay 2 mtodos de batch-input: clsico y call transaction. En el mtodo clsico
se genera una sesin batch-input. Se tiene un fichero con los datos, y un programa
Abap/4 de conversin que crea la sesin (datos, pantallas, transacciones, comandos, ..
es un juego de datos), que simulan la existencia de un usuario que introducira los
datos), que se almacena y se puede procesar. Este mtodo es asncrono: se procesan
los datos ahora pero se actualizan ms tarde. Permite mltiples transacciones. Se
genera un log para cada sesin, pero no se pueden generar en paralelo desde el mismo
programa (slo puede abrirse un juego de datos cuando se cierra el anterior).
En el mtodo call transaction los datos se crean on-line al ejecutar el programa de
conversin, en lugar de crear una sesin. Es mucho ms rpido, pero poco til para
gran cantidad de datos (se perderan datos si hay errores, pues no se guardan en la
sesin batch-input). Se usa para dar de alta rpidamente pocos datos. Es un mtodo
sncrono, vlido para una transaccin, rpido, pero no se genera log, ni pueden
tratarse errores a posteriori.
El proceso tiene 2 fases:
Fase de Generacin: Un programa abap/4 genera un lote batch-input con los
datos a cargar o modificar (llamado juego de datos). La base de datos todava
no se modifica. Subtareas de esta fase: Anlisis de los datos a transferir (saber
qu datos hay que cargar), generacin de estructuras en D.D. para los nuevos
datos (opcional), creacin de un fichero de texto plano con los datos, desarrollo
http://www.abap.es/centro_Manual_08_Batch_Input.htm
26/05/2011
Page 2 of 5
Los campos que componen esta tabla / estructura son 5: PROGRAM (8 caracteres.
Nombre del module pool de la transaccin), DYNPRO (4 caracteres. Su nmero),
DYNBEGIN(1 carcter. Una 'X' indica nueva pantalla), FNAM(35 caracteres. Nombre
del campo de la pantalla), FVAL (80 caracteres. Valor para dicho campo de la pantalla).
Hay que guardar una entrada por cada dynpro, rellenando PROGRAM, DYNPRO y
DYNBEGIN, y luego usar APPEND. Y por cada campo de pantalla que se use en la
transaccin hay que guardar otra entrada, rellenando los campos FNAM y FVAL, y
luego usar APPEND o COLLECT.
Relleno de esta tabla: Para indicar nueva pantalla (o la primera), guardar el nombre
del programa (en PROGRAM), n dynpro (en DYNPRO) y X en DYNBEGIN (los otros
2 campos en blanco) Y para cada campo de esa pantalla rellenar su nombre tcnico (en
FNAM) y su valor (en FVAL), que es uno de los datos a transferir al sistema. En la
ltima entrada de por cada pantalla (salvo la ltima) se guarda el comando
http://www.abap.es/centro_Manual_08_Batch_Input.htm
26/05/2011
Page 3 of 5
Ejemplo de tabla.
PROGRAM
DYNPRO
DYNBEGIN
SAPM38M
0100
SAPM38M
0200
FNAM
FVAL
RS38M-program
ZBCA07F1
BDC_OKCODE
'/2'
...
...
...
...
8.3. OPERACIONES:
Abrir sesin:Para abrir o crear una sesin de batch-input (es decir, crear un
juego de datos nuevo, vaco) se usa el mdulo de funcin BDC_OPEN_GROUP.
En el include BDCRECXX hay subrutinas como la OPEN_GROUP ya preparadas
que llaman a estas funciones. En el programa no se puede abrir otra sesin si
hay alguna ya abierta. Hay que usarlo antes de insertar ningn dato.
http://www.abap.es/centro_Manual_08_Batch_Input.htm
26/05/2011
Page 4 of 5
*
*
*
*
*
*
*
=
=
=
=
1
2
3
4
*
*
*
*
http://www.abap.es/centro_Manual_08_Batch_Input.htm
26/05/2011
Page 5 of 5
http://www.abap.es/centro_Manual_08_Batch_Input.htm
26/05/2011