FUNCTION zf_sd075_send_dn_sync.
*"----------------------------------------------------------------------
*"*"本地接口:
*" IMPORTING
*" REFERENCE(IV_DN) TYPE LIKP-VBELN
*"----------------------------------------------------------------------
DATA: lv_number TYPE tbtcjob-jobcount,
lv_name TYPE tbtcjob-jobname VALUE 'ZIF_ZSDI2023_TRIGGER_JOB'.
DATA: lv_original_timestamp TYPE timestamp,
lv_new_timestamp TYPE timestamp,
lv_date TYPE dats,
lv_time TYPE tims.
DATA:lv_sys_zone TYPE timezone.
IF iv_dn IS INITIAL.
RETURN.
ENDIF.
GET TIME STAMP FIELD lv_original_timestamp.
CALL FUNCTION 'TIMESTAMP_DURATION_ADD'
EXPORTING
timestamp_in = lv_original_timestamp
duration = 30 "延迟30秒后运行推送,
IMPORTING
timestamp_out = lv_new_timestamp.
CALL FUNCTION 'GET_SYSTEM_TIMEZONE'
IMPORTING
timezone = lv_sys_zone
EXCEPTIONS
customizing_missing = 1
OTHERS = 2.
CONVERT TIME STAMP lv_new_timestamp TIME ZONE lv_sys_zone
INTO DATE lv_date TIME lv_time.
CALL FUNCTION 'JOB_OPEN'
EXPORTING
jobname = lv_name
IMPORTING
jobcount = lv_number
EXCEPTIONS
cant_create_job = 1
invalid_job_data = 2
jobname_missing = 3
OTHERS = 4.
IF sy-subrc = 0.
*该job DN 发送CRM 并且发送3PL
SUBMIT zsdi2017_resend
WITH p_dn = iv_dn
WITH p_crm = 'X'
WITH p_3pl = 'X'
VIA JOB lv_name NUMBER lv_number
AND RETURN.
IF sy-subrc = 0.
CALL FUNCTION 'JOB_CLOSE'
EXPORTING
jobcount = lv_number
jobname = lv_name
sdlstrtdt = lv_date
sdlstrttm = lv_time
* 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.
ENDIF.
ENDIF.
ENDFUNCTION.