์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ๊น์ด์ฐ์ ํ์
- abap dictionary
- dev
- PRD
- Export
- call function
- screen program
- tasknumber
- ์ค๋ฒ2
- qas
- ์คํธ๋ญ์ฒ
- ์๋ฐฉํฅํ์
- t์ฝ๋
- ๋๋น์ฐ์ ํ์
- Internal Table
- Function Module
- ABAP
- ๋ฐฑ์ค
- select
- ๋จ๋ฐฉํฅํ์
- ์๊ณ ๋ฆฌ์ฆ
- subscreen
- modify
- Import
- ์ด๋ถํ์
- structure
- SAP
- ๋ชจ๋ํ
- ์ค๋ฒ3
- screen
- Today
- Total
๋ชฉ๋กSAP/ABAP ๋ฌธ๋ฒ | Open SQL (8)
CS Student’s SAP&Tech Journey๐ซ

SAP ์์คํ ์์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃจ๊ธฐ ์ํด์ OPEN SQL ๋ฌธ๋ฒ์ ๋ฐ๋์ ์ตํ์ผ ํฉ๋๋ค. ABAP์์ ์ฌ์ฉํ๋ OPEN SQL์ SAP ๋ด๋ถ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ธํฐํ์ด์ค๋ฅผ ๊ฑฐ์ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ง๊ฒ ์๋์ผ๋ก ๋ณํ๋๊ธฐ ๋๋ฌธ์, ๊ฐ๋ฐ์๋ ์ผ๊ด๋ ๋ฐฉ์์ผ๋ก DB ์์ ์ ํ ์ ์๋ ์ฅ์ ์ด ์์ต๋๋ค.์ด๋ฒ ํฌ์คํ ์์๋ ๋ฐ์ดํฐ ์ฝ์ (INSERT), ์์ (UPDATE), ์ญ์ (DELETE) ๊ทธ๋ฆฌ๊ณ ํธ๋์ญ์ ์ฒ๋ฆฌ(COMMIT / ROLLBACK) ๋ฐฉ์๊น์ง ์ค์ต ์์ ์ ํจ๊ป ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค. โ OPEN SQL ๊ตฌ์กฐ์ ๊ฐ๋ ABAP์์ ์ฌ์ฉํ๋ SQL = OPEN SQL๋ด๋ถ์ ์ผ๋ก๋ DB ์ธํฐํ์ด์ค → Native SQL๋ก ์๋ ๋ณํ๋ฉ๋๋ค.์: SELECT * FROM SCARR → MSSQL, HANA DB ํ์์ผ๋ก ๋ณํ๋์ด ์ค..

