๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐Ÿง‘‍๐Ÿ’ผ SAP/ABAP

[SAP ABAP] BAPI_REPMANCONF1_CREATE_MTS ์‚ฌ์šฉ ๋ฐฉ๋ฒ•

by Jay Din 2025. 1. 24.
728x90
๋ฐ˜์‘ํ˜•

 

1. BAPI_REPMANCONF1_CREATE_MTS ๋ž€?

ํ•ญ๋ชฉ ์„ค๋ช…
BAPI ๋ช…์นญ ` BAPI_REPMANCONF1_CREATE_MTS`
์ฃผ์š” ์šฉ๋„ Repetitive Manufacturing์—์„œ ์ƒ์‚ฐ ์‹ค์ (MTS: Make To Stock)์„ SAP์— ํ™•์ •
ํ•ต์‹ฌ ๊ธฐ๋Šฅ ์ƒ์‚ฐ ์‹ค์  ๋“ฑ๋ก + ์ž…๊ณ  ์ฒ˜๋ฆฌ + ์ž์žฌ์ด๋™ (Goods Movement) ๋“ฑ๋ก
์‚ฌ์šฉ ์˜ˆ์‹œ ์ƒ์‚ฐํ˜„์žฅ์—์„œ ์‹ค์ ์ž…๋ ฅ, PDA, MES, ์ž๋™์ž…๊ณ  ์ฒ˜๋ฆฌ ๋“ฑ

 

BAPI_REPMANCONF1_CREATE_MTS ๋Š” SAP PP ๋ชจ๋“ˆ์—์„œ Make-to-Stock ์ƒ์‚ฐ(MTS) ์‹œ๋‚˜๋ฆฌ์˜ค์—์„œ ์ƒ์‚ฐ ์˜ค๋”์˜ ์‹ค์  ํ™•์ธ ๋ฐ ์ž…๊ณ  ์ฒ˜๋ฆฌ๋ฅผ ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” BAPI์ž…๋‹ˆ๋‹ค.

์ด BAPI๋Š” ์ƒ์‚ฐ ์˜ค๋”์˜ ์ตœ์ข… ๊ฒฐ๊ณผ๋ฌผ(์™„์ œํ’ˆ)์„ ์ž…๊ณ  ์ฒ˜๋ฆฌํ•˜๋ฉด์„œ ์‹ค์  ํ™•์ธ(Confirmation)์„ ๊ธฐ๋กํ•ฉ๋‹ˆ๋‹ค.

 

2. ์ฃผ์š” ๊ธฐ๋Šฅ

  1. ์ƒ์‚ฐ ์˜ค๋”์— ๋Œ€ํ•œ ์‹ค์  ํ™•์ธ(Confirmation)๊ณผ ๋™์‹œ์— ์ž์žฌ ์ด๋™(Goods Movement)์„ ์ƒ์„ฑ
  2. Make-to-Stock ์ƒ์‚ฐ(MTS) ํ”„๋กœ์„ธ์Šค์—์„œ ์™„์ œํ’ˆ์„ ์žฌ๊ณ ๋กœ ์ž…๊ณ 
  3. Scrap(์Šคํฌ๋žฉ) ๋ฐ ์žฌ์ž‘์—…(Rework) ์ˆ˜๋Ÿ‰์„ ๊ด€๋ฆฌ
  4. ๋ฐฑํ”Œ๋Ÿฌ์‹œ(Backflush) ํ”„๋กœ์„ธ์Šค๋ฅผ ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌ

 

