✒️SAP BASIS La administración de jobs
SAP BASIS La administración de jobs
p.p1 {margin: 0.0px 0.0px 10.0px 0.0px; font: 11.0px Arial; color: #000000; -webkit-text-stroke: #000000} p.p2 {margin: 0.0px 0.0px 10.0px 0.0px; font: 11.0px Arial; color: #000000; -webkit-text-stroke: #000000; min-height: 12.0px} p.p3 {margin: 0.0px 0.0px 10.0px 0.0px; font: 13.0px Arial; color: #000000; -webkit-text-stroke: #000000} p.p4 {margin: 0.0px 0.0px 10.0px 0.0px; font: 13.0px Arial; color: #000000; -webkit-text-stroke: #000000; min-height: 15.0px} p.p5 {margin: 0.0px 0.0px 10.0px 0.0px; font: 10.0px Arial; color: #000000; -webkit-text-stroke: #000000} li.li1 {margin: 0.0px 0.0px 10.0px 0.0px; font: 11.0px Arial; color: #000000; -webkit-text-stroke: #000000} li.li3 {margin: 0.0px 0.0px 10.0px 0.0px; font: 13.0px Arial; color: #000000; -webkit-text-stroke: #000000} li.li5 {margin: 0.0px 0.0px 10.0px 0.0px; font: 10.0px Arial; color: #000000; -webkit-text-stroke: #000000} span.s1 {font-kerning: none} span.s2 {font: 13.0px Arial; font-kerning: none} span.s3 {font: 13.0px Arial} span.s4 {font: 14.0px Arial; font-kerning: none} span.Apple-tab-span {white-space:pre} ol.ol1 {list-style-type: decimal} ul.ul1 {list-style-type: disc}
ADMINISTRACION DE JOBS (6 DE 8)
1.- PLANIFICACIÓN BASADA EN TIEMPO (transacción SM36)
- el inicio Dependiente de Tiempo de un Job se puede definir tres maneras:
- INICIO INMEDIATO (una vez o Periódico, se pueden definir excepciones en planificaciones periódicas)
- EN UNA FECHA Y HORA PARTICULAR (una vez o periódico, se pueden definir excepciones en planificaciones periódicas)
- UN DIA RELATIVO AL INICIO O FINAL DE MES (una vez o periódico ej. “el 14avo día laboral del mes” o un día laboral determinado)
* Transacción SM36 (Definir Job)
- se pueden setear excepciones, por ej. “ni Domingos ni Festivos”
- se puede definir que el Job sea Recurrente
- el Job es iniciado en la Fecha y Hora indicada, atendiendo la Prioridad del Job y Disponibilidad de WP-B
- se puede especificar un período de tiempo en el cual el Job debe iniciarse (se define el tiempo luego del cual el Job no debe ejecutarse, para prevenir Jobs periódicos en momentos poco convenientes)
- EJEMPLO: un Job de reorganización que debería ejecutarse sólo durante la noche demora su inicio por no disponibilidad de WP-B, con una ventana de tiempo de inicio podemos evitar que el Job se ejecute durante el día
- no siempre es conveniente aumentar constantemente los WP-B (analisis previo de los periodos con que se ejecutan los Jobs, la concurrencia, se pueden reorganizar los horarios de largada para no necesitar tanto paralelismo)
- revisar los Modos de Operación , se debe contabilizar la sumatoria de los WP-D mas los WP-B y realizar un Balanceo de Carga correcto (ej. si tenemos 20 WP en total, podemos tomar 14 de dialogo y 6 de background y monitorearlos desde la SM50 y si todo funciona OK durante el día dejarlo de esa manera e invertirlo para la noche para contar con más WP-B)
- los WP-B generan un encolado con tipo de liberación FIFO
2.- BALANCEO DE CARGA (parámetro rdisp/btctime)
- el parámetro de perfil rdisp/btctime especifica el período de tiempo en el cual el planificador de Job Dependientes de Tiempo está activo (la ejecución de jobs con la condición de inicio inmediato evita el planificador)
- en este caso el WP-D del usuario que solicita el inicio inmediato es quien planifica el Job (solo si no hay recursos libres el Job es planificado basado en tiempo. La fecha y Hora planificada corresponde al momento donde debería haber iniciado)
- el Planificador de Job (programa ABAP “SAPMSSY2” que corre automáticamente con un WP-D) corre en cada instancia que provea WP-B con la frecuencia en segundos definida en rdisp/btctime (Valor por defecto = 60)
- a partir de SAP Netweaver 7.0 el Planificador de Job también se inicia luego de que un Job ha finalizado (esto incrementa la tasa de salida para el procesamiento background considerablemente, dependiendo de cuantos Jobs planificados existen y cuantos recursos están disponibles)
- Nota SAP 923228 describe como activar esta función para sistemas con versiones a partir de Basis 4.6C
- parámetro de Perfil rdisp/wp_no_btc define los WP-B en cada instancia de SAP
- el número de WP requeridos dependerá del número de tareas que se realicen en batch
- si se utiliza el Sistema de Transporte deberá haber al menos dos WP-B en el sistema
- la combinación de Job ID y el Nombre de Job definen el Job de manera unívoca en SAP
- PROCESAMIENTO: el Planificador de Job basado en tiempo verifica la tabla de planificación de Jobs en la DB y busca Jobs en espera de ejecución, estos son transferidos a WP-B que se encuentran liberen la instancia de SAP de acuerdo a la Prioridad y Servidor de Ejecución
- los Jobs que no son asignados a un servidor en particular pueden ser ejecutados con cualquier WP-B libre (esto significa que la carga de trabajo es distribuida automáticamente entre las Instancias SAP
- si un Job es asignado a ser ejecutado en una instancia o un grupo de instancias, significa que el Job podía ejecutarse en un OS particular o en el mismo servidor donde corre la DB (en este caso no se genera una distribución de carga automática de SAP)
3.- JOBS ESTANDAR (Jobs de background que deberían ejecutarse regularmente en un sistema PRD SAP)
- realizan tareas de limpieza en el sistema (borrado de spool requests obsoletos o procesamiento de información estadística y de monitoreo)
- transacción SM36 (Definición de Jobs) permite acceder a una selección de jobs estándar importantes que pueden ser Planificados, Monitoreados y Editados, seleccionando Standard Jobs
- si queremos planificar todos los Jobs estándar seleccionar Default Scheduling (todos los Jobs estándar que están definidos en la tabla REORGJOBS son planificados con una variante y periodo específico)
- si queremos planificar Jobs individuales, seleccionar el Job y especificar el período de ejecución
- si se desea definir un Job estándar adicional que no está en la tabla podemos seleccionar Predefine new Job
- Nota SAP 16083 (Standard Jobs, Reorganization Jobs) información sobre Jobs estándar
- Nota SAP 1034532 (Changes for standard Jobs)
4.- PLANIFICACIÓN BASADA EN EVENTOS
- un Evento es una señal para el sistema de procesamiento en background que indica que se ha cumplido una condición particular en SAP (el sistema de procesamiento recibe eventos y luego inicia todos los Jobs vinculados a ese evento)
- se puede planificar de tres formas
- Luego de un Evento (el Job inicia luego de que un evento definido es recibido, puede ser una vez o periódicamente, con o sin parámetros)
- Modo de Operación (se puede vincular un Job a la activación de un modo de operación cuando planificamos el Job)
- Luego de un Job (se crean cadenas simples de Jobs y la ejecución del sucesor puede ser dependiente del estado con el que finalizó el predecesor, es opcional)
5.- EVENTOS (se definen en CCMS, transacción SM62)
- se diferencian eventos de sistema y eventos de usuario
- los eventos de sistema son predefinidos por SAP y no deberían ser modificados o disparados
- los eventos se pueden Disparar de tres maneras:
- 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 de SAP a nivel de OS usando el programa sapevt (externo)
- un parámetro puede ser transferido cuando un evento se dispara (así podemos definir Jobs que esperan por la ocurrencia del evento junto con el parámetro específico)
- transacción SM62 nos permite acceder al Historial de eventos
- la sintaxis del programa sapevt es:
sapevt
are multiple individual switches based on:
( I event=) ((-p) I param=
- Nota SAP 802172 explica los parámetros en detalle
- la salida de sapevt se escribe en un ARCHIVO DE TRAZA dev_evt (para que pueda reaccionar a eventos externos SAP debe estar activo o un evento disparado por un programa externo se pierde)
- EJEMPLO de ejecución de un sapevt
sapevt event=NUEVO_ARCHIVO_INTERFAZ name=DEV mshost=twd5000.wdf.sap.corp
- si el nombre del evento tiene espacios , debemos utilizar comillas (“”) cuando llamamos al sapevt, por ejemplo:
sapevt
“MY EVENT” name=QAS mshost=twdf9999.wdf.sap.corp
 
 
 
Sobre el autor
Publicación académica de Rodrigo Cofre, en su ámbito de estudios para la Carrera Consultor Basis NetWeaver.
Rodrigo Cofre
Profesión: Analista de Sistemas, Especialista en Capacitación - Chile - Legajo: NG96Z
✒️Autor de: 45 Publicaciones Académicas
🎓Egresado del módulo:
Presentación:
Saludos a todos, espero que sea una grata experiencia de aprendizaje.
Certificación Académica de Rodrigo Cofre