loop at itab_tmp.
select min( a1~posnr ) as posnr
a1~matnr as matnr
a2~bstnk as bstnk
into corresponding fields of table it_lists
from vbap as a1 inner join vbak as a2
on a1~vbeln = a2~vbeln
where a2~bstnk = itab_tmp-bstnk
~
group by a2~bstnk a1~matnr.
endif.
위 쿼리에서 아래와 같이 3건의 데이터가 나옵니다.
3건의 데이터중 posnr이 가장 낮은 데이터만 가져오기위해
where where조건에서 줄수 있나요?
자재 posnr
abc01 10
abc02 20
abc03 30
그리고 위 쿼리를 이용하여 아래의 1)와 같이 사용하는데요..
2)와 같이 LEFT OUTER JOIN(1:N관계)을 줄경우 2)'와 같이
AND t9~posnr = it_lists-posnr를 줄수 없는것으로 압니다.
그렇게 되면 위의 쿼리와 함께 for all entries in it_lists를
사용해도 무의미한데 LEFT OUTER JOIN을 주고 AND t9~posnr = it_lists-posnr
를 주어 사용할 수 있는 방법이 없나요?
SELECT t1~vkbur ~
INTO CORRESPONDING FIELDS OF TABLE it_list
FROM vbak AS t1 ~
INNER JOIN vbap AS t9
* LEFT OUTER JOIN vbap AS t9 <=== 2)
ON t9~vbeln = t1~vbeln
INNER JOIN makt AS t7
ON t9~baugr = t7~matnr "it_lists-baugr
AND t7~spras = '3'
for all entries in it_lists <=== 1)
WHERE t1~vtweg = '10'
AND t1~spart <> '30'
AND t1~vkbur = itab_tmp-vkbur
AND t1~vkgrp = itab_tmp-vkgrp
AND t4~kunnr = itab_tmp-kunnr
AND t1~bstnk = itab_tmp-bstnk
AND t9~posnr = it_lists-posnr. <===2)'
endloop.
고수님들의 의견 부탁드립니다..
(A) Left outer join (B) 라는관계에서 단순히 B와A의 위치를 바꾸면 가능하지 않을까여 ?