
Liberty-Servertransaktionen für CICS: BBOC, BBO$ und BBO#
Optimierte lokale WebSphere-Adapter (WOLA, WebSphere Optimized Local Adapters) werden im CICS-Produkt mit den BBOC-, BBO$- und BBO#-Transaktionen unterstützt.
Die optimierten lokalen Adapter werden in einer CICS-Region als Ressourcenmanager ausgeführt. In CICS ist der taskbezogene Benutzerexit (TRUE, Task Related User Exit) das primäre Mittel, das von Ressourcenprovidern verwendet wird. Die Unterstützung für den taskbezogenen Benutzerexit bildet die Grenze zwischen den CICS-Anwendungsthreads und den Threads des externen Ressourcenmanagers. Momentan werden DB2-, WebSphere MQ- und TCP/IP-Sockets in CICS mit der Unterstützung für den taskbezogenen Benutzerexit ausgeführt.
- Die Anwendung führt die angegebenen Stubroutinen aus.
- Die Stubroutinen starten das Schnittstellenmodul des CICS-Ressourcenmanagers und übergeben diesem den Namen der TRUE-Routine für optimierte lokale Adapter, BBOATRUE, und die spezifischen Parameter für jede API.
- CICS sendet den taskbezogenen Benutzerexit an einen der OPENAPI-Tasksteuerblöcke (TCB, Task Control Block) und wird solange ausgeführt, bis der API-Aufruf abgeschlossen ist.
- Der Aufruf wird mit den Ausgabeparametern an CICS zurückgegeben.
Steuertransaktion für CICS: BBOC
Die BBOC-Transaktion ist die WebSphere-Steuertransaktion bzw. -Betriebstransaktion für die Adapterunterstützung unter CICS. Sie können die Transaktion verwenden, um den taskbezogenen Benutzerexit des Liberty-Servers zu aktivieren und zu starten und die Tracestufen für das Debugging der APIs festzulegen und diese Schnittstellen mit dem Liberty-Server zu codieren. BBOC definiert auch Registrierungen und Deregistrierungen und startet und stoppt Link-Server-Tasks in CICS. Diese Server-Tasks bieten Unterstützung für das Starten vorhandener CICS-Programme und die Übergabe von Daten mit COMMAREA-Objekten oder -Containern mit den Eingabeparametern über die Adapter. BBOC ist eine workstationbasierte CICS-Transaktion, die Sie auf einer 3270-Workstation oder einer sequenziellen bzw. SDSCI-Workstation ausführen können.
Die Syntax für die BBOC-Transaktion ist BBOC Operationsname Parameter, wobei mehrere Parameter durch mindestens ein Leerzeichen voneinander getrennt werden müssen.
- RGN
- Der zwölfstellige Registrierungsname.
- DGN
- Der erste achtstellige Name der WOLA-Gruppe, die verwendet werden soll
- NDN
- Der zweite achtstellige Name der WOLA-Gruppe, die verwendet werden soll
- SVN
- Der dritte achtstellige Name der WOLA-Gruppe, die verwendet werden soll
- LSYNC
- LSYNC steuert, ob CICS beim Verbinden mit dem Zielprogramm die Option SYNCONRETURN übergibt. Bei Angabe von LSYNC=Y übergibt der CICS-Link-Server die Option SYNCONRETURN im Befehl EXEC CICS LINK. Diese Option muss eventuell angegeben werden, wenn das Zielprogramm eine weitere CICS-Region ist. Der Standardwert ist LSYNC=N.
- SVC
- Der Servicename bestehend aus maximal 8 Zeichen. Der Parameter unterstützt die Verwendung eines Sterns (*) als Platzhalterzeichen. Beispielsweise können Sie *, abc*, *abc, abc*xyz, abc*xy*z usw. angeben.
- MNC
- Die Mindestanzahl der Verbindungen. Der Minimalwert ist 0 und der Standardwert ist 1.
- MXC
- Die maximale Anzahl der Verbindungen. Der Maximalwert ist 9999 und der Standardwert ist 10.
- SEC
- Der Parameter
SEC steuert, welche Benutzer-ID weitergegeben wird. Der Standardwert ist
SEC=N.
Wenn Sie SEC=N angeben und einen Aufruf von CICS an den Liberty-Server ausführen, wird die Benutzer-ID der CICS-Region weitergegeben. Wenn Sie SEC=N angeben und einen Aufruf vom Liberty-Server an CICS unter der Link-Server-Task (BBO$) ausführen, wird die Link-Task unter der Benutzer-ID des gestarteten Link-Servers ausgeführt.
Wenn Sie SEC=Y angeben und einen Aufruf von CICS zum Liberty-Server ausführen, wird die Benutzer-ID der Taskebene an den Liberty-Server weitergegeben. Wenn Sie SEC=Y angeben und einen Aufruf vom Liberty-Server an CICS ausführen, versucht der Link-Server, die Link-Task (BBO#) mit der vom Liberty-Server weitergegebenen Benutzer-ID zu starten. Die Weitergabe funktioniert nur dann, wenn Sie eine SAF-SURROGAT-Klassendefinition (SAF = System Authorization Facility) erstellt haben, um zuzulassen, dass die Benutzer-ID des Link-Servers den CICS-Befehl START TRAN('BBO#') USERID(<weitergegebene_ID>) absetzt.
- STX
- Der vierstellige Name der zu verwendenden CICS-Transaktions-ID des Link-Servers. Der Standardwert ist
BBO$.Anmerkung: Wenn Sie einen vom Standard abweichenden Transaktionsnamen definieren, müssen Sie auch die Transaktion in der primären CICS-Systemdefinitionsdatei DFHCSD mit demselben Programmnamen und denselben Attributen wie BBO$ definieren.
- LTX
- Der vierstellige Name der zu verwendenden CICS-Transaktions-ID für den Link zum Programm. Der Standardwert ist
BBO#.Anmerkung: Wenn Sie einen vom Standard abweichenden Transaktionsnamen definieren, müssen Sie auch die Transaktion in der primären CICS-Systemdefinitionsdatei DFHCSD mit demselben Programmnamen und denselben Attributen wie BBO# definieren.
- TRC
- Wenn Sie einen Wert für diesen Parameter definieren, wird das Tracing auf folgenden Ebenen aktiviert:
- Bei Angabe von 0: Kein Tracing, nur Fehlernachrichten.
- Bei Angabe von 1: Grundlegendes Tracing.
- Bei Angabe von 2: Ausführliches Tracing.
- TDQ
- Der vierstellige Name der partitionsübergreifenden CICS-Warteschlange mit transienten Daten, in die Adapternachrichten geschrieben werden. Wenn Sie diesen Parameter nicht angeben, wird die Standardeinstellung BBOQ und DD BBOUT verwendet. Wenn die Nachrichten nicht in die angegebene Warteschlange mit transienten Daten (Transient Data Queue, TDQ) geschrieben werden können, werden sie in die Standardausgabe der CICS-Region, tdq CESO dd CEEOUT, geschrieben.
- REU
- REU steuert, ob der Link-Server die Tasks zum Aufruf eines Programmlinks (BBO#-Transaktionen) für Programmaufrufanforderungen wiederverwendet. Der Standardwert ist N.
Wichtig: Wenn Sie den Link-Server mit SEC=N und REU=Y ausführen, wird die Übergabe einer separaten Linktransaktions-ID von der JCA der optimierten lokalen Adapter nicht mehr unterstützt. Anforderungen nach separaten Transaktions-IDs lösen in der Anwendung eine Ausnahme des Typs ResourceException aus. Wenn Sie versuchen, den Link-Server mit SEC=Y und REU=Y auszuführen, wird die Option für Wiederverwendung auf No gesetzt, weil der Link-Server für jede Anforderung eine neue Programmlink-Task starten und die weitergegebene Identität bestätigen muss.
- REUC
- Die Anzahl der Anforderungen, bei denen die CICS-Link-Task (BBO#) aktiv bleibt und wiederverwendet wird.
Wenn diese Anzahl erreicht ist, wird die Link-Task beendet.
Der Maximalwert ist 2147483648.Wichtig: In einem transaktionsorientierten Szenario wird die Link-Task beendet, nachdem diese Anzahl erreicht und die nächste Festschreibung (Commit) vom Liberty-Server empfangen wurde.
- REUT
- Die Anzahl Sekunden, während der die CICS-Link-Task (BBO#) aktiv bleibt und wiederverwendet wird.
Nach Ablauf dieses Zeitintervalls wird die
Link-Task beendet, nachdem die nächste Anforderung empfangen und verarbeitet wurde.
Der Maximalwert ist 2147483648.Wichtig: In einem transaktionsorientierten Szenario wird die Link-Task beendet, nachdem das Zeitintervall erreicht und die nächste Festschreibung (Commit) vom Liberty-Server empfangen wurde.
RETRY
Gibt an, dass eine Anforderung zum Starten oder Registrieren eines Server wiederholt werden soll, wenn sie keine Verbindung zum angeforderten Zielserver herstellen kann. Wenn RETCNT und RETINT nicht angegeben werden, ist die Standardhäufigkeit für die Wiederholung 10 Mal und die Standardzeit zwischen den Wiederholungen 30 Sekunden.
RETCNT
Wenn RETRY=Y angegeben ist, gibt RETCNT die Häufigkeit an, mit der der Befehl nach dem Fehlschlagen wiederholt wird, bevor nicht weiter versucht wird, die Anforderung abzusetzen. Der Minimalwert ist 1 und der Maximalwert ist 99999999. Ein Wert von 0 gibt den Maximalwert an. Wenn der Wert nicht bereitgestellt wird und die Option RETRY=Y verwendet wird, ist die Standardhäufigkeit für die Wiederholung 10 Mal.
RETINT
Wenn RETRY=Y angegeben wird, gibt RETINT die Anzahl von Sekunden als Zeitintervall zwischen den Wiederholungsversuchen an. Der Minimalwert ist 1 und der Maximalwert ist 359000. Ein Wert von 0 gibt den Maximalwert an. Wenn der Wert nicht bereitgestellt wird und die Option RETRY=Y verwendet wird, ist die Standardanzahl von Sekunden zwischen den Wiederholungsversuchen 30 Sekunden.
RTXP
RTXP=(Y|N) gibt an, dass das von der Linkaufruftask (BBO#) ausgeführte EXEC CICS LINK PROGRAM() die Option TRANSID() enthalten sollte. Wenn dies ohne den RTX-Parameter (fern ausgeführte Transaktion) angegeben wird, wird der aktuelle EIBTRNID-Wert mit dem Parameter TRANSID() übergeben.
RTX
RTX mit dem Parameter RTXP gibt an, dass das von der Linkaufruftask (BBO#) ausgeführte EXEC CICS LINK PROGRAM() die Option TRANSID() enthalten sollte. Der Wert für diese Option wird über den RTX-Parameter bereitgestellt. Wenn dieser Wert nicht übergeben und RTXP=Y bereitgestellt wird, wird der aktuelle EIBTRNID-Wert im Parameter TRANSID() verwendet.
- TXN
- TXN beschreibt das Transaktionsverhalten der Registrierung, die über die BBOC-Transaktion generiert wird. Diese Option wird nur von Registrierungen in WebSphere Traditional-Serverinstanzen unterstützt.
Wenn BBOC eine WOLA-Registrierung mit der Operation REGISTER erstellt, bedeutet die Angabe TXN=Y, dass alle in WebSphere Application Server gestartete Java EE-Anwendungen, die diese Registrierung verwenden, zur aktuellen CICS-Arbeitseinheit hinzugefügt werden. Bei Angabe von TXN=Y wird eine globale Transaktion zwischen CICS und WebSphere Application Server erstellt, die mit dem Protokoll für zweiphasige Festschreibung ausgeführt wird, wenn die CICS-Anwendung einen Synchronisationspunkt EXEC CICS SYNCPOINT ausgibt oder wenn ein Synchronisationspunkt impliziert, wie z. B. wenn die CISC-Task endet.
Wenn BBOC verwendet wird, um einen Link-Server über die Funktion START_SRVR zu erstellen, bedeutet die Angabe TXN=Y, dass die CICS-Link-Server-Task die aktuelle WebSphere Application Server-Transaktion verknüpft, wenn ein Service gestartet wird. Wenn beispielsweise eine Java EE-Anwendung eines RMLT-Transaktion (Resource Manager Local Transaktion) und ein CICS-Programm startet, das den OLA-JCA-Connector verwendet, verknüpft die Linktask die lokale Transaktion und startet anschließend das CICS-Zielprogramm. Aktualisierungen, die im CICS-Programm durchgeführt wurden, werden erst mit der API für Festschreiben festgeschrieben oder mit der API für Rollback zurückgesetzt, wenn die Java EE-Anwendung die RMLT-Transaktion abgeschlossen hat.
Operationsname | Abkürzung | Beschreibung | Parameter |
---|---|---|---|
START_TRUE | STR | Taskbezogenen Benutzerexit (TRUE) des Liberty-Servers starten | TRC=<0|1|2>
TDQ=<TDQ-Name> |
STOP_TRUE | PTR | Taskbezogenen Benutzerexit (TRUE) des Liberty-Servers stoppen | TRC=<0|1|2> TDQ=<TDQ-Name> |
REGISTER | REG | Liberty-Server mit der WOLA-Gruppe registrieren | RGN=<Name> DGN=<Name> NDN=<Name> SVN=<Name> MNC=<minimale_Anzahl_von_Verbindungen> MXC=<maximale_Anzahl_von_Verbindungen> SEC=<Y|N> TRC=<0|1|2> TDQ=<TDQ-Name>
TXN=<Y|N> |
UNREGISTER | Registrierung mit den optimierten lokalen Adaptern des Liberty-Servers aufheben | RGN=<Name> | |
START_SRVR | STA | Liberty-Server-Task für den übergebenen Registernamen starten | RGN=<Name> DGN=<Name> NDN=<Name> SVC=<Name> SVN=<Name> MNC=<minimale_Anzahl_von_Verbindungen> MXC=<maximale_Anzahl_von_Verbindungen> SEC=<Y|N> STX=<Transaktions-ID_des_CICS-Link-Servers> LTX=<Transaktions-ID_des_CICS-Link-Servers> TRC=<0|1|2> TDQ=<TDQ-Name> REU=<Y|N> REUC=<Anzahl_von_Anforderungen> REUT=<Anzahl_von_Sekunden>
TXN=<Y|N> |
STOP_SRVR | STP | Liberty-Server-Task für den Registername stoppen | RGN=<Name> TRC=<0|1|2> TDQ=<TDQ-Name> |
![]() |
DOC | DOCTEMPLATE (DOC) gibt an, dass die Befehlszeichenfolge (BBOC-Befehl und alle Argumente) aus einer CICS-Dokumentvorlagenquelle gelesen werden sollen. Die Angabe BBOC DOC NAME=<Vorlagenname> gibt an, dass sich die vollständige Anforderung in einer einzelnen Zeile in einer Dokumentvorlage mit dem angegebenen Namen befindet. Weitere Informationen zur Definition von Dokumentvorlagen finden Sie in der CICS-Dokumentation. Auf diese Weise ist es möglich, lange Befehlszeichenfolge (bis zu maximal 500 Zeichen) aus Datasets, Dataset-Membern und Dateien im Dateisystem der CICS-Region zu lesen. Die Angabe einer BBOC DOC NAME=<>-Anforderung in einer Dokumentvorlagendatei wird nicht unterstützt. | NAME=<Name_der_CICS-Dokumentvorlage>TRC=<0|1|2> |
BBOC-Beispielbefehle
- Start des Adapter-CICS-TRUE-Programms.
bboc start_true
- Stopp des Adapter-CICS-TRUE-Programms.
bboc stop_true
- Registrierung
mit dem Namen CICS-HR1 in der WOLA-Gruppe mit den Namen
LIB1, LIB2 und LIB3 mit maximal 10 Verbindungen, minimal 5 Verbindungen und mit Sicherheitsweitergabe.
bboc register rgn=CICS-HR1 dgn=LIB1 ndn=LIB2 svn=LIB3 mnc=5 mxc=10 sec=y
- Registrierung mit dem Namen
CICS-HR1 aufheben.
bboc unregister rgn=CICS-HR1
- Start einer Servertransaktion als
BBO$ für alle Service- und Programmnamen unter dem registrierten Namen
CICSPAYR mit einer WOLA-Gruppe mit maximal 10 Verbindungen, minimal 5 Verbindungen und Sicherheitsweitergabe.
bboc start_srvr rgn=CICSPAYR dgn=LIB1 ndn=LIB2 svn=LIB3 mnc=5 mxc=10 sec=y
- Stopp der Servertransaktion
BBO$, die unter dem registrierten Namen
CICSPAYR ausgeführt wird.
bboc stop_srvr rgn=CICSPAYR
- Start einer Servertransaktion als
BBO$ für die Service- und Programmnamen, die mit
PAYR beginnen, unter dem registrierten Namen
CICSPAY1 mit einer WOLA-Gruppe mit
maximal 10 Verbindungen, minimal 5 Verbindungen und Sicherheitsweitergabe.
bboc start_srvr rgn=CICSPAY1 dgn=LIB1 ndn=LIB2 svn=LIB3 mnc=5 mxc=10 sec=y svc=PAYR*
- Start einer Servertransaktion unter der Transaktions-ID PAY2 und Registrierung mit dem Namen
PAYROLL2 für alle Service- und Programmnamen in einer WOLA-Gruppe mit maximal 10 Verbindungen, minimal 5 Verbindungen, grundlegendem Tracing und Sicherheitsweitergabe.
bboc start_srvr rgn=PAYROLL2 dgn=LIB1 ndn=LIB2 svn=LIB3 mnc=5 mxc=10 sec=y stx=PAY2 trc=1
- Start einer Servertransaktion unter
der Transaktions-ID PAY3 und der Linktransaktions-ID
PY3L. Registrierung mit dem Namen
PAYROLL3 für die Service- und Programmnamen, die mit
PAYRL3 beginnen,
in einer WOLA-Gruppe mit maximal 10 Verbindungen, minimal 5 Verbindungen, grundlegendem Tracing und Sicherheitsweitergabe.
bboc start_srvr rgn=PAYROLL3 dgn=LIB1 ndn=LIB2 svn=LIB3 mnc=5 mxc=10 sec=y svc=PAYRL3* stx=PAY3 ltx=PY3L trc=1
- Startet eine Link-Server-Transaktion, bei der alle Parameter aus einer CICS-Dokumentvorlagenquelle mit dem Namen LONGCMD gelesen werden.
bboc doc name=LONGCMD
BBOC-Befehl während des CICS-Starts automatisch ausführen
- Damit der taskbezogene Benutzerexit (TRUE) der optimierten lokalen Adapter beim Start von CICS ebenfalls gestartet wird, nehmen Sie BBOACLPT als Einträge der Phase 2 oder 3 in Ihre CICS-PLT (PLT = Programmlistentabelle) auf.
- Damit beim Starten von CICS ein BBOC-Befehl mit INITPARM-Daten abgesetzt wird, nehmen Sie BBOACLP2 als Einträge der Phase 2 oder 3 in Ihre CICS-PLT auf.
INITPARM=(BBOACPL2='STA RGN=PAYROLL DGN=LIB1 NDN=LIB2 SVN=LIB3 SVC=*')
INITPARM=(BBOACPL2='REG RGN=LIBAPP DGN=LIB1 NDN=LIB2 SVN=LIB3 MNC=10 MXC=100')
Wenn Sie beim Starten von CICS eine Registrierung erstellen, verwenden Sie nicht die Registrierungs-API in Ihren Anwendungen. Verwenden Sie stattdessen andere APIs, z. B. Invoke (Aufrufen) oder Connection Get (Verbindungsanforderung).
- Führen Sie für alle CICS-Link-Server BBOC STOP_SERVER aus oder führen Sie für alle Registrierungen BBOC URG aus.
- Löschen Sie die BBO$-Tasks.
- Schreiben Sie ein PLT-Beendigungsprogramm, das den Befehl EXEC CICS LINK für BBOACNTL für jeden Link-Server ausführt, der die Zeichenfolge STOP_SERVER übergibt.
- Setzen Sie den folgenden Befehl ab: CEMT P SHUT,IMMED
Link-Server-Transaktion für CICS: BBO$
Die CICS-Transaktion BBO$ unterstützt Aufrufe vom Liberty-Server an CICS. Die Transaktion BBO$ ist eine nicht-workstationbasierte Transaktion, die eine Instanz einer Server-Task darstellt, die mit der Operation BBOC START_SRVR für einen bestimmten registrierten Namen und Servicenamen gestartet wurde. Diese Server-Task ermöglicht Programmlinkaufrufe, d. h. sie ermöglicht den Start eines vorhandenen CICS-Programms aus dem Liberty-Server über die APIs der optimierten lokalen Adapter.Sie können den Namen der Transaktion, BBO$, überschreiben, indem Sie im Befehl BBOC START_SRVR den Parameter STX=Name angeben. Der neue Transaktionsname muss für CICS mit demselben Programmnamen und denselben Attributen wie BBO$ definiert sein. Weitere Informationen finden Sie unter Definitionen optimierter lokaler Adapter für CICS.
Transaktion zum Aufruf eines Programmlinks für CICS: BBO#
Die CICS-Transaktion BBO# unterstützt Aufrufe vom Liberty-Server an CICS. Die Transaktion BBO# ist eine nicht-workstationbasierte Transaktion, die eine Instanz einer Task darstellt, die von der Link-Server-Task BBO$ zum Aufruf eines Programmlinks gestartet wird. Die Transaktion BBO$ startet für jede CICS-Programmlinkanforderung von einer Anwendung auf dem Liberty-Server eine BBO#-Transaktion.Sie können den Namen der Transaktion, BBO#, überschreiben, indem Sie im Befehl BBOC START_SRVR den Parameter LTX=Name angeben. Der neue Transaktionsname muss für CICS mit demselben Programmnamen und denselben Attributen wie BBO# definiert sein. Weitere Informationen finden Sie unter Definitionen optimierter lokaler Adapter für CICS. Alternativ dazu kann die Anwendung auf dem Liberty-Server den neuen Transaktionsnamen mit der JCA-Methode setLinkTaskTransid an CICS übergeben.