Planificación basada en Tiempo.
Un Job puede ser iniciado de forma dependiente de tiempo o de un evento.
En el caso de inicio basado en tiempo, encontramos estas 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 cierto 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.
Puedes especificar un periodo de tiempo en el cual el job debe iniciarse. Para esto, se especifica 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.
Balanceo de Carga.
El parámetro de perfil rdisp/bctime especifica el periodo de tiempo en el cual el planificador de jobs dependientes de tiempo está activo.
La ejecución de jobs con una condición de inicio inmediata usualmente evita el planificador. En este caso, el work process de dialogo 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.
Los work process 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 work processes requerido en el sistema SAP depende del número de tareas que se realizaran en batch. Si el sistema de transporte es utilizado, debe haber al menos dos work processes de background en el sistema. La combinación de job ID y el nombre de job definen el job de manera univoca en el sistema.
En cada instancia SAP en la que existen work prosseses de background definidos, el planificador de job basado en tiempo corre cada la cantidad de segundos definido en rdisp/btctime (el valor por defecto es 60).
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 work processes 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 work process de background libre, lo que significa que la carga de trabajo es automáticamente distribuida entre las instancias SAP.
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 de spool requests obsoletos o el procesamiento de información estadística y de monitoreo.
En la Transacción SM36, de definición de jobs, se puede acceder a una selección de jobs estándar importantes que se pueden planificar, monitorear y editar seleccionando Standard Jobs.
Para planear jobs individuales, selecciona el job y especifica el periodo de ejecución.
Para definir un job estandar adicional que no está disponible en la selección (tabla REORGJOBS), podemos seleccionar Predefine new job.
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.
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 sucesos puede ser dependiente del estado con el que finalizó el job predecesor.
Eventos.
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 modifica 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 sistema operativo 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 concurrencia del evento junto con el parámetro específico. También podemos acceder al Historial de Eventos en la Transacción SM62.