Hamutaro - Hamtaro 4

ETC.

[SAP] ABAP ๊ฐœ๋ฐœ ๊ตฌ์กฐ์— ๋Œ€ํ•ด์„œ

carsumin 2025. 10. 28. 13:54
ABAP๋ž€?
  • Advanced Business Application Programming์˜ ์ค„์ž„๋ง
  • SAP ์‹œ์Šคํ…œ ์•ˆ์—์„œ ๋™์ž‘ํ•˜๋Š” ์ „์šฉ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด

-> ABAP๋Š” SAP ์‹œ์Šคํ…œ ์•ˆ์—์„œ๋งŒ ๋™์ž‘ํ•˜๋Š” ์„œ๋ฒ„ ์‚ฌ์ด๋“œ ์–ธ์–ด๋กœ SAP ๋‚ด๋ถ€ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๊ณ  ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์„ ๊ตฌํ˜„ํ•˜๋Š” ์—ญํ• 

 

 

ABAP ๊ฐœ๋ฐœ ๊ตฌ์กฐ
๊ณ„์ธต ์„ค๋ช… ์˜ˆ์‹œ
Presentation Layer SAP GUI, Fiori UI ๋“ฑ ํ™”๋ฉด ์ธํ„ฐํŽ˜์ด์Šค ํ™”๋ฉด์—์„œ ๋ฒ„ํŠผ ํด๋ฆญ ์‹œ ํŠธ๋žœ์žญ์…˜ ์‹คํ–‰
Application Layer ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์ด ์ˆ˜ํ–‰๋˜๋Š” ABAP ํ”„๋กœ๊ทธ๋žจ ๊ณ„์ธต ABAP ํ”„๋กœ๊ทธ๋žจ, Function Module, Class ๋“ฑ
Database Layer SAP Dictionary์— ์ •์˜๋œ ํ…Œ์ด๋ธ” MARA(์ž์žฌ๋งˆ์Šคํ„ฐ), EKKO(๊ตฌ๋งค์˜ค๋” ํ—ค๋”) ๋“ฑ

 

 

์ฃผ์š” ๊ฐœ๋ฐœ ๊ฐ์ฒด (Object)
๊ตฌ๋ถ„ ์ด๋ฆ„ ์—ญํ• 
Program Report Program ์‚ฌ์šฉ์ž ์ •์˜ ๋ฆฌํฌํŠธ/๋ฐฐ์น˜ ํ”„๋กœ๊ทธ๋žจ
Function Module ZFM_* ํ˜•ํƒœ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๊ธฐ๋Šฅ ๋ฌถ์Œ
Class / Method OOP ๊ธฐ๋ฐ˜ ์ฝ”๋“œ ๊ตฌ์กฐ SAP NetWeaver ์ดํ›„ ๊ฐ์ฒด์ง€ํ–ฅ ์ง€์›
Table / Structure Data Dictionary (SE11) ๋ฐ์ดํ„ฐ ์ €์žฅ ๊ตฌ์กฐ ์ •์˜
Include / Subroutine ์ฝ”๋“œ ์žฌ์‚ฌ์šฉ ๋‹จ์œ„ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์—์„œ ํ˜ธ์ถœ๊ฐ€๋Šฅ
SmartForms / SAPScript / Adobe Form ์ถœ๋ ฅ ์–‘์‹ ์†ก์žฅ, ๋ฐœ์ฃผ์„œ ๋“ฑ ๋ฌธ์„œ ์ถœ๋ ฅ
BAPI / RFC / IDoc ์™ธ๋ถ€ ์—ฐ๋™ ์ธํ„ฐํŽ˜์ด์Šค ์™ธ๋ถ€ ์‹œ์Šคํ…œ๊ณผ ๋ฐ์ดํ„ฐ ์ฃผ๊ณ ๋ฐ›๊ธฐ

 

 

ABAP ํ”„๋กœ๊ทธ๋žจ ์œ ํ˜•
์œ ํ˜• ํŠน์ง•
Report Program (Executable) ALV(Grid) ๋ฆฌํฌํŠธ๋‚˜ ๋ฐฐ์น˜ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•œ ์‹คํ–‰ํ˜• ํ”„๋กœ๊ทธ๋žจ
Module Pool (Dialog Program) ํ™”๋ฉด(Screen, Dynpro)์„ ๊ฐ–๋Š” ๋Œ€ํ™”ํ˜• ํ”„๋กœ๊ทธ๋žจ
Function Group / Module ๊ณตํ†ต ๋กœ์ง์„ ๋ชจ๋“ˆํ™”ํ•˜์—ฌ ์žฌ์‚ฌ์šฉ ๊ฐ€๋Šฅ
Class / Interface ๊ฐ์ฒด์ง€ํ–ฅ ๊ตฌ์กฐ ์ง€์›
BADI / User-Exit / Enhancement ํ‘œ์ค€ ํ”„๋กœ๊ทธ๋žจ ์ˆ˜์ •์—†์ด ๊ธฐ๋Šฅ ํ™•์žฅ

 

 

