二维码

[RFC] IN BACKROUND TASK 延迟触发tRFC

Twilight发表于 2019-09-12 10:44Twilight 最后回复于 2019-09-12 10:44 [复制链接] 3771 0

  1. DATA:lv_vbeln     TYPE likp-vbeln,
  2.      lv_startdate LIKE sy-datum,
  3.      lv_starttime LIKE sy-uzeit.
  4. DATA:lv_timestamp TYPE timestamp. "UTC Time Stamp in Short Form (YYYYMMDDhhmmss)

  5. lv_vbeln = is_mkpf-xblnr.
  6. CASE ls_mseg-bwart.
  7.   WHEN '101'.
  8.     CALL FUNCTION 'ZSDFM008' IN BACKGROUND TASK
  9.       EXPORTING
  10.         i_vbeln = lv_vbeln.

  11.   WHEN '102'.
  12.     CALL FUNCTION 'ZSDFM009' IN BACKGROUND TASK
  13.       EXPORTING
  14.         i_vbeln = lv_vbeln.

  15.   WHEN OTHERS.
  16. ENDCASE.

  17. GET TIME STAMP FIELD lv_timestamp.  "获取系统当前时间戳
  18. lv_timestamp = lv_timestamp + 30 .  "延迟30秒执行ZSDFM008/ZSDFM009

  19. CONVERT TIME STAMP lv_timestamp TIME ZONE sy-zonlo INTO DATE lv_startdate TIME lv_starttime.

  20. CALL FUNCTION 'START_OF_BACKGROUNDTASK'
  21.   EXPORTING
  22.     startdate = lv_startdate
  23.     starttime = lv_starttime.

  24. COMMIT WORK.
复制代码
1、主程序不延迟一直执行,tRFC延迟异步执行
2、因为有commit所以不要用在增强中,会破环标准事物的LUW,测试会间歇性出现一些未知错误,增强中异步请使用STARTING NEW TASK
回复

使用道具 举报

快速回帖

本版积分规则
您需要登录后才可以回帖 登录 | 注册有礼

快速回复 返回顶部 返回列表