Show TOC Anfang des Inhaltsbereichs

Syntaxdokumentation qRFC-API für die Ausgangsqueue Dokument im Navigationsbaum lokalisieren

 

1)   TRFC_SET_QUEUE_NAME:

      Verwenden Sie diesen Funktionsbaustein um einen Queue-Namen zum qRFC Manager zu übermitteln. Dieser Queue-Name gilt nur für den nächsten "Call Function ... In Background Task".

      Falls der Import-Parameter NOSEND auf 'X' oder 'S' gesetzt wurde, wird der qRFC Manager die LUW nicht zu "Commit Work"-Zeit schicken, sondern er wird sie 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.

 

2)   TRFC_SET_QUEUE_NAME_LIST:

      Verwenden Sie diesen Funktionsbaustein, wenn der "Call Function ... In Background Task" mehr als einer Send-Queue zugeordnet wurde. Sie können diesen Funktionsbaustein zusammen mit TRFC_SET_QUEUE_NAME in einer LUW benutzen.

      Falls der importierende Parameter NOSEND auf 'X' oder 'S' gesetzt wurde, wird der qRFC Manager die LUW nicht  zu "Commit Work"-Zeit senden, sondern er wird sie in der qRFC Tabelle behalten.

      '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.

 

3)   TRFC_SET_QUEUE_RECEIVER_LIST:

      Verwenden Sie diesen Funktionsbaustein, 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 importierende Parameter für diese Funktion setzen.

      Falls der importierende Parameter NOSEND auf 'X' oder 'S' gesetzt wurde, wird der qRFC Manager die LUW nicht zur "Commit Work"-Zeit senden, sondern er wird sie in der qRFC Tabelle behalten.

      '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.

 

Diese Grafik wird im zugehörigen Text erklärt Dieser Funktionsbaustein darf nicht zusammen mit einem der beiden oben beschriebenen Funktionsbausteine zusammen in einer LUW benutzt werden.

 

4)   TRFC_QUEUE_INITIALIZE:

      Verwenden Sie diesen Funktionsbaustein um den qRFC Manager zu informieren, dass Sie mit tRFC und qRFC in einer LUW arbeiten ("mixed mode") und nur wenn der erste Aufruf ein tRFC-Aufruf ist und kein qRFC-Aufruf. Dies ist wegen eines Kompatibilitätsproblems während der Zuordnung von TIDs für LUWs mit unterschiedlichen Destinationen zwischen tRFC und qRFC notwendig.

 

5)   TRFC_GET_QUEUE_INFO and TRFC_GET_QUEUE_INFO_DETAILS

      Verwenden Sie diese Funktionsbausteine, um die aktuellen Inhalte einer oder aller Ausgangsqueues zu lesen. Weitere Informationen finden Sie im Beispielprogramm RSTRFCQR.

 

6)   TRFC_QOUT_STOP

      Verwenden Sie diesen Funktionsbaustein, wenn Sie einen Queue-Namen (Single oder generic, z.B. BASIS_TEST_*) und eine Destination spezifizieren, um die Verarbeitung einer, oder mehrerer Queues zu stoppen.

      Wenn der importierende Parameter FORCE auf SPACE geändert wird, verarbeitet der qRFC Manager nur die zur STOP-Time in der Queue existierenden LUWs. Ansonsten wird der qRFC Manager sofort  den Verarbeitungsvorgang stoppen.

      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.

 

7)   TRFC_QOUT_ACTIVATE

      Verwenden sie diesen Funktionsbaustein, wenn Sie einen Queue Namen (single oder generic, 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 Anwendungs-Exception erhoben wurde und das Problem gelöst wurde.

      Eine angehaltene Queue (durch Aufruf der Funktion TRFC_QOUT_STOP) kann nicht durch diese Funktion verarbeitet werden.

      Wenn der importierende Parameter FORCE auf 'X' geändert wird, schickt der qRFC Manager diese LUW erneut, auch wenn diese LUW sich im Status EXECUTING befindet. Unter normalen Bedingungen müssen Sie diese Funktion nicht benutzen, da der qRFC Manager automatisch versucht solche Blockierungen zu lösen (passiert während der qRFC Manager arbeitet und der Workprozess und Applikationsserver neu gestartet werden). Diese Parameter-Einstellung ist deswegen nur für Systemprogramme gedacht. Beachten Sie auch das Programm  RSTRFCQ0.

 

8)   TRFC_QOUT_RESTART

      Verwenden Sie diesen Funktionsbaustein, wenn Sie einen Queue-Namen (single oder generic, z.B. BASIS_TEST_*) und eine Destination spezifizieren, um mit der Verarbeitung einer oder mehrerer Queues fortzufahren, ohne Berücksichtigung, ob diese Queues bereits gestoppt wurden.

      Wenn Sie den importierenden Parameter FORCE auf SPACE ändern, reduziert der qRFC Manager den STOP-Counter und falls dieser Zähler auf 0 ist, aktiviert er die Queue. Ansonsten wird der qRFC Manager die Queue immer aktivieren, ohne Berücksichtigung des STOP-Counters.

      Falls eine Queue blockiert ist, benutzen Sie oben genannten Aufruf und nicht TRFC_QOUT_ACTIVATE.

      Wenn Sie den importierenden Parameter NO_ACTIVATE auf 'X' setzen, „unlockt“ der qRFC Manager die Queue, aktiviert sie aber nicht.  Beachten Sie auch Programm RSTRFCQ3.

 

