ABAP 设置后台JOB
文章目录
前言
远程调用接口后,接口再调用标准程序会报屏幕错误的解决办法
DATA:BEGIN OF LS_DISP,
PERNR TYPE PA0001-PERNR,
END OF LS_DISP.
DATA:LT_DISP LIKE TABLE OF LS_DISP.
CALL FUNCTION 'ZFM_EHR_JSON_TO_ABAP'
EXPORTING
IV_JSON = IV_JSON
IMPORTING
EV_DATA = LT_DISP.
DATA: rspar_tab TYPE TABLE OF rsparams,
rspar_line LIKE LINE OF rspar_tab.
DATA: lv_jobnum TYPE btcjobcnt.
DATA: gv_jobname TYPE btcjob VALUE 'ZPT60'.
DATA:LV_DATE TYPE SY-DATUM.
LV_DATE = SY-DATUM - 1.
IF LT_DISP IS INITIAL.
E_MESSAGE-MSGTY = 'E'.
E_MESSAGE-MSGTX = '数据为空'.
RETURN.
ENDIF.
LOOP AT LT_DISP INTO LS_DISP.
IF LS_DISP-PERNR IS INITIAL.
E_MESSAGE-MSGTY = 'E'.
E_MESSAGE-MSGTX = '没有人员号数据'.
RETURN.
ENDIF.
rspar_line-selname = 'PNPPERNR'.
rspar_line-kind = 'S'.
rspar_line-sign = 'I'.
rspar_line-option = 'EQ'.
rspar_line-low = LS_DISP-PERNR.
APPEND rspar_line TO rspar_tab.
ENDLOOP.
SUBMIT ZHRPT003 with selection-table rspar_tab "在转卡之前要先调用ZHRPT003转卡程序 JACKY BY 20210109
AND RETURN.
"open a job define a job_name(whatever you want), and return a jobnumber.
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = gv_jobname
IMPORTING
jobcount = lv_jobnum
EXCEPTIONS
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
OTHERS = 4.
" RPT_TIME_EVAL_START
SUBMIT RPTIME00 VIA JOB gv_jobname NUMBER lv_jobnum
WITH SELECTION-TABLE rspar_tab
WITH SCHEMA = 'ZM00'
WITH VAR_EDT = 'SAP&TEDT'
WITH ENDDATE = LV_DATE
AND RETURN.
IF SY-SUBRC = 0.
E_MESSAGE-MSGTY = 'S'.
E_MESSAGE-MSGTX = '提交成功'.
COMMIT WORK AND WAIT.
ELSE.
ROLLBACK WORK.
E_MESSAGE-MSGTY = 'E'.
E_MESSAGE-MSGTX = '提交失败'.
ENDIF.
"Step4. To release the job which you were opened in step1.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = lv_jobnum
jobname = gv_jobname
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
OTHERS = 8.
post SAP-Garson
原文链接:https://blog.csdn.net/weixin_42441716/article/details/112392441文章来自于网络,如果侵犯了您的权益,请联系站长删除!