SAP ABAP์์ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ์กฐํํ๊ณ ๋ถ์ํ๋ ค๋ฉด ์ง๊ณ ํจ์(Aggregate Function)๋ฅผ ํ์ฉํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์ง๊ณ ํจ์๋ ์ฌ๋ฌ ํ(Row)์ ๊ฐ์ ํ๋์ ๊ฒฐ๊ณผ ๊ฐ์ผ๋ก ๊ณ์ฐํ๋ ํจ์๋ก, SQL๊ณผ ํจ๊ป ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ฒ๋ฆฌํ ์ ์์ต๋๋ค.์ด๋ฒ ํฌ์คํ ์์๋ ABAP์์ ์ฌ์ฉํ ์ ์๋ ์ง๊ณ ํจ์์ ์ข ๋ฅ์ ํ์ฉ๋ฒ์ ์ ๋ฆฌํด๋ณด๊ฒ ์ต๋๋ค. ๐ 1. ์ง๊ณ ํจ์(Aggregate Function)๋?์ง๊ณ ํจ์๋ ํ ์ด๋ธ์ ์ฌ๋ฌ ํ(Row) ๋ฐ์ดํฐ๋ฅผ ํ๋์ ๊ฐ์ผ๋ก ๋ณํํ๋ ํจ์์ ๋๋ค.์๋ฅผ ๋ค์ด, ํ์ ํ ์ด๋ธ์์ ์ต๋ ๋์ด, ์ต์ ๋์ด, ์ ์ฒด ํ์ ์, ํ๊ท ์ฐ๋ด ๋ฑ์ ๊ตฌํ ๋ ์ฌ์ฉํ ์ ์์ต๋๋ค. โ ABAP์์ ์ฌ์ฉ ๊ฐ๋ฅํ ์ง๊ณ ํจ์โญ ๊ดํธ์์ ๋์ด์ฐ๊ธฐ ๊ผญ ์ฃผ์ํ ๊ฒ!์ง๊ณ ํจ์์ค๋ช MI..
SAP ABAP์์๋ Open SQL์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ์ง์ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ ์ ์์ต๋๋ค. ๋จ์ผ ํ ์กฐํ(SELECT SINGLE)๋ถํฐ ๋ค์ค ํ ์กฐํ(SELECT LOOP, ARRAY FETCH)๊น์ง ๋ค์ํ ๋ฐฉ๋ฒ์ด ์์ผ๋ฉฐ, ์ด๋ฅผ ํจ์จ์ ์ผ๋ก ํ์ฉํ๋ฉด ์ฑ๋ฅ์ ์ต์ ํํ ์ ์์ต๋๋ค. ์ด๋ฒ ๊ธ์์๋ Open SQL์ ํ์ฉํ DB ์กฐํ ๋ฐฉ์๊ณผ ์ฑ๋ฅ ์ต์ ํ ๋ฐฉ๋ฒ์ ์์ธํ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ธํฐ๋ ํ ์ด๋ธ์์ ๋ฐ์ดํฐ ์ฝ๋ ๋ฐฉ๋ฒ์ ๊ด๋ จ๋ ํฌ์คํ ๋ณด๋ฌ๊ฐ๊ธฐ โฌ๏ธ [ABAP] ์ธํฐ๋ ํ ์ด๋ธ(Internal Table) (3) ํ ์ด๋ธ์์ ๋ฐ์ดํฐ ์ฝ๊ธฐSAP ABAP์์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ๋ ์ธํฐ๋ ํ ์ด๋ธ(Internal Table, IT)์ ํ์์ ์ธ ๊ฐ๋ ์ ๋๋ค.์ธํฐ๋ ํ ์ด๋ธ์ ํ๋ก๊ทธ๋จ ์คํ ์ค ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ ์์ ๋ฐ์ด..

