問題があります。現在、私は 3 つのテーブルを持っています。最初のテーブルがメイン テーブルで、2 番目のテーブルにレコードがない場合は、それも書き込みます。ただし、2 番目のテーブルにレコードが存在する場合は、3 番目のテーブルから "dispo" 情報を表示します。
3 つの SAP テーブル (lagp、lqua、および marc) を使用したいと考えています。私の目標は、ラグからすべての株式ポジションを書き込むことです。
2x LEFT JOIN は機能しません: 「"B~MATNR" と比較できません。テーブルは、LEFT OUTER JOIN を使用して最大 1 つの他のテーブルと結合できます。
構造:
TYPES:
BEGIN OF t_work,
lgnum TYPE lgnum,
lgtyp TYPE lgtyp,
lgpla TYPE lgpla,
bdatu TYPE lagp_bdatu,
matnr TYPE matnr,
verme TYPE lqua_verme,
meins TYPE meins,
dispo TYPE dispo,
END OF t_work.
DATA:
lt_work TYPE TABLE OF t_work INITIAL SIZE 0,
ls_work LIKE LINE OF lt_work.
そしてSQLコマンド:
SELECT a~lgnum a~lgtyp a~lgpla a~bdatu b~matnr b~verme b~meins c~dispo FROM lagp AS a
LEFT JOIN lqua AS b ON a~lgnum = b~lgnum AND a~lgtyp = b~lgtyp AND a~lgpla = b~lgpla
INNER JOIN marc AS c ON b~matnr = c~matnr AND b~werks = c~werks
INTO TABLE lt_work
WHERE a~lgnum IN so_lgnum
AND a~lgtyp IN so_lgtyp
AND a~skzua EQ space
AND a~skzue EQ space.
しかし、結果として、ストック ポジションは 1 つだけです - http://i.stack.imgur.com/1sEEo.png
SQL コードがどのようになっているのか教えていただけますか?
ありがとうございました