SAP Jobsuche bei DV-Treff
Dorian
  • Dorian
  • SAP Forum - Neuling Thema Starter
vor 3 Jahre
Hallo zusammen,

ich bin noch nicht so erfahren in der ABAP / SAP Welt und komme daher an einer Stelle mit meinem Coding nicht weiter.

Ich möchte zu einem ausgewählten Fertigungsauftrag über die Aufnr + Arbpl den jeweiligen Vorgabewert1 (VGW1) abrufen.

Hatte mir überlegt das über einen Select-Join zu realisieren. Über die afko auf die afvc, dann crhd und für den Vorgabewert schließlich auf die afvv.

Aber wie genau mach ich das?

Meine Idee, die aber leider noch nicht so wirklich funktioniert:

Zitat:

SELECT afko~aufnr

crhd~arbpl

afvv~vgw01

FROM afko

JOIN afvc

ON afvc~aufpl = afko~aufpl

JOIN crhd

ON afvc~arbid = crhd~arbpl

JOIN afvv

ON afvv~aufpl = afvc~aufpl

INTO ls_dummy

WHERE aufnr = lv_test

and crhd~arbpl in ltr_arbpl.

ENDSELECT.

Radinator
vor 3 Jahre
Hi!

Also dein Ansatz sieht schon mal ned schlecht aus 😉 Also rein vom optischen. Ob das jetzt die Daten sind die du haben willst oder nicht kann ich dir auf die Schnelle nicht sagen. Was ich dir aber sagen kann ist: Wenn du in einem ABAP SQL Statement eine lokale Variable (wie bei dir das lv_test und ltr_arbpl) verwendest, dann musst du ein @ Zeichen davor setzen um es als Host Variable zu kennzeichnen. Sonst versucht der Interpreter das Feld in einer der Tabellen die du verwendest zu finden - was er nicht kann. Dann gibt es einen Fehler.

Also das Statement müsste (ungefähr) so aussehen:


SELECT 
    afko~aufnr,
    crhd~arbpl,
    afvv~vgw01
  FROM 
      afko
  JOIN 
      afvc
    ON 
      afvc~aufpl = afko~aufpl
  JOIN 
      crhd
    ON 
      afvc~arbid = crhd~arbpl
  JOIN 
      afvv
    ON 
      afvv~aufpl = afvc~aufpl
  INTO 
      @ls_dummy    
  WHERE 
      afko~aufnr = @lv_test
          and 
      crhd~arbpl in @ltr_arbpl.
endselect.

Übrigends: Es ist immer hilfreich wenn man eventuelle Fehlermeldungen dazu schreibt. So können erfahrenere Leute leicht erkennen an was es liegt. Musste den Code auch erst ein wenig formatieren und mir anschauen bis ich das fehlende @ erkannt habe ;)

Hoffe ich kann helfen und GL

Radinator