Monitor Transactional RFC and Queued RFC
Der transaktionale RFC und der
queued RFC sind
Varianten des Remote Function Call, die dazu dienen, den Datentransfer
zwischen verschiedenen Systemen noch zuverlässiger und sicherer zu machen.
Der transaktionale RFC garantiert die folgenden Eigenschaften:
· Der Aufruf wird im Zielsystem genau einmal ausgeführt.
· Aufrufe, die zu einer Logical Unit of Work (LUW) gehören, werden entweder komplett oder gar nicht ausgeführt.
Falls das Zielsystem beim Aufruf nicht verfügbar ist, bleibt der Aufruf in der lokalen Warteschlange stehen. Das rufende Dialogprogramm kann dennoch weiterlaufen. Wird das Zielsystem nicht innerhalb eines bestimmten Zeitraums aktiviert, so wird der Aufruf als Hintergrund-Job eingeplant.
Obwohl der tRFC die Zuverlässigkeit des Datentransfers bereits erheblich erhöht, besitzt er auch Nachteile. So ist nicht gewährleistet, dass die in der Anwendung vorgegebene Reihenfolge der LUWs eingehalten wird. Es gibt lediglich die Garantie, dass alle LUWs früher oder später übertragen werden.
Queued RFC (qRFC mit Ausgangsqueue)
Um diesen Nachteil auszugleichen, wird eine Serialisierung des tRFC über Warteschlangen (Queues) vorgenommen. Sie wird als queued RFC (qRFC) bezeichnet. Mit der Serialisierung wurde eine Ausgangsqueue für tRFC geschaffen, weshalb von einem qRFC mit Ausgangsqueue gesprochen wird. Die Besonderheiten des qRFC sind vor allem:
· Eine LUW wird erst dann übertragen, wenn sie keine Vorgänger (bezogen auf die in den Anwendungen definierte Reihenfolge) in den beteiligten Queues hat. Ferner wird nach der Ausführung einer qRFC-Transaktion versucht, alle wartenden qRFC-Transaktionen der Reihenfolge nach automatisch zu starten.
· Für die Queue-Verwaltung werden ein Queue-Name und ein Queue-Zähler pro qRFC-Transaktion benötigt. Jeder tRFC-Aufruf, der chronologisch abgearbeitet werden soll, wird einem von der Anwendung zu bestimmenden Queue-Namen zugeordnet.
qRFC mit Eingangsqueue
Weiterhin ist eine Serialisierung der ankommenden RFC-Aufrufe von anderen Systemen möglich. Damit ist gewährleistet, dass auch ankommende Aufrufe immer in der Reihenfolge ihres Eintreffens durchgeführt werden. Außerdem wird durch die Serialisierung der eingehenden Aufrufe die maximale Last des Zielservers durch RFC begrenzt.
Überwachung mit dem Alert-Monitor
Sie können mit dem Teilbaum Transactional RFC and Queued RFC Fehler und blockierte Queues (im Zusammenhang mit transaktionalen RFCs und queued RFCs) schnell aufspüren. Als Analysemethode sind die entsprechenden Spezialmonitore hinterlegt, mit denen Sie die Ursache des Fehlers schnell beseitigen können. Der Teilbaum befindet sich im Monitor Communications der Monitorsammlung SAP CCMS Monitor Templates.
Sie müssen die Überwachung von qRFC-Aufrufen einrichten.

