🚀PROMO #PLANCARRERA2024 - 🔥Bonificaciones, Precios Congelados y Cuotas

 X 

✒️SAP El procesamiento de fondo

SAP El procesamiento de fondo

SAP El procesamiento de fondo

QUE ES EL PROCESAMIENTO DE FONDO, QUE SON LOS JOBS Y DEMAS

1 - Conceptos del procesamiento de fondo

Además de la opción de ejecutar programas y transacciones online, SAP nos da la posibilidad de ejecutar procesos de fondo. También llamados: procesamiento batch o procesamiento en segundo plano.

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. Este modo de ejecución de procesos adquiere vital importancia cuando tratamos con programas que tardan mucho tiempo en completarse.

Se considera un buen tiempo de respuesta para un sistema online, el hecho de que no transcurran más de dos segundos entre dos acciones del usuario sobre el programa. No es probable que un usuario este esperando más de 5 minutos sin pensar que se ha bloqueado, cuando se prevea que un proceso va a tardar más tiempo debería ser lanzado de fondo. Lo más anconsejable es lanzar programas de fondo de noche, cuando la carga de usuarios que actúan online es casi nula. Esto último se deberá hacer cuando los procesos no sean críticos para la obtención de datos en tiempo real.

A partir de la implementación de SAP HANA en empresas, muchos procesos muy pesados redujeron significativamente su tiempo de ejecución gracias a la potencia de la base de datos en memoria. Algunos pasaron a ejecutarse de forma online y otros pasan de durar días o horas a minutos.

2 - LOS JOBS

Es el conjunto de uno o más programas o transacciones que se lanzan consecutivamente en un proceso de fondo. Utilizaremos la transacción SM36.

La definición de un job tiene tres áreas principales:

  1. Información general
  2. Hora de inicio o evento de ejecución
  3. Pasos

Lo primero que tenemos que hacer es dar un nombre que defina el propósito que tiene el job. Puede haber varios con el mismo nombre. Esto se puede porque SAP asigna un número interno a cada job con el que diferencia a otro de otros pero para nosotros esa clave es desconocida y sólo podemos referirnos a ellos por su nombre.

Otro dato: 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.

  • CLASE A: Prioridad más alta, para procesos que son críticos para el funcionamiento del sistema.
  • CLASE B: Prioridad media, para procesos periódicos que aseguran el mantenimiento del sistema.
  • CLASE C: Prioridad normal: es la clase normal que se asigna a los jobs del usuario.

2.1 - HORA DE INICIO O EVENTO

Una vez definidas las características generales del job, tenemos que indicar cuando debe ejecutarse. Esta indicación puede hacerse de diversas formas.

  • Ejecución inmediata: iniciar el job 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. Además, podemos marcar el job como periódico, es decir, que se repetirá su ejecución cada cierto período de tiempo.
  • Por job: con esta indicación de comienzo podemos encadenar unos jobs con otros, indicaremos al job B que empiece a ejecutarse cuando finalice el job A, también que sólo comience cuando la finalización del job A sea correcta.
  • Por evento: el job comenzará cuando se produzca en el sistema el evento que le indiquemos.

2.2 - PASOS DE UN JOB

Los pasos de un job los componen los diferentes programas que queremos que se ejecuten. Pueden ser de 3 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 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.

Los pasos de un job constituyen un proceso unificado, si el primero de un job de tres pasos sufre una cancelación, ninguno de los otros dos pasos restantes se procesará.

Pasos necesarios para crear un job de fondo:

  1. Ingresar a la transacción estándar SM36
  2. Escribir en el campo job el nombre del job y presionar enter.
  3. En la pantalla flotante siguiente introducimos el nombre del programa ABAP que deseamos planificar de fondo en el campo NOMBRE PROGRAMA ABAP y presionamos verificar y luego grabar.
  4. Luego presionamos el botón back para configurar la condición de inicio del job.
  5. Seleccionamos el botón condición de inicio que se encuentra en el extremo superior izquierdo de la barra de herramientas.
  6. En la pantalla siguiente seleccionamos el botón fecha e introducimos en el campo inicio previsto, la fecha de arranque y la hora de ejecución del job.
  7. Seleccionamos el botón valores de periodo para establecer con que frecuencia se ejecutará el job.
  8. Grabamos

2.3 - ANALISIS DE UN JOB

Una vez definido completamente el job podemos analizar y monitorizar su situación a través de la transacción SM37. Utilizaremos esta transacción estándar para visualizar los jobs procesados en el sistema SAP.

De cada job podremos visualizar distintos datos tales como ID, el usuario SAP que lo ejecutó, el status, fecha y hora de inicio, duración y retraso.

Una vez introducido los datos y tras pulsar enter veremos la siguiente pantalla:

IMAGEN.

En ella vemos un listado de los jobs con diversos datos sobre ellos. La información que más nos interesa es el estado en el que se encuentran.

2.4 - ESTADO DE UN JOB

Una vez definido un job lo que nos interesa conocer en todo momento es su estado. Los posibles estados son los siguientes:

IMAGEN

  • Previsto: es el estado inicial en el que se encuentra cuando hemos definido los datos generales y los pasos del job, pero no hemos dicho nada de cuando debe ejecutarse. Un job que está previsto no se ejecutará nunca a menos que lo liberemos o modifiquemos la sección de datos de inicio.
  • Liberado: cuando definimos completamente un job con la transacción SM36 o liberamos un job que estaba en estado previsto, entonces pasa a liberado. En este estado permanecerá hasta que se cumpla la condición de su fecha de inicio o se produzca el evento que lo lanza.
  • Preparado: Una vez que se han cumplido las condiciones de inicio del job pasa al estado preparado en el que 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 muy cargado.
  • 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: Algún problema hizo que el job finalizara de manera incorrecta. Normalmente se producen cancelaciones por errores de los programas que componen el job o problemas de acceso a la base de datos.

2.5 OPERACIONES SOBRE JOBS

Si pulsamos en el menú job de la transacción SM37 veremos todas las operaciones posibles que podemos hacer para alterar el estado o composición de un job. Algunas de las operaciones que podemos realizar sobre los procesos de fondo:

IMAGEN

  • Verificar status: en algunas ocasiones podemos descubrir que un job que creemos que está activo (porque la transacción SM37 así nos lo dice) realmente no lo está. Con esta opción forzamos a SAP a comprobar que el estado que nos da para el job es realmente el que tiene 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: 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 tres veces lo copiaremos con esta opción y liberaremos cada una de las copias convenientemente. Si queremos que se ejecute más veces deberíamos pensar en la posibilidad de 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: esta opció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: para comprobar en qué punto va la ejecución del proceso que hemos lanzado, podemos capturar un job que esta activo.
  • Detalles del job: podemos ver datos internos del job. El más interesante es comprobar en que servidor de aplicaciones se está procesando y el número de cola BTC (Es la cola de procesamiento que se utiliza para los procesos batch o de fondo) para poder monitorizar su estado y/o rendimiento con la transacción SM51 ( Es la transacción estándar SM51 muestra los servidores de SAP. Desde esta transacción se puede seleccionar un servidor particular y comprobar los procesos que se están ejecutando)

Apunte Creado OK - Iniciar Edición


 

 

 


Sobre el autor

Publicación académica de Maria Camila Buasso Barreiro, en su ámbito de estudios para el Carrera Consultor Basis NetWeaver.

SAP Junior

Maria Camila Buasso Barreiro

Profesión: Ingeniera - Argentina - Legajo: GV36T

✒️Autor de: 24 Publicaciones Académicas

🎓Cursando Actualmente: Introducción a SAP

Certificación Académica de Maria Buasso