ABAP ๊ฐ๋ฐ์ ์์ํ๊ณ ์ด๋ ์ ๋ ์ต์ํด์ง ์ฆ์, ํ ๋ฒ์ฏค ์ค์ณ๊ฐ๋ ๊ฐ๋
์ค์ ํ๋๊ฐ ๋ฐ๋ก LUW(Logical Unit of Work)์ด๋ค.
์ฒ์ ์ด ์ฉ์ด๋ฅผ ์ ํ๋ฉด, ๋ง์น ์ด๋ค ํน์ํ ํธ๋์ญ์
์ฒ๋ฆฌ ๋ฐฉ์, ํน์ ์ฌํ๋ DB ๊ฐ๋
์ฒ๋ผ ๋๊ปด์ง๊ธฐ ์ฝ๋ค. ๊ตฌ๊ธ์์ ๊ฒ์ํด๋ด๋ ์ค๋ช
์ด ๋ณต์กํ๊ฒ ๋์์ ํ๋์ ์ดํดํ๊ธฐ ์ด๋ ค์ด ๊ฒฝ์ฐ๊ฐ ๋ง๋ค.
๊ทธ๋ฐ๋ฐ ๋ฌธ์ ๋...
LUW ๋ฅผ ์ ๋๋ก ์ดํดํ์ง ๋ชปํ๋ฉด ์ค๋ฌด์์ ์๊ธฐ์น ์์ ์ค๋ฅ๋ ๋ฐ์ดํฐ ๋ถ์ผ์น ๋ฌธ์ ๋ฅผ ๊ฒช๊ฒ ๋๋ค๋ ๋ฐ ์๋ค.
์๋ฅผ ๋ค์ด, ์ฃผ๋ฌธ์ ์ ์ฅ๋๋๋ฐ ํ๊ณ ์ ํ๋ ์ ๋ง๋ค์ด์ก๊ฑฐ๋, ํ๋ฉด์์ ์ ์ฅ ์ฑ๊ณต ๋ฉ์์ง๊ฐ ๋ด์ง๋ง ์ค์ ๋ก DB์ ๋ฐ์๋์ง ์์ ๊ฒฝ์ฐ๋ ๋ฐ์ํ ์ ์๋ค. ๊ทธ๋์ ํ๋ฒ์ ์ง๊ณ ๋์ด๊ฐ์ผ ํ ๊ฐ๋
์ด ๋ฐ๋ก SAP LUW ์ด๋ค.
1. 3์ ์ํ ๋ฐฐ์ก์ผ๋ก SAP LUW ์ดํดํด๋ณด๊ธฐ
SAP LUW(Logical Unit of Work)๋ ํ ๋ฒ์ ์ฌ๋ฌ ์์ ์ ์ฒ๋ฆฌํ๋, ๋ชจ๋ ์ฑ๊ณตํด์ผ๋ง ์ต์ข ์ ์ผ๋ก ์คํ๋๋ ๊ตฌ์กฐ์ด๋ค.
์ด ๊ฐ๋
์ 3์ ์ํ ๋ฐฐ์ก(Third-party logistics) ๊ตฌ์กฐ๋ก ํ๋ฒ ์๊ฐํด๋ณด์.
ํ ์จ๋ผ์ธ ์ผํ๋ชฐ์์ ์ํ์ ์ฃผ๋ฌธํ๋ค๊ณ ํ์ ๋, ์ด ์ผํ๋ชฐ์ ์์ฒด ๋ฌผ๋ฅ์ฐฝ๊ณ ๋ฅผ ๋ณด์ ํ๊ณ ์์ง ์๊ณ , ์๋์ฒ๋ผ 3์ ๊ฑฐ๋ ๊ตฌ์กฐ๋ฅผ ์ฌ์ฉํ๊ณ ์๋ค๊ณ ๊ฐ์ ํด๋ณด์.
1๏ธโฃ๊ณ ๊ฐ( Customer ): ์ผํ๋ชฐ์์ ์ํ ์ฃผ๋ฌธ
2๏ธโฃํ๋งค์( Seller ): ์ฌ๊ณ ๋ณด์ , ์ก์ฅ ๋ฐํ
3๏ธโฃ๋ฌผ๋ฅ์ ์ฒด( Logistics provider ): ์ํ์ ํฝ์ ํด์ ๊ณ ๊ฐ์๊ฒ ๋ฐฐ์ก
์ด ๊ตฌ์กฐ์์ ํ๋์ ์ฃผ๋ฌธ์ด ์๋ฃ๋๋ ค๋ฉด ๋ค์๊ณผ ๊ฐ์ ์ ์ฐจ๊ฐ ๋ชจ๋ ์ฑ๊ณต์ ์ผ๋ก ์งํ๋์ด์ผ ํ๋ค.
- โ ํ๋งค์๊ฐ ์ฃผ๋ฌธ์ ์น์ธํ๊ณ ,
- โ ๋ฌผ๋ฅ์ ์ฒด๊ฐ ํ๋งค์๋ก๋ถํฐ ์ํ์ ์๋ นํ๊ณ ,
- โ ๊ณ ๊ฐ์๊ฒ ๋ฐฐ์ก์ด ์๋ฃ๋๊ณ ,
- โ ์ก์ฅ ์ฒ๋ฆฌ ๋ฐ ์ ์ฐ๊น์ง ๋ง๋ฌด๋ฆฌ
๊ทธ๋ฐ๋ฐ ์ค๊ฐ์ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ๋ค์ด ์๊ธฐ๋ฉด ์ด๋ป๊ฒ ๋ ๊น?
- โ๋ฌผ๋ฅ์ ์ฒด๊ฐ ์ํ์ ๋ชป ์ฐพ์ → โ๋ฐฐ์ก ์คํจ
- โํ๋งค์๊ฐ ์ค์๋ก ์๋ชป๋ ์ํ์ ํฌ์ฅ → โ๋ฐํ
- โ์ก์ฅ ๋ฒํธ ๋๋ฝ → โ์ถ์ ๋ถ๊ฐ
์ด๋ด ๊ฒฝ์ฐ ์ ์ฒด ํ๋ก์ธ์ค๋ฅผ ๋๋๋ฆฌ๊ฑฐ๋ ์ฌ์ฒ๋ฆฌํด์ผ ํ๋ค. ์ด๋ ํ ๋จ๊ณ๋ผ๋ ์คํจํ๋ฉด ์ ์ฒด ๊ฑฐ๋๊ฐ ์๋ฏธ ์์ด์ง๋ ๊ตฌ์กฐ์ด๋ค.
๐กLUW๋ ์ด๋ฐ ์ํฉ์์ "์ ๋ถ ์ฑ๊ณตํ๋ฉด ์คํ, ํ๋๋ผ๋ ์คํจํ๋ฉด ์ ๋ถ ์ทจ์"ํ๋ ๋ณดํธ๋ง์ด๋ค.
2. SAP ์์์ LUW๋ ์ ํ์ํ๊ฐ?
SAP ์์คํ
์ ์ฌ๋ฌ Work Process( ์์
ํ๋ก์ธ์ค )๋ฅผ ๊ฑฐ์ณ ํ๋ก๊ทธ๋จ์ ์คํํ๋ค. ๊ทธ๋ฐ๋ฐ ์ด ๊ณผ์ ์์ ์๋์ผ๋ก ์ปค๋ฐ์ด ๋ฐ์ํ๊ธฐ ๋๋ฌธ์, DB์ ์ผ๊ด์ฑ์ด ๊นจ์ง ์ ์๋ค.
์ด ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๊ธฐ ์ํด SAP๋ SAP LUW ๊ฐ๋
์ ๋์
ํ๋ค. ์ด๋ ์ฌ๋ฌ Work Process๋ฅผ ๊ฑฐ์น๋๋ผ๋ ๋ณ๊ฒฝ ์์
์ ํ๋์ ๋
ผ๋ฆฌ ๋จ์๋ก ๋ฌถ๊ณ , ํ ๋ฒ์ DB LUW๋ก ์ฒ๋ฆฌํ ์ ์๊ฒ ํ. ์ฆ, ํ๋์ ํธ๋์ญ์
์์์ ์ฌ๋ฌ ์์
์ ์ํํ๊ณ , ๋ง์ง๋ง์ COMMIT ํ๊ฑฐ๋ ROLLBACK ํ ์ ์๋๋ก ๋ง๋ค์ด์ฃผ๋ ๊ฐ๋
์ด๋ค.
๐กLUW๋ SAP์ ๋ณต์กํ ๋ด๋ถ ์ฒ๋ฆฌ ๋ฐฉ์์์๋ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ์ง์ผ์ฃผ๋ ํต์ฌ ๊ธฐ๋ฒ์ด๋ค.
3. SAP LUW๋ฅผ ์ ์ดํ๋ ์ฃผ์ ABAP ๋ฌธ์ฅ
โ COMMIT WORK
- ๋ชจ๋ ๋ฑ๋ก๋ ๋ณ๊ฒฝ ์์ ์ ์คํ. ์ด ๋ฌธ์ฅ์ด ์คํ๋๊ธฐ ์ ๊น์ง๋ ์ค์ DB ๋ณ๊ฒฝ์ด ๋ฐ์ํ์ง ์๋๋ค.
โ ROLLBACK WORK
- ๋ฑ๋ก๋ ์์ ์ ๋ชจ๋ ์ทจ์. ์์ธ ์ฒ๋ฆฌ ๋ฑ์์ ์ฃผ๋ก ์ฌ์ฉํ๋ค.
โ SET UPDATE TASK LOCAL
- CALL FUNCTION ... IN UPDATE TASK ์ ํ์ฌ ์์ ํ๋ก์ธ์ค์์ ๋๊ธฐ์ ์ผ๋ก ์คํํ๊ณ ์ถ์ ๋ ์ฌ์ฉ. (๐กCALL FUNCTION ... IN UPDATE TASK๋ ์ผ๋ฐ์ ์ผ๋ก Update Work Process์์ ๋น๋๊ธฐ์ ์ผ๋ก ์คํ )
- ํจ์ ํธ์ถ ์ ์ ๋ฏธ๋ฆฌ ์ ์ธ๋์ด ์์ด์ผ ํ๋ฉฐ, ํ ์คํธ ์ ์ฌ์ฉ( ๋๋ฒ๊น ์ ์ฉ ).
4. SAP LUW ๋ค์ํ ๊ตฌํ ๋ฐฉ๋ฒ
๐Update Function Module ์ฌ์ฉ (CALL FUNCTION ... IN UPDATE TASK)
- IN UPDATE TASK๋ก ํธ์ถ๋ Function Module์ ์ง๊ธ ๋ฐ๋ก ์คํํ์ง ์๊ณ , ๋์ค์ ์คํ๋๋๋ก ๋ด๋ถ์ ์ผ๋ก ์์คํ ํ ์ด๋ธ(VBHDR, VBDATA, VBMOD)์ ๋ฑ๋ก ํ COMMIT WORK ๊ตฌ๋ฌธ์ด ์คํ๋ ๋ ๋ฑ๋ก๋ ํจ์๋ค์ด ํ๊บผ๋ฒ์ ์คํ
๐Subroutine ๋ฑ๋ก (PERFORM ... ON COMMIT)
- ์๋ธ๋ฃจํด์ ๋ฐ๋ก ์คํํ์ง ์๊ณ ์ปค๋ฐ ์์ ์ ์คํํ๋๋ก ๋ฑ๋กํ๋ ๋ฐฉ๋ฒ
๐ซ ๊ณตํต ์ ์ฝ์ฌํญ
- COMMIT WORK ์ฌ์ฉ ๊ธ์งโ : ์ด๋ฏธ ์ปค๋ฐ ๋๋ ๋กค๋ฐฑ ์ค์ธ ์์ ์ด๋ฏ๋ก ํธ๋์ญ์ ์ถฉ๋ ๊ฐ๋ฅ
- ROLLBACK WORK ์ฌ์ฉ ๊ธ์งโ : ํธ๋์ญ์ ์ข ๋ฃ ์ค์ ๋ค์ ๋กค๋ฐฑ์ ๋ถ๊ฐ → ๋ฐํ์ ์ค๋ฅ ๋ฐ์
- MESSAGE TYPE 'A' (์ค๋จ ๋ฉ์์ง) ๊ธ์งโ : ๋ด๋ถ์ ์ผ๋ก ROLLBACK WORK ์คํ๋จ → ์๋ฌต์ ์ค๋ฅ ์ ๋ฐ
โํนํ MESSAGE ... TYPE 'A'๋ฅผ error_message ์์ธ๋ก ๋ฐ์๋, MESSAGE TYPE 'A' ํน์ฑ์ ๋ด๋ถ์ ์ผ๋ก ROLLBACK WORK๊ฐ ์คํ๋๋ฏ๋ก ์ฌ์ฉ ๊ธ์ง
โ๏ธ ์ค์ ๋ก ์ฐ๋ฆฌ๊ฐ ์ค๋ฌด์์ SAP LUW ๊ตฌ์กฐ๋ฅผ ์ง์ ์ค๊ณํ๊ฑฐ๋, ์ฌ๋ฌ ์์ ํ๋ก์ธ์ค๋ฅผ ๋ณต์กํ๊ฒ ์ฎ๋ ํ๋ก๊ทธ๋จ์ ๋ง๋ค ๊ธฐํ๋ ์ฌ์ค ๋ง๋ค. ๋๋ถ๋ถ์ ์ด๋ฏธ ์ ํด์ง ๊ตฌ์กฐ ์์์ COMMIT๋ง ์ ์ ํ ํธ์ถํ๋ฉด ๋๋ ๊ฒฝ์ฐ๊ฐ ๋๋ถ๋ถ์ด๋ค. ํ์ง๋ง ์ค๋ฌด์์ ‘ํ๋ก๊ทธ๋จ์ ์ค๊ณํ๊ณ ๋ฌธ์ ๋ฅผ ์ดํดํ๊ณ ํด๊ฒฐํ๋’ ๋ฐ ๊ผญ ํ์ํ ๊ฐ๋ ์ด๋ ์์๋๋๋ก ํ์.
โน๏ธ ๊ฐ์ด ์ฝ์ผ๋ฉด ์ข์ ํฌ์คํ
๐[ABAP Concept (๐๊ฐ๋ )/Advanced] - ABAP ์์ AUTO COMMIT์ ๋์ฒด ์ธ์ ์คํ๋๋ ๊ฑธ๊น?
ABAP ์์ AUTO COMMIT์ ๋์ฒด ์ธ์ ์คํ๋๋ ๊ฑธ๊น?
ABAP ๊ฐ๋ฐ์ ํ๋ค ๋ณด๋ฉด ์ด๋ฐ ์๊ฐ์ ํ๋ฒ์ฏค ํด๋ณด์์ ๊ฒ์ด๋ค. COMMIT WORK ๋ฌธ์ฅ์ ๋ฃ์ง ์์๋๋ฐ, ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ(commit)์ด ๋์ง? ์ฒ์์๋ ๋ฒ๊ทธ์ธ๊ฐ ์ถ์ด ์์ฌ๋ ํด๋ณด๊ณ , ํธ๋์ญ์ ์ด ๊ผฌ์ธ ๊ฑธ
twossun.tistory.com