Hello,
I've got the following Problem:
I created a Programm with the following Code:
EXEC SQL PERFORMING loop_output. SELECT b1.BLART, b1.BELNR, b1.BUKRS, b1.BUDAT, b1.XBLNR, b1.STGRD INTO :wa FROM BKPF b1 INNER JOIN ( SELECT BLART, BUKRS, XBLNR FROM BKPF WHERE BUKRS = :BUKREIS AND (BUDAT >= :VON OR :VON = '00000000') AND (BUDAT < :BIS OR :BIS = '00000000') AND BLART = 'RG' AND LENGTH(TRIM(XBLNR)) > 1 AND STGRD = ' ' GROUP BY BLART, BUKRS, XBLNR HAVING COUNT(*) > 1 ) b2 ON 1=1 AND b1.BLART = b2.BLART AND b1.BUKRS = b2.BUKRS AND b1.XBLNR = b2.XBLNR ORDER BY b1.BLART, b1.BELNR, b1.BUKRS, b1.BUDAT, b1.XBLNR ENDEXEC.
I want to add another join to the Table BSEG. After adding the JOIN an Error occurs somthing like "There is a object (Table, View Index etc.), that does not exist in the Database. ". So I wrote a litte Test:
REPORT ZFI_TEST. Data: BEGIN OF wa, BUKRS TYPE BSEG-BUKRS, BELNR TYPE BSEG-BELNR, END OF wa. EXEC SQL PERFORMING loop_output. SELECT b1.BUKRS, b1.BELNR INTO :wa FROM bkpf b1 ENDEXEC. FORM loop_output. write: / wa-BELNR, ' ', wa-BUKRS. ENDFORM.
If I referenz to the Table BKPF everyting works fine. Simply changing the Tablename to BSEG gets me an Error.
What do I have to do to JOIN the BSEG-Table or how can I solve the Problem using ABAP Using a SELFJOIN by Grouping ONLY the SUBSELECT.
Thanks.
Joachim