程序中设置后台作业(background job)

本文介绍了使用ABAP进行作业调度的具体实现过程,包括作业的开启、提交和关闭等关键步骤,并详细展示了如何通过ABAP代码来管理和监控这些作业。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  DATA: lt_valutab   TYPE STANDARD TABLE OF rsparams,
         lv_jobname   TYPE tbtcjob-jobname,
         lv_jobcount  TYPE tbtcjob-jobcount,
         lv_jobstatus TYPE tbtco-status,
         ls_tbtcv     TYPE tbtcv,
         lv_count     TYPE i.

CONCATENATE 'ZBJ_' sy-datum '_' sy-uzeit INTO lv_jobname.

  CALL FUNCTION 'JOB_OPEN'
     EXPORTING
       jobname          = lv_jobname
       sdlstrtdt        = sy-datum
       sdlstrttm        = sy-uzeit
     IMPORTING
       jobcount         = lv_jobcount
     EXCEPTIONS
       cant_create_job  = 1
       invalid_job_data = 2
       jobname_missing  = 3
       OTHERS           = 4.
   IF sy-subrc <> 0.
     MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
         WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 DISPLAY LIKE 'E'.
     STOP.
   ENDIF.

   CALL FUNCTION 'JOB_SUBMIT'
     EXPORTING
       authcknam               = sy-uname
       jobcount                = lv_jobcount
       jobname                 = lv_jobname
       report                  = p_pgmna
       variant                 = p_bs
     EXCEPTIONS
       bad_priparams           = 1
       bad_xpgflags            = 2
       invalid_jobdata         = 3
       jobname_missing         = 4
       job_notex               = 5
       job_submit_failed       = 6
       lock_failed             = 7
       program_missing         = 8
       prog_abap_and_extpg_set = 9
       OTHERS                  = 10.
   IF sy-subrc <> 0.
     MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
         WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 DISPLAY LIKE 'E'.
     STOP.
   ENDIF.

   CALL FUNCTION 'JOB_CLOSE'
     EXPORTING
       jobcount             = lv_jobcount
       jobname              = lv_jobname
       laststrtdt           = sy-datum
       laststrttm           = sy-uzeit
       strtimmed            = 'X'
     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
       invalid_time_zone    = 9
       OTHERS               = 10.
   IF sy-subrc <> 0.
     MESSAGE ID sy-msgid TYPE 'S' NUMBER sy-msgno
         WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4 DISPLAY LIKE 'E'.
     STOP.
   ENDIF.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王小磊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值