Hallo,
ich stehe bei einem mir unerklärlichen Problem etwas auf dem Schlauch.
Wir rufen aus R/3 einen RFC in einem anderen SAP-System (GTS) auf. Direkt vor und nach dem Aufruf schreiben wir einen Eintrag in eine Logtabelle. Auf gerufener Seite protokollieren wir ebenfalls einige Verarbeitungsschritte.
In ganz seltenen Fällen passiert nun, daß der Logeintrag VOR dem Aufruf des RFC geschrieben wird, im GTS alle Logeinträge normal geschrieben werden (der letzte Eintrag wird direkt vor dem Ende geschrieben), aber der Logeintrag), der direkt NACH dem Aufruf geschrieben werden sollte, fehlt, abenso alle weiteren, die normal geschrieben werden würden. Anhand der Daten können wir mit Sicherheit sagen, daß keine weitere Verarbeitung stattgefunden hat. Es passiert jedoch kein Abbruch oder ähnliches, sondern die Dialoganwendung wird anscheinend normal weiter prozessiert. Da dieser Fehler innerhalb der Speicherroutine auftritt, nimmt der User nun an, daß seine Daten korrekt gespeichert sind, aber das passiert leider nicht.
Mir ist unerklärlich, wie das passieren kann. Hat jemand eine Idee? Vielleicht kennt auch jemand Möglichkeiten, wie man solche RFC-Calls im Nachhinein prüfen kann.
Hier mal noch der Codeauszug:
Code: Alles auswählen.
DESCRIBE TABLE it_imbp LINES lv_anztab.
PERFORM debug(saplzgts03)
USING 'Z_ZIMP07_IMPORTVORSCHLAG_RFC' 'VOR AUFRUF' gs_gts-rfcdest 'ANZ ZEILEN' lv_anztab space.
CALL FUNCTION 'Z_ZIMP07_IMPORTVORSCHLAG_RFC' DESTINATION gs_gts-rfcdest
EXPORTING
iv_newimport = ''
IMPORTING
ev_error = ev_error
ev_info = ev_info
TABLES
it_imbp = it_imbp
it_imak = lv_imak_t
it_imbk = lv_imbk_t
it_imbrm = it_imbrm.
DESCRIBE TABLE it_imbp LINES lv_anztab.
PERFORM debug(saplzgts03)
USING 'Z_ZIMP07_IMPORTVORSCHLAG_RFC' 'NACH AUFRUF' gs_gts-rfcdest 'ANZ ZEILEN' lv_anztab space.
Bin über jeden Hinweis dankbar.