Inicio > ABAP/4 > Llamar programa mediante JOB programado

Llamar programa mediante JOB programado

Caso: se busca crear un job de un programa ABAP, programado a una cierta fecha-hora para que sea ejecutado.

*&———————————————————————*
*&      Form  crear_datos_job
*&———————————————————————*
*       Crear datos vía JOB
*———————————————————————-*
FORM crear_datos_job.

DATA: lv_respuesta    TYPE c,
lv_error        
TYPE c,
lv_jobname      
TYPE tbtcjob-jobname,
lv_jobcount      
TYPE tbtcjob-jobcount,
lv_jobdate      
TYPE tbtcjob-sdlstrtdt,
lv_jobtime      
TYPE tbtcjob-sdlstrttm,
lv_fec_ini      
TYPE ztmm_ep_secuenc-fecha_ini,
lv_fec_fin      
TYPE ztmm_ep_secuenc-fecha_fin.

CALL FUNCTION ‘POPUP_TO_CONFIRM’
EXPORTING
titlebar              = ‘Creación de Datos vía JOB’
text_question         = 
‘¿Confirma la creación de datos vía JOB?.’
default_button        = 
‘2’
display_cancel_button = 
‘X’
IMPORTING
answer                = lv_respuesta
EXCEPTIONS
text_not_found        = 
1
OTHERS                = 2.

IF lv_respuesta EQ ‘1’.

* Llamada al JOB
CONCATENATE ‘ZJOB_CREAR’ sy-datum sy-uname INTO lv_jobname SEPARATED BY ‘_’.

CALL FUNCTION ‘JOB_OPEN’
EXPORTING
jobname          = lv_jobname
jobclass         = 
‘B’        ” Prioridad media
IMPORTING
jobcount         = lv_jobcount
EXCEPTIONS
cant_create_job  = 
1
invalid_job_data = 
2
jobname_missing  = 
3
OTHERS           = 4.

IF sy-subrc <> 0.
MESSAGE e208(00WITH ‘Error al crear JOB’.
ENDIF.

SUBMIT zmm_crear_datos         WITH p_fecini = ‘20130101’
WITH p_fecfin = ‘20131231
VIA JOB lv_jobname 
NUMBER lv_jobcount USER sy-uname AND RETURN.

IF sy-subrc <> 0.
MESSAGE e208(00WITH ‘Error al programar JOB’.
ENDIF.
CALL FUNCTION ‘JOB_CLOSE’
EXPORTING
jobcount             = lv_jobcount     ” Nro. interno del JOB
jobname              = lv_jobname            ” Nombre del JOB
sdlstrtdt            = lv_jobdate            ” Fecha inicio JOB
sdlstrttm            = lv_jobtime            ” Hora inicio JOB
EXCEPTIONS
cant_start_immediate = 
1
invalid_startdate    = 
2
jobname_missing      = 
3
job_close_failed     = 
4
job_nosteps          = 
5
job_notex            = 
6
lock_failed          = 
7
invalid_target       = 
8
OTHERS               = 9.

IF sy-subrc <> 0.
MESSAGE e208(00WITH ‘Error al cerrar Job’.
ELSE.
MESSAGE i001(00WITH ‘JOB creado:’ lv_jobname ‘->’ lv_jobcount.
ENDIF.


ENDIF.

ENDFORM.                    “crear_datos_job

 

 

Link útil:

http://www.mundosap.com/foro/showthread.php?t=27990&highlight=open_job

Categorías:ABAP/4 Etiquetas: , , , , , ,
  1. Aún no hay comentarios.
  1. No trackbacks yet.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: