Skip to Content
0
Jun 22, 2018 at 12:06 PM

Problem Joining BKPF and BSEG

773 Views

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