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 ์ฒ๋ผ ํธ์ถ ๊ฐ๋ฅ
๊ฐ๋ฐ ๋ฐ ๋ฐฐํฌ ๊ณผ์
- SE38 / SE80 ์์ ABAP ์ฝ๋ ์์ฑ
- Syntax Check & Activation
- Transport Request ์์ฑ (๊ฐ๋ฐ -> ํ ์คํธ -> ์ด์ ์ด๊ด)
- 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 | ์ฌ์ฉ์ ๊ด๋ฆฌ |
'ETC.' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [SAP] SAP์ ๋ํด์ ์์๋ณด์ (2) | 2025.10.21 |
|---|---|
| [Jenkins] ํ์ดํ๋ผ์ธ(Pipeline) ๋ฌธ๋ฒ (0) | 2025.10.12 |
| [Svelte] Svelte๋ ๋ฌด์์ธ๊ฐ (2) | 2025.08.18 |
| [Server] Redis ์๋ฒ๋? (0) | 2025.03.29 |
| [Big Query] Google Cloud ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค Big Query (2) | 2025.03.09 |