ERP-SAP/SAP기초사용법

<ABAP> 쉽고 간단하게 배우는 기초 ABAP 02편 (기초선언)

행복한워니의 기록 2024. 7. 18. 11:46
728x90
반응형

(반말로 진행하는 점 양해부탁합니다. 논산훈련소 조교가 가르치는 느낌으로 읽으세요. ㅎㅎ)

좌~~오늘은 아밥의 기초이면서도 가장 중요한
선언문에 대해 배워보기로 하자!

먼저 아래 미리 교관(?) 이 작성해둔
선언문 1.2.3을 보도록 한다.
해설은 이 사진 밑에 쓰겠다.


어떤가... 처음 보면 뭔말이야? 왜 저리하는거고 의미는 뭐지? 하겠지.....

맞다... 본 교관도 처음 아밥 배울때 저걸 왜저리 하는지 몰랐다.. 왜 저걸해야하는지 목표가 없었으니까..

그러므로 목표부터 적어보겠다.

"우리는 sflight 이름의 DB 에서 데이터를 가져다가 가공해서 출력할 것이다!"


그게 뭐냐고?
이 db는 sap에서 교육할때 자주 등장하는 교육예시DB이다.. 항공관련 DB 이므로 뭐 중요한건 아니고 연습하라고 만든 DB니까.......

신경 쓰지말고.. ㅎㅎ

아래 사진을 보자
t-code : se11 에서 sflight 를 데이터베이스에 넣고 조회해보자.


이런게 나온다면 성공!!!!

필드명과 앨리먼트와 데이터 형식 길이 내역이 보이는데 세세한거 다 설명하면 날 세니까..
우선 이 db안에 들어있는 데이터를 보자...

버튼 기술적셋팅옆에 파란색 네모인 내용버튼 (Shift + ctrl + f10) 을 눌러보자.

이렇게 아래와 같이 조회조건을 넣을 수 있는
필드창들이 나오고, 맨 왼쪽 실행버튼 F8을 누르면
데이터를 볼 수 있다


자 그럼 데이터가 어떻게 들어있는지는 다 보았다..
여기까진 편하게 봤다면
이제 진짜 메인 본론으로 들어가자....

"저 눈에 보이는 데이터를 스트럭쳐나 테이블에 담아
데이터를 출력하거나 컨트롤 하는게 목표"


그렇기에 선언을 해서 거기다 담을 생각을 하는 것이다.


자 그럼 다시 맨 위 사진을 들여다보자.
스트럭쳐와 테이블(데이터 바구니라 보자)에 대한 설명을 하겠다.

스트럭쳐는 1개의 라인을 저장한다 보면된다.
저 위 db에 여러 라인들이 있는데
그중에 1라인만 담을 수 있다.
아주 얕아서 1라인만 담는 바구니라 보자.

인터널테이블은 저 db에 있는 모든 라인을 담을 수 있다.  아주아주 깊은 바구니라 보면 된다.


그럼 1번..선언은

data : 데이터 담을 바구니 선언할께
gs_sfli2 : 나 스트럭쳐 이름 이렇게 만들껴
(글로벌로 갖다쓰려고 g 스트럭쳐라 s 해서 지은것임)
type : 스트럭쳐의 모양은 말이야
sflight : 이 db 모양하고 똑같이 만들어줘

이래서
data : gs_sfli2 type sflight. 로 선언한것이다.


그럼 위 스트럭쳐 만들면 인터널 테이블은?
like 를 기억하라 ..
위와 다 동일한데
gt_sfli2 : 인터널 테이블 이름은 이걸로 할래.
like table of : ~~처럼 테이블로 만들어줘
gs_sfli2 : 이 스트럭쳐처럼(테이블로 만들어줘)

like를 쓰면 좋은 점은 만약 스트럭쳐의 type 이후 속성을 다른걸로 바꿔도 밑에 인터널테이블 선언은 바꿀 필요가 없다. 왜? 스트럭쳐모양을 따라가기 때문에....

내 교육받을땐 like 강추였는데 요즘은 @data 뉴아밥이 있어서 뭐.. ㅎㅎㅎㅎㅎ


자 그럼 2번째 선언을 보자.
이건 인터널 테이블을 먼저 선언하네?
그리고 그 기준으로 스트럭쳐를 만드네?

1번을 이해했으면 2번은 껌이다...

보자마자 눈치챈다.

"아 type을 써서 인터널 테이블을 만드려면 type table of 를 쓰면 되는구나!! "

"그리고 그 인터널 테이블 기준으로 like line of 를 쓰면 스트럭쳐가 되는구나!!!"

껌이다.... 그냥 이 규칙만 외우면 초급에서 선언문은 문제가 1도 없다.

마지막 3번...

저 db에 모든 필드값을 다 가져오는건 어찌보면 메모리 낭비다...
딱 필요한 키 필드들만 가져오면 좋지 않나?
혹은 키필드 + 금액 같은 정말 중요한 값만 필요하다면...
직접 바구니를 만들어 보자....


data : 바구니 만들래
begin of gs_sflight, : 자 gs_sflight의 이름으로
바구니 만들기 여기서부터 시작한다?

필드 like db-필드,
필드2 like db-필드2
.
.
.

end of gs_slight. : 여기까지가 바구니 만들기 끝!!!

(gs_sflight 란이름이 비긴~~과 엔드~~ 뒤에 똑같지?!)

그 후에 이걸 기준으로 인터널 테이블을 만든다?

더쉽네... 1번과 같네...

like table of gs_sflight 하면 되네.....


자 그럼 여기까지가 선언의 기초였다..

사실 매우매우 다양한 선언 모양들이 있다만
초급에게 다 설명하기란 무리가 있으니
천리길도 한걸음부터다....

나와같이 짜고 촛불버튼 눌러 active가 뜬다면
선언은 성공이다.


이렇게 쉽게 설명했는데 못알아듣는다면
댓글남겨라... 1대1과외해드린다.
(이글을 쓰는 시점에 유투버들의 거마비 이슈들이 나오던데 거마비만 달라..2500만원 5000만원 주면 삶에 큰 보탬이 되겠다.. 농담이다..)


다음편에는 위 선언한 스트럭쳐와 테이블에
값을 담아보겠다...

폰으로 블로그 글쓰니 엄지손가락이 쥐가 날 것 같다...
ㅠㅜ
댓글도 달아주고 응원도 해준다면 3편도 빨리 쓰겠다.. 약속..



728x90
반응형