L_TB_VERAENDERN - 이전 요청 품목 추가 (예제 코드 포함)

2023. 3. 7. 12:01ABAP/BAPI

728x90
반응형

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

LB02 에서 TR 에 품목 추가가 가능한데 바피로는 어떻게 추가할 수 있는지 궁금하셨던 분들 분명히 있으실 거예요~

 

DATA : ls_ltbk            TYPE ltbk,
             lt_ltbp_vb      TYPE TABLE OF ltbp_vb WITH HEADER LINE,
             lv_old_tbpos TYPE ltbp-tbpos.

***<<< 품목을 추가할 TR 의 헤더를 가져옴
SELECT SINGLE *
INTO CORRESPONDING FIELDS OF ls_ltbk
FROM ltbk
WHERE lgnum EQ '창고 번호'
AND tbnum EQ 'TR 번호'.
***>>> 품목을 추가할 TR 의 헤더를 가져옴

lv_old_tbpos = ls_ltbk-anzps.  " 헤더의 품목 수

CLEAR lt_ltbp_vb.
lt_ltbp_vb-lgnum = ls_ltbk-lgnum.      " 창고 번호
lt_ltbp_vb-tbnum = ls_ltbk-tbnum.      " TR 번호
lt_ltbp_vb-tbpos  = lv_old_tbpos + 1.  " 신규 품목에 할당되는 번호
lt_ltbp_vb-werks  = '플랜트'.                 " 플랜트
lt_ltbp_vb-lgort    = '저장위치'.              " 저장위치
lt_ltbp_vb-matnr  = '자재번호'.              " 자재번호
lt_ltbp_vb-menge = '10'.                        " 이전요청 수량
lt_ltbp_vb-meins  = 'KG'.                       " 이전요청 단위
lt_ltbp_vb-menga = '10'.                        " 이전요청 대체단위에 대한 수량
lt_ltbp_vb-altme   = 'KG'.                       " 이전요청 대체단위
lt_ltbp_vb-umrez  = '1'.                          " 분자
lt_ltbp_vb-umren  = '1'.                          " 분모
APPEND lt_ltbp_vb.

ls_ltbk-anzps = lv_old_tbpos + 1. " 헤더 품목 수 업데이트

CALL FUNCTION 'L_TB_VERAENDERN'
    EXPORTING
        old_tbpos = lv_old_tbpos
        xltbk = ls_ltbk
    TABLES
        tbp = lt_ltbp_vb.

IF sy-subrc IS INITIAL" Exception 없음
    MESSAGE s000 WITH 'SUCCESS' ls_ltbk-tbnum.

    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
        EXPORTING
            wait = 'X'.
ENDIF.

 

품목 추가 전용 바피가 아니기 때문에 조심히 사용하셔야 합니다!

예를 들어 헤더를 잘못 건드리실 경우 LB03 에서 조회가 안될 수 있습니다.

위 코드의 형태를 크게 변경하지 않고 사용하시는 것을 권장드립니다.

 

혹시 질문 있으시다면 댓글 부탁 드립니다~

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

728x90
반응형