✒️SAP El procesamiento de fondo
SAP El procesamiento de fondo
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.
Además de la opción de ejecutar programas y transacciones online, SAP nos da la posibilidad de ejecutar procesos de fondo.
Podemos encontrar otros términos para referirnos al mismo concepto como procesamiento batch o procesamiento en segundo plano.
Cuando se prevea que un proceso va a durar más tiempo debería ser lanzado de fondo. El lanzamiento de programas de fondo nos permite mejorar el rendimiento de las transacciones online ya que podemos determinar que la prioridad de los mismos sea menor, debido a que el usuario no esta esperando respuesta inmediata.
Lo más aconsejable es lanzar los programas de fondo durante la noche, cuando la carga de usuarios que actúan online es casi nula. Se deberá hacer cuando los procesos no sean críticos para la obtención de datos en tiempo real, será la dirección de la empresa la que deba decidir.
A partir de la implementación de la plataforma SAP HANA en las empresas, procesos pesados que anteriormente demandaban horas o hasta días en ejecutarse de fondo o batch, cuando los resultados se requerían en cuestión de minutos, redujeron significativamente su tiempo de ejecución gracias a la potencia de la base de datos en memoria. Algunos de estos procesos pasaron a ejecutarse de forma online y otros pasan a demorar de días a horas o minutos.
LOS JOBS
Es el conjunto de uno o más programas o transacciones que se lanzan consecutivamente en un proceso de fondo.
Para crear un job utilizaremos la transacción estándar SM36( sirve para definir y planificar los procesos de fondo que se definan en el sistema SAP).
La definición de un job tiene 3 áreas principales:
- Información general.
- Hora de inicio o evento de ejecución.
- Pasos.
Lo primero que debemos hacer es dar un nombre que defina el propósito que tiene el job. Este nombre no es único, lo que significa que podemos crear varios jobs que se llamen igual. SAP le asignará un número interno a cada job, ese número no es accesible para nosotros, por lo que debemos referirnos al job sólo por su nombre.
Las clases posibles de job que indican a SAP la prioridad de ejecución de los procesos que le mandamos son:
- La más alta prioridad: se utiliza para los procesos que son críticos para el funcionamiento del sistema.
- Prioridad media: se utiliza para procesos periódicos que aseguran el mantenimiento del sistema.
- Prioridad normal: es la clase normal que se asigna a los jobs de usuario.
La hora del inicio o evento, cuándo debe ejecutarse un job:
- Ejecución inmediata: en el momento de acabar su definición.
- Ejecución por fecha hora: deberemos indicarle un día y una hora en la que queramos que comience el job y podremos indicar si esa ejecución es periódica ( es útil para la planificación de jobs de mantenimiento o de recolección de estadísticas).
- Por job: podremos encadenar unos jobs con otros e indicarles cuando se deban ejecutar o aplicar condicionales para la ejecución de los mismos.
- Por evento: el job comenzará cuando se produzca en el sistema el evento (un suceso que se produce automáticamente o manualmente en el sistema SAP) que le indiquemos.
Los pasos de un job: los componen los diferentes programas que queremos que se ejecuten.
Estos programas pueden ser de tres tipos:
- 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 esté 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.
Los pasos de un job constituyen un proceso unificado, si el primero de un job de tres pasos falla, ninguno de los otros dos restantes se procesará.
El análisis de un job: Una vez definido completamente un job podemos analizar y monitorizar su situación a través de la transacción SM37 (Visualizar el resultado de la ejecución de los procesos de fondo o jobs en el sistema SAP). En cada job podremos visualizar: Los status que son: previsto, liberado, preparado, activo, terminado o cancelado, ID, el usuario SAP que lo ejecutó.
Los estados de un job:
- Previsto: Estado inicial del job cuando están definidos los datos generales y los pasos del job pero aún no se ha ejecutado.
- Liberado: cuando definimos completamente un job con la transacción SM36,o liberamos un job que estaba en estado previsto.
- Preparado: una vez que se hayan cumplido las condiciones de inicio del job pasa a este estado. Normalmente no veremos jobs en este estado a menos que tengamos el sistema muy cargado.
- Activo: el job se esta procesando. Podemos ver el log desde este momento y ver lo que está haciendo.
- Terminado: El job completó su ejecución correctamente.
- Cancelado: algún problema hizo que el job finalizara de manera incorrecta. Normalmente se producen errores de los programas que componen el job o problemas de acceso a la base de datos. En el log podremos ver el motivo de la cancelación.
Las operaciones sobre jobs: si pulsamos en el menú job correspondiente a la transacción SM37 veremos todas las operaciones posibles que podremos hacer para alterar el estado o composición de un job.
- Verificar estatus: comprobamos que el estado que tiene el job es realmente el que tiene en el sistema operativo.
- Cancelar job activo: con esta opción detenemos un job activo y lo pasamos directamente a estado cancelado. Si tuviera un job encadenado a continuación este no se procesará.
- Borrar: una vez terminado o cancelado un job podemos borrarlo manualmente de la lista.
- Liberado-> Previsto: se usa esta opción para poder deshacer la liberación de un job. Es útil para no tener que borrar y redefinir un job ante cualquier cambio de acción, por ejemplo cambios en la hora de liberación de un job.
- Copiar: si queremos que un job se ejecute dos o tres veces lo copiaremos con esta opción y liberaremos cada una de las copias convenientemente. Si queremos que se ejecute más veces se recomienda crear un job periódico.
- Modificar: se puede modificar siempre y cuando no haya comenzado la ejecución del job.
- Repetir previsión: Esta opción es muy similar a la de copiar, pero a demás nos pide los datos de inicio del job, es decir, es 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 esté activo.
- Capturar job activo: para comprobar en que punto va la ejecución del proceso que hemos lanzado.
- Detalles del job: aquí podemos ver los datos internos del job. El más interesante es comprobar en que servidor de aplicaciones se está procesando y el número de cola BTCpara poder monitorear su estado y/o rendimiento con la transacción SM51( usada para verificar la lista de servidores de aplicaciones activos que se han registrado en el servidor de mensajes SAP.
 
 
 
Sobre el autor
Publicación académica de Patricia Silva, en su ámbito de estudios para el Carrera Consultor Basis NetWeaver.
Patricia Silva
Profesión: Técnico Automotriz - Argentina - Legajo: LL84Q
✒️Autor de: 38 Publicaciones Académicas
🎓Cursando Actualmente: Consultor en SAP MM Nivel Avanzado
🎓Egresado de los módulos:
Certificación Académica de Patricia Silva