Sap Delivery change PGI by coding.txt

Embed Size (px)

DESCRIPTION

abap program

Citation preview

DATA: h_data like bapiobdlvhdrchg, h_control like bapiobdlvhdrctrlchg, delivery like bapiobdlvhdrchg-deliv_numb, item_data like bapiobdlvitemchg occurs 0 with header line, item_control like bapiobdlvitemctrlchg occurs 0 with header line, return like bapiret2 occurs 0 with header line. CLEAR: h_data, h_control, delivery, item_data, item_control, return. REFRESH: item_data, item_control, return. h_data-deliv_numb = gst_alv_table-c6_vbeln. h_data-dlv_block = p_new_del_blck. "the new delivery block h_control-deliv_numb = gst_alv_table-c6_vbeln. h_control-dlv_block_flg = 'X'. delivery = gst_alv_table-c6_vbeln. CALL FUNCTION 'BAPI_OUTB_DELIVERY_CHANGE' EXPORTING header_data = h_data header_control = h_control delivery = delivery TABLES return = return . "Check if return table got an error. READ TABLE return WITH KEY type = 'E'. IF NOT sy-subrc IS INITIAL. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING wait = 'X'. ELSE. ROLLBACK WORK. ENDIF.FUNCTION Z_PGI_DELIVERY. *"-------------------------------------------------------------------*"*"Local interface: *" IMPORTING *" VALUE(CTU) LIKE APQI-PUTACTIVE DEFAULT 'X' *" VALUE(MODE) LIKE APQI-PUTACTIVE DEFAULT 'N' *" VALUE(UPDATE) LIKE APQI-PUTACTIVE DEFAULT 'L' *" VALUE(GROUP) LIKE APQI-GROUPID OPTIONAL *" VALUE(USER) LIKE APQI-USERID OPTIONAL *" VALUE(KEEP) LIKE APQI-QERASE OPTIONAL *" VALUE(HOLDDATE) LIKE APQI-STARTDATE OPTIONAL *" VALUE(NODATA) LIKE APQI-PUTACTIVE DEFAULT '/' *" VALUE(VBELN_001) LIKE BDCDATA-FVAL *" DEFAULT '355000182' *" EXPORTING*" VALUE(SUBRC) LIKE SYST-SUBRC *" TABLES *" MESSTAB STRUCTURE BDCMSGCOLL OPTIONAL *"-------------------------------------------------------------------subrc = 0. perform bdc_nodata perform open_group perform bdc_dynpro perform bdc_field using NODATA. using GROUP USER KEEP HOLDDATE CTU.using 'SAPMV50A' '4004'. using 'BDC_CURSOR' 'LIKP-VBELN'. perform bdc_field using 'BDC_OKCODE' '=WABU_T'. perform bdc_field using 'LIKP-VBELN' VBELN_001. perform bdc_transaction tables messtab using 'VL02N' CTU MODE UPDATE. if sy-subrc 0. subrc = sy-subrc. exit. endif. perform close_group using ENDFUNCTION. CTU.DATA: L_VBELN LIKE LIKP-VBELN, L_VBKOK LIKE VBKOK, L_PROTT LIKE PROTT OCCURS 0 WITH HEADER LINE. * carry out goods issue L_VBKOK-VBELN_VL = L_VBELN.