PROMO JULIO en CVOSOFT United States Of America: 💎Calidad, 🔥Bonificaciones, 🥶Precios Congelados y MÁS!

 X 

✒️SAP El procesamiento de fondo

SAP El procesamiento de fondo

SAP El procesamiento de fondo

Procesamiento de Fondo

Conocido también como procesamiento batch o procesamiento en segundo plano, es la ejecución de un proceso o programa sin interacción con el usuario. Generalmente es usado cuando un proceso tarda en entregar el resultado solicitado... El usuario, "Lanza al fondo" el proceso dando menos prioridad a este proceso y por consiguiente mejorando el rendimiento general del sistema al no ocupar recursos de manera prioritaria.

Los Jobs:

Conjunto de uno o más programas o transacciones que se lanzan consecutivamente en un proceso de fondo. Se crea mediante la transacción SM36. Consta de tres áreas principales:

  1. Información General
  2. Hora de Inicio o evento de ejecución
  3. Pasos

Información General:

Un Job puede tener el mismo nombre que otros Jobs (Actualizar Estadísticas enero, por ejemplo), esto es, por que SAP le asigna un número que es transparente para nosotros por lo que puede diferenciarlos independientemente del nombre que le hayamos puesto... por otro lado, según la prioridad (Clase) que le demos al Job, SAP le asigna recursos adecuadamente. Las clases posibles son:

  • A - La más alta Prioridad: Es usada en los procesos más críticos para el funcionamiento del sistema.
  • B - Prioridad Media: Se utiliza para los 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:

Luego de indicar las características generales hay que determinar cuando se va a ejecutar el Job, hay varias formas de hacerlo:

  • Ejecución Inmediata: Luego de su definición entra en ejecución inmediatamente.
  • Ejecución por Fecha y Hora: Además de indicarle fecha y hora de ejecución podemos hacer que sea periódica. Muy útil para planificación de mantenimiento recolección de estadísticas.
  • Ejecución por Job: Es posible concatenar la ejecución de varios Jobs con esta instrucción, además es posible indicar su ejecución condicionada, es decir, si el Job A que se estaba ejecutando antes finalizó correctamente se podrá ejecutar el Job B, caso contrario no se ejecuta.
  • Ejecución por evento: En este caso es activado por un evento en especifico (provocado por SAP o manualmente), Ejemplo: Arranque o parada de instancias, cambio de modo de operación diurno a nocturno, entre otras.

Pasos de un Job

Una vez que indiquemos cuando y como debe procesarse el Job hay que indicar que debe hacer. Los pasos de un Job los componen la ejecución de diferente programas. Estos programas pueden ser tres tipos:

  1. Programa ABAP Estándar o creado por nosotros: A este le indicamos una variable que contenga los parámetros de selección de ese programa.

  2. Un Comando externo: Que se va a ejecutar en el Sistema Operativo donde esté el servidor de aplicaciones que procesa el Job.

  3. Un Programa externo que reside entre sistema distinto de SAP: Cuando tenemos otros sistemas de gestión distintos a SAP y necesitamos tener interfaces entre ellos.

Terminada la definición de un Job se puede analizar y monitorizar su situación a través de la transacción SM37. De cada Job se puede visualizar distintos datos como: ID, Usuario SAP que lo ejecutó, su estatus (Previsto, Liberado, preparado, Activo, Terminado o Cancelado), la fecha y hora de inicio, la duración y el retraso.

Debido a la gran cantidad de Jobs que pueden existir se debe filtrar la selección por nombre del Job, su usuario creador, fecha y hora de comienzo y estado en que se encuentra. Luego de ello se podrá visualizar un listado con los Jobs filtrados y diversos datos sobre ellos. La información mas relevante es el estado en que se encuentran.

Los estados de un Job:

Como se mencionó anteriormente el estado es el dato mas relevante de un Job, los posibles estados en los que se puede encontrar un job son los siguientes:

  • Previsto: Este estado es en el que se encuentra cuando se han definido sus datos generales y pasos, pero no se ha determinado el cuando de su ejecución... No se ejecutará nunca a menos que lo liberemos o modifiquemos la sección de datos de inicio.
  • Liberado: Cuando un Job es definido completamente (con la transacción SM36) o es liberado permanecerá en este estado hasta que llegue su fecha de ejecución u ocurra algún evento que lo active.
  • Preparado: Cuando se han cumplido las condiciones de inicio del Job pasa al estado preparado aguardando a que haya recursos libres en el sistema para su ejecución. Rara vez se encuentran Job con este estado, de encontrarse es por que tenemos el sistema tan cargado que no hay suficientes colas para atender a todos los Jobs que están preparados.
  • Activo: Indica que el Job se está procesando y podemos ver el Log en ese momento para ver que está haciendo.
  • Terminado: El Job se ejecutó correctamente.
  • Cancelado: Cuando un Job tiene este estado es que finaliza de manera incorrecta es por lo general por errores de los programas que componen el Job o problemas de acceso a la base de datos. En el Log podemos visualizar que detonó la cancelación.

Operaciones sobre los Jobs: Mediante la transacción SM37 (en el menú Job) podremos visualizar todo lo pertinente a un Job.

  • Verificar Status: se verifica que realmente un Job se este ejecutando ya que en ocasiones por transacción SM37 indica que está activo cuando no lo está por ejemplo.
  • Cancelar Job Activo: Con esta opción se detiene un Job Activo y si algún otro Job depende de la correcta finalización de este para ejecutarse no sucederá.
  • Borrar: Una vez cancelado o terminado un Job se puede borrar de la lista manualmente.
  • Liberado->Previsto: Sirve para deshacer la liberación de un Job y asi evitar redefinirlo en caso de arrepentimiento con respecto a su ejecución.
  • Copiar: Si queremos que un Job se ejecute dos o tres veces copiamos y liberamos cada una de las copias, ahora, si se quiere ejecutar mas que eso hay que considerar una ejecución periódica.
  • Modificar: Se puede Modificar un Job en esta opción siempre y cuando no esté inicializado.
  • Repetir Previsión: Similar a copiar pero con la diferencia de que nos pide datos de inicio del Job, es decir, para liberarlo inmediatamente.
  • Traslado a otro servidor: Para cambiar el servidor de destino a un Job que no esté activo.
  • Capturar Job Activo: Capturamos un punto de ejecución del proceso activo, se abre un debugger de ABAP situado en el punto del programa que estuviera en ese momento.
  • Detalles del Job: Visualizamos los datos internos de un Job con esta opción siendo el mas interesante en que servidor de aplicaciones se está procesando y el numero de cola BTC para poder monitorizar su estado y/o rendimiento con la transacción SM51.


 

 

 

Agradecimiento:

Ha agradecido este aporte: Juan Maiztegui


Sobre el autor

Publicación académica de David Enrique Leal Melendez, en su ámbito de estudios para el Carrera Consultor Basis NetWeaver.

SAP SemiSenior

David Enrique Leal Melendez

Profesión: Ingeniero de Sistemas - Chile - Legajo: SP37H

✒️Autor de: 15 Publicaciones Académicas

🎓Egresado del módulo:

Disponibilidad Laboral: FullTime

Presentación:

Soy una persona con ganas de crecimiento profesional, por lo que he decidido incursionar con esta maravillosa tecnología y así poder contribuir con las exigencias de empresas en todo momento.

Certificación Académica de David Leal