์‹ค์ œ ์˜ˆ์‹œ - ๋‹จ์ˆœ Report ํ”„๋กœ๊ทธ๋žจ
  • zsales ํ…Œ์ด๋ธ”์—์„œ ์ตœ๊ทผ 30์ผ๊ฐ„ ๋งค์ถœ์„ ํ•ฉ์‚ฐํ•ด ์ถœ๋ ฅํ•˜๋Š” ๋ฆฌํฌํŠธ
REPORT zsales_report.

DATA: lv_total TYPE p DECIMALS 2,
      lt_sales TYPE TABLE OF zsales,
      ls_sales TYPE zsales.

SELECT * FROM zsales INTO TABLE lt_sales
  WHERE sales_date >= sy-datum - 30.

LOOP AT lt_sales INTO ls_sales.
  lv_total = lv_total + ls_sales-amount.
ENDLOOP.

WRITE: / '์ตœ๊ทผ 30์ผ๊ฐ„ ์ด ๋งค์ถœ์•ก:', lv_total.

 

 

SAP ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ - Data Dictionary (SE11)
  • Table : ์‹ค์ œ ๋ฐ์ดํ„ฐ ์ €์žฅ
  • View : ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์˜ ์กฐํ•ฉ (JOIN)
  • Data Element / Domain : ํ•„๋“œ๋ช…๊ณผ ํƒ€์ž… ์ •์˜
  • Structure : ์ž„์‹œ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ (SELECT ๊ฒฐ๊ณผ ์ €์žฅ ๋“ฑ)
  • Table Type : ๋‚ด๋ถ€ ํ…Œ์ด๋ธ” ๊ตฌ์กฐ ์ •์˜

 

SAP ์™ธ๋ถ€ ์—ฐ๋™
  • RFC (Remote Function Call)
    • SAP๊ฐ„ ๋˜๋Š” SAP <-> ์™ธ๋ถ€ ์‹œ์Šคํ…œ ๊ฐ„ ์›๊ฒฉ ํ•จ์ˆ˜ ํ˜ธ์ถœ
    • ์˜ˆ ) Java์—์„œ SAP์˜ Function Module ํ˜ธ์ถœ
  • BAPI (Business API)
    • SAP ์—์„œ ๊ณต์‹ ์ œ๊ณตํ•˜๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์šฉ API
    • ์˜ˆ ) BAPI_USER_CREATE1, BAPI_SALESORDER_CREATEFROMDAT2
  • IDoc (Intermediate Document)
    • ๋Œ€๋Ÿ‰ ๋ฐ์ดํ„ฐ ์ „์†ก์šฉ ๋น„๋™๊ธฐ ์ธํ„ฐํŽ˜์ด์Šค ํฌ๋งท
    • ์˜ˆ ) ERP -> MES, FI -> CO ๊ฐ„ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ
  • OData Service
    • Fiori ๋‚˜ ์™ธ๋ถ€ ์›น์•ฑ์—์„œ SAP ๋ฐ์ดํ„ฐ๋ฅผ REST API ์ฒ˜๋Ÿผ ํ˜ธ์ถœ ๊ฐ€๋Šฅ

 

๊ฐœ๋ฐœ ๋ฐ ๋ฐฐํฌ ๊ณผ์ •
  1. SE38 / SE80 ์—์„œ ABAP ์ฝ”๋“œ ์ž‘์„ฑ
  2. Syntax Check & Activation
  3. Transport Request ์ƒ์„ฑ (๊ฐœ๋ฐœ -> ํ…Œ์ŠคํŠธ -> ์šด์˜ ์ด๊ด€)
  4. ST22, SM37, SE11, SE16N ๋“ฑ์œผ๋กœ ๋””๋ฒ„๊น…/๋ชจ๋‹ˆํ„ฐ๋ง

 

์ž์ฃผ ์“ฐ์ด๋Š” ํŠธ๋žœ์žญ์…˜ ์ฝ”๋“œ (T-Code)
SE11 Data Dictionary
SE38 / SE80 ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ
SE37 Function Module ์‹คํ–‰
SE24 Class Builder
SE93 ํŠธ๋žœ์žญ์…˜ ์ฝ”๋“œ ์ƒ์„ฑ
ST22 ๋คํ”„ ๋ถ„์„ (Runtime Error Log)
SM37 ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์žก ๋ชจ๋‹ˆํ„ฐ๋ง
SE16N ํ…Œ์ด๋ธ” ๋ฐ์ดํ„ฐ ์กฐํšŒ
SU01 ์‚ฌ์šฉ์ž ๊ด€๋ฆฌ