ABAP์์๋ SELECT๋ฌธ์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ์์ ์ ๋ณด๋ฅผ ์กฐํํ ์ ์์ต๋๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ SE11/SE16์ ํ์ฉํ ํ ์ด๋ธ ๊ฒ์, SELECT SINGLE๊ณผ SELECT์ ์ฐจ์ด์ , ๊ทธ๋ฆฌ๊ณ SCARR ํ ์ด๋ธ์ ํ์ฉํ ํญ๊ณต์ฌ ์ฝ๋ ์กฐํ ํ๋ก๊ทธ๋จ์ ๋ค๋ฃจ๊ฒ ์ต๋๋ค. ๐ฉ SE11/SE16์ ํ์ฉํ ํ ์ด๋ธ ๊ฒ์ ๐ SAP์์ ํ ์ด๋ธ ๊ตฌ์กฐ๋ฅผ ํ์ธํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์กฐํํ ๋, SE11๊ณผ SE16 ํธ๋์ญ์ ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.1. SE11 (ABAP Dictionary)SE11์ ์ฌ์ฉํ๋ฉด ํน์ ํ ์ด๋ธ์ ๊ตฌ์กฐ, ํ๋, ๋๋ฉ์ธ, ๋ฐ์ดํฐ ์์ ๋ฑ์ ํ์ธํ ์ ์์ต๋๋ค.ํธ๋์ญ์ ์ฝ๋ SE11 ์คํํ ์ด๋ธ ์ด๋ฆ ์ ๋ ฅ (์: SCARR)"Display" ๋ฒํผ ํด๋ฆญํ ์ด๋ธ ๊ตฌ์กฐ ๋ฐ ํ๋ ํ์ธ2. SE16 (Dat..
SAP ์์คํ ๋ณ์(SY-XXXX)๋ ํ๋ก๊ทธ๋จ ์คํ ์ค์ ์์คํ ์์ ์ ๊ณตํ๋ ์ ๋ณด๋ค์ ์ ์ฅํ๋ ๋ด์ฅ ๋ณ์์ ๋๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ ์ฃผ์ ์์คํ ๋ณ์์ ๊ทธ ํ์ฉ๋ฒ์ ์ ๋ฆฌํ๊ฒ ์ต๋๋ค. ๐ ์ฃผ์ SAP ์์คํ ๋ณ์ ๋ฐ ํ์ฉ๋ฒ1. SY-MANDT (ํด๋ผ์ด์ธํธ ๋ฒํธ)ํด๋ผ์ด์ธํธ(client) ๋ฒํธ๋ฅผ ๋ํ๋ด๋ฉฐ, ๋ฉํฐ ํด๋ผ์ด์ธํธ ํ๊ฒฝ์์ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ๋ถํ๋ ๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.2. SY-UNAME (ํ์ฌ ์ฌ์ฉ์ ID)ํ์ฌ ๋ก๊ทธ์ธํ ์ฌ์ฉ์ ID๋ฅผ ๊ฐ์ ธ์ฌ ๋ ์ฌ์ฉ๋ฉ๋๋ค.3. SY-LANGU (์ฌ์ฉ์ ์ธ์ด ์ฝ๋)๋ก๊ทธ์ธํ ์ฌ์ฉ์์ ์ธ์ด ์ค์ ์ ๋ํ๋ด๋ฉฐ, ๋ค๊ตญ์ด ์ฒ๋ฆฌ์ ์ ์ฉํฉ๋๋ค.4. SY-DATUM (ํ์ฌ ๋ ์ง)ํ์ฌ SAP ์์คํ ์ ๋ ์ง๋ฅผ ๊ฐ์ ธ์ต๋๋ค.5. SY-UZEIT (ํ์ฌ ์๊ฐ)ํ์ฌ ์๊ฐ์ ์:๋ถ:์ด ํ์์ผ๋ก ๊ฐ์ ธ์ต๋๋ค...
ABAP์์ ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ๋ ๋ฐฉ๋ฒ์ ์ตํ๋ฉด ๋ค์ํ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ๋ก์ง ๊ตฌํ์ด ๊ฐ๋ฅํฉ๋๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ DO, WHILE ๋ฐ๋ณต๋ฌธ์ ์์๋ณด๊ฒ ์ต๋๋ค. 1. DO ๋ฐ๋ณต๋ฌธDO ๋ฐ๋ณต๋ฌธ์ ํน์ ํ์๋งํผ ๋ฐ๋ณตํ ๋ ์ฌ์ฉ๋ฉ๋๋ค.1) ๋ฌดํ ๋ฃจํ ์ข ๋ฃ (DO ... IF EXIT.)DO ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํ ๋ EXIT ๋ฌธ์ ํ์ฉํ์ฌ ํน์ ์กฐ๊ฑด์์ ๋ฃจํ๋ฅผ ์ข ๋ฃํ ์ ์์ต๋๋ค.DATA lv_count TYPE i VALUE 0.DO. lv_count = lv_count + 1. WRITE: / '๋ฐ๋ณต ํ์:', lv_count. IF lv_count >= 5. EXIT. ENDIF.ENDDO. ์์ ์์ lv_count ๊ฐ์ด 5 ์ด์์ด ๋๋ฉด ๋ฃจํ๋ฅผ ์ข ๋ฃํฉ๋๋ค.2) ๋ฃจํ ํ์ ์ง์ (DO ..
ABAP์์ ์กฐ๊ฑด๋ฌธ๊ณผ ๋ ผ๋ฆฌ ์ฐ์ฐ์๋ ํ๋ก๊ทธ๋จ์ ํ๋ฆ์ ์ ์ดํ๋ ์ค์ํ ์์์ ๋๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ IF, ELSEIF, ELSE์ ๊ธฐ๋ณธ ๋ฌธ๋ฒ๊ณผ IS NOT INITIAL๊ณผ ์ ์ฐจ์ด, BETWEEN, CA ๋ฑ์ ์กฐ๊ฑด ์ฐ์ฐ์ ํ์ฉ๋ฒ์ ๋ค๋ฃจ๊ฒ ์ต๋๋ค. ๐ IF, ELSEIF, ELSE ๊ธฐ๋ณธ ๋ฌธ๋ฒ ABAP์ ์กฐ๊ฑด๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ ๊ตฌ์กฐ๋ก ์์ฑ๋ฉ๋๋ค.IF ์กฐ๊ฑด. " ์กฐ๊ฑด์ด ์ฐธ์ผ ๊ฒฝ์ฐ ์คํ๋๋ ์ฝ๋ELSEIF ๋ค๋ฅธ_์กฐ๊ฑด. " ์ฒซ ๋ฒ์งธ ์กฐ๊ฑด์ด ๊ฑฐ์ง์ด๊ณ , ๋ ๋ฒ์งธ ์กฐ๊ฑด์ด ์ฐธ์ผ ๊ฒฝ์ฐ ์คํ๋๋ ์ฝ๋ELSE. " ์์ ๋ชจ๋ ์กฐ๊ฑด์ด ๊ฑฐ์ง์ผ ๊ฒฝ์ฐ ์คํ๋๋ ์ฝ๋ENDIF.์์ ) ์ซ์์ ์์, ์์, 0 ํ๋จํ๊ธฐDATA lv_number TYPE i VALUE 10.IF lv_number > 0. WRITE..

๐ท ๋ฌธ๋ฒ ๊ฒ์ฌ ๋ฐ ์ฝ๋ ๊ด๋ฆฌ๋ฌธ๋ฒ ๊ฒ์ฌ:ํด๋ฐ์ Check ๋ฒํผ: ์ฝ๋์ ๋ฌธ๋ฒ ์ค๋ฅ๊ฐ ์๋์ง ํ์ธ.๋ณ๊ฒฝ ๋ชจ๋ ํ์ธ:Display ↔ Change ๋ชจ๋๋ฅผ ํ์ธํ์ฌ, ํ์ฌ ์ฝ๋๊ฐ ์์ ๊ฐ๋ฅํ ์ํ์ธ์ง ํ์ธ.์ฝ๋ ํฌ๋งคํ :Utilities → Settings → Pretty Printer๋ฅผ ์ค์ ํ์ฌ ์ฝ๋ ์๋ ์ ๋ ฌ ๊ธฐ๋ฅ์ ํ์ฑํ. ๐ท ์ฝ๋ ์ ์ฅ ๋ฐ ์คํ์ ์ฅ:SAVE ๋ฒํผ์ ๋๋ฌ ์ฝ๋๋ฅผ ์ ์ฅํ๋ฉด inactive ์ํ๋ก ์ ํ.Active ์ํ:ํด๋ฐ์ Active ๋ฒํผ์ ๋๋ฌ ํ๋ก๊ทธ๋จ์ ํ์ฑํ(inactive ์ํ๋ฅผ active๋ก ๋ณ๊ฒฝ).Active ๋ฒํผ์ ์ ์ฅ + ๋ฌธ๋ฒ ์ฒดํฌ ๊ธฐ๋ฅ์ ํฌํจ.์คํ:Active ์ํ์์ ํ๋ก๊ทธ๋จ์ ์คํ. ๐ทABAP ์ฝ๋ ์์ฑ ๊ท์น๋ฌธ์ฅ์ ๋: ํญ์.(์ )์ผ๋ก ๋๋ธ๋ค.๋ช ๋ น์ด๋ ๋์๋ฌธ์ ๊ตฌ..