【ABAP】特定項目が変更されていたら変更履歴情報を表示 DISPLAY CHANGE HISTORY INFO WHEN SPECIFIC FIELDS ARE CHANGED
こんにちは。
販売伝票明細の拒否理由(VBAP-ABGRU)が変更されている場合に 変更履歴内容をLEFT OUTER JOINで取得するロジックです。 テーブルキー(TABKEY)のON条件として、 CONCATでクライアント・伝票番号・明細番号を文字列結合しているところに 注目してください。
SELECT FROM VBAK AS T1 INNER join vbap as t2 on t1~vbeln = t2~vbeln left outer join cdpos as t3 on t3~objectclas = 'VERKBELEG' and concat( @sy-mandt, concat( t1~vbeln, t2~posnr ) ) = t3~TABKEY and t3~FNAME = 'ABGRU' left outer join cdhdr as t4 on t3~OBJECTCLAS = t4~OBJECTCLAS and t1~vbeln = t4~OBJECTID and t3~CHANGENR = t4~CHANGENR fields t1~vbeln, t2~posnr, t2~abgru, t3~objectclas, t3~fname, t4~USERNAME, concat_with_space( t4~UDATE, t4~UTIME, 1 ) as udatetime into table @data(results). cl_demo_output=>display( results ).