예를 들어서 TABLES : cskt 와 같이 선언을 하면 SAP Dictionary상에서 Tranparent Table이던것이
하나의 Work Area로 선언이 되어서 작업이 수행된다고 알고 있습니다...
제가 이해하기로는 Work Area를 통해서 csks가 가지고 있던 데이터들을 넘겨준다고 알고 있습니다..
그런데 궁금한점이 Table 선언부에서 TABLES : cskt와 같이 선언하지 않고
바로
SELECT SINGLE ktext FROM cskt INTO gt_outtab-ktext....
이렇게 선언이 가능한것인지요..
질문인즉
TABLES 에서 기존의 Transparent Table을 Work Area로 선언하지 않고
(Work Area에서 데이터의 중개하는데)
Work Area의 선언없이
직접 Transparent Table의 값을 끌고 올수 있는지요??
답변부탁드립니다...
댓글 5
-
activeman
2009.04.09 08:04
-
SAYA
2009.04.09 17:10
SELECT SINGLE ktext
FROM cskt
INTO gt_outtab-ktext.
gt_outtab 이 헤더라인을 가져야 가능합니다.
-
우락부락
2009.04.09 18:18
TABLES 에서 기존의 Transparent Table을 Work Area로 선언하지 않고
(Work Area에서 데이터의 중개하는데)
gt_outtab이 Header Line을 가진다면 Work Area의 선언없이
직접 Transparent Table의 값을 끌고 올수 있는지요??
사실 실제 프로그램에서는 cskt 선언시 Tables를 선언하지 않고
SELECT SINGLE ktext
FROM cskt
INTO gt_outtab-ktext.
이렇게 쓰고 있거든요...
답변 부탁드립니다..
-
Jaden
2009.04.09 18:37
Select의 싱글이란 개념이 데이터 한건을 가져와 Work area 또는 단일 필드에 올려놓는 역할을 합니다
스트럭쳐와 일반 필드라면 연결된 위치에 맞게 into가 됩니다
보통 select single 구문을 썼을때 담기는 위치는
tables 선언시 - memory단으로 임시생성된 table의 Work area에 담김
structure/ variable 선언시 - 스트럭쳐/변수에 담김
internal table선언시(헤더있음) - 바디가 아닌 헤더에 담김
각각 다른 개념으로 이해하시면 됩니다.
gt_outtab이 Header Line을 가진다면 Work Area의 선언없이 직접 Transparent Table의 값을 끌고 올수 있습니다.
인터널 테이블의 헤더선언이 됐다는 얘기가 바디위에 work area를 구현했다는 말이니깐요ㅎ..
-
우락부락
2009.04.09 19:31
답변 주신 모든 분들께 감사드립니다^^
tables로 선언하지 않으면 에러가 납니다.
SELECT 구문으로 자료를 가져올때 buffer 기능을 하기 위해 tables로 선언해 주어야 한다고 help에 나와 있습니다.
즐밥하세요..