Der Monitor enthält die folgenden Monitorbaumelemente (Monitoring Tree Elements = MTEs):
MTE-Name |
Bedeutung |
ARFCSSTATE: Outbound tRFC Calls |
Monitorobjekt mit Informationen zu den LUWs und tRFC-Aufrufen, die auf die Ausführung auf ihrem Zielsystem oder einer externen Komponente warten |
Calls w/ Communication Errors
– CPICERR |
Anzahl der tRFC-Aufrufe, die wegen Problemen bei der Verbindungsherstellung oder der Kommunikation mit dem Zielsystem oder einer externen Komponente nicht ausgeführt wurden; je nach Einstellungen (Transaktion SM59) wird der Versuch mehrfach wiederholt |
Calls w/ Execution Errors –
SYSFAIL |
Anzahl der tRFC-Aufrufe, die wegen eines Problems bei der Ausführung im Zielsystem oder einer externen Komponente nicht ausgeführt werden konnten |
Calls w/o Server Resources –
SYSLOAD |
Anzahl der tRFC- und qRFC-Aufrufe mit Ausgangsqueue im Status SYSLOAD; dies sind Aufrufe, die wegen mangelnder Ressourcen im Zielsystem nicht bearbeitet werden konnten |
ARFCSSTATE: Inbound tRFC/qRFC
Calls |
Monitorobjekt mit Informationen zu tRFC- und qRFC-Aufrufen, die in diesem System auf die Ausführung warten; nach der Ausführung werden Sie aus der Tabelle ARFCRSTATE gelöscht |
Total Calls |
Anzahl der tRFC- und qRFC-Aufrufe, die in diesem System auf die Ausführung warten und darum in der Tabelle ARFCRSTATE gespeichert sind |
Outbound Queues |
Teilbäume, die Protokollnachrichten der ausgehenden qRFC-Aufrufe zu externen Systemen enthalten; diese Nachrichten sind nach den verschiedenen Queue-Gruppen geordnet: zu jeder Gruppe gehört ein Monitorobjekt mit dem Namen <Gruppenname> Outbound Queues |
Inbound Queues |
Teilbäume, die Protokollnachrichten der eingehenden qRFC-Aufrufe von externen Systemen enthalten; diese Nachrichten sind nach den verschiedenen Queue-Gruppen geordnet: zu jeder Gruppe gehört ein Monitorbjekt mit dem Namen <Gruppenname> Inbound Queues |
Blocked Queues: Client
<Nummer> |
Protokollnachrichten zu den Queues einer Anwendung, geordnet nach den verschiedenen Mandanten; die Protokollnachrichten enthalten die Fehlermeldungen, die beim qRFC-Aufruf zurückgegeben werden. Folgende Status werden dabei sofort als „blockierend“ erkannt: · CPICERROR (bei Inbound/Outbound, Fehlertext verfügbar) · SYSFAIL (bei Inbound/Outbound, Fehlertext verfügbar) · STOP (bei Inbound/Outbound, kein Fehlertext) · ANORETRY (bei Inbound/Outbound, Fehlertext verfügbar) · WAITSTOP (bei Inbound/Outbound, Fehlertext verfügbar) · ARETRY (bei Inbound/Outbound, Fehlertext verfügbar) · RETRY (bei Inbound immer, bei Outbound ab qRFC-Version 6.10.040, Fehlertext verfügbar) · SYSLOAD (bei Outbound, bis qRFC-Version 6.10.033, kein Fehlertext) Folgende Status werden als „blockierend“ erkannt, wenn sie länger als 30 Minuten unverändert sind: · READY (bei Inbound/Outbound, kein Fehlertext) · RUNNING (bei Inbound/Outbound, kein Fehlertext) · WAITUPDA (bei Outbound, kein Fehlertext) · EXECUTED (bei Inbound/Outbound, kein Fehlertext)
Information zu den möglichen Status finden Sie unter
|
Queues not processed: Age Alerts
|
Protokollnachrichten zu den Queues einer Anwendung; die Queues stehen länger still als der zugehörige Schwellenwert (standardmäßig sieben Tage) |
QIN Schedulers: Errors |
Monitorobjekt, das Informationen zum Status des QIN-Scheduler enthält; der QIN-Scheduler regelt die Abarbeitung eingehender tRFC- und qRFC-Aufrufe innerhalb eines Mandanten (siehe SAP-Hinweis 369007) |
QOUT Schedulers: Errors |
Monitorobjekt, das Informationen zum Status des QOUT-Scheduler enthält; der QOUT-Scheduler begrenzt die maximale Anzahl paralleler tRFC- und qRFC-Verbindungen zu einer RFC-Destination (siehe SAP-Hinweis 400330) |
QIN Scheduler Error: All Clients |
Protokollnachrichten mit Fehlermeldungen zu den QIN-Schedulers aller Mandanten; ein Alert hier zeigt an, dass das System einen eingehenden RFC-Aufruf wegen eines Kommunikations- oder Ausführungsfehlers nicht bearbeiten konnte |
QIN Unregistered Queues: All
Clients: |
Protokollnachrichten mit Fehlermeldungen zu den QIN-Schedulers aller Mandanten; ein Alert hier zeigt an, dass der Scheduler auf einen RFC-Aufruf mit einer nicht registrierten Queue gestoßen ist |
QOUT Scheduler Error: All
Clients |
Protokollnachrichten von Kommunikations- und Systemfehlern zu den QOUT-Schedulers aller Mandanten |
Um den Monitor zu starten, gehen Sie wie folgt vor:
...
1. Starten Sie den Alert-Monitor über Transaktion RZ20, oder wählen Sie CCMS ® Steuerung/Monitoring ® Alert-Monitor.
2. Expandieren Sie im Bild CCMS-Monitorsammlungen die Sammlung SAP CCMS Monitor Templates.
3. Starten Sie in der Monitorliste den Monitor Communications mit Doppelklick.
4. Expandieren sie den Teilbaum Transactional RFC and Queued RFC.
Vorgehen bei Alertauslösung
MTE |
Vorgehen |
ARFCSSTATE: Outbound tRFC Calls |
Allen MTEs dieses Monitorobjekts ist als Analysemethode die Transaktion Transaktionaler RFC (SM58) zugeordnet. Dieses Werkzeug zeigt eine Liste aller transaktionalen RFCs an, die nicht erfolgreich abgeschlossen werden konnten oder die als Hintergrund-Jobs eingeplant werden mussten. |
Calls w/Communication Errors - CPICERR |
Häufig treten in diesem Attribut Fehler auf, wenn eine Instanz zur Wartung heruntergefahren wird. Wenn die Instanz wieder zur Verfügung steht, werden die Aufrufe automatisch abgearbeitet. Falls dies nicht der Fall ist, sollten Sie die RFC-Verbindung durch die Transaktion Anzeige und Pflege von RFC-Destinationen (SM59) prüfen. |
Calls w/ Execution Errors - SYSFAIL |
Fehler in der Ausführung der RFC-Aufrufe werden häufig durch Fehler in den Programmen hervorgerufen. Diese Fehler müssen also meist individuell bearbeitet werden. |
Calls w/o Server Resources - SYSLOAD |
RFC-Aufrufe im Status SYSLOAD werden automatisch in einem Job eingeplant. Weitere Informationen zum Status SYSLOAD finden Sie im SAP-Hinweis 319860. |
ARFCSSTATE: Inbound tRFC/qRFC Calls |
Sie finden Informationen zu möglichen Status und Problemen zur Tabelle ARFCRSTATE in den SAP-Hinweisen 378903 und 366869. |
Outbound Queues |
Starten Sie die zugeordnete Analysemethode. Dies ist für die MTEs dieser Monitorobjekte die Transaktion SMQ1 bzw. SMQ2 (qRFC-Monitor). |
QIN Schedulers: Errors |
Starten Sie die zugeordnete Analysemethode. Dies ist für die MTEs dieser Monitorobjekte die Transaktion SMQR bzw. SMQS (QIN-/QOUT-Scheduler). |