********************************************************************** ls_vbkok-vbeln_vl = gt_out-vbeln.
DATA: LS_VBKOK TYPE VBKOK.
DATA: LT_PROT LIKE TABLE OF PROTT WITH HEADER LINE.
DATA: BEGIN OF LT_VBPOK OCCURS 0.
INCLUDE STRUCTURE VBPOK.
DATA: END OF LT_VBPOK.
LS_VBKOK-VBELN_VL = P_VBELN. " Delivery number
LS_VBKOK-WABUC = GC_X. " Automatic PGI
LS_VBKOK-WADAT_IST = P_DATUM. " 实际货物移动日期
LS_VBKOK-TDDAT = SY-DATUM. " 运输计划日期
LS_VBKOK-BLDAT = SY-DATUM. " 凭证中的凭证日期
**
CALL FUNCTION 'WS_DELIVERY_UPDATE'
EXPORTING
VBKOK_WA = LS_VBKOK
COMMIT = 'X'
DELIVERY = P_VBELN
** UPDATE_PICKING = 'X'
TABLES
* VBPOK_TAB = LT_VBPOK
PROT = LT_PROT
EXCEPTIONS
ERROR_MESSAGE = 1
OTHERS = 2.
* 过账成功时,
IF LT_PROT[] IS INITIAL.
LS_SD3030-MSGTY = GC_DODPS_GI_SUCC.
LS_SD3030-MESS = TEXT-R09.
$$DATE_USER 'M' LS_SD3030. " lycao 2015.02.16
APPEND LS_SD3030 TO LT_P_3030. " lycao 2015.03.16
* MODIFY ZTSD3030 FROM LS_SD3030. " lycao 2015.03.16
* IF SY-SUBRC = 0.
* COMMIT WORK.
* ELSE.
* ROLLBACK WORK.
* ENDIF.
CS_DATA-IFRESULT = GC_DODPS_GI_SUCC.
CS_DATA-IFMSG = TEXT-R09.
LS_LOG-MSGTY = GC_DODPS_GI_SUCC.
LS_LOG-MESS = TEXT-R09.
$$DATE_USER 'C' LS_LOG. " lycao 2015.03.20
APPEND LS_LOG TO LT_P_LOG. " lycao 2015.03.16
* $$LOG_UPDATE 'C' LS_LOG CS_DATA ZTSD0001XI04. " lycao 2015.03.16
CLEAR: LS_SD3030, LS_LOG.
ELSE.
* 过账失败时
DATA: L_MESS TYPE STRING.
DATA: LT_STR_MSG TYPE TABLE OF STRING WITH HEADER LINE.
CLEAR: L_MESS, LT_STR_MSG[], LT_STR_MSG.
LOOP AT LT_PROT WHERE MSGTY EQ 'E' OR MSGTY = 'A' OR MSGTY = 'X'.
CALL FUNCTION 'MESSAGE_TEXT_BUILD'
EXPORTING
MSGID = LT_PROT-MSGID
MSGNR = LT_PROT-MSGNO
MSGV1 = LT_PROT-MSGV1
MSGV2 = LT_PROT-MSGV2
MSGV3 = LT_PROT-MSGV3
MSGV4 = LT_PROT-MSGV4
IMPORTING
MESSAGE_TEXT_OUTPUT = LT_STR_MSG.
APPEND LT_STR_MSG.
CLEAR: LT_STR_MSG.
ENDLOOP.
SORT LT_STR_MSG.
DELETE ADJACENT DUPLICATES FROM LT_STR_MSG.
LOOP AT LT_STR_MSG.
CONCATENATE LT_STR_MSG ';' L_MESS INTO L_MESS.
ENDLOOP.
CS_DATA-IFRESULT = GC_DODPS_GI_FAIL.
CS_DATA-IFMSG = L_MESS.
LS_LOG-MSGTY = GC_DODPS_GI_FAIL.
LS_LOG-MESS = L_MESS.
$$DATE_USER 'C' LS_LOG. " lycao 2015.03.20
APPEND LS_LOG TO LT_P_LOG. " lycao 2015.03.16
* $$LOG_UPDATE 'C' LS_LOG CS_DATA ZTSD0001XI04.
ENDIF.