์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |
- Export
- dev
- ๋ชจ๋ํ
- Internal Table
- qas
- ์๊ณ ๋ฆฌ์ฆ
- ๊น์ด์ฐ์ ํ์
- ABAP
- ์ด๋ถํ์
- screen
- abap dictionary
- ๋จ๋ฐฉํฅํ์
- modify
- PRD
- ์ค๋ฒ2
- t์ฝ๋
- tasknumber
- ๋๋น์ฐ์ ํ์
- ์๋ฐฉํฅํ์
- Function Module
- ๋ฐฑ์ค
- ์คํธ๋ญ์ฒ
- call function
- select
- structure
- SAP
- Import
- ์ค๋ฒ3
- subscreen
- screen program
- Today
- Total
CS Student’s SAP&Tech Journey๐ซ
[SAP] ์ธํฐ๋ ํ ์ด๋ธ(Internal Table) (4) ํ ์ด๋ธ์์ ๋ฐ์ดํฐ ์์ , ์ญ์ , ์ ๋ ฌํ๊ธฐ ๋ณธ๋ฌธ
[SAP] ์ธํฐ๋ ํ ์ด๋ธ(Internal Table) (4) ํ ์ด๋ธ์์ ๋ฐ์ดํฐ ์์ , ์ญ์ , ์ ๋ ฌํ๊ธฐ
์ธํฌ๋งํฑ 2025. 2. 7. 21:42SAP ABAP์์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ๋ ์ธํฐ๋ ํ
์ด๋ธ(Internal Table, IT)์ ํ์์ ์ธ ๊ฐ๋
์
๋๋ค.
์ธํฐ๋ ํ
์ด๋ธ์ ํ๋ก๊ทธ๋จ ์คํ ์ค ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ ์์ ๋ฐ์ดํฐ ํ
์ด๋ธ๋ก, ๋๋์ ๋ฐ์ดํฐ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ ์ฅํ๊ณ ์กฐ์ํ๋ ๋ฐ ํ์ฉ๋ฉ๋๋ค.
์ด๋ฒ ๊ธ์์๋ ๋ฐ์ดํฐ ์์ , ์ญ์ , ์ ๋ ฌ์ ๋ํด ์์ธํ ์์๋ณด๊ฒ ์ต๋๋ค.
์ธํฐ๋ ํ ์ด๋ธ์ ๋ฐ์ดํฐ ์ฝ๋ ๋ฐฉ๋ฒ๊ณผ ๊ด๋ จ๋ ํฌ์คํ ๋ณด๋ฌ๊ฐ๊ธฐโฌ๏ธ
[ABAP] ์ธํฐ๋ ํ ์ด๋ธ(Internal Table) (3) ํ ์ด๋ธ์์ ๋ฐ์ดํฐ ์ฝ๊ธฐ
SAP ABAP์์ ๋ฐ์ดํฐ๋ฅผ ๋ค๋ฃฐ ๋ ์ธํฐ๋ ํ ์ด๋ธ(Internal Table, IT)์ ํ์์ ์ธ ๊ฐ๋ ์ ๋๋ค.์ธํฐ๋ ํ ์ด๋ธ์ ํ๋ก๊ทธ๋จ ์คํ ์ค ๋ฉ๋ชจ๋ฆฌ์ ์ ์ฅ๋๋ ์์ ๋ฐ์ดํฐ ํ ์ด๋ธ๋ก, ๋๋์ ๋ฐ์ดํฐ๋ฅผ ํจ๊ณผ์ ์ผ๋ก
informatik.tistory.com
1. ์ธํฐ๋ ํ ์ด๋ธ์์ ๋ฐ์ดํฐ ์์ (MODIFY TABLE)
โ ํน์ ๋ฐ์ดํฐ ์์ (READ TABLE + MODIFY)
READ TABLE gt_flight INTO gw_flight WITH KEY carrid = 'AA'.
IF sy-subrc = 0. * ๋ฐ์ดํฐ๊ฐ ์กด์ฌํ๋ ๊ฒฝ์ฐ
gw_flight-percentage = '99.99'. * ๊ฐ ๋ณ๊ฒฝ
MODIFY TABLE gt_flight FROM gw_flight. * ์์ ๋ ๋ฐ์ดํฐ ๋ฐ์
ENDIF.
๐ ํน์ง
- READ TABLE๋ก ํน์ ๋ฐ์ดํฐ ๊ฒ์ ํ MODIFY๋ก ๋ฐ์
- sy-subrc๋ฅผ ํ์ฉํด ๋ฐ์ดํฐ ์กด์ฌ ์ฌ๋ถ ์ฒดํฌ
- MODIFY๋ฅผ ์คํํ๋ฉด ๊ธฐ์กด ํ์ด ์ ๋ฐ์ดํธ๋จ
- READ TABLE ์์ด MODIFY TABLE์ ์คํํ๋ฉด ์ํ๋ ํ์ด ์์ ๋์ง ์์ ์๋ ์์
โ LOOP๋ฅผ ํ์ฉํ ์ฌ๋ฌ ๊ฐ ๋ฐ์ดํฐ ์์
LOOP AT gt_flight INTO gw_flight WHERE percentage < '50.00'.
gw_flight-percentage = '60.00'. * ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ฐ์ดํฐ ์์
MODIFY TABLE gt_flight FROM gw_flight.
ENDLOOP.
๐ ํน์ง
- WHERE ์กฐ๊ฑด์ ์ฌ์ฉํด ์ฌ๋ฌ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ํ ๋ฒ์ ์์ ๊ฐ๋ฅ
- LOOP๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ๋ณต์ ์ผ๋ก MODIFY๋ฅผ ์คํํ ํ์ ์์
- MODIFY๋ ํ ์ด๋ธ์ ์์ ํ ๋ ์ฑ๋ฅ์ด ์ ํ๋ ์ ์์ผ๋ฏ๋ก ํ ๋ฒ๋ง ์คํํ๋ ๊ฒ์ด ํจ์จ์
2. ์ธํฐ๋ ํ ์ด๋ธ์์ ๋ฐ์ดํฐ ์ญ์ (DELETE TABLE)
โ ํน์ Key ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ญ์ (DELETE ... WHERE)
DELETE gt_flight WHERE carrid = 'AA'.
๐ ํน์ง
- ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ๋ชจ๋ ๋ฐ์ดํฐ ์ญ์
- Standard, Sorted, Hashed Table ๋ชจ๋ ์ฌ์ฉ ๊ฐ๋ฅ
- Hashed Table์์๋ WHERE ์กฐ๊ฑด์ด ํ์ (Index ์ญ์ ๋ถ๊ฐ๋ฅ)
โ ํน์ Index์ ๋ฐ์ดํฐ ์ญ์ (DELETE ... INDEX)
DELETE gt_flight INDEX 3.
๐ ํน์ง
- ํน์ ์์น(Index)์ ์๋ ๋ฐ์ดํฐ ์ญ์ ๊ฐ๋ฅ
- Standard Table์์๋ง ์ฌ์ฉ ๊ฐ๋ฅ
โ LOOP๋ฅผ ํ์ฉํ ์ฌ๋ฌ ๊ฐ์ ๋ฐ์ดํฐ ์ญ์
LOOP AT gt_flight INTO gw_flight WHERE percentage < '50.00'.
DELETE gt_flight WHERE percentage < '50.00'.
ENDLOOP.
๐ ํน์ง
- WHERE ์กฐ๊ฑด์ ํ์ฉํด ํน์ ๊ฐ๋ณด๋ค ์์ ๋ฐ์ดํฐ ์ญ์
- ์ฌ๋ฌ ๊ฐ์ ๋ฐ์ดํฐ๋ฅผ ํ ๋ฒ์ ์ญ์ ๊ฐ๋ฅ
- ๋ฐ๋๋ก ์ญ์(DESCENDING)์ผ๋ก LOOP๋ฅผ ๋๋ฆฌ๋ฉด ์์ ํ๊ฒ ์ญ์ ๊ฐ๋ฅ
- LOOP ๋ด๋ถ์์ DELETE๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๊ฐ ์ญ์ ๋๋ฉด์ Index๊ฐ ๋ณํ ์ ์์
3. ์ธํฐ๋ ํ ์ด๋ธ ์ ๋ ฌ (SORT TABLE)
๐ ๊ธฐ๋ณธ์ ์ผ๋ก Primary Key ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ๋จ
๐ ์ ๋ ฌ ๋ฐฉํฅ์ ASCENDING(์ค๋ฆ์ฐจ์) / DESCENDING(๋ด๋ฆผ์ฐจ์) ์ง์ ๊ฐ๋ฅ
๐ ์ฌ๋ฌ ๊ฐ์ ํ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ ๊ฐ๋ฅ
โ ๊ธฐ๋ณธ ์ ๋ ฌ (SORT ์ฌ์ฉ)
SORT gt_flight. " ๊ธฐ๋ณธ ์ ๋ ฌ (Primary Key ๊ธฐ์ค)
๐ ํน์ง
- ๊ธฐ๋ณธ ์ ๋ ฌ ๊ธฐ์ค์ Primary Key
- ์ ๋ ฌ ๊ธฐ์ค์ด ์์ผ๋ฉด ์ํ๋ฒณ ์์ ๋๋ ์ซ์ ์์๋๋ก ์ ๋ ฌ๋จ
โ ํน์ ํ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ
SORT gt_flight BY percentage.
๐ ํน์ง
- ํน์ ํ๋(percentage)๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ ๊ฐ๋ฅ
- ๊ธฐ๋ณธ๊ฐ์ ์ค๋ฆ์ฐจ์(ASCENDING)
โ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ (DESCENDING)
SORT gt_flight BY percentage DESCENDING.
๐ ํน์ง
- DESCENDING์ ์ฌ์ฉํ๋ฉด ํฐ ๊ฐ๋ถํฐ ์์ ๊ฐ ์์๋ก ์ ๋ ฌ๋จ
- ์ฑ๋ฅ ์ต์ ํ๋ฅผ ์ํด Sorted Table์ ์ฌ์ฉํ๋ฉด ์๋ ์ ๋ ฌ๋จ
โ ์ฌ๋ฌ ๊ฐ์ ํ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ
SORT gt_flight BY percentage DESCENDING carrid ASCENDING.
๐ ํน์ง
- percentage ๊ธฐ์ค์ผ๋ก ๋ด๋ฆผ์ฐจ์, ๊ฐ์ ๊ฐ์ด๋ฉด carrid ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌ
๐ฏ ์ ๋ฆฌ: ๋ฐ์ดํฐ ์์ , ์ญ์ , ์ ๋ ฌ ๋ฐฉ๋ฒ
๋ฐฉ๋ฒ | ์ค๋ช | |
๋ฐ์ดํฐ ์์ | MODIFY TABLE | ํน์ ํ์ ์ฐพ์์ ๊ฐ์ ๋ณ๊ฒฝ |
LOOP AT ... WHERE | ์ฌ๋ฌ ๊ฐ์ ํ์ ์กฐ๊ฑด์ ๋ง์ถฐ ๋ณ๊ฒฝ | |
๋ฐ์ดํฐ ์ญ์ | DELETE ... WHERE | ํน์ ์กฐ๊ฑด์ ๋ง์กฑํ๋ ํ ์ญ์ |
DELETE ... INDEX | ํน์ ์์น(Index)์ ํ ์ญ์ | |
๋ฐ์ดํฐ ์ ๋ ฌ | SORT TABLE | ๊ธฐ๋ณธ ์ ๋ ฌ (Primary Key ๊ธฐ์ค) |
SORT ... BY ํ๋๋ช | ํน์ ํ๋ ๊ธฐ์ค ์ ๋ ฌ | |
SORT ... BY ํ๋๋ช DESCENDING | ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ |