Documentos de Académico
Documentos de Profesional
Documentos de Cultura
BatchInput PDF
BatchInput PDF
Los Batch Input son programas que se utilizan para realizar una seria de tareas sin intervencin del usuario.
Estas tareas se pasan a un fichero de colas, en forma de sesiones de Batch Input.
Para tratar los Batch Inputs (generarlos, modificarlos y ejecutarlos) se puede acceder de dos maneras:
- Directamente desde la transaccin SM35 (SHDB Abre directamente la grabadora).
- Por men: Sistema Servicios Batch Input
Desde la SM35, entrar en Grabacin [ ] y crear Grabacin nueva: hay que darle un
nombre a la grabacin e introducir el cdigo de transaccin en la que se quiere comenzar el proceso e iniciar
grabacin.
Se entra de esta manera en la transaccin desde la que se quieren procesar los datos y hay que ir haciendo, a
manera de prueba, el tratamiento de uno de los registros.
Al grabar se genera un esquema de los pasos que se siguen para generar el BI; la estructura definida es a
partir de la tabla BDCDATA:
PROGRAM nombre del programa que llamamos
DYNPRO n de pantalla en la que se procesan los datos
DYNBEGIN switch que indica si es el inicio de una nueva pantalla
FNAM nombre el campo en el que se quiere meter el valor
FVAL valor del campo que se introduce
La pantalla de seleccin tendr un parmetro para introducir el nombre del fichero que contenga los
datos y su ubicacin.
SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME.
PARAMETERS: p_fichero LIKE rlgrap-filename DEFAULT 'c:\datos2.txt'.
SELECTION-SCREEN END OF BLOCK blk1.
LOOP AT fichero_entrada.
AT FIRST.
* abrir_grupo.
CALL FUNCTION 'BDC_OPEN_GROUP'
EXPORTING
group = group_jd
keep = 'X'
user = sy-uname
....
ENDAT.
* Rellenar los campos de la tabla interna, con los datos de la grabacin que ya tenemos, para que
luego se pasen a la BDCDATA con un INSERT.
PERFORM pantallas_campos.
* Insertar en la tabla
CALL FUNCTION 'BDC_INSERT'
EXPORTING
tcode = 'FD02'
TABLES
dynprotab = t_datos
...
REFRESH t_datos.
CLEAR t_datos.
AT LAST.
* cerrar_grupo.
CALL FUNCTION 'BDC_CLOSE_GROUP'
ENDAT.
ENDLOOP.
SAP guarda en una cola los batch input generados. Se accede a ellos desde la misma transaccin SM35
carpetas .
En la pantalla se nos presenta en distintas carpetas todos los batch input creados y su status.
Principal [ ]: estn todos los BI creados y sus caractersticas (autor, fecha de creacin, status...)
Nuevos: los BI creados pero no ejecutados; con status Nvo.
Errneos: aquellos BI que se han ejecutado y han terminado de manera errnea; con status errneos.
Procesado: BI que se han ejecutado y han terminado de manera correcta; status procesado.
En tratamiento: aquellos que se estn procesando en el mismo instante de la visualizacin.
En proc. Fondo: son los BI que estn creados y que estn programados para que se ejecuten en una fecha y
hora determinadas.
En creacin: BI que han sido dados de alta pero que todava no ha sido generado su juego de datos.
Blq: BI bloqueados.
Pulsaremos en Anlisis para visualizar las transacciones que se van a ejecutar, las dynpros, los programas que
incluyen...
Si lo que queremos es ejecutar el BI pulsaremos en el botn correspondiente y nos saldr una pantalla para
elegir el modo en el que queremos ejecutar el juego de datos.
Segn el modo de ejecucin podemos hacer que el batch input se ejecute de tres formas diferentes:
- Ejecutar visible: Ver todo el proceso. Se va viendo el paso por todas las transacciones y hay que ir
confirmando todas las pantallas.
Si nos da un error tenemos la oportunidad de corregirlo en el momento.
Adems tenemos la posibilidad de una vez visto el funcionamiento de la transaccin, pasar al otro
modo.
- Visul. Slo errores: Slo mostrar los errores del batch input. Se ejecuta sin tener que ir
confirmando todos los pasos, pero para el proceso cuando se produce un error; por lo que se puede
corregir.
- Invisible: No mostrar nada. No necesita confirmacin y se ejecuta hasta el final. Para ver la
ejecucin del BI iremos al log.
Los LOG de procesos nos indican la hora de inicio del proceso (de la sesin y de las transacciones), mensajes
de incidencias (o proceso correcto...).
Si el juego de datos ha terminado de manera errnea se puede reprocesar una vez tratados los registros que
dieron error.
Si el programa se lanza en fondo da igual el MODE ('A', 'E' o 'N') del Call-Transaction; en este caso, si se
quiere ver una orden SPOOL con los errores es necesario hacer el LOOP sobre la tabla de los errores y
escribirlos con WRITE.
Se habilita un procedimiento para guardar en un juego de datos las transacciones (registros) incorrectas. Esto
es muy til si el CALL TRANSACTION tiene lugar en un job de fondo donde no se permite el
procesamiento on-line de las transacciones incorrectas.
Resultado en background: Independientemente del modo de visualizacin (A, E N), las transacciones
correctas se actualizan en el sistema y las incorrectas se pierden salvo que se hayan guardado en un JD.
El resultado es similar al on-line.
Tanto si es batch-input como call-transaction, se tiene que limpiar la tabla BDCTAB al comienzo de cada
transaccin, sino se van acumulando las transacciones y siempre se ejecutara la primera.