3. ์‚ฌ์šฉ ์‹œ๋‚˜๋ฆฌ์˜ค

  1. ์ƒ์‚ฐ ์˜ค๋” ๊ธฐ๋ฐ˜ ์‹ค์  ํ™•์ธ
    • ์ƒ์‚ฐ ์˜ค๋”์˜ ์ž‘์—…์ด ์™„๋ฃŒ๋œ ํ›„ ๊ฒฐ๊ณผ๋ฌผ์„ ์ž…๊ณ  ์ฒ˜๋ฆฌ
    • ์ƒ์‚ฐ ์˜ค๋”์— ์žˆ๋Š” BOM(Materials) ์ž์žฌ๋ฅผ ์†Œ๋น„ ์ฒ˜๋ฆฌ
  2. ์™„์ œํ’ˆ์„ ์žฌ๊ณ ์— ์ž…๊ณ 
    • ์ƒ์‚ฐ ์™„๋ฃŒ๋œ ๊ฒฐ๊ณผ๋ฌผ์„ Make-to-Stock ํ™˜๊ฒฝ์—์„œ ์ž…๊ณ 
    • ์ด๋™ ์œ ํ˜•(Movement Type)์„ ์ž๋™ ์ƒ์„ฑ(์˜ˆ:131)
  3. ์žฌ์ž‘์—… ๋˜๋Š” ๊ฒฐํ’ˆ ์ฒ˜๋ฆฌ
    • ์‹ค์  ํ™•์ธ ์‹œ ์žฌ์ž‘์—… ์ˆ˜๋Ÿ‰์ด๋‚˜ ์Šคํฌ๋žฉ ์ˆ˜๋Ÿ‰์„ ์ž…๋ ฅํ•˜์—ฌ ์ฒ˜๋ฆฌ.
  4. ์ž๋™ ๋ฐฑํ”Œ๋Ÿฌ์‹œ(Backflush)
    • BOM ์ž์žฌ๋ฅผ ์ž๋™์œผ๋กœ ์ถœ๊ณ  ์ฒ˜๋ฆฌ

 

4. ์ฃผ์š” ํŒŒ๋ผ๋ฏธํ„ฐ

EXPORTING ํŒŒ๋ผ๋ฏธํ„ฐ

ํŒŒ๋ผ๋ฏธํ„ฐ ์„ค๋ช…
`BFLUSHFLAGS` ์ž…๊ณ  ํ”Œ๋ž˜๊ทธ ์„ค์ • ๊ตฌ์กฐ (์ž๋™์ž…๊ณ  ์—ฌ๋ถ€, ์žฌ์ฒ˜๋ฆฌ ๋“ฑ)
`BFLUSHDATAGEN` ์ƒ์‚ฐ ์‹ค์  ๊ด€๋ จ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ (์ž์žฌ๋ฒˆํ˜ธ, ์ˆ˜๋Ÿ‰, ์ž‘์—…์žฅ, ์ฆ๋น™์ผ, ์ „๊ธฐ ๋“ฑ)
`BFLUSHDATAITEMS` ๊ฐœ๋ณ„ ํ•ญ๋ชฉ ๋ฐ์ดํ„ฐ: ์Šคํฌ๋žฉ ์ˆ˜๋Ÿ‰, ์žฌ์ž‘์—… ์ˆ˜๋Ÿ‰ 

 

IMPORTING ํŒŒ๋ผ๋ฏธํ„ฐ

ํŒŒ๋ผ๋ฏธํ„ฐ ์„ค๋ช…
`CONFIRMATION` ์ƒ์„ฑ๋œ ์ƒ์‚ฐ ํ™•์ • ๋ฒˆํ˜ธ (๋ฌธ์„œ ๋ฒˆํ˜ธ์ฒ˜๋Ÿผ ์“ฐ์ž„)
`RETURN` BAPI ์‹คํ–‰ ๊ฒฐ๊ณผ ๋ฉ”์‹œ์ง€ (`BAPIRET2` ๊ตฌ์กฐ) – ์˜ค๋ฅ˜, ๊ฒฝ๊ณ , ์„ฑ๊ณต ๋“ฑ ํฌํ•จ

 

TABLES ํŒŒ๋ผ๋ฏธํ„ฐ

ํŒŒ๋ผ๋ฏธํ„ฐ ์„ค๋ช…
`GOODSMOVEMENTS` ์ž์žฌ ์ด๋™ ๋ฐ์ดํ„ฐ ๋‚ด์—ญ(์˜ˆ: ์™„์ œํ’ˆ ์ž…๊ณ , BOM ์ž์žฌ ์ถœ๊ณ )
`SERIALNR` ์‹œ๋ฆฌ์–ผ ๋ฒˆํ˜ธ ๋ฐ์ดํ„ฐ(ํ•„์š”์‹œ)

 

5. BAPI_REPMANCONF1_CREATE_MTS ํ˜ธ์ถœ ์˜ˆ์ œ

