![](/cvo_files/imgs_sap_abap/logos/logo_cvo_academy_it.png)
✒️SAP BASIS La administración de jobs
SAP BASIS La administración de jobs
![SAP BASIS La administración de jobs SAP BASIS La administración de jobs](https://www.cvosoft.com/cvo_files/imgs_sap_abap/og-images/494.jpg)
7.6 - La administración de Jobs.
- La planificación basada en tiempo
Un job puede ser iniciado de forma dependiente del tiempo o de un evento. En el caso de inicio basado en tiempo, podemos seleccionar entre las siguientes opciones:
- El job debe ejecutarse inmediatamente:
- El job debe ser ejecutado en una fecha y hora particular.
- El job debe ejecutarse en un día laboral determinado:
Puedes seleccionar que el job sea recurrente. Esto significa que el job será ejecutado nuevamente después de un periodo de tiempo definido. También es posible especificar excepciones, tal como posponer al siguiente día laboral en el caso de un feriado en el calendario.
El job es iniciado en la fecha y hora indicado, en concordancia con la prioridad del job y disponibilidad de work process de background.
Puedes especificar también un periodo de tiempo en el cual el job debe iniciarse. Para esto, especificamos un tiempo luego del cual el job no debe ejecutarse. Con esta función, podemos prevenir la ejecución de jobs periódicos en un momento no conveniente, entre otras cosas.
Por ejemplo, un job de reorganización que debería solamente ejecutarse durante la noche demora su inicio por falta de disponibilidad de WP de background. Con una ventana de tiempo de inicio, podremos evitar que este job se ejecute durante el día, cuando los usuarios de diálogo están activos y hay menos recursos disponibles.
- El balanceo de Carga.
El parámetro de perfil rdisp/bctime especifica el periodo de tiempo en el cual el planificar de jobs dependientes de tiempo está activo. La ejecución de jobs con una condición de inicio inmediata evita el planificador.
En este caso , el WP de diálogo del usuario que solicita el inicio inmediato es quien planifica el job. Solo si no hay recursos libres, el job es planificado de forma basada en tiempo. La fecha y hora planificada de inicio corresponde al momento en el tiempo en el que debería haber iniciado.
Los WP de background pueden ser configurados en cada instancia del sistema SAP utilizando el parámetro de perfil rdisp/wp_no_btc.
El número de WP requeridos en el sistema SAP depende del número de tareas que se realizarán en batch. Si el sistema de transporte es utilizado, debe haber al menos dos WP de background en el sistema. La combinación del job ID y el nombre de job definen el job de manera unívoca en el sistema.
En cada instancia SAP en la que existen WP de background definidos, el planificador de job basado en tiempo corre X la cantidad de segundos definidos en ridsp/btctime (el valor por defecto es 60). Este es un programa ABAP (SAPMSSY2) que corre automáticamente en un WP de diálogo.
A partir de SAP NW 7.0 el planificador del job también se inicia luego de que un job ha finalizado. Esto incrementa la tasa de salida para el procesamiento de background considerablemente dependiendo de cuantos jobs hay planificados y recursos disponibles.
La nota SAP 923228 describe cómo podemos activar esto para sistemas SAP con una versión a partir de Basis 4.6C.
El planificador de job basado en tiempo verifica la tabla de planificación de jobs en la base de datos y busca jobs que estén esperando a ser ejecutados. Estos jobs son transferidos a WP de background que se encuentren libres en la instancia de SAP, de acuerdo a la prioridad y servidor de ejecución.
Los jobs que no son asignados a ningún servidor en particular para la ejecución pueden ser ejecutados con cualquier WP de background libre. Esto significa que la carga de trabajo es automáticamente distribuida entre las instancias de SAP.
Si un job es explícitamente asignado a ser ejecutado ya sea en una instancia seleccionada o un grupo de instancias algunas características particulares se derivan de esto, tal como aseguramos que el job se ejecuta en un sistma operativo particular o en el mismo servidor donde corre la base de datos. Esto significa, de todas maneras, que no contamos con la ventaja de la distribución de carga automática del sistema.
- Los jobs estándar.
Los jobs estándar son jobs de background que deberían ejecutarse regularmente en un sistema de producción SAP. Estos jobs principalmente realizan ciertas tareas de limpieza en el sistema, tal como el borrado del spool requeset obsoletos o el procesamiento de información estadística y de monitoreo.
En la transacción de definición de job SM36, se puede acceder a una selección de jobs estándar importantes que puedes planificar, monitorear y editar seleccionando estándar jobs.
Si queremos planificar los jobs standars, selecionamos default scheduling. Todos los jobs estándar que están definidos en la tabla REORGJOBS son planificados con una variante y periodo específico.
Para planificar jobs individuales, selecciona el job y especifica el periodo de ejecución.
Para definir un job estándar adicional que no está disponible en la selección (tabla REORGJOBS), podemos seleccionar predefine new job.
- La Planificación Basada en Eventos.
Un evento es una señal para el sistema de procesamiento en background que indica que un estado particular se ha alcanzado en el sistema SAP. El sistema de procesamiento en background recibe eventos y luego inicia todos los jobs que están vinculados a este evento.
Un job dependiente de evento puede ser planificado con una de las siguientes condiciones de inicio:
- Luego de un Evento: El job inicia después de que un evento definido en el sistema SAP es recibido.
- Modo de Operación: Con esta opción, puedes vincular un job a la activación de un modo de operación cuando planificamos el job.
- Luego de un job: De esta manera, podemos crear cadenas simples de jobs donde la ejecución del job sucesor puede ser dependiente del estado con el que finalizó el job predecesor.
- Los Eventos:
Los nuevos eventos son definidos por el administrador del sistema en CCMS, transacción SM62. Cuando se hace esto, el administrador diferencia entre eventos de sistema y eventos de usuario. Los eventos de sistema son predefinidos por SAP y no deberíamos modificar o disparar.
Los eventos pueden ser disparados de diferentes formas:
- Manualmente en CCMS para propósitos de prueba (transacción SM64).
- Con un programa ABAP, mediante el uso del módulo de función BP_EVENT_RAISE o el método RAISE de la clase CL_BATCH_EVENT.
- Fuera del sistema SAP a nivel del S.O. usando el programa sapevt.
Un parámetro puede también ser transferido cuando un evento se dispara. De esta manera, podremos definir jobs que esperan por la ocurrencia del evento junto con el parámetro específico. También podemos acceder al historial de eventos en la transacción SM62.
La sintaxis para el programa sapevt es:
sapevt
Are multiple individual switches based on:
{| event=} [{-p } | param=
La nota SAP 802172 explica los parámetros en detalle.
La salida de sapevt se escribe a un archivo de traza dev_evt. Para que pueda reaccionar a eventox externos, el sistema SAP debe estar activo. De otra manera, un evento que se haya disparado por un programa externo se pierde.
Un ejemplo de ejecución del programa sapevt podría ser:
sapevt event=NUEVO_ARCHIVO_INTERFAZ name=DEV mshost=tdwf5000.wdf.sap.corp.
Si el nombre del evento contiene espacios, deberemos utilizar comillas ("") cuando llamamos al programa sapevt. Por ejemplo:
sapevt
"MY EVENT" name=QAS mshots=twdf9999.wdfsap.corp
 
 
 
Sobre el autor
Publicación académica de Israel Cespedes Penaloza, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Israel Cespedes Penaloza
Profesión: Ingeniero Electrónico - Bolivia - Legajo: DO67A
✒️Autor de: 90 Publicaciones Académicas
🎓Egresado de los módulos:
Disponibilidad Laboral: PartTime