ich habe folgendes programmiert:
in einer Methode START_LISTENER einen FUBA aufgerufen mit einer Fallback-Methode:
- Code: Alles auswählen
METHOD start_listener.
CALL FUNCTION 'Z_xyz_LISTENER'
STARTING NEW TASK 'LSTNR'
DESTINATION 'NONE'
CALLING receive_from_listener ON END OF TASK.
ENDMETHOD.
METHOD receive_from_listener.
DATA:
table TYPE TABLE OF ztable.
RECEIVE RESULTS FROM FUNCTION 'Z_xyz_LISTENER'
IMPORTING
e_table = table.
Hier habe ich jetzt die Anforderung, dass ich die Methode START_LISTENER in der RECEIVE_FROM_LISTENER aufrufen möchte, um weiter auf Änderungen zu hören.
Ich bekomme jedoch einen Kurzdump, weil es anscheinend nicht erlaubt ist, in der receive-Methode nochmal den asynchronen RFC aufzurufen.
Hat jemand eine Idee wie das zu umgehen wäre?
Kurzdump:
- Code: Alles auswählen
Laufzeitfehler RPERF_ILLEGAL_STATEMENT
Datum und Zeit 12.02.2019 09:32:46
Kurztext
Anweisung "CALL FUNCTION .. DESTINATION/STARTING NEW TASK/IN BACKGROUND TASK/IN
Was ist passiert?
Fehler im ABAP-Anwendungsprogramm.
Das laufende ABAP-Programm "Z..." mußte abgebrochen werden, da
es auf
eine Anweisung gestoßen ist, die leider nicht ausgeführt werden kann.
Was können Sie tun?
Notieren Sie bitte, welche Aktionen und Eingaben zu dem Fehler geführt
haben.
Wenden Sie sich bitte zur weiteren Bearbeitung des Problems an Ihren
SAP-Administrator.
Mit der Transaktion ST22 zur ABAP-Dumpanalyse können Sie
Abbruchmeldungen anschauen und verwalten, insbesondere längere Zeit
aufbewahren.
Fehleranalyse
There is probably an error in the program
"Z...".
Vermutlich wurde das Programm in einem Konvertierungs-Exit
oder in einem Feld-Exit aufgerufen. Diese werden durch
Funktionsbausteine mit Namen CONVERSION_EXIT_xxxxx_INPUT/OUTPUT bzw.
USER_EXIT_xxxxx_INPUT realisiert.
Konvertierungs-Exits werden beim Dynpro-Feldtransport oder bei
WRITE-Anweisungen angestoßen, Feld-Exits beim Feldtransport vom
Dynpro in das ABAP-Programm.
In diesem Zusammenhang sind folgende ABAP-Anweisungen nicht zulässig:
- CALL SCREEN
- CALL DIALOG
- CALL TRANSACTION
- SUBMIT
- MESSAGE W... und MESSAGE I...
- COMMIT WORK, ROLLBACK WORK
- COMMUNICATION RECEIVE
- STOP
- REJECT
- EXIT FROM STEP-LOOP
Darüber hinaus sind in Konvertierungs-Exits für die Ausgabekonvertierung
(realisiert durch Funktionsbausteine mit Namen
CONVERSION_EXIT_xxxxx_OUTPUT) keine
- MESSAGE E...
Anweisungen erlaubt.
LG