Contenido
3. Verificación del estado de los JOBS
Contenido
1. JOBS
Un JOB en ABAP corresponde a un trabajo que se ejecuta en segundo plano o de fondo, es decir, el usuario no interactúa directamente con el proceso o con la screen que se ejecuta detrás de un proceso principal. Debemos tener en cuenta que cualquier transacción o programa en SAP se puede ejecutar en primer plano o segundo plano, dependiendo de los requerimientos.
Un proceso de fondo, es útil porque nos permite programar procesos u operaciones para que se realicen de forma automática en un tiempo específico sin necesidad de que haya interacción con la pantalla o sin afectar otro proceso que se esté ejecutando a la vez.
Estos procesos de fondo se aplican más que todo cuando tenemos entonces, la ejecución de una tarea a largo plazo que requiere muchos recursos. De manera estratégica, se programan cuando no haya mucha interacción con el sistema en donde se desea ejecutar, por ejemplo, en las noches o fines de semana.
2. Creación de un JOB
Para realizar la creación de un JOB dentro del sistema, se tienen dos formas, en este artículo, lo haremos mediante el menú de herramientas, dentro de la transacción que queremos que se ejecute en un proceso de fondo.
Para este ejemplo usamos la transacción “MB52”, con la cual podemos obtener listado del estado del stock de un material. En su pantalla de selección, indicamos los datos que queramos para ejecutar el informe.
Dentro de esta misma pantalla, vamos al menú de la parte superior a la opción de “Program”> “Execute in Background”.
En la siguiente ventana, seleccionamos los parámetros de impresión del proceso de fondo.
Seleccionamos el dispositivo de salida, asignamos el número de copias, entre otras opciones de impresión.
Inmediatamente aparece una nueva ventana en donde debemos configurar las condiciones del JOB, podemos asignar fecha y hora de ejecución.
También, se pueden seleccionar las siguientes opciones de ejecución:
- Inmediata
- Fecha y hora
- Después de un JOB
- Después de un evento
- En modo de operación
Elegimos “Date/Time” y asignamos los datos requeridos para la programación.
Damos en guardar y con esto, nuestro JOB o proceso de fondo aplicado directamente a esta transacción ha sido creado.
1. Verificación del estado de los JOBS
Tenemos dos opciones para visualizar el estado de los JOBS existentes en el sistema:
- Mediante la transacción “SM37”
- Mediante la transacción “SMX”
Consulta, para el caso de la transaccion MB51 yo planifico un jobs pero me descarga la lista basica, y yo quiero la Lista detallada. Se puede configurar?
Hola Diego,
Si estás planificando un job para ejecutar la transacción MB51 en SAP y deseas que la lista descargada sea detallada en lugar de básica, puedes lograrlo utilizando una variante predefinida que contenga la configuración que deseas. Puedes crear esta variante manualmente utilizando la transacción MB51 y ajustando los campos que deseas mostrar en la lista detallada.
Una vez que hayas creado la variante con la configuración deseada, toma nota del nombre de la variante.
Luego, crea un job en SAP utilizando la transacción SM36 (o SM37 si deseas modificar un job existente).
Un saludo.
Hola, como puedo actualizar un mensaje de impresión mediante un JOB y que aparezca en el log
Hola, como puedo actualizar un mensaje de impresión mediante un JOB y que aparezca en el log.
Hola Macarena,
Para actualizar un mensaje de impresión en un JOB y que aparezca en el log en ABAP, puedes usar las siguientes funciones o métodos:
1 – Generar el mensaje en el JOB: Para generar mensajes en un job, utiliza la función SUBMIT para llamar al report y crear el job. En el código ABAP del report, puedes utilizar la instrucción WRITE para imprimir mensajes y que estos se capturen en el log de ejecución del job.
2- Guardar mensajes en el log: Si quieres que los mensajes se registren en el log del sistema, puedes usar la función BAL_LOG_MSG_ADD para añadir mensajes al log de la aplicación (Business Application Log – BAL). Estos mensajes pueden ser visualizados después a través de la transacción SLG1.
Ejemplo:
DATA: lt_return TYPE TABLE OF bapiret2.
CALL FUNCTION ‘BAL_LOG_MSG_ADD’
EXPORTING
i_s_log = log_header ” Aquí defines el log de tu job
i_msgid = ‘ZMSGID’ ” ID del mensaje
i_msgty = ‘I’ ” Tipo del mensaje: ‘I’ (información), ‘W’ (warning), ‘E’ (error)
i_msgno = ‘001’ ” Número del mensaje
i_msgv1 = ‘Mensaje actualizado en el job.’
IMPORTING
et_return = lt_return.
3- Crear y visualizar el log: Una vez que el job finalice, puedes verificar el log en la transacción SLG1. Ahí aparecerán los mensajes que se generaron durante la ejecución del job.
Este proceso asegura que cualquier mensaje que generes durante el JOB se registre y esté disponible en el log para su revisión posterior.
Espero sea útil la información.
Un saludo.