READ TABLE LT_TEMP INDEX 1.
* 1-1. Header
CLEAR LS_HEADER.
LS_HEADER-RES_DATE = SY-DATLO.
LS_HEADER-TR_PART_BA = LT_TEMP-GSBER . " Business Area
LS_HEADER-COSTCENTER = LT_TEMP-KOSTL . " Cost Center
LS_HEADER-MOVE_PLANT = LT_TEMP-WERKS . " Plant
LS_HEADER-MOVE_STLOC = LT_TEMP-LGORT . " Storage Location
LS_HEADER-MOVE_TYPE = '907' . " Movement Type
LS_HEADER-CREATED_BY = SY-UNAME.
TRANSLATE LS_HEADER TO UPPER CASE.
loop at lt_temp.
* 1-2. Item
CLEAR LT_ITEMS.
* LT_ITEMS-REQ_DATE = SY-DATLO.
LT_ITEMS-REQ_DATE = lt_temp-reqdate.
LT_ITEMS-MOVEMENT = '907'. " Movement Type 2010.07.05 201 -> 907 BY LEE JM
LT_ITEMS-GL_ACCOUNT = lt_temp-SAKNR. " G/L Account No.
LT_ITEMS-PLANT = lt_temp-WERKS. " Plant
LT_ITEMS-STGE_LOC = lt_temp-LGORT. " Storage Location
LT_ITEMS-BATCH = CHARG. " Batch No.
LT_ITEMS-MATERIAL = lt_temp-MATNR. " Material No.
LT_ITEMS-ENTRY_QNT = lt_temp-ERFMG. " Quantity
LT_ITEMS-MOVEMENT = ABAP_TRUE.
CONCATENATE ET_IN-SAMNO '/' ET_IN-SAMSI INTO LT_ITEMS-ITEM_TEXT.
TRANSLATE LT_ITEMS-MATERIAL TO UPPER CASE.
APPEND LT_ITEMS.
ENDLOOP.
위 문구에서 보시면 BAPI_RESERVATION_CREATE1 을 하기 위해 헤어와 아이템에 값을 MOVE하는 로직인데요.
위 로직중에 제가 궁금한것은
LT_ITEMS-BATCH = CHARG. " Batch No.
원자재나 완제품?은 안넣어도 생성이 되던데요.
MRO나 샘플같은 경우는 배치를 넣어줘야 생성이 되더라구요.
도대체 요놈 배치가 하는 기능이 무엇이며 왜 넣어야 하는지좀
아시는분들 답변좀 부탁드립니다.
제가 MM이며, BAPI를 처음 만들어 보게 되서요...
배치번호는 PP에서 사용되는 LOT번호와 비슷한 개념으로 MM에서 입고시 배치번호로 자재관리를 하는 것입니다.
물론 생산, 구매, 입고, 수입검사 등에도 사용이 됩니다.
회사에 따라서 원자재나 부자재에 같이 적용을 하기도 하고 안하기도 합니다.(회사 정책에 따라서 다릅니다.)
써언님 회사는 원자재에는 배치번호를 적용하지 않고 MRO자재에 대해서 배치번호를 적용하시는 군요.
회사에 따라서 배치번호 생성 룰이 있을 테니 상사분들께 물어보면 알려 줄거라 생각이 됩니다.
즐밥하세요..