¿Qué es un trabajo en segundo plano?
El trabajo en segundo plano es un proceso no interactivo que se ejecuta detrás de las operaciones interactivas normales. Se ejecutan en paralelo y no perturban los procesos y operaciones interactivas (trabajos en primer plano). Se programa desde SM36. Puedes analizarlo desde SM37 viendo su registro de trabajo.
Ventajas de los trabajos en segundo plano
Reduce el esfuerzo manual y automatiza la tarea. Puede programarse según la elección del usuario. Reduce la interacción del usuario y puede ejecutarse sin problemas en segundo plano sin entrada del usuario. Una vez que defines la variante para el trabajo en segundo plano, el usuario no tiene que preocuparse por la entrada de valores en el campo. Por lo tanto, también se reduce la confusión del usuario.
Ideal para programas que consumen mucho tiempo/recursos que se pueden programar para ejecutarse por la noche (cuando la carga del sistema es baja). Los trabajos en segundo plano se clasifican en tres categorías:
Clase A (Alta/prioridad crítica): Algunas tareas son urgentes o críticas y deben programarse con prioridad de clase A. La prioridad de Clase A reserva uno o más procesos de trabajo en segundo plano. Los usuarios tienen que decidir cuántos procesos de trabajo en segundo plano deben asignarse al trabajo de prioridad de Clase A. Supongamos que un usuario elige 2 procesos de trabajo en segundo plano para esta categoría, los procesos de trabajo en segundo plano disponibles para las clases B y C = (número total de procesos de trabajo establecidos en los modos de operación RZ03) – (procesos de trabajo en segundo plano permitidos para la categoría Clase A).
Clase B (Prioridad Media): Una vez que se completen los trabajos de Clase A, el trabajo de Clase B comenzará a ejecutarse en segundo plano antes que los trabajos de Clase C.
Clase C (Prioridad Baja): Se ejecuta después de que se completen los trabajos de Clase A y Clase B.
Posibles estados de los trabajos en segundo plano
Programado: Has definido el nombre del programa y la variante pero no has definido una condición de inicio como Fecha de inicio, Fecha de finalización, Frecuencia, etc. Eso significa que no has definido cuándo debe programarse un trabajo en el sistema.
Lanzado: Se cumplen todos los criterios requeridos para la definición del trabajo. La condición de inicio es obligatoria para que el trabajo esté en estado de lanzamiento.
Listo: Se cumplen todas las condiciones requeridas para ejecutar el trabajo en un proceso de trabajo en segundo plano. Pero el programador de trabajos ha puesto el trabajo en la cola porque está esperando a que el proceso de trabajo en segundo plano esté libre.
Activo: El trabajo ha comenzado a ejecutarse en segundo plano. No podemos cambiar el estado del trabajo una vez que está en estado activo.
Terminado: El trabajo se ejecuta con éxito. Esto significa que la tarea deseada se ha cumplido sin errores.
Cancelado: Hay dos posibilidades para esto. El administrador ha cancelado el trabajo de forma forzada o puede haber algún problema con el trabajo. Puedes investigarlo en los registros de trabajo.
Cómo programar el trabajo en segundo plano?
Puedes programar el trabajo en segundo plano usando SM36. Se pueden programar trabajos planificados o inmediatos.
Paso 1) Ejecuta el código T SM36.
Paso 2) Completa el nombre del trabajo, la prioridad (A/B/C) y el servidor de destino. Una vez programados en un servidor de destino, se ejecutarán en ese servidor. El propósito principal de definir el servidor de destino es el equilibrio de la carga de trabajo.
Paso 3) Haz clic en «remitente de lista de spool».
Obtendrás la salida en tu buzón. Puedes verificar el correo electrónico desde SBWP.
Paso 4) Inserta tu nombre de usuario de SAP y haz clic en el botón de copia.
Paso 5) Haz clic en el botón Paso para definir el programa ABAP, los detalles de la variante, etc.
Paso 6) Define el nombre del programa, los detalles de la variante. Ingresa el nombre de tu programa, el nombre de la variante en el campo. Si no has creado una variante según tus requisitos, déjalo en blanco. Presiona el botón de guardado.
Paso 7) Una vez que programes el trabajo, obtendrás la pantalla siguiente.
Paso 8) Haz clic en «condiciones de inicio» para completar la fecha de inicio, fecha de finalización, frecuencia, etc. Si no especificas la condición de inicio, entonces el trabajo siempre permanecerá en estado programado. Un trabajo en estado programado nunca se ejecutará. Haz clic en Fecha/Hora (para trabajos periódicos). Si haces clic en «Inmediato», entonces el trabajo comenzará a ejecutarse de inmediato. Pero no se establecerá como trabajo periódico. Es como «presiona y ejecuta.» Define la fecha/hora de inicio del trabajo, fecha/hora de finalización. El trabajo se lanzará solo una vez que cumpla con su fecha/hora de inicio programada. Presiona los valores periódicos.
Paso 9) Haz clic en Período Horario/Diario/Semanal para definir la frecuencia del trabajo según tus requisitos. Seleccionaremos Otro Período.
Paso 10) Aquí especificas los criterios recurrentes del trabajo. Por ejemplo, puedes hacer que el trabajo se ejecute después de cada 5 días a partir de la Fecha de inicio. Aquí seleccionamos que el trabajo se ejecute cada 10 minutos.
Paso 11) Haz clic en el botón de guardado.
Paso 12) Haz clic en guardar de nuevo.
Paso 13) Haz clic en guardar de nuevo
Paso 14) Una vez que se definan las condiciones de inicio y el paso del trabajo, aparecerá la siguiente ventana.
Paso 15) Haz clic en guardado.
Paso 16) Ve a SM37 para conocer el estado del trabajo.
Paso 17) Selecciona tus criterios para el trabajo que deseas monitorear. Ingresa el nombre de tu trabajo y el nombre de usuario que programó el trabajo. Selecciona el estado del trabajo. Especifica el rango de fechas. En nuestro escenario, solo especificamos la fecha de finalización mientras mantenemos abierta la fecha de inicio.
Paso 18) Obtendrás la siguiente pantalla. Mira el estado, si está en estado de lanzamiento significa que se cumplen las condiciones de inicio y el trabajo está en la cola esperando a que el proceso de trabajo en segundo plano esté libre.
Cómo reprogramar un trabajo en segundo plano
Los trabajos reprogramados no se ejecutarán en el futuro. Recuerda, no puedes desprogramar el trabajo una vez que está en estado activo.
Paso 1) Ejecuta SM37.
Paso 2) Completa los criterios. Nombre del trabajo y nombre de usuario por el cual se programó el trabajo. Selecciona el estado. Para desprogramar el trabajo solo puedes seleccionar el estado Lanzado/Listo. Especifica el rango de fechas. Presiona el botón de Ejecutar (F8).
Paso 3) Selecciona el trabajo especificado y presiona Trabajo -> (Lanzado -> Programado).
Paso 4) Encontrarás el mensaje en la barra de estado una vez que presiones «Lanzado -> Programado».
Calle Eloy Gonzalo, 27
Madrid, Madrid.
Código Postal 28010
Paseo de la Reforma 26
Colonia Juárez, Cuauhtémoc
Ciudad de México 06600
Real Cariari
Autopista General Cañas,
San José, SJ 40104
Av. Jorge Basadre 349
San Isidro
Lima, LIM 15073