交货单修改数量并过账 WS_DELIVERY_UPDATE_2

DATA: BEGIN OF i_vbkok OCCURS 11.
        INCLUDE STRUCTURE vbkok.
DATA: END OF i_vbkok.

DATA: BEGIN OF i_vbpok_tab OCCURS 12.
        INCLUDE STRUCTURE vbpok.
DATA: END OF i_vbpok_tab.

DATA lt_prot            LIKE TABLE OF prott .

PARAMETERS: p_vbeln TYPE vbeln.

DATA:g_likp LIKE  likp.
DATA:g_lips LIKE  lips.
DATA gv_14(14) TYPE c.

START-OF-SELECTION.

  SELECT SINGLE * INTO g_likp FROM likp
    WHERE vbeln = p_vbeln.

  i_vbkok-vbeln_vl        = p_vbeln.        "Delivery number
  i_vbkok-wabuc           = 'X'.            "Automatic PGI

  SELECT * INTO g_lips FROM lips
    WHERE vbeln = p_vbeln.
    i_vbpok_tab-vbeln_vl    = p_vbeln.      "Delivery number
    i_vbpok_tab-posnr_vl    = g_lips-posnr.
*    i_vbpok_tab-vbeln       = p_vbeln.
*    i_vbpok_tab-posnn       = g_lips-posnr.
*    i_vbpok_tab-matnr       = g_lips-matnr.
    i_vbpok_tab-lfimg       = g_lips-lfimg - 1.
    i_vbpok_tab-lianp       = abap_true.

    APPEND i_vbpok_tab.
  ENDSELECT.

  CALL FUNCTION 'WS_DELIVERY_UPDATE_2'
    EXPORTING
      vbkok_wa      = i_vbkok
*     commit        = 'X'
      delivery      = p_vbeln
*     update_picking = 'X'
    TABLES
      vbpok_tab     = i_vbpok_tab
      prot          = lt_prot
    EXCEPTIONS
      error_message = 1
      OTHERS        = 2.
  BREAK-POINT.

  IF lt_prot[] IS INITIAL.
    COMMIT WORK AND WAIT.

  ELSE.
    ROLLBACK WORK.

  ENDIF.


关键词:

网友评论

发表评论