Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

verbindung zwischen rbkp und bkpf durch AWTYP, AWKEY

aboooood
Participant
0 Kudos
871

ich versuche daten aufzurufen zwischen mehrer tabellen und mit hilfe der awtyp und awkey solltte ich daten aus beide tabellen holen RBKP und BKPF aber es haut nicht hin.

ich bin dankbar für jeder tipp.

entschuldigt mein deutsch bitte ich lerne noch

TYPES: BEGIN OF t_rseg,

         ebeln TYPE rseg-ebeln,
         shkzg TYPE rseg-shkzg,
         zlspr TYPE bsik-zlspr,
         zbd1p TYPE rbkp-zbd1p,
         webre TYPE ekpo-webre,
         ebelp TYPE ekpo-ebelp,
         budat TYPE rbkp-budat,
         belnr TYPE rbkp-belnr,
         gjahr TYPE rbkp-gjahr,
         licht TYPE c,

       END OF t_rseg.

DATA: gt_rseg TYPE  TABLE OF  t_rseg,
      gs_rseg TYPE t_rseg.

*wenn ist bereits als Standard Table ist dann reicht TYPE [Tabellentype]!
DATA: gt_ek TYPE me_ekbes,
      gs_ek TYPE ekbes.

DATA: concat TYPE string.

FIELD-SYMBOLS: <fs_rseg> LIKE LINE OF gt_rseg.

SELECT rseg~ebeln, rseg~shkzg, bsik~zlspr, rbkp~zbd1p, ekpo~webre, ekpo~ebelp, rbkp~budat, rbkp~belnr, rbkp~gjahr, CONCAT( rbkp~belnr, rbkp~gjahr ) AS concat
FROM rbkp

          INNER JOIN rseg
          ON rbkp~belnr = rseg~belnr
          INNER JOIN ekpo
          ON rseg~ebeln = ekpo~ebeln AND rseg~ebelp = ekpo~ebelp "join mit ebeln und ebelp damit keinen duplikat mehr gibt
          INNER JOIN bkpf
          ON bkpf~awtyp = 'rmrp' AND bkpf~awkey =  @concat
          INNER JOIN bsik
          ON bsik~belnr = bkpf~belnr AND bsik~bukrs = bkpf~bukrs AND bsik~gjahr = bkpf~gjahr

WHERE rseg~ebeln LIKE '45%'
INTO TABLE @gt_rseg.
2 REPLIES 2

Jeansy
Active Contributor
610

Hi,

ON bkpf~awtyp = 'rmrp' AND bkpf~awkey =  @concat

verweist auf eine Variable, welche Du mittels DATA oben eigens definiert hast. Diese Variable wird immer leer sein, da Du die concat nur in der Feldliste füllst. Daher nimm concat lieber in den Datentyp t_rseg auf, dann hast Du zumindest den zusammengesetzten Wert. Dann wirst Du im Anschluss die weiteren SELECTs wohl in einem eigenen SELECT durchführen müssen auf BKPF und BSIK, denn meines Wissens ist eine Verwendung von CONCAT in der WHERE-Klausel nicht vorgesehen.

Viel Erfolg 🙂

Grüße
Jens

610

danke für dein tipp. ich habe es bissl anders gemacht und zwar so

  INNER JOIN bkpf
          ON bkpf~awtyp = 'RMRP' AND concat( rseg~belnr , rseg~gjahr ) = bkpf~awkey