!--a11y-->
Inserción de programas propios como tareas 
Utilización
Se puede incluir directamente la operación propia en el plan de tareas sin tener que hacer modificaciones en la operación.
Si periódicamente se ejecuta el programa propio, éste se podrá ampliar para que se pueda utilizar en definiciones de proceso (workflow) y el status de procesamiento se pueda visualizar en el monitor.
Para que el programa pueda utilizar el pool de trabajo, se deberán cumplir las directrices de programación para el monitor de jobs y la definición de proceso. Se deberán realizar más ampliaciones de programa.
Procedimiento
Conexión del propio programa con el monitor
El programa CUSTOMER_REPORT está disponible en el sistema de forma estándar. Este programa muestra el modo de llamar dos módulos de funciones que permiten la conexión más fácil con el monitor (sin conexión de workflow).
Incorpore los Includes SCHEDMAN_INIT y SCHEDMAN_CLOSE en el programa. El programa está conectado con el monitor de jobs.
Utilización del programa de definición de proceso
Si también se desea utilizar el programa en definiciones de proceso, se deberá incorporar el Include RKASMAWF en la pantalla de selección.
Al inicio del procesamiento, instale la codificación siguiente en vez del Include SCHEDMAN_INIT mencionado arriba:
data: gs_key like schedman_key.
data: ls_detail like schedman_detail_user.
data: ls_appl like schedman_customer.
data: ld_dummy(20) value 'ABCDEFGHIJKL'.
constants: customer_appl like smmain-application value 'CUSTOMER'
ls_detail-application = customer_appl.
ls_detail-repid = sy-repid.
* ls_detail-testflag = true. "Decide if testrun or not
ls_appl-customer_field = ld_dummy.
CALL FUNCTION 'KPEP_MONI_INIT_RECORD'
EXPORTING
LS_DETAIL = ls_detail
* LS_WITEM =
LS_APPL = ls_appl
* LD_WORKLIST_FLAG = ' '
IMPORTING
LS_KEY = gs_key.
* TABLES
* LT_SELKRIT =
* LT_PARAM =
En la estructura SCHEDMAN_CUSTOMER, se pueden definir campos propios, los cuales se completan con valores durante la ejecución.
Al final del procesamiento del programa, instale la codificación siguiente en vez del Include SCHEDMAN_CLOSE:
data: ld_aplstat like smmain-aplstat.
data: LS_SCMA_EVENT LIKE SCMA_EVENT.
constants: c_status_ok value '0'.
constants: c_status_undefined value '2'.
constants: c_status_error value '4'.
constants: c_status_aborted value 'A'.
include schedman_events.
*.decide the status you want to send
ld_aplstat = c_status_ok.
* ld_aplstat = c_status_undefined.
* ld_aplstat = c_status_error.
* ld_aplstat = c_status_aborted.
*.If the report ended with error
® stop whole workflow. Otherwise*.start the next job
if ld_aplstat = '4' or ld_aplstat = 'A'.
ls_scma_event-wf_event = cs_wf_events-error.
else.
ls_scma_event-wf_event = cs_wf_events-finished.
endif.
*.the variables wf_witem and wf_okey
*.are from include RKASMAWF and are filled AUTOMATICALLY
*.fill them into strcuture ls_scma_event
ls_scma_event-WF_WITEM = wf_witem.
ls_scma_event-WF_OKEY = wf_okey.
CALL FUNCTION 'KPEP_MONI_CLOSE_RECORD'
EXPORTING
LS_KEY = gs_key.
* LS_MESSAGE =
* LD_OBJECTS =
* LS_EXT =
* LS_RL =
LS_SCMA_EVENT = ls_scma_event
* TABLES
* LT_SPOOL =
CHANGING
LD_APLSTAT = ld_aplstat
EXCEPTIONS
NO_ID_GIVEN = 1
OTHERS = 2.

Para los programas que se deseen incluir en definiciones de proceso, observe lo siguiente:
Si es un programa multiaplicaciones, se deberá copiar el programa almacenado con una aplicación, y a continuación almacenar el nuevo programa en la tabla SCMAPROG con la nueva aplicación.
Introduzca el nombre de su programa como un programa de cliente en el Schedule Manager. Para más información, véase
Inserción de programas propios como tareas.Se puede incluir el programa propio en una definición de proceso utilizando estas opciones y visualizar los resultados en el monitor.