时间戳的创建

该代码段涉及在ABAP中处理时间戳,首先将日期和时间转换为时间戳,然后调用函数/SPE/TSEG_GET_TIMESTAMP获取特定对象的时间戳数据。如果满足特定条件,它会更新交货头的截止日期信息,并调用BAPI_OUTB_DELIVERY_CHANGE来变更交货数据。

DATA:lv_time TYPE timestamp.

IF ls_head-hdtime IS INITIAL.

CONVERT DATE sy-datum

TIME sy-uzeit

INTO TIME STAMP lv_time

TIME ZONE sy-zonlo.

ls_head-hdtime = lv_time.

ENDIF.

DATA: lt_oldtmpstmp TYPE TABLE OF /spe/timestamp WITH HEADER LINE .

CALL FUNCTION '/SPE/TSEG_GET_TIMESTAMP'

EXPORTING

i_vbeln = ls_head-vbeln

* I_LIKP =

i_object = 'WSHDRLIKP'

* I_FROM_BUFFER = ' '

* I_TMST_FROM_INT_TAB =

TABLES

it_tmpstmp = lt_oldtmpstmp

* IT_TMSTMP =

EXCEPTIONS

fatal_error = 1

parameter_error = 2

vbeln_not_found = 3

no_tmpstmp = 4

OTHERS = 5.

IF sy-subrc <> 0.

ENDIF.

DELETE lt_oldtmpstmp WHERE event NE zcl_tm_dlv_update_helper=>gc_timtp_add-crdat.

IF ls_head-hdtime IS NOT INITIAL AND lt_oldtmpstmp[] IS INITIAL.

lt_header_deadlines-deliv_numb = ls_header_data-deliv_numb .

lt_header_deadlines-timetype = zcl_tm_dlv_update_helper=>gc_timtp_add-crdat." 'WSHDRCRDAT'.

lt_header_deadlines-timezone = sy-zonlo.

lt_header_deadlines-timestamp_utc = ls_head-hdtime.

APPEND lt_header_deadlines.

zcl_tm_dlv_update_helper=>set_dlv_deadlines( lt_header_deadlines[] ).

ENDIF.

CALL FUNCTION 'BAPI_OUTB_DELIVERY_CHANGE'

EXPORTING

header_data = ls_header_data

header_control = ls_header_control

delivery = lv_delivery

TABLES

* EXTENSION1 =

header_deadlines = lt_header_deadlines

extension2 = lt_extension2

return = lt_return.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值