report GLACCOUNT.
tables : skb1.
data : begin of it_2 occurs 0,
fstag like skb1-fstag,
bukrs like skb1-bukrs,
saknr like skb1-saknr,
end of it_2.
*data : it_2 like skb1 occurs 0 with header line.
*data : it_2 type table of skb1.
parameters : p_bukrs type skb1-bukrs memory ID BUK.
*parameters : p_saknr like skb1-saknr.
*select-options : p_bukrs for skb1-bukrs default 1300.
select-options : p_saknr for skb1-saknr default 100000 to 110000.
start-of-selection.
*loop at it_2.
select single fstag
into it_2 from skb1
where bukrs = p_bukrs
and saknr = p_saknr.
write : / fstag.
*endloop.
end-of-selection.
인제 시작한지 몇일 안되는 왕초보입니다..
다음과 같이 쿼리를 짜고 나서 도출하려 하는데
fstag값이 현재 알수 없는 값이라고 하네요.;;
답변좀 알려주세요..
추가해서 같은 회사코드와 여러 계정입력시에
LOOP구문을 사용해서 역시 필드그룹 도출하는 법도 좀..ㅠ
댓글 3
-
현준탱
2008.12.05 17:10
-
아밥퍼
2008.12.08 17:34
data : fstag ~~~ 이렇게 선언을 하시던지 아니면
위의 경우는
skb1 테이블에서 조건에 맞는 fstag 필드를 한건 조회해서
it_2 인터널테이블 헤더에 데이터를 넣어주는데 인터널테이블 필드 순서상
it_2-fstag 에 데이터가 들어가겠죠
그리고 select-options 로 선언을 하면
where 조건에 eq,ne... 가 아닌
in 조건으로 하셔야 합니다.
그냥 eq 로 하게 되면
p_saknr 의 값이 IBT100000 110000
이렇게 들어가 있기 때문에
조건이 맞지가 않죠
select-options 는 복수개의 데이터를
가질 수 있는 헤더라인을 가지는
인터널테이블형태이기 때문에
in 으로 하셔야 합니다.
-
우락부락
2008.12.11 01:59
감사합니다^^
report glaccount.
tables : skb1.
data : begin of it_2 occurs 0,
fstag like skb1-fstag,
bukrs like skb1-bukrs,
saknr like skb1-saknr,
end of it_2.
*data : it_2 like skb1 occurs 0 with header line.
*data : it_2 type table of skb1.
parameters : p_bukrs type skb1-bukrs obligatory memory id buk.
select-options : s_saknr for skb1-saknr default 100000 to 110000.
start-of-selection.
select * into corresponding fields of table it_2
from skb1
where bukrs = p_bukrs
and saknr in s_saknr.
if not it_2[] is initial.
loop at it_2.
write: /01 it_2-fstag.
endloop.
endif.
end-of-selection.
참고하세요~