Está en la página 1de 4

PROCESOS EN BACKGROUND: JOBS

13.1. INTRODUCCIN 13.2. CREACIN Y EDICIN DE JOBS 13.3. TRANSFERENCIA DE DATOS Y AUTORIZACIONES 13.4. GENERACIN AUTOMTICA DE JOBS

13.1. INTRODUCCIN:

Jobs:Pueden ejecutarse en Abap/4 programas sindilogo con el usuario, es decir, en background: Los jobs. Estn completamente integrados en el sistema SAP. Son sencillos de usar y permiten proceso distribuido y operaciones paralelas, sin que sea necesario un lenguaje de control de jobs especfico. Permiten planificar y procesar programas Abap/4 en background. Los trabajos pueden ser visualizados y mantenidos. Fases de un job: job scheduling, job processing, job overview. Tareas o procesos: Desde una sesin de usuario se puede llamar al mdulo del sistema encargado de despachar las diferentes tareas (el dispatcher). Hay 3 tipos de tareas: dialog, update y batch. Se diferencian entre s respecto a la estrategia de dispatching usada. SAP trabajando es una coleccin de tareas en proceso. Flujo de proceso: Un job es una secuencia de steps o pasos a ser planificados. Un step es el procesamiento de un programa individual, con un juego de parmetros (una variante). Es decir, un job es una secuencia de programas a ejecutar (en particular puede ser 1 solo). Cada uno de ellos se va ejecutando en background, en orden, y se va devolviendo el control al job cuando acaban, para lanzar el siguiente, ... Se usa la memoria global de Abap para pasar el contenido de campos, registros y tablas internas a steps subsiguientes, a aquellas variables que estn declaradas en varios steps o programas. Al final termina totalmente el job y se devuelve el control al sistema.

13.2. CREACIN Y EDICIN DE JOBs:

Creacin de un job: Se usa la funcin Define Job del mdulo bsico (BC) de SAP. Se accede a ella por men: Sistema Servicios Jobs, o bien porSistema Servicios Reporting Programa Jobs en background (transaccin SM36). Se debe dar un nombre (cualquiera) para el job y los nombres de los programas a ejecutar. Despus se planifica (dar fecha y hora de inicio) y se graba. La fechas de inicio y ejecucin peridica, y los parmetros de impresin se pueden fijar permanentemente. Mediante la clase de job se pueden clasificar los jobs por prioridad y tipo. Edicin de un job: Se usa la funcin Job Overview. Se accede a ella por men: Sistema Servicios Lista de jobs, o bien por Ir a Job Overview(transaccin SM37). Se pueden extender jobs ya creados previamente con steps adicionales, es decir, aadir nuevos programas al job.

Log: El log de un job contiene todos los mensajes visualizables con la sentencia Abap/4 MESSAGE (todos los tipos de mensaje), as como mensajes internos del sistema que se veran si la ejecucin fuera on-line, no en background. Tambin queda reflejada la hora de inicio y la hora de finalizacin del job. Los textos que los programas (steps) del job escriban con WRITE, al ejecutarlos en segundo plano son almacenados en el Spool file. La impresin de los mismos puede ser fijada tambin en el proceso de planificacin.

13.3. TRANSFERENCIA DE DATOS Y AUTORIZACIONES:

EXPORT nombre1 nombre2 ... TO MEMORY. Con las sentencias EXPORT e IMPORT se transfieren datos entre dos programas Abap/4 incluidos en la misma cadena de llamada. nombre1, son los nombres de los campos, variables y tablas internas que se desean almacenar en la memoria global (entonces sern importables) IMPORT nombre1 nombre2 ... FROM MEMORY. Con esta sentencia otro programa puede recoger los valores de los objetos antes guardados. En ambos programas dichos objetos deben ser declarados igual (en tipo, longitud y estructura). Se puede usar la opcin ID id para hacer referencia a objetos con diferentes identificaciones. Slo si la memoria global est vaca, tras IMPORT el campo del sistema SY-SUBRC valdr 0. Autorizaciones para los procesos de background: Las funciones individuales estn protegidas por los objetos S_BTCH_JOB (actividades del job):DELE (borrar job), PLAN (planificar job), SHOW (mostrar job), RELE (release o liberar job), LIST (mostrar la lista de jobs), PROT (mostrar la lista de jobs protegidos). Dichos objetos S_BTCH_JOB son procesados durante la creacin del job por el objeto S_BTCH_NAM: nombre de usuario que puede especificarse cuando se planifica un job. En este momento tambin pueden indicarse en S_PROGRAM (grupo de autorizacin y acciones de usuario) programas que pertenezcan al grupo de autorizacin.

13.4. GENERACIN AUTOMTICA DE JOBS:

Un programa Abap/4 puede generar un job automticamente, en lugar de hacerlo el usuario manualmente mediante transacciones o por men. Mediante mdulos de funcin especficos, el programa puede abrir un job (JOB_OPEN), insertar steps en un job (JOB_SUBMIT) y cerrar un job (JOB_CLOSE). Hay otras funciones relacionadas: mostrar el log del job, leerlo, copiar el job, borrarlo, editar un job (JOB_OVERVIEW), disparar un evento (TRIGGER_EVENT), chequear el disparo de un evento (CHECK_EVENT_NAME). JOB_OPEN:Abre un job, identificado por su jobname. Tras la ejecucin del job el sistema devuelve un nmero de job para ste.

CALL FUNCTION 'JOB_OPEN' EXPORTING * DELANFREP "borrar report interno jobname "nombre del job * IMPORTING * JOBCOUNT "nmero de job devuelto * EXCEPTIONS * CANT_CREATE_JOB

= ' ' = = = 1

* * *

INVALID_JOB_DATA JOBNAME_MISSING OTHERS .

= 2 = 3 = 4


JOB_SUBMIT: Se usa para aadir un step a un job, especificando todos los parmetros de entrada (EXPORTING) del mismo. Con la sentenciaSUBMIT WITH puede especificarse un conjunto de parmetros de seleccin para el job.

CALL FUNCTION 'JOB_SUBMIT' EXPORTING authcknam = "nombre del usuario propietario del job jobcount = "nmero de job jobname = "nombre del job * REPORT = ' ' "nombre del report (el "step") * VARIANT = ' ' "variante de ejecucin del report * EXCEPTIONS * INVALID_JOBDATA = 1 * JOBNAME_MISSING = 2 .


JOB_CLOSE: Se usa para cerrar la planificacin de un job, que quedar listo para ejecutarse. Es obligatorio dar su nombre y nmero de job. Si no se especific la fecha y hora de inicio en JOB_OPEN, puede hacerse en JOB_CLOSE (para que se ejecute inmediatamente necesita marcarse X en el parmetro strtimmed).

CALL FUNCTION 'JOB_CLOSE' EXPORTING jobcount = "nmero de jo jobname = "nombre del job * SDLSTRTDT = NO_DATE "nombre del report (el "step") * SDLSTRTTM = NO_TIME "variante de ejecucin del report * STRTIMMED = ' ' "flag de inicio inmediato * EXCEPTIONS * INVALID_STARTDATE = 1

JOBNAME_MISSING .

= 2

También podría gustarte