Die folgende Liste beschreibt die Funktionen des qRFC-API, mit dem Sie Ausgangsqueues verwalten und Ihre Elemente bearbeiten können.
● Liest die aktuellen Inhalte einer oder aller Ausgangsqueues. Weitere Informationen finden Sie im Beispielprogramm RSTRFCQR.
● Informiert den qRFC-Manager, dass Sie mit tRFC und qRFC in einer LUW arbeiten (Mixed Mode) und der erste Aufruf ein tRFC-Aufruf ist.
● Verwenden sie diesen Funktionsbaustein, wenn Sie einen Queuenamen (eindeutig oder generisch, z.B. BASIS_TEST_*) und eine Destination spezifizieren, um eine oder mehrere Queues zu verarbeiten. Diese Funktion sollte nur benutzt werden, wenn die Queue wegen eines Kommunikations- oder Netzwerkfehlers blockiert ist, oder wenn eine System- oder Anwendungsausnahme ausgegeben und das Problem bereits gelöst wurde.
● Eine durch Aufruf der Funktion TRFC_QOUT_STOP angehaltene Queue kann nicht mit dieser Funktion verarbeitet werden.
○ Wenn der Importparameter FORCE auf 'X' geändert wird, sendet der qRFC-Manager diese LUW erneut, auch wenn sie sich im Status EXECUTING befindet. Diese Parameter-Einstellung ist nur für Systemprogramme vorgesehen. Unter normalen Bedingungen benötigen Sie diese Funktion nicht, da der qRFC-Manager automatisch versucht solche Blockierungen zu lösen. Beachten Sie auch das Programm RSTRFCQ0.
● Löscht die LUW in einer Ausgangsqueue, die durch den Importparameter TID definiert wurde.
● Löscht die gesamte Ausgangsqueue, die durch die Importparameter QNAME und DEST definiert wurde.
● Liest qRFC-LUWs aus der Ausgangsqueue im lokalen oder entfernten SAP-System.
○ Wenn Sie den Parameter single_processing verwenden, so schickt der qRFC-Manager einen Fehlercode und eine Fehlermeldung an den Aufrufenden, wenn während der Verarbeitung einer LUW eine System- oder Anwendungsausnahme auftrat. Alle erfolgreich verarbeiteten LUWs in der Ausgangsqueue werden gelöscht. Die fehlerhafte qRFC-LUW bleibt in der Ausgangsqueue.
○ Wenn Sie den Parameter single_processing nicht verwenden, verursacht eine System- oder Anwendungsausnahme einen Kurzdump und alle zu lesenden LUWs bleiben in der Ausgangsqueue. Sie können später erneut gelesen und verarbeitet werden.
● Zeigt alle gegenwärtig existierenden Queues an.
● Zeigt alle fehlerhaften Queues an, die wegen einer der folgenden Fehlermeldungen blockiert sind: SYSFAIL, CPICERR, RETRY, ARETRY, ANORETRY.
○ Queues deren Status auf WAITING steht, werden nicht angezeigt.
● Zeigt Informationen (z.B.: TID) über die erste LUW in einer Queue an.
● Zeigt alle blockierten Queues an, inklusive der Queues, die von der Anwendung explizit zur späteren Verarbeitung in die Queue geschrieben wurden und deren Status WAITING ist.
Diese Funktion zeigt auch alle Queues an, deren Status auf WAITING steht. Um nur die fehlerhaften Queues anzusehen, verwenden Sie den Funktionsbaustein TRFC_QOUT_GET_ERROR_QUEUES.
● Verwenden Sie diesen Funktionsbaustein um einen Überblick über die gegenwärtig existierenden Ausgangsqueues zu erhalten, die zu verschiedenen optionalen Importparametern gehören, wie, z.B., Queuename, Destination, SAP-Mandant.
● Verwenden Sie diesen Funktionsbaustein, wenn Sie einen Queuenamen (eindeutig oder generisch, z.B. BASIS_TEST_*) und eine Destination spezifizieren, um mit der Verarbeitung einer oder mehrerer Queues fortzufahren, unabhängig davon, ob diese Queues bereits gestoppt wurden.
○ Wenn Sie den Importparameter FORCE auf SPACE ändern, reduziert der qRFC-Manager den STOP-Counter. Wenn der Zähler auf 0 steht, aktiviert er die Queue. Ansonsten aktiviert der qRFC-Manager die Queue immer, ohne Berücksichtigung des STOP-Counters.
○ Wenn eine Queue blockiert ist, benutzen Sie oben genannten Aufruf und nicht TRFC_QOUT_ACTIVATE.
○ Wenn Sie den importierenden Parameter NO_ACTIVATE auf 'X' setzen, entsperrt der qRFC Manager die Queue, aktiviert sie aber nicht. Beachten Sie auch das Programm RSTRFCQ3.
● Verwenden Sie diesen Funktionsbaustein, wenn Sie einen Queuenamen mit hoher Priorität oder eine Destination spezifizieren wollen, um eine oder mehrere Queues erneut zu starten. (eindeutig oder generisch, z.B. BASIS_TEST_*).
○ Wenn Sie den Importparameter TILL_STOP auf SPACE ändern, so startet der qRFC-Manager die Queue erneut, sobald diese leer ist. Ansonsten wird die Queue erneut gestartet, sobald sie angehalten wurde oder leer ist.
○ Ein Aufruf dieser Funktion durch TILL_STOP = SPACE wird die Queue automatisch zur Zeit des Aufrufs beenden, sofern zuvor kein anderer STOP-Aufruf eingeplant wurde.
Beachten Sie auch die Programme RSTRFCQ4 (till_stop = space) und RSTRFCQA (till_stop= 'X')
● Verwenden Sie diesen Funktionsbaustein, wenn Sie einen Queuenamen, eine Destination und – optional - einen SAP-Mandanten angeben, um den Status dieser Queue zu erfahren.
○ Im Status CPICERR ist die automatische Wiederholung abhängig von der Konfiguration der Destination in SM59 (Voreinstellung: Yes).
○ Falls der Queuestatus WAITSTOP oder WAITING ist, zeigt der Exportarameter WQNAME, auf welche Queue die aktuelle Queue wartet, um verarbeitet zu werden.
○ Der Unterschied zwischen dem Status NOSEND und NOSENDS besteht darin, dass die Queue mit Status NOSENDS durch die Transaktion SMQ1 oder einen entsprechenden Funktionsbaustein aktiviert und erneut gestartet werden kann. Queues mit Status NOSEND können nur durch andere Systeme oder Programme gelesen werden.
Beachten Sie auch das Programm RSTRFCQ2.
● Stoppt die Verarbeitung einer oder mehrerer Queues, während Sie einen Queue-Namen (eindeutig oder generisch, z.B. BASIS_TEST_*) und eine Destination spezifizieren.
○ Wird der Importparameter FORCE auf SPACE geändert, verarbeitet der qRFC-Manager noch die zur STOP-Time in der Queue existierenden LUWs. Ansonsten stoppt der qRFC-Manager den Verarbeitungsvorgang sofort.
○ Der STOP-Counter zählt die Anzahl der STOP-Aufrufe für eine Queue.
○ Sie können auch eine leere (nicht existierende) Queue anhalten. In diesem Fall werden alle dieser LUW zugeordneten LUWs in der Queue abgelegt. Beachten Sie dazu auch das Programm RSTRFCQ1.
● Legt die Verarbeitungsreihenfolge von qRFC-LUWs fest, die aus einem Dialog-Task und Update-Task in einer Transaktion aufgerufen wurden.
● Übermittelt einen Queuenamen an den qRFC-Manager. Der Queuename gilt nur für den nächsten Call Function ... In Background Task.
● Wenn der Importparameter NOSEND auf 'X' oder 'S' gesetzt wurde, wird der qRFC-Manager die LUW nicht zum Commit Work-Zeitpunkt versenden, sondern in der qRFC-Tabelle speichern.
○ 'S': Diese LUW kann aus SMQ1 (oder anderen Funktionsbausteinen) erneut gestartet werden.
○ 'X': Diese LUW kann nur von einem Anwendungsprogramm verarbeitet werden. Sie kann nicht durch den QOUT-Scheduler verarbeitet werden.
○ Dieser Parameter gilt für die gesamte LUW.
● Übermittelt einen Queuenamen an den qRFC-Manager, wenn Call Function ... In Background Task mehr als einer Sende-Queue zugeordnet wurde. Sie können diesen Funktionsbaustein zusammen mit TRFC_SET_QUEUE_NAME in einer LUW benutzen.
● Wenn der Importparameter NOSEND auf 'X' oder 'S' gesetzt wurde, wird der qRFC Manager die LUW nicht zum Commit Work-Zeitpunkt senden, sondern in der qRFC-Tabelle speichern.
○ 'S': Diese LUW aus SMQ1 (oder anderen Funktionsbausteinen) kann erneut gestartet werden.
○ 'X': Diese LUW kann nur von einem Anwendungsprogramm verarbeitet werden. Sie kann nicht durch den QOUT-Scheduler verarbeitet werden.
○ Dieser Parameter gilt für die gesamte LUW.
● Übermittelt einen Queuenamen an den qRFC-Manager, wenn die von Call Function ... In Background Task aufgerufene Funktion in verschiedenen Zielsystemen verarbeitet werden soll. Der qRFC-Manager wird alle zu diesem qRFC gehörenden Daten nur einmal in der Datenbank ablegen.
● Darüber hinaus müssen Sie die Optionen AS SEPARATE UNIT und DESTINATION als Importparameter für diese Funktion setzen.
● Wenn der Importparameter NOSEND auf 'X' oder 'S' gesetzt wurde, wird der qRFC Manager die LUW nicht zum Commit Work-Zeitpunkt senden, sondern in der qRFC-Tabelle speichern.
○ 'S': Diese LUW kann aus SMQ1 (oder anderen Funktionsbausteinen) erneut gestartet werden.
○ 'X': Diese LUW kann nur von einem Anwendungsprogramm verarbeitet werden. Sie kann nicht durch den QOUT-Scheduler verarbeitet werden.
○ Dieser Parameter gilt für die gesamte LUW.
Dieser Funktionsbaustein darf nicht zusammen mit einem der beiden oben beschriebenen Funktionsbausteine zusammen in einer LUW benutzt werden.