9)   TRFC_QOUT_RESTART_COND

      Verwenden Sie diesen Funktionsbaustein, wenn Sie einen Queue-Namen, einen „high priority“ Queue-Namen, oder eine Destination spezifizieren wollen, um eine oder mehrere Queues erneut zu starten. (single oder generic, z.B. BASIS_TEST_*).

      Wenn Sie den importierenden Parameter TILL_STOP auf SPACE ändern, so startet der qRFC Manager die Queue erneut, nachdem die "high priority" Queue leer ist. Ansonsten wird die Queue erneut gestartet, nachdem die "high priority" Queue angehalten wurde oder leer ist.

      Ein Aufruf dieser Funktion durch TILL_STOP = SPACE wird die Queue automatisch zur Zeit des Aufrufs beenden, wenn kein anderer STOP Call zuvor eingeplant wurde.

Hinweis Beachten Sie auch die Programme RSTRFCQ4 (till_stop = space) und RSTRFCQA (till_stop= 'X')

 

10)  TRFC_QOUT_STATE

      Verwenden Sie diesen Funktionsbaustein, wenn Sie einen Queue-Namen, eine Destination und, optional, einen SAP-Client angeben, um den Status dieser Queue zu erfahren.

      Ein Queue-Status kann folgende Werte annehmen: READY, RUNNING, CPICERR, SYSFAIL, STOP, WAITSTOP, WAITING und NOSEND, NOSENDS und WAITUPDA.

      Der Status SYSFAIL resultiert aus einem schweren Systemfehler und wird von einer System-Exception oder Anwendungs-Exception während der Verarbeitung der aktuellen LUW im Zielsystem verursacht. In diesem Status ist die Queue blockiert und kann nicht automatisch erneut gestartet werden. Sie können SMQ1 verwenden, um diese Queue erneut zu senden, oder um sie zu löschen. Falls Sie sie löschen, müssen Sie die Queue reaktivieren oder erneut starten.

      Im Status CPICERR ist die automatische Wiederholung abhängig von der Konfiguration der Destination in SM59 (Voreinstellung: "Yes").

      Falls der Queue-Status WAITSTOP oder WAITING ist, zeigt der exportierende Parameter 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 SMQ1, oder die entsprechenden Funktionsbausteine,  aktiviert und erneut gestartet werden kann. Queues mit Status NOSEND können nur durch andere Systeme oder Programme gelesen werden.

Hinweis Beachten Sie auch das Programm RSTRFCQ2.

 

11)  TRFC_QOUT_OVERVIEW

      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., Queue-Name, Destination, SAP-Client.

 

12)  TRFC_QOUT_DELETE_LUW

      Verwenden Sie diesen Funktionsbaustein, um die LUW in einer Ausgangsqueue zu löschen, die durch den importierenden Parameter TID definiert wurde.

 

13)  TRFC_QOUT_DELETE_QUEUE

      Verwenden Sie diesen Funktionsbaustein um die gesamte Ausgangsqueue zu löschen, die durch die importierenden Parameter QNAME und DEST definiert wurde.

 

14)  TRFC_SET_BACKGROUND_SEQUENCE

      Verwenden Sie diesen Funktionsbaustein um die Verarbeitungsreihenfolge von qRFC-LUWs festzulegen, die aus einem Dialog Task und Update Task in einer Transaktion aufgerufen wurden.

 

15)  TRFC_QOUT_GET_AND_PROCESS

      Verwenden Sie diesen Funktionsbaustein um qRFC-LUWs aus der Ausgangsqueue im lokalen oder entfernten SAP-System zu lesen.

      Auch wenn alle oder nur einige der qRFC-LUWs nur einmal aus einer Ausgangsqueue gelesen werden können (wegen Parameter „single processing“), so werden diese LUWs als LUW für jede einzelne LUW, oder als LUW für alle Lese-qRFC-LUWs gelesen.

      Wenn Sie „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 Anwendungs-Exception auftrat. Alle erfolgreich verarbeiteten LUWs in der Ausgangsqueue werden gelöscht. Die fehlerhafte qRFC-LUW bleibt in der Ausgangsqueue und die Ausgangsqueue wird nicht über die Fehlersituation informiert (Nur der Aufrufer dieses Funktionsbausteins wird informiert).

      Falls Sie kein „single processing“ verwenden, wird eine System- oder Anwendungs-Exception einen „short dump“ verursachen und alle Lese-LUWs bleiben in der Ausgangsqueue. Sie können später erneut gelesen und verarbeitet  werden.

 

16)  TRFC_QOUT_GET_HANGING_QUEUES

      Diese Funktion zeigt alle blockierten Queues an, inklusive der Queues, die von    der Anwendung absichtlich zur späteren Verarbeitung in die Queue geschrieben wurden und deren Status WAITING ist.

Diese Grafik wird im zugehörigen Text erklärt Diese Funktion zeigt auch alle Queues an, deren Status auf WAITING steht. Um nur die fehlerhaften Queues anzusehen, verwenden Sie unter den unter 19) beschriebenen Funktionsbaustein TRFC_QOUT_GET_ERROR_QUEUES

 

17)  TRFC_QOUT_GET_FIRST_LUW

      Diese Funktion zeigt Informationen (z.B.: TID) über die erste LUW in einer Queue an.

 

18)  TRFC_QOUT_GET_CURRENT_QUEUES

      Diese Funktion zeigt alle gegenwärtig existierenden Queues an.

 

19)  TRFC_QOUT_GET_ERROR_QUEUES

      Dieser Funktionsbaustein 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.

 

 

 

 

 

Ende des Inhaltsbereichs