๋‹ค์Œ์€ BAPI_REPMANCONF1_CREATE_MTS ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ƒ์‚ฐ ์˜ค๋”๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ์™„์ œํ’ˆ ์ž…๊ณ ์™€ ์‹ค์  ํ™•์ธ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ์˜ˆ์ œ์ž…๋‹ˆ๋‹ค.

DATA: LS_BFLUSHFLAGS   TYPE BAPI_RM_FLG,       " ๋ฐฑํ”Œ๋Ÿฌ์‹œ ํ”Œ๋ž˜๊ทธ
      LS_BFLUSHDATAGEN TYPE BAPI_RM_DATGEN,    " ์ผ๋ฐ˜ ๋ฐ์ดํ„ฐ
      LT_GOODSMOVEMENTS TYPE TABLE OF BAPI2017_GM_ITEM_CREATE, " ์ž์žฌ ์ด๋™ ํ…Œ์ด๋ธ”
      LT_SERIALNR      TYPE TABLE OF BAPI_RM_DATSERIAL,        " ์‹œ๋ฆฌ์–ผ ๋ฒˆํ˜ธ ํ…Œ์ด๋ธ”
      LS_RETURN        TYPE BAPIRET2,         " ๊ฒฐ๊ณผ ๋ฉ”์‹œ์ง€
      LV_CONFIRMATION  TYPE BAPI_RM_DATKEY-CONFIRMATION.   		" ์ƒ์„ฑ๋œ ์‹ค์  ํ™•์ธ ๋ฒˆํ˜ธ

" 1. ๋ฐฑํ”Œ๋Ÿฌ์‹œ ์ œ์–ด ํ”Œ๋ž˜๊ทธ ์„ค์ •
CLEAR LS_BFLUSHFLAGS.
LS_BFLUSHFLAGS-BCKFLTYPE = '01'.  " ๋ฐฑํ”Œ๋Ÿฌ์‹œ ์œ ํ˜• (01: ์ •์ƒ ์ฒ˜๋ฆฌ)

" 2. ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ ์„ค์ •
CLEAR LS_BFLUSHDATAGEN.
LS_BFLUSHDATAGEN-PRODORDER   = '000000000010001958'.   " ์ƒ์‚ฐ ์˜ค๋” ๋ฒˆํ˜ธ
LS_BFLUSHDATAGEN-BACKFLQUANT = '100'.          " ์ƒ์‚ฐ๋œ ์ˆ˜๋Ÿ‰
LS_BFLUSHDATAGEN-UNITOFMEASURE  = 'KG'.   	   " ๋‹จ์œ„

LS_BFLUSHDATAGEN-SCRAPQUANT  = '0'.            " ์Šคํฌ๋žฉ ์ˆ˜๋Ÿ‰
LS_BFLUSHDATAGEN-REWORKQUANT = '0'.            " ์žฌ์ž‘์—… ์ˆ˜๋Ÿ‰

LS_BFLUSHDATAGEN-POSTDATE    = SY-DATUM.       " ์ „๊ธฐ ๋‚ ์งœ
LS_BFLUSHDATAGEN-DOCDATE     = SY-DATUM.       " ์ฆ๋น™ ๋‚ ์งœ

LS_BFLUSHDATAGEN-PLANPLANT   = 'PL01'.         " ํ”Œ๋žœํŠธ
LS_BFLUSHDATAGEN-PRODPLANT   = 'PL01'.         " ๊ณ„ํš ํ”Œ๋žœํŠธ
LS_BFLUSHDATAGEN-STORAGELOC  = '1011'.     	   " ์ €์žฅ์œ„์น˜

LS_BFLUSHDATAGEN-PRODVERSION = 'DE08'.         " ์ƒ์‚ฐ๋ฒ„์ „
LS_BFLUSHDATAGEN-DOCHEADERTXT = 'HEADER test'.        " HEADER TEXT 

" 3. ์ž์žฌ ์ด๋™ ๋ฐ์ดํ„ฐ ์„ค์ •
DATA: LS_GOODSMOVEMENTS TYPE BAPI2017_GM_ITEM_CREATE.
CLEAR LS_GOODSMOVEMENTS.
LS_GOODSMOVEMENTS-MATERIAL  = 'MAT12345'.    " ์ž์žฌ ๋ฒˆํ˜ธ
LS_GOODSMOVEMENTS-PLANT     = 'PL01'.       " ํ”Œ๋žœํŠธ
LS_GOODSMOVEMENTS-STGE_LOC  = '0010'.       " ์ €์žฅ ์œ„์น˜
LS_GOODSMOVEMENTS-MOVE_TYPE = '101'.        " ์ด๋™ ์œ ํ˜• (์ž…๊ณ )
LS_GOODSMOVEMENTS-ENTRY_QNT = '100'.        " ์ž…๊ณ  ์ˆ˜๋Ÿ‰
LS_GOODSMOVEMENTS-ENTRY_UOM = 'EA'.         " ๋‹จ์œ„
APPEND LS_GOODSMOVEMENTS TO LT_GOODSMOVEMENTS.

" 4. BAPI ํ˜ธ์ถœ
CALL FUNCTION 'BAPI_REPMANCONF1_CREATE_MTS'
  EXPORTING
    BFLUSHFLAGS    = LS_BFLUSHFLAGS
    BFLUSHDATAGEN  = LS_BFLUSHDATAGEN
  IMPORTING
    CONFIRMATION   = LV_CONFIRMATION
    RETURN         = LS_RETURN
  TABLES
    GOODSMOVEMENTS = LT_GOODSMOVEMENTS
    SERIALNR       = LT_SERIALNR.

" 5. ๊ฒฐ๊ณผ ํ™•์ธ ๋ฐ ์ฒ˜๋ฆฌ
IF LS_RETURN-TYPE = 'S'.
  WRITE: / '์ƒ์‚ฐ ์˜ค๋” ์‹ค์  ํ™•์ธ ๋ฐ ์ž…๊ณ  ์„ฑ๊ณต!',
         / '์ƒ์„ฑ๋œ ์‹ค์  ํ™•์ธ ๋ฒˆํ˜ธ: ', LV_CONFIRMATION.
ELSE.
  WRITE: / '์˜ค๋ฅ˜ ๋ฐœ์ƒ: ', LS_RETURN-MESSAGE.
ENDIF.

" 6. ํŠธ๋žœ์žญ์…˜ ์ปค๋ฐ‹ ๋˜๋Š” ๋กค๋ฐฑ
IF LS_RETURN-TYPE = 'S'.
  CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    EXPORTING
      WAIT = 'X'.
ELSE.
  CALL FUNCTION 'BAPI_TRANSACTION_ROLLBACK'.
ENDIF.

 

์ž์žฌ ๋ฌธ์„œ ๋ฆฌ์ŠคํŠธ(MB51)์—์„œ ์ž…๊ณ  ๋œ ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

mb51 ์‹คํ–‰ ๊ฒฐ๊ณผ

 

6. ์‚ฌ์šฉํ•˜๋ฉด ์–ด๋–ป๊ฒŒ ๋˜๋Š”๊ฐ€

  1. ์ƒ์‚ฐ ์˜ค๋” ์‹ค์  ํ™•์ธ ์ƒ์„ฑ:
    • ์‹ค์  ํ™•์ธ(Confirmation) ๋ฒˆํ˜ธ๊ฐ€ ์ƒ์„ฑ๋˜์–ด ์ƒ์‚ฐ ์˜ค๋”์— ๊ธฐ๋ก๋ฉ๋‹ˆ๋‹ค.
  2. ์žฌ๊ณ  ์ด๋™(Goods Movement):
    • ์™„์ œํ’ˆ์ด ์ด๋™ ์œ ํ˜• 131๋กœ ์ž…๊ณ  ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.
    • BOM ์ž์žฌ๊ฐ€ ์†Œ๋น„(์ถœ๊ณ ) ์ฒ˜๋ฆฌ๋ฉ๋‹ˆ๋‹ค.
  3. ๋ฐฑํ”Œ๋Ÿฌ์‹œ ์ฒ˜๋ฆฌ:
    • BOM ์ž์žฌ๊ฐ€ ์ž๋™์œผ๋กœ ์ถœ๊ณ ๋ฉ๋‹ˆ๋‹ค(ํ•„์š” ์‹œ).

 

 

728x90
๋ฐ˜์‘ํ˜•