SAP ABAP ์ธ์ด์์ `SORT`์ `SORT BY`๋ ๋ด๋ถ ํ ์ด๋ธ์ ๋ ์ฝ๋๋ฅผ ์ ๋ ฌํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ ๊ฐ์ง ๊ตฌ๋ฌธ์ ๋๋ค.
SORT ๋?
`SORT`๋ ๋ด๋ถ ํ ์ด๋ธ์ ๋ ์ฝ๋๋ฅผ ์ ๋ ฌํ๋ ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์ ๋ ฌ ๊ตฌ๋ฌธ์ ๋๋ค.
๋ชจ๋ ํ๋์ ๋ํด ์ ๋ ฌ๋๋ฉฐ ๊ธฐ๋ณธ์ ์ผ๋ก ์ค๋ฆ์ฐจ์์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค.
SORT lt_table.
์์ ์ฝ๋์์ `lt_table`์ ์ ๋ ฌํ๋ ค๋ ๋ด๋ถ ํ ์ด๋ธ์ ๋ํ๋ ๋๋ค.
์ด ๊ตฌ๋ฌธ์ ๋ชจ๋ ํ๋์ ๋ํด ์ค๋ฆ์ฐจ์์ ์ ๋ ฌํฉ๋๋ค.
`SORT` ๊ตฌ๋ฌธ์ ํ ์ด๋ธ์ ์ ๋ ฌํ ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ํ ์ด๋ธ์ ์๋ ๋ชจ๋ ํ๋๋ฅผ ๊ณ ๋ คํฉ๋๋ค.
์์
DATA: lt_table TYPE TABLE OF string,
lv_value TYPE string.
* ๋ฐ์ดํฐ ์ถ๊ฐ
APPEND 'Apple' TO lt_table.
APPEND 'Orange' TO lt_table.
APPEND 'Banana' TO lt_table.
APPEND 'Grapes' TO lt_table.
* ๋ด๋ถ ํ
์ด๋ธ ์ ๋ ฌ
SORT lt_table.
* ์ ๋ ฌ๋ ๋ฐ์ดํฐ ์ถ๋ ฅ
LOOP AT lt_table INTO lv_value.
WRITE: / lv_value.
ENDLOOP.
SORT BY ๋?
`SORT BY` ๊ตฌ๋ฌธ์ ํน์ ํ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ ๋ ์ฌ์ฉํฉ๋๋ค.
SORT lt_table BY field1 field2.
์์ ์ฝ๋์์ `lt_table` ์ ์ ๋ ฌํ๋ ค๋ ๋ด๋ถ ํ ์ด๋ธ์ ๋ํ๋ด๋ฉฐ, `field1` ๊ณผ `field2` ๋ ์ ๋ ฌ ๊ธฐ์ค ํ๋์ ๋๋ค. ์ฌ๋ฌ ํ๋๋ฅผ ์ง์ ํ ์ ์๊ณ , ๊ฐ ํ๋๋ ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌ๋ฉ๋๋ค.
`SORT BY`๋ฅผ ์ฌ์ฉํ๋ฉด ์ ๋ ฌ ์์์ ๊ธฐ์ค ํ๋๋ฅผ ๋ ๋ช ํํ๊ฒ ์ ์ดํ ์ ์์ต๋๋ค. ์ด๋ ํน์ ํ๋์ ๋ํด ์ ๋ ฌ์ ์ํํ๊ณ ์ ํ ๋ ์ ์ฉํฉ๋๋ค.
์์
`COPY_LT_TABLE` ์ `NUM` ํ๋๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๋ ์์ ์ ๋๋ค.
TYPES: BEGIN OF LT_TABLE,
FRUIT TYPE STRING,
NUM TYPE I,
END OF LT_TABLE.
DATA: COPY_LT_TABLE TYPE TABLE OF LT_TABLE,
LV_VALUE TYPE LT_TABLE.
* ๋ฐ์ดํฐ ์ถ๊ฐ
LV_VALUE-FRUIT = 'Apple'.
LV_VALUE-NUM = 3.
APPEND LV_VALUE TO COPY_LT_TABLE.
LV_VALUE-FRUIT = 'Orange'.
LV_VALUE-NUM = 2.
APPEND LV_VALUE TO COPY_LT_TABLE.
LV_VALUE-FRUIT = 'Banana'.
LV_VALUE-NUM = 1.
APPEND LV_VALUE TO COPY_LT_TABLE.
* ๋ด๋ถ ํ
์ด๋ธ ํน์ ํ๋ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ
SORT COPY_LT_TABLE BY NUM.
* ์ ๋ ฌ๋ ๋ฐ์ดํฐ ์ถ๋ ฅ
LOOP AT COPY_LT_TABLE INTO LV_VALUE.
WRITE: / LV_VALUE-NUM, LV_VALUE-FRUIT.
ENDLOOP.
๋ด๋ฆผ์ฐจ์ ์ ๋ ฌ ๋ฐฉ๋ฒ
๋ด๋ฆผ์ฐจ์์ ์์ ์ค๋ช ํ ์ค๋ฆ์ฐจ์์์ `DESCENDING`๋ง ์ถ๊ฐ ํ๋ฉด ๋ฉ๋๋ค.
SORT ๋ด๋ฆผ์ฐจ์
* ๋ด๋ฆผ์ฐจ์์ผ๋ก ๋ด๋ถ ํ ์ด๋ธ ์ ๋ ฌ
SORT lt_table DESCENDING.
SORT BY ๋ด๋ฆผ์ฐจ์
* ํน์ ํ๋๋ฅผ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ
SORT lt_table BY table_line DESCENDING.
์ฌ๋ฌ ํ๋์ ์ค๋ฆ์ฐจ์๊ณผ ๋ด๋ฆผ์ฐจ์ ์กฐ๊ฑด
๋ํ๋์ ๊ฐ์ง๊ณ SORTํ๋๋ฐ ํ๋์ ํ๋๋ ์ค๋ฆ์ฐจ์ ๋๋จธ์ง ํ๋๋ ๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌํ๊ณ ์ถ์ ๊ฒฝ์ฐ ์๋์ ๊ฐ์ด ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ฉด ๋ฉ๋๋ค.
SORT itab BY field1 ASCENDING field2 DESCENDING.
'๐งโ๐ผ SAP > ABAP' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[SAP ABAP] Local Data Type๊ณผ Global Data Type ์ด๋? (0) | 2024.03.19 |
---|---|
[SAP ABAP] Data Type ์ข ๋ฅ (0) | 2024.03.19 |
[SAP ABAP] TYPE TABLE OF ๋? (1) | 2024.01.08 |
[SAP ABAP] ์ค๋ณต ์ ๊ฑฐ DELETE ADJACENT DUPLICATES ๋? (1) | 2024.01.08 |
[SAP ABAP] WITH HEADER LINE ์ด๋? ์์ ํฌํจ (0) | 2024.01.05 |