Debug für VSE-DL/I-Anwendungen mit dem EGL-Debugger ausführen

Sie können für EGL-Programme, die auf DL/I-Datenbanken unter z/VSE zugreifen, ein Debug ausführen.

Der EGL-Debugger verwendet den VSE-Connector-Client, um auf DL/I-Datenbanken unter CICS auf z/VSE zuzugreifen. Die meisten DL/I-Operationen werden unterstützt. Es gibt jedoch einige Einschränkungen:
  • Nur PCBs von DL/I-Datenbanken werden unterstützt. Der Debugger kann nicht auf einen Eingabe-/Ausgabe-PCB, auf TP-PCBs oder auf GSAM-PCBs zugreifen.
  • Die DL/I-Aufrufe GSCD und XRST werden nicht unterstützt.
  • Alle Datenbank-PCBs im IMS-PSB müssen benannt sein. Der Name muss mit der entsprechenden Eigenschaft 'pcbName' im EGL-PSB übereinstimmen. Falls Ihr Programm die Schnittstelle CBLTDLI verwendet, müssen sich die PCBs im EGL-PSB an derselben Position wie die PCBs im VSE-PSB befinden.

Hostumgebung konfigurieren

Auf dem Host werden zum Debug mehrere Voraussetzungen benötigt.
  • Die Schnittstelle AIBTDLI muss installiert sein.
  • DL/I VSE 1.11 oder höher muss installiert sein.
  • APAR PQ39683 für DL/I muss angewendet worden sein.
  • Auf Ihrem CICS/DLI-System müssen alle PSBs im DL/I-Onlinenukleus DLZNUCxx definiert sein. Das System sollte über ein aktives MPS-System verfügen (suchen Sie im CICS-Protokoll nach der Zeile 'DLZ093I MPS STARTED WITH APPLID=MYCICS'). Der Onlinenukleus muss einen Eintrag für das Programm DLZBPC00 und jeden PSB besitzen, auf den Sie fern zugreifen müssen.
    Beispiel:
    DLZACT TYPE=PROGRAM,PGMNAME=DLZBPC00,PSBNAME=(myPSB1,myPSB2...)
  • Der DL/I-Taskbeendigungsexit DLZBSEOT muss im gemeinsam genutzten virtuellen Bereich resident sein.
  • Falls die obigen Voraussetzungen nicht erfüllt werden, wird eine Ausnahmebedingung ausgegeben, die besagt, dass das DLI-Plug-in inaktiviert ist.
Vorsicht:
Die folgende Ausnahmebedingung wird angezeigt, wenn die Voraussetzungen nicht erfüllt sind:
DLI Plugin is disabled.

Konfiguration des lokalen Arbeitsbereichs

Führen Sie im lokalen Arbeitsbereich die folgenden Aktionen aus, um das ferne Debugging zu aktivieren:
  • Wählen Sie auf der Seite Fenster > Benutzervorgaben > EGL > Debug die Option systemType auf DEBUG setzen ab. Dies weist EGL an, den Systemtyp aus der Builddeskriptoroption zu verwenden.
  • Um das ferne DL/I für VSE zu verwenden, muss der für das Debugging verwendete EGL-Builddeskriptor wie folgt konfiguriert sein:
    destHost
    Der Name oder die IP-Adresse des VSE-Hosts.
    destUserID
    Die Benutzer-ID für die Verbindung zum VSE-Host.
    destPassword
    Das Kennwort für die Verbindung zum VSE-Host.
    destPort
    Die Portnummer, an der der VSE-Connector-Server empfangsbereit ist. Falls diese Option nicht angegeben ist, wird Port 2893 verwendet.
    imsID
    Die Anwendungs-ID der CICS-Region, die für den fernen DL/I-Zugriff verwendet werden soll (die CICS-Region muss ein aktives MPS-System aufweisen).
    imsPSB
    Der Name des Host-PSB für das Debugging. Diese Angabe überschreibt die PSB-Option in den Vorgaben für den EGL-Debugger.
    system
    Entweder VSEBATCH oder VSECICS.
    debugTrace
    Geben Sie 'yes' für den Fall an, dass im Zusammenhang mit dem Debugger ein Fehler auftritt. Die Traceausgabe wird in die Konsole von Rational Business Developer geschrieben.
    Builddeskriptor
  • Legen Sie die Vorgaben für das EGL-Debug wie folgt fest:

    Vergewissern Sie sich auf der Seite Fenster > Benutzervorgaben > EGL > Debug, dass die Dateien VSEConnector.jar und cci.jar im Abschnitt Klassenpfadreihenfolge enthalten sind.

  • Geben Sie auf der Seite Fenster > Benutzervorgaben > EGL > Debug > Debug für IMS-DLI die folgenden Informationen ein:
    Konvertierungstabelle
    Definiert die Sprache des Hosts.
    PSB-Name
    Wählen Sie eine der folgenden Optionen für die Angabe des PSB-Namens aus:
    Builddeskriptoroption 'imsPSB' prüfen
    Wenn für die Builddescriptoroption imsPSB ein Wert angegeben ist, hat dieser Wert Vorrang vor allen anderen Quellen für den PSB-Namen.
    Benutzer für Angabe des PSB-Namens auffordern
    Bei jedem Start einer Debugsitzung wird der Benutzer aufgefordert, den PSB-Namen für den Zugriff auf DL/I-Daten anzugeben. Bei der ODBA-Schnittstelle muss der PCB benannt und mit einem PCB in dem PSB übereinstimmen, der entweder im Programm für IMS oder in dliLib.psbData für CICS definiert ist.
    PSB-Name aus DLILib.psbData verwenden
    Der Standardwert für CICS. Das Programm ermittelt Commit/Rollback für Transaktionen weiterhin anhand einer DL/I-Eigenschaft, aber der PSB-Name stammt aus dem Datensatz psbData in dliLib.
    Programmname als PSB-Name verwenden
    Der Standardwert für IMS. Dies ist entweder der Wert der Eigenschaft alias (sofern verwendet) oder der Programmname. Dieser Wert wird in Großbuchstaben umgesetzt.

Der EGL-Debugger erfordert eine der folgenden Angaben in Ihrem EGL-Programm:

  • Für callInterface = DLICallInterfaceKind.CBLTDLI muss der EGL-PSB die PCBs in derselben Reihenfolge wie der VSE-PSB (sowohl hinsichtlich der Anzahl als auch der entsprechenden Position) enthalten.
  • Für callInterface = DLICallInterfaceKind.AIBTDLI (Standardwert, falls keine Option für callInterface angegeben ist) müssen die Namen der PCBs im EGL-PSB mit den Namen der PCBs im VSE-PSB identisch sein.