Hallo,
ich habe mit dem Update-Befehl so mein Problem.
Mein Update sieht so aus:
Code:
Update vbap
set feldA = itab_vbap-feldA
feldB = itab_vbap-feldB
feldC = itab_vbap-feldC
where vbeln = itab_vbap-vbeln.
Die Syntaxprüfung ist auch erfolgreich.
Der sy-subrc beträgt allerdings 4 !
Die interne Tabelle itab_vbap ist ordnungsgemäß gefüllt. Sie beinhaltet zwar nicht alle Felder aus der VBAP, sondern nur eine bestimmte Anzahl, aber die übergebe ich deswegen ja auch extra einzeln per set-Anweisung.
Hat es mit den Schlüsseln bei der VBAP zu tun? Dort ist ja auch die POSNR als Schlüssel angegeben. Ich möchte zu einem Auftrag mit z.B. der Nummer 7 auf jede Zeile der Position - also egal, ob nun nur eine oder vier Positionen vorhanden sind - die Einträge vornehmen. Kann ich Update nur unter Benutzung aller vorhandenen Schlüssel nutzen?
P.S. By the way, ich ändere NICHT eins der Schlüsselfelder!