BAPI_RESERVATION_CHANGE - 예약 수정 (예제 코드 포함)

2023. 2. 22. 16:29ABAP/BAPI

728x90
반응형

안녕하세요 파피킴입니다.

만들어진 예약을 수정하는 기능이 필요하실 때가 있으실 거예요~

아이템 수정과 아이템 추가를 동시에 할 수 없다는 점만 유의해주시면 쉽게 사용하실 수 있으실 거라 생각됩니다.

 

DATA : lt_res_change  TYPE TABLE OF bapi2093_res_item_change WITH HEADER LINE,
            lt_res_changex TYPE TABLE OF bapi2093_res_item_changex WITH HEADER LINE,
            lt_res_new         TYPE TABLE OF bapi2093_res_item_new WITH HEADER LINE,
            lt_return             TYPE TABLE OF bapiret2 WITH HEADER LINE.

***<<< 수정할 아이템 세팅
lt_res_change-res_item = '1'.  " 품목 번호
lt_res_change-withdrawn = 'X'.  " 출고 완료
APPEND lt_res_change.

lt_res_changex-res_item = '1'.  " 품목 번호
lt_res_changex-withdrawn = 'X'.  " 출고 완료
APPEND lt_res_changex.
***>>> 수정할 아이템 세팅

***<<< 추가할 아이템 세팅
*lt_res_new-material = '자재번호'.  " 자재번호
*lt_res_new-plant = '플랜트'.  " 플랜트
*lt_res_new-stge_loc = '저장위치'.  " 저장위치
*lt_res_new-entry_qnt = '50'.  " 수량
*lt_res_new-entry_uom = 'KG'.  " 단
*APPEND lt_res_new.
***>>> 추가할 아이템 세팅

CALL FUNCTION 'BAPI_RESERVATION_CHANGE'
    EXPORTING
        reservation                             = '예약 번호'
    TABLES
        reservationitems_changed   = lt_res_change     
        reservationitems_changedx = lt_res_changex
        reservationitems_new           = lt_res_new     
        return                                       = lt_return.

READ TABLE
lt_return WITH KEY type = 'E'.


IF sy-subrc IS NOT INITIAL.

    MESSAGE s000 WITH 'SUCCESS'.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
        EXPORTING
            wait = 'X'.
ELSE.
    MESSAGE s000 WITH lt_return-message DISPLAY LIKE 'E'.
ENDIF.

 

혹시 궁금한 게 있으시다면 댓글로 부탁드립니다~

이상 샙가능의 파피킴이었습니다.

728x90
반응형