Anfang des InhaltsbereichsVorgehensweisen"Mischbetrieb" einsetzen Dokument im Navigationsbaum lokalisieren

Ein Mischbetrieb zeichnet sich dadurch aus, daß qRFC-Aufrufe mit Ausgangsqueue mit normalen tRFC-Aufrufen gemeinsam in einer LUW behandelt werden. Zur Charakterisierung des "Mischbetriebs" siehe auch qRFC mit Ausgangsqueue im Überblick.

Voraussetzungen

Analog zu Serialisierung programmieren.

Vorgehensweise

Bei der Implementierung des "Mischbetriebs" in einer LUW, ist folgende Besonderheit zu beachten:

Ist in einer LUW mit "Mischbetrieb" der erste Aufruf ein normaler tRFC -Aufruf, so muß zuerst der Funktionsbaustein TRFC_QUEUE_INITIALIZE abgesetzt werden. Damit wird sichergestellt, daß die aktuelle LUW über qRFC mit Ausgangsqueue bearbeitet wird.
Ist dagegen der erste Aufruf ein qRFC-Aufruf, so wird diese Initialisierung bereits durch den Funktionsbaustein TRFC_SET_QUEUE_NAME durchgeführt.

Beispiel

Die folgende Programmsequenz zeigt exeplarisch, wie eine LUW mit "Mischbetrieb" implementiert wird:

REPORT ... .

...

DATA Q_NAME LIKE TRFCQOUT-QNAME .

 

CALL FUNCTION ' TRFC_QUEUE_INITIALIZE '.

CALL FUNCTION 'RFC_FUNCTION_1'           " tRFC call -> NO QUEUE

          IN BACKGROUND TASK

          DESTINATION 'DEST'

          EXPORTING ...

          TABLES ... .

...

Q_NAME = 'BASIS_TEST_Q1'.

CALL FUNCTION ' TRFC_SET_QUEUE_NAME '

          EXPORTING

                  QNAME = Q_NAME.

CALL FUNCTION 'RFC_FUNCTION_2'           " qRFC call -> Q1

          IN BACKGROUND TASK

          DESTINATION 'DEST'

          EXPORTING ...

          TABLES ... .

...

 

CALL FUNCTION 'RFC_FUNCTION_N-1'          "tRFC call -> NO QUEUE

          IN BACKGROUND TASK

          DESTINATION 'DEST'

          EXPORTING ...

          TABLES ... .

Q_NAME = 'BASIS_TEST_QM'.

CALL FUNCTION ' TRFC_SET_QUEUE_NAME '

          EXPORTING

                  QNAME = Q_NAME.

CALL FUNCTION 'RFC_FUNCTION_N'           " qRFC call -> QM

          IN BACKGROUND TASK

          DESTINATION 'DEST'

          EXPORTING ...

          TABLES ... .

...

COMMIT WORK.

Ergebnis

Aufgrund der Transaktionseigenschaft bilden die normalen tRFC-Aufrufe und die qRFC-Aufrufe gleicher Destination eine Einheit. Falls jedoch zu einer Destination keine qRFC-Aufufe innerhalb der aktuellen LUW zu bearbeiten sind, werden die normalen tRFC-Aufrufe zu einer eigenen Sub-LUW gebündelt.

Die normalen tRFC-Aufrufe mit dem Zusatz AS SEPARATE UNIT bilden, wie üblich, eine separate LUW im Zielsystem ab.

qRFC-Aufrufe mit dem Zusatz AS SEPARATE UNIT werden zwar queue-abhängig, jedoch auch separat von der eigentlichen LUW bearbeitet.

Hinweis

Zum Einstieg in die Programmierung des "Mischbetriebs" steht Ihnen das Demo-Programm RSTRFCT1 zur Verfügung.

 

 

Ende des Inhaltsbereichs