✒️SAP BASIS Los jobs de background
SAP BASIS Los jobs de background
JOBS DE BACKGROUND
¿QUÉ ES EL PROCESAMIENTO EN BACKGROUND O DE FONDO?
EL procesamiento en background debería esencialmente separar tareas periódicas que consumen mucho tempo, de aquellas de interacción de usuarios.
Las tareas que consumen mucho tiempo y ocuparían un work process en dialogo pueden ser secuencialmente procesada en background sin afectar al rendimiento de dialogo.
Es importante dimensionar apropiadamente el sistema, ya que demasiados procesos en background podrían terminar compitiendo por recursos compartidos con procesos de dialogo (memoria principal, CPU).
El administrado planifica los Jobs de background y monitorea la correcta ejecución de los mismos.
FUNDAMENTOS
Los procesos de diálogo deberían estar disponibles para responder a las solicitudes de los usuarios rápidamente.
El parámetro rdisp/max_wprun_time controla precisamente esto, el máximo tiempo de ejecución de un paso de dialogo de un work process de dialogo.
Transacción RZ11: visualiza los parámetros del sistema y permite modificar los que el sistema permita modificar sin reiniciar la instancia.
Se puede consultar más información de rdsip/max_wprun_time en la nota de SAP 25528
Podemos utilizar los procesos de background para tareas que consuman mucho tiempo, también se conocen como procesos de batch.
También se utilizan para tareas repetitivas.
Un job de background consiste en uno o más pasos (steps) como por ejemplo:
· Un programa ABAP
· Un comando externo
· Un programa externo
Cada job se procesa sin interrupción por un único background work process. Pueden ser planificados por diferentes prioridades:
· Clase A (Prioridad alta)
· Clase B (Prioridad media)
· Clase C (Prioridad normal)
Si un job es planificado para ser ejecutado en un servidor particular o un grupo de servidores, este tendrá preferencia con respecto a otros Jobs de la misma clase.
Esta preferencia solo se aplica si múltiples Jobs con la misma prioridad solicitan el procesamiento en background al mismo tiempo.
Debemos asegurarnos que la mayor parte de los Jobs de background sean planificados con prioridad normal, clase C, sin especificar servidor de ejecución. Esto debería aplicar al i90% de todas las tareas de background.
Un paso dentro de un job puede ejecutar una de estas tareas acciones:
Programa ABAP: puede planificarse como un paso de un job. Si el programa ABAP tiene una o más pantalla de selección, tendremos que crear las entradas previamente en una variante. Los valores de la variante son utilizados durante la ejecución del programa. Si el programa ABAP tiene una pantalla de salida como resultado, esto es dirigido a una lista de spool. También podemos especificar un recipiente de email para esta lista de spool durante la definición del job. Debemos especificar una impresora para la creación de la lista de spool.
Comando externo: llamada a un script predefinido, un comando, o un programa a nivel del sistema operativo. Con comandos externos podemos enmascarar llamadas al sistema operativo y guardarlos en el sistema sap bajo un nombre. Podemos usar también el concepto de autorización de SAP para proteger la ejecución de un comando externo, delimitando así el uso a usuarios o sistemas.
Programa externo: es un comando del sistema operativo. El concepto de autorización solo especifica si un usuario puedo o no llamar a un programa externo.
Un Job puede ser iniciado:
Mediante la planificación en una fecha y hora particular (esto incluye el inicio inmediato, si no hay background work process libres disponibles al momento en que debe iniciar el job según la planificación)
Mediante la ocurrencia de un evento definido en el sistema SAP. Esto incluye Jobs que se iniciaran luego de la finalización de otro Jobs o en los cambios de modo de operación o Jobs con inicio inmediato si existen background work process libres al momento.
Modo de operación: el proceso de Jobs de background está muy ligado por el modo de operación, podemos hacer que los usuarios ejecuten la transacción en background y que luego el usuario puede revisar con SP02 el resultado (configurando una impresora para este menester).
PLANIFICACION Y MONITOREO
Podemos utilizar la transacción SM36 para definir nuevos Jobs.
Podemos llamar al asistente de job, transacción SM36WIZ.
Transacción SM36 y SM36WIZ: utilizados para la creación de Jobs tanto estándar como propios, permitiendo definir más de un paso de ejecución en cada uno.
Las especificaciones que requiere la definición de un job son:
Especificaciones generales tales como:
· nombre de job
· prioridad del job (por defecto c)
· opcionalmente un servidor de ejecución o grupo.
Definición de uno o más pasos
Definición de una condición de inicio (de tiempo o controlada por evento).
El Asistente de Job nos ayuda en la creación de job guiándonos de manera facial a través del proceso de creación.
El método de creación de un job de background (clásico o mediante el asistente de job) no tiene incidencia en el resultado.
Algunas funciones (especificar el usuario SAP en la definición del paso de job, modificación del orden de ejecución del os pasos) no están disponibles para el asistente de job.
Transacción SM37: permite monitorear los Jobs. Podemos seleccionar los Jobs utilizando diversos criterios en la pantalla inicial de esta transacción. Podemos verlos por un estado particular o por un evento.
Entramos en la transacción SM37 definimos parámetros de búsqueda y ejecutamos. Nos devuelve una lista SAP (ALV), podemos determinar las columnas a visualizar y ordenarlas.
Una columna que no se visualizar por defecto y es importante es la columna de servidor de ejecución.
También podemos navegar a otras vistas especificas del job desde la visualización del job mostrada en la figura:
Lista de Spool contiene las listas de salida de los programas de ABAP (si existen)
Detalle de Job contiene entro otras cosas, información sobre la definición del job, duración del procesamiento del job, fecha y hora del inicio del job
Todos los mensajes de salida por un programa de background son almacenados en el log del job.
Podemos visualizar el log para obtener información sobre un programa que finalizaron en un error.
Un job puede tener los siguientes estados:
Planificado (Scheduled): los pasos que requieren la creación de job han sido definidos ya, de todas forma la condición de inicio aún necesita ser definida
Liberado (Released): le joba ha sido completamente definido, incluyendo la condición de inicio. Un job no puede ser liberad sin una condición de inicio. Solo un administrador o usuario con las autorizaciones necearías para el procesamiento de background puede liberar un job.
Listo (Ready): la condición de inicio de un job liberado se ha cumplido. Sin embargo el job se encuentra en la cola de espera para un work process de background libre.
Activo (Active): el job se está ejecutando, no puede ser borrado ni modificado. Si un job activo no se ejecuta normalmente, podemos analizar el job en modo depuración. Luego podemos finalizar el job definitivamente o liberarlo nuevamente. Para esto en la transacción SM37, seleccionamos JOB -> Capture: active job.
Nota: para capturar un job de background debemos iniciar sesión el servidor sap donde el job está corriendo.
Finalizado (Finished): todos los pasos del job fueron ejecutados sin problemas.
Cancelado (Canceled): ej job a finalizado anormalmente eso puede suceder por:
· El administrador deliberadamente terminan el job en la transacción SM37 mediante la selección de JOB -> Cancel activo job.
· Un paso del job término con error.
Podemos modificar un job mientras este tenga los estados planificado o liberado.
Si la ejecución de un job ya ha comenzado, podemos monitorear el procesamiento en el log del job.
Si el job tiene programas ABAP que crean la listas de salida, estas se almacenan en la listas de spool.
Podemos crear un nuevo job copiando otro existente. Desde el menú selecciona Job -> Copy.
 
 
 
Sobre el autor
Publicación académica de Josep Antoni Lopez Moyano, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Josep Antoni Lopez Moyano
Profesión: It Manager - España - Legajo: QP26P
✒️Autor de: 375 Publicaciones Académicas
🎓Egresado de los módulos:
- Carrera Consultor en SAP HCM Nivel Inicial
- Carrera Consultor Basis NetWeaver Nivel Avanzado
- Carrera Consultor Basis NetWeaver Nivel Inicial
- Máster Funcional ABAP
- Máster ABAP Orientado a Objetos
- Carrera Consultor ABAP Nivel Avanzado
- Carrera Consultor ABAP Nivel Inicial