Code: Alles auswählen.
Do 10 Times.
call Function 'ENQUEUE_XYZ'.
Enddo.eben... das ist mir zu unsicher.babap hat geschrieben:Hallo,
mir ist der Anwendungsfall noch nicht ganz klar.
Erst wird ein Objekt ausgewählt und gesperrt,
Dann wird mit Übergabe des Objektes eine "Pflegetransaktion" aufgerufen.
Die kann dann pflegen oder das Objekt wechseln ...
Da hilft nur, kurz vorher entsperren und danach wieder sperren, mit nicht ganz 100%-igem Erfolg.
Das wäre noch eine gute Idee!Man kann natürlich die Sperre erst in der zweiten Transaktion setzen, wenn das mit "gesperrt!" zurückkommt, sitzt da noch jemand drauf.
Oder wie wäre es, den Objektwechsel nur in der aufrufenden Transaktion vornehmen zu lassen.
Das ist eben doch recht aufwändig, weil es sich insgesamt um drei recht große Transaktionen handelt. Das wäre so ähnlich, als hätte ich Probleme beim Sperren eines Vertriebsbeleges wenn ich über den Belegfluß navigiere und du mir rätst, die VA02, VL02n, VF02 etc in eine Transaktion zu packen.Die Pflegetransaktion beendet sich mit einer Meldung S... und fordert bei der aufrufenden den Wechsel des Objektes (mit Entsperren Sperren) und wird dann wieder aufgerufen. (Ist aber wirklich durch die Brust ins Auge).
Oder Du sparst Dir ganz die erste Transaktion und packst das alles in eine.
Vielen Dank für deine Vor- und Ratschläge!
mfg.
babap
Code: Alles auswählen.
call 'C_ENQUEUE'
id 'OPCODE' field '7'
id 'ENQKEY' field euser.
Code: Alles auswählen.
call function 'SET_ENQUEUE_OWNER'
exporting user = euser
usvb = euser
exceptions illegal_input = 1
others = 2.