์ด๋ฒ์ ์ค๋ช ํ AT ~ ENDAT ๊ตฌ๋ฌธ์ LOOP AT ๊ตฌ๋ฌธ ๋ด์ ์ฌ์ฉ ๊ฐ๋ฅํ๋ฉฐ,
์ธํฐ๋ ํ ์ด๋ธ์ ์์๊ณผ ๋ง์ง๋ง ํ, ํน์ ํ๋ ๊ธฐ์ค์ผ๋ก ๋ฐ์ดํฐ ๋ณ๊ฒฝ์ ์์๊ณผ ๋ง์ง๋ง ํ์ Catch ํ์ฌ ์ํ๋ ๋ก์ง์ ๋ฃ์ ์ ์๋ค.
์ค๋ฌด์์๋ ์ฃผ๋ก ์ด๋ฐ ๊ฒฝ์ฐ ๋ง์ด ์ฌ์ฉ๋๋ค.
- ํน์ ํ๋ ๊ธฐ์ค์ผ๋ก ์ค๊ฐ ํฉ๊ณ ๋๋ ์ดํฉ๊ณ ์ฐ์ถ ์
- ํน์ ํ๋ ๊ธฐ์ค์ผ๋ก Summary ์ธํฐ๋ ํ ์ด๋ธ ์ฌ๊ตฌ์ฑ์
- ์์ ์ ๋ก๋ ์ Row์ Col์ผ๋ก ๊ตฌ์ฑ๋ ์์ ๋ฐ์ดํฐ๋ฅผ ํน์ ์ธํฐ๋ ํ ์ด๋ธ๋ก ์ด๊ด ์
LOOP AT ๊ตฌ๋ฌธ ๋ด์ ์ฌ์ฉ๋๋ AT ~ ENDAT ๊ตฌ๋ฌธ์ ๋ค์๊ณผ ๊ฐ์ด 4๊ฐ์ง๊ฐ ์กด์ฌํ๋ฉฐ,
ํด๋น AT๊ตฌ๋ฌธ์ ๋ง๋ ์ธํฐ๋ ํ ์ด๋ธ์ ํ์ด Catch ๋๋ฉด, ๊ทธ ์์ ์์ฑํ ๋ก์ง์ด ์ํ์ด ๋๋ ๊ตฌ์กฐ๋ค.
AT FIRST. ~ ENDAT. | ์ธํฐ๋ํ ์ด๋ธ์ ์ฒซ๋ฒ์งธ ํ ( SY-TABIX = '1' ) |
AT LAST. ~ ENDAT. | ์ธํฐ๋ํ ์ด๋ธ์ ๋ง์ง๋ง ํ |
AT NEW ํ๋๋ช . ~ ENDAT. | ์ธํฐ๋ํ ์ด๋ธ์์ ๋ช ์ํ ํ๋์ ๊ฐ์ด ๋ณ๊ฒฝ์ด ์์๋ ํ |
AT END OF ํ๋๋ช . ~ ENDAT. | ์ธํฐ๋ํ ์ด๋ธ์์ ๋ช ์ํ ํ๋์ ๋ณ๊ฒฝ๋ ๊ฐ์ด ๋๋๋ ํ |
๋ค์์ GT_ITAB์ ํ์ ๊ฐ์ด ๋ฐ์ดํฐ๊ฐ ์์ ๋, AT ~ ENDAT ๊ตฌ๋ฌธ์์ Catch ๋๋ ํ์ ๋ณด์ฌ์ฃผ๊ณ ์๋ค.
CARRID ํ๋ ๊ฐ์ด 'AC', 'AF', 'SQ'์ธ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๊ฐ 1๊ฑด๋ง ์กด์ฌํ๋ฏ๋ก ๊ฐ ํ๋ง๋ค at new CARRID์ at end of CARRID ๋ ๋ค ์ํ๋๋ฉฐ, 'LH'์ธ ๊ฒฝ์ฐ ์์ํ๋ 3ํ์์ at new CARRID๊ฐ, ๋๋๋ 7ํ์์ at end of CARRID๊ฐ ์ํ๋๋ค. at first๋ ์ฒซ์งธ ํ์์, at last๋ ๋ง์ง๋ง ํ์ธ 8ํ์์ ์ํ๋๋ค.
์ฌ๊ธฐ์ ์ฃผ์ํด์ผ ํ ์ ์ ์์ ๋ฐ์ดํฐ ๊ธฐ์ค์ผ๋ก ๋ง์ฝ at new CONNID ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ค๋ฉด, 2ํ์ด 1ํ๊ณผ ๋์ผํ '820' ๊ฐ์์๋ at new CONNID ๊ตฌ๋ฌธ์ด ์ํ๋๋ค๋ ์ ์ด๋ค. ์ด๊ฒ์ at new CONNID ๊ตฌ๋ฌธ์ด CONNID ํ๋๋ง ๋ณด๋ ๊ฒ์ด ์๋๋ผ ๊ทธ ์์ ์ ์ธ๋ ํ๋(๋ค) ๋ํ ๊ธฐ์ค ํ๋๋ก ์ธ์ํ๊ธฐ ๋๋ฌธ์ด๋ค. ์ฆ, at new CONNID๋ ์ ํ๋๊น์ง ํฌํจํ at new CARRID + CONNID ์๋ฏธ๋ก ๋ณด๋ฉด ๋๋ค.
๋ฐ๋ผ์ at new ~์ at end of ~ ์ฌ์ฉ ์์๋ ๋ค์ ์ฌํญ์ ๊ผญ ์ฒดํฌํ๋๋ก ํ์.
- ๋ช ์ํ ํ๋ ๊ธฐ์ค์ผ๋ก ์ธํฐ๋ ํ ์ด๋ธ์ ์ ๋ ฌํ ๊ฒ
- ๋ช ์๋ ํ๋๊ฐ ์ธํฐ๋ ํ ์ด๋ธ ํ๋ ์ค ๋ช ๋ฒ์งธ ์์์ ์๋์ง ํ์ธํ๊ณ ์ฌ์ฉํ ๊ฒ
AT ~ ENDAT ๊ตฌ๋ฌธ ๋ด์์ LOOP AT ๊ตฌ๋ฌธ์ Work area๋ ๋ค์๊ณผ ๊ฐ์ด ํน๋ณํ๊ฒ ๋์ํ๋ฏ๋ก ์ฝ๋ฉ ์ ์ ์ํด์ผ ํ๋ค.
- AT ๊ตฌ๋ฌธ ๋ด์์๋ Work area ํ๋ ์ค Character-type ํ๋๋ ์๋ฆฟ์๋งํผ ' * ' ๋ก ๋ณํ๋จ.
- AT ๊ตฌ๋ฌธ ๋ด์์๋ Work area ํ๋ ์ค Character-type ์ธ ํ๋๋ ์ด๊ธฐ ๊ฐ(Initial Value)์ผ๋ก ๋ณํ๋จ.
- at new ~ , at end of ~ ์์๋ ๋ช ์ํ ํ๋ ํฌํจํ์ฌ ๋จผ์ ์ ์ธ๋ ํ๋๋ค์ ๊ธฐ์กด ๊ฐ ์ ์ง. (๋ณํ ์์)
- LOOP AT ๊ตฌ๋ฌธ ์์์ Work area ๊ฐ์ ๋ณ๊ฒฝํด๋ AT ๊ตฌ๋ฌธ์ ๋ค์ด๊ฐ๋ค ๋์ค๋ฉด ๋ค์ ๊ธฐ์กด ๊ฐ์ผ๋ก ์๋ณต ๋จ.
์ด๋ฌํ ์ ์ฝ(?) ์ฌํญ์ผ๋ก ์ค๋ฌด์์๋ Work area์ ๋์ผํ ๊ตฌ์กฐ์ฒด๋ฅผ ๋ณ๋๋ก ์ ์ธ ํ AT ๊ตฌ๋ฌธ ์ ์ Work area์ ๋ฐ์ดํฐ๋ฅผ ํด๋น ๊ตฌ์กฐ์ฒด์ ๋ด์ AT๊ตฌ๋ฌธ ๋ด์์ ํ์ฉํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์ฌ์ฉํ๋ค.
ํ๋ TIP์ด ์๋ค๋ฉด LOOP AT ๊ตฌ๋ฌธ์ Work area๋ฅผ ์ฌ์ฉํ์ง ์๊ณ ASSIGNING <Field symbol>์ ์ฌ์ฉํ๋ค๋ฉด AT ~ ENDAT ๊ตฌ๋ฌธ์์ ์ด๋ฐ ์ ์ฝ์ฌํญ ์์ด ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ์ ์ดํ ์ ์๋ค.
์ถ๊ฐ๋ก AT ~ ENDAT ๊ตฌ๋ฌธ ๋ด์ ๋ฐ์ดํฐ ํฉ๊ณ ์ ์ฌ์ฉ๋๋ " SUM. " ๋จ๋ ๊ตฌ๋ฌธ์ด ์๋ค. at first ~, at last ~ ๋ ์ ์ฒด ๋ฐ์ดํฐ ๊ธฐ์ค์ผ๋ก, at new ~, at end of ~ ๋ ๋ช ์ํ ํ๋์ ๋ฐ์ดํฐ ๊ธฐ์ค์ผ๋ก Numeric-type ํ๋๊ฐ ํฉ์ฐ๋์ด ํ์ฌ Work area์ ๋ฐ์๋๋ค. ๋ฌผ๋ก ์์ ๋งํ ๊ฒ๊ณผ ๊ฐ์ด ๊ณ์ฐ๋ ๊ฐ์ at ๊ตฌ๋ฌธ์ ๋น ์ ธ๋์ค๋ฉด ๊ธฐ์กด ๊ฐ์ผ๋ก ๋์์จ๋ค.
๋ํ LOOP AT ๊ตฌ๋ฌธ์ WHERE ์กฐ๊ฑด์ ๋ฃ์์ ๊ฒฝ์ฐ์ AT ๊ตฌ๋ฌธ์ด ์ ๋๋ก ์๋ํ์ง ์์ ์ ์๊ธฐ ๋๋ฌธ์ ํผํ๋ ๊ฒ์ด ์ข๋ค. AT ๊ตฌ๋ฌธ์ ํด๋น ์ธํฐ๋ ํ ์ด๋ธ์ ์ ์ฒด ๋ฐ์ดํฐ ๊ธฐ์ค์ผ๋ก ๋ผ์ธ์ ์ฒดํฌํ๊ธฐ ๋๋ฌธ์ WHERE ์กฐ๊ฑด์ผ๋ก ์ธํด AT ๊ตฌ๋ฌธ์ ํด๋นํ๋ ํ์ด SKIP ๋ ์ ์๋ค.
'ABAP Concept (๐๊ฐ๋ ) > Basic' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
SAP 3-Tier ๊ตฌ์กฐ ์ฝ๊ฒ ์ดํดํ๊ธฐ (0) | 2025.04.10 |
---|---|
|ABAP๊ฐ๋ ์ ๋ฆฌ| Function Module (ํจ์) ๊ตฌ์กฐ (0) | 2022.07.12 |
|ABAP ๊ฐ๋ ์ ๋ฆฌ| TABLES : Table Work Area (0) | 2020.09.16 |
|ABAP Overview| Enhancement Overview #2 (0) | 2020.09.14 |
|ABAP Overview| Enhancement Overview #1 (2) | 2020.09.10 |