본문 바로가기
ERP-SAP/SAP기초사용법

<ABAP> 쉽고 간단하게 배우는 기초 ABAP 03편 (기초선언+데이터담기)

by 행복한워니의 기록 2024. 7. 19.
728x90
반응형

  이전편에 이어서...

https://nightsforu.tistory.com/m/521

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

(반말로 진행하는 점 양해부탁합니다. 논산훈련소 조교가 가르치는 느낌으로 읽으세요. ㅎㅎ) 좌~~오늘은 아밥의 기초이면서도 가장 중요한 선언문에 대해 배워보기로 하자! 먼저 아래 미리 교

nightsforu.tistory.com


위 선언부터 보고 와야 이어진다....

자 그럼 위에 선언해서 만든 바구니에 데이터를 담아야 한다....

자 3종류의 인터널테이블(사실 다 똑같이생긴 바구니) 에 똑같은 쿼리로 담아보자...

뭐 바구니가 다르면 안담기거나 덤프가 나야겠지?
시도해보자

(폰으로 써서 오타가 있어도 이해를.. 아래 사진참조)


SELECT * FROM sflight INTO TABLE gt_sfli2.

SELECT * FROM sflight INTO TABLE gt_sfli2.

SELECT * From sflight INTO CORRESPONDING FIELDS OF TABLE gt_sflight.

위에 처럼 쿼리를 날리고 바구니에 총 몇건이 들어있는지 write 문으로 출력해보았다...
1. 잘 담기고 2. 건수가 같으면
뭐 잘만든게 되겠지?


셋다 407건.. 문제 없이 담겨있다.

즉, 저 다른 방식의 선언문 자체는 다 똑같이 담아줄 바구니를 가지고 있다. 3번만 빼고...
3번은 우리가 begin of~~~ 로 해서 4개의 필드만 있는 바구니를 만들었지?? 그러니 내부모양은 다르단 뜻이다.

그럼 디버깅을 해서 내부를 구경해보자

(SAP의 막강한 기능이다..... 디버깅모드..) 화면에서 멈추고 싶은 곳에 (CTRL+SHIFT +F12) 브레이크포인트를 찍어보자..


폰을 바꿨더니 사진이 달라지네...

아무튼 저 버튼을 눌러 디버깅을 잡고

실행을 했다... 당연히 F8 눌러서 실행하면
브레이크 포인트 걸린데 딱 멈춘다

아래 화면과 같이 걸리고
인터널 테이블을 더블클릭해서 오른쪽에 다 띄웠다




아래와 같이 맨 위 인터널 테이블을 더블클릭해서
들어가보면 아래와같이 필드들이 보인다..
sflight 의 모든 필드가 존재한다..

그러면 우리가 begin of 로 만든 바구니는
모양이 어떨까?

F3으로 나와 gt_sflight를 더블클릭해보자.


엄마.. 우리가 선언한 필드에 데이터만 잘 들어가있다.


자... 그럼 여기서 끝???
아니다.. 우리 3번 인터널테이블의 값을 채우기 위해 select 할때 조금 다르게 쿼리를 넣었다.

SELECT * From sflight INTO CORRESPONDING FIELDS OF TABLE gt_sflight

저 INTO corresponding~~~~ table 은
무슨 의미일까???

여기까지만 알아보고 끝낼거다...

저 구문은 바구니가 DB랑 똑같이 생기지 않았을 때
쓰는 구문이다.
즉, 필드순서가 다르거다 필드 갯수가 다를 때....
INTO CORRES...... 구문을 쓰면
자동으로 같은 필드이름에 데이터가 숑숑 들어간다.

장점은 편하다...
단점은 1대1로 탁탁 선언해서 순서맞춰 필드명 넣은것 보다 느린데
뭐 거의 티가 안난다만 지양하는 곳도 있다.

요즘은 저렇게 위에 선언하기 보다
필드를 SELECT 할때 써넣은 후에
@DATA 해서 직접 만들며 넣으니......
INTO CORRESPONDING을 안써도 될것이다만..

참고해두길 바란다..^^

이상 오늘 수업 끝!!!!







728x90
반응형