✒️SAP El procesamiento de fondo
SAP El procesamiento de fondo
El procesamiento de fondo
Conceptos del procesamiento de fondo
SAP nos da la posibilidad de ejecutar procesos de fondo, o procesamiento batch o procesamiento en segundo plano.
El procesamiento de fondo consiste en la ejecución de un proceso o programa sin interacción con el usuario, es decir, que lanzamos el proceso y el SAP GUI nos devuelve el control, aunque el programa todavía no ha acabado de ejecutarse.
EJ. Procesamiento batch dura 20 min.
Procesamiento online en tiempo real menos de un minuto
Este modo de ejecución de procesos adquiere una importancia vital cuando tratamos con programas que tardan mucho tiempo en completarse.
Esto nos permite mejorar el rendimiento de las transacciones online, ya que podemos determinar que la prioridad de las mismas sea menor, debido a que el usuario no está esperando respuesta inmediata.
Los Jobs
Es un conjunto de uno o más programas o transacciones que se lanzan consecutivamente en un proceso de fondo.
Para crear un Jobs utilizaremos la transacción estándar SM36 (definir y planificar los procesos de donde que se definan en el sistema SAP).
JOB tiene 3 áreas principales:
_Información general
_Hora de inicio o evento de ejecución
_Pasos
Podemos crear varios Jobs que se llamen actualizar estadísticas enero.
Esto de produce porque SAP asigna un numero de interno a cada job con el que diferencia unos de otros, pero para nosotros esa clave es desconocida y solo podremos referirnos al job por su nombre. Otro dato es la clase de job que indica a SAP la prioridad de ejecución de los procesos que le mandamos y en función de ello asigna los recursos adecuadamente.
ü A - La más alta prioridad: se utiliza para procesos que son críticos para el funcionamiento del sistema.
ü B- prioridad media: se utiliza para procesos periódicos que aseguran el mantenimiento del sistema.
ü C- prioridad normal: es la clase normal que se asigna a los Jobs de usuario.
Hora de inicio o evento
Ya definidas las características ahora debemos indicar cuando debe ejecutarse. Esta indicación puede hacerse de diversas formas.
Ø Ejecución inmediata: como su propio nombre indica nos permite iniciar el job en el momento de acabar su definición.
Ø Ejecución por fecha/hora: debemos programar un dia y horario en la que queramos que comience el job. También lo podemos marcar como periódico, que se repita la ejecución cada cierto periodo de tiempo. Esto es muy útil para la planificación de Jobs de mantenimiento o de recolección de estadísticas.
Ø Por Job: aquí es un correlativo, podemos programar Job al termino de otro, pero puede que si el job A se cancela en la mitad de su ejecución el siguiente no se ejecutará.
Ø Por evento: el job comenzara cuando se produzca en el sistema el evento que le indiquemos. (el evento es un suceso que se produce automáticamente o lo podemos provocar manualmente).
Previamente, el evento debe estar definido en la correspondiente table. Como por ejemplo el arranque o parada de instancias, cambio de modo de operación de nocturno a diurno, etc.
Pasos de un job
Tras definir cómo y cuándo se procese un job, ahora vamos a decirle que queremos que haga con las siguientes opciones:
Ø Un programa ABAP estándar o creado por nosotros al que le indicaremos una variante que contenga los parámetros de selección de ese programa.
Ø Un comando externo que se ejecutará en el sistema operativo donde este el servidor de aplicaciones que procesa el job
Ø Un programa externo que reside en otro sistema distinto a SAP. Se utiliza cuando tenemos otros sistemas de gestión distintos a SAP y necesitamos tener interfaces entre ellos.
En esta instancia también nos pararía que si un job sufre una cancelación las restantes no se procesaran.
Análisis de un job
Podemos analizar o monitorizar su situación a través de la transacción SM37 que se utiliza para visualizar los Jobs procesados en el sistema. Podemos visualizar asi datos como el ID, el usuario SAP que lo ejecutó, el status (previsto, liberado, preparado, activo, terminado o cancelado), la fecha y hora de inicio, la duración y el retraso.
Estado de un job
Ø Previsto: es el estado inicial, este no se ejecutará a menos que lo liberemos o modifiquemos la sección de datos de inicio.
Ø Liberado: cuando definimos a un job con la transacción SM36 o liberamos del estado previsto, entonces pasa a liberado. Continuara así hasta que se cumpla la condición de su fecha de inicio.
Ø Preparado: luego del inicio del job pasa al estado preparado en el que se estará esperando a que haya recursos libres en el sistema para ejecutarse. Normalmente no veremos Jobs en este estado a menos que tengamos el sistema cargado y que no haya suficientes colas para atender a todos los Jobs que están en estado preparado.
Ø Activo: el job se está procesando. Podemos ver el log desde este momento y ver lo que está haciendo.
Ø Terminado; el job completó su ejecución correctamente.
Ø Cancelado: se producen cancelaciones por errores de los programas que componen el job o problemas de acceso a la base de datos. En el log del job podemos ver el motivo de la cancelación.
Operaciones sobre Jobs
Si pulsamos en el menú job correspondiente a la transacción SM37 veremos todas las operaciones posibles que podemos hacer para alterar el estado o composición de un joob.
Ø Verificar status: en algunas ocasiones creemos que el job está activo (porque la transacción SM37 así nos indica) realmente no lo está. Con esta opción forzamos a SAP a comprobar que el estado que nos da para el job realmente el que tiene en el sistema operativo.
Ø Cancelar job activo: aquí detendremos el job activo y lo pasamos al estado cancelado. Si tuviera un job encadenado a continuación no se procesará.
Ø Borrar: una vez terminado o cancelado un job podremos borrarlo manualmente de la lista.
Ø Liberado – previsto: para poder deshacer la liberación de un job utilizaremos esta opción. Es muy útil para no tener que borrar y redefinir un job que hemos liberado a una hora concreta y después nos hemos dado cuenta de que no queremos lanzarlo aún.
Ø Copiar: si queremos que un job se ejecute dos o 3 veces lo copiaremos con esta opción y liberaremos cada una de las copias convenientes. Si queremos que se ejecute más veces deberíamos crear un job periódico.
Ø Modificar: siempre y cuando no haya comenzado la ejecución del job (mientras este en previsto o liberado) podremos modificar cualquier dato de la definición del mismo.
Ø Repetir previsión: es muy similar a la de copiar, pero además nos pide los datos de inicio del job, es decir, como si copiamos un job y liberamos inmediatamente la copia.
Ø Traslado a otro servidor: con esta opción cambiamos el servidor de destino de un job que no este activo.
Ø Capturar job activo: es para comprobar en qué punto va la ejecución del proceso que hemos lanzado, podemos capturar un job que este activo. Al pulsar esta opción se nos abre un modo nuevo con el debugger de ABAP parado en el punto del programa que estuviera en ese momento.
Ø Detalle de job: aquí podemos ver los datos internos de job. El más interesante es comprobar en qué servidor de aplicaciones se está procesando y el número de cola BTC para poder monitorizar su estado y/o rendimiento con la transacción SM51.
La transacción estándar SM51 muestra los servidores de SAP. Desde esta transacción se puede seleccionar un servidor en particular y comprobar los procesos que se están ejecutando.
 
 
 
Agradecimiento:
Ha agradecido este aporte: Juan Maiztegui
Sobre el autor
Publicación académica de Gisela Flores, en su ámbito de estudios para el Carrera Consultor Basis NetWeaver.
Gisela Flores
Profesión: en Búsqueda Laboral - Argentina - Legajo: XH86A
✒️Autor de: 14 Publicaciones Académicas
🎓Egresado del módulo:
Certificación Académica de Gisela Flores