TYPES ๋?
TYPES๋ ๋ณ์๊ฐ ์๋ ๋ณ์๋ฅผ ์์ฑํ๊ธฐ ์ํด ์ฐธ์กฐํ๋ `ํ์ ` ์ด๋ผ๊ณ ์๊ฐํ๋ฉด ๋ฉ๋๋ค.
๋ํ, TYPES๋ ๋ฉ๋ชจ๋ฆฌ์ ์ฌ๋ผ๊ฐ์ง ์์ต๋๋ค. ๋ณ์ ์์ฑ์ ์ํ ์ฐธ์กฐ์ผ ๋ฟ์ ๋๋ค.
BEGIN OF - END OF๋?
`BEGIN OF`๋ ABAP์์ ๊ตฌ์กฐ์ฒด(Structure)๋ฅผ ์ ์ํ ๋ ์ฌ์ฉ๋๋ ํค์๋์ ๋๋ค.
๊ตฌ์กฐ์ฒด๋ ์ฌ๋ฌ ๊ฐ์ ๋ฐ์ดํฐ ์์๋ฅผ ํ๋๋ก ๋ฌถ์ด์ ๊ด๋ฆฌํ ์ ์๋ ๋ฐ์ดํฐ ํ์์ ๋งํฉ๋๋ค.
`BEGIN OF`๋ ๊ตฌ์กฐ์ฒด์ ์์์ ํ์ํ๋ฉฐ, `END OF`๋ก ๊ตฌ์กฐ์ฒด์ ๋์ ํ์ํฉ๋๋ค.
BEGIN OF๋ฅผ ํตํด ๋ง๋ ๊ตฌ์กฐ์ฒด๋ Local Type ์ด๊ธฐ ๋๋ฌธ์ Function Module parameter๋ก ์ฌ์ฉํ์ง ๋ชปํฉ๋๋ค.
์ฌ์ฉ ์์
REPORT ZEXAMPLE.
TYPES: BEGIN OF ty_person,
name TYPE string,
age TYPE i,
END OF ty_person.
DATA: ls_person TYPE ty_person.
ls_person-name = 'John'.
ls_person-age = 30.
WRITE: / 'Name:', ls_person-name,
/ 'Age:', ls_person-age.
์์ ์์์์๋ 'ty_person'์ด๋ผ๋ ๊ตฌ์กฐ์ฒด๋ฅผ ์ ์ํ๊ณ , 'ls_person'์ด๋ผ๋ ๊ตฌ์กฐ์ฒด ๋ณ์๋ฅผ ์ ์ธํ์ฌ ์ฌ์ฉํ์ต๋๋ค.
๊ตฌ์กฐ์ฒด ๋ณ์๋ฅผ ํตํด ์ด๋ฆ๊ณผ ๋์ด๋ฅผ ํ๋์ ๋ณ์๋ก ๊ด๋ฆฌํ ์ ์์ต๋๋ค.