Konfigurieren des ISPF für Build-, Bereitstellungs- und Promotion-Unterstützung

Mit IBM® Engineering Workflow Management können Sie Programme und ausführbare Dateien im Rahmen von Build, Deployment und Promotion ausführen. Basieren diese Programme oder ausführbaren Dateien auf ISPF, müssen Sie über das ISPF-Gateway ausgeführt werden. Wie diese Programme und ausführbaren Dateien ausgeführt werden, hängt davon ab, in welcher Umgebung sie gestartet werden. Sie können das Legacy ISPF so konfigurieren, dass es Build-, Deployment- und Promotion-Komponenten unterstützt, die mit einer Clientzugriffslizenz für Developer for IBM Enterprise Platforms verfügbar sind.

Das interaktive ISPF kann nur für Übersetzer verwendet werden, die Enterprise Extensions erstellen. Weitere Informationen finden Sie unter Konfigurieren des interaktiven ISPF für die Build-Unterstützung von Enterprise Extensions.

In den folgenden Erläuterungen wird beschrieben, wie das Legacy ISPF für Build, Deployment und Promotion verwendet wird.

Das ISPF ermöglicht es Client-Anwendungen, sich mit einem z/OS® zu verbinden und TSO- und ISPF auszuführen. Das ISPF-Gateway wird als Teil von ISPF in Form von Lademodulen und Dateien im HFS installiert. In der Regel werden diese Dateien in /usr/lpp/ispf/bin installiert. Die Komponenten für Build, Implementierung und Hochstufung werden im Zuge der SMP/E-Installation erstellt. Je nach Ihrer Einrichtung sind möglicherweise zusätzliche Änderungen an den Skripten und Komponenten des Legacy ISPF Gateways erforderlich. Weiter unten sind die Standardeinstellungen und die Vorgehensweise beim Modifizieren der Standardeinstellungen beschrieben.

In der folgenden Tabelle ist angegeben, wie Programme oder ausführbare Dateien bei Builds, Implementierungen und Hochstufungen ausgeführt werden und welcher Support für diese Programme oder Dateien verfügbar ist.
Tabelle 1. Startbefehle für Engineering Workflow Management
Definition Befehl Gestartet mit
Buildumsetzer ISPF-Befehl oder ausführbare ISPF-Datei Altes oder interaktives ISPF
TSO-Befehl oder ausführbare TSO-Datei Altes oder interaktives ISPF
Builddefinition Befehlszeile für Buildvorbereitung z/OS UNIX System Services Befehl
Befehlszeile für Buildnachbereitung z/OS UNIX System Services Befehl
Paketdefinition Vorbefehl für Paketerstellung Legacy ISPF Gateway
Abschlussbefehl für Paketerstellung Legacy ISPF Gateway
Implementierungsdefinition Vorbefehl für Implementierung Legacy ISPF Gateway
Abschlussbefehl für Implementierung Legacy ISPF Gateway
Vorbefehl für Rollback Legacy ISPF Gateway
Abschlussbefehl für Rollback Legacy ISPF Gateway
Hochstufungsdefinition Befehlszeile für Buildvorbereitung z/OS UNIX System Services Befehl
Befehlszeile für Buildnachbereitung z/OS UNIX System Services Befehl

Programme oder ausführbare Dateien können über das ISPF oder einen UNIX-Systemdienstbefehl ausgeführt werden. z/OS UNIX System Services-Befehle können keine ISPF starten, und sie können nur begrenzte TSO-Befehle starten. Für Befehle, die über das ISPF-Gateway gestartet werden, steht das gesamte Spektrum der TSO-APIs von ISPF zur Verfügung. Pre-Build- und Post-Build-Befehle für Build- und Promotion-Definitionen werden über z/OS UNIX System Services gestartet. Weitere Informationen finden Sie unter Starten des Legacy ISPF über einen z/OS UNIX System Services.

Die folgenden Komponenten sind im Lieferumfang des Legacy ISPF enthalten:

Ältere ISPF: ISPZXENV
Die Umgebungsdatei des ISPF-Gateways enthält anpassbare Einstellungen für das ISPF-Gateway.
Die Datei " ISPZXENV wird als Teil von " z/OS bereitgestellt. Standardmäßig wird diese Datei in /usr/lpp/ispf/bin installiert. Dieses Verzeichnis ist nach der Installation allerdings als schreibgeschützt markiert. Das ISPF-Gateway führt diese Umgebungsdatei aus, um den Wert bestimmter Umgebungsvariablen abzurufen, die für die Ausführung des ISPF-Gateways erforderlich sind. Zu den Standardvariablen gehören unter anderem:
STEPLIB
Ist standardmäßig auf STEPLIB = 'ISP.SISPLPA:ISP.SISPLOAD' gesetzt
Hinweis: Sie können weitere Systemladebibliotheken zu dieser STEPLIB-Zuordnung hinzufügen. Zum Beispiel DB2.SDSNLOAD, wenn Sie Programme oder ausführbare Dateien haben, die Db2 wie BIND starten.
CGI_ISPCONF
Ist standardmäßig auf CGI_ISPCONF = '/etc/ispf' gesetzt
CGI_ISPWORK
Ist standardmäßig auf CGI_ISPWORK = '/var/ispf' gesetzt

Wenn Sie Variablen auf vom Standard abweichende Werte setzen möchten, kopieren Sie ISPZXENV in ein Konfigurationsverzeichnis, in das Sie schreiben dürfen, z. B. in /etc/ispf, und setzen Sie die Variablen auf die für Sie erforderlichen Werte. Nachdem Sie die Variablen auf die erforderlichen Werte gesetzt haben, müssen Sie Ihre Umgebungsvariable PATH in der später beschriebenen Datei Startispf.sh so ändern, dass sie vor dem ISPF-Standardpfad "bin" die neue Position liest.

Zum Beispiel:
export PATH=/etc/ispf:$PATH  

Im Arbeitsverzeichnis des ISPF, standardmäßig ' /var/ispf, müssen Sie ein Verzeichnis mit dem Namen ' WORKAREA anlegen, das Lese- und Schreibrechte für alle Benutzer hat. Bei der Verwendung des ISPF werden temporäre Verzeichnisse des Formats " /var/ispf/WORKAREA/<userid>/* erstellt. Wenn Sie die ISPF-Standardinstallation für das ISPF-Gateway verwenden, gibt es dieses Verzeichnis in der Regel unter /var/ispf/WORKAREA. Wenn das Verzeichnis nicht existiert, befolgen Sie die Anweisungen im Kapitel „Installieren und Anpassen des Gateways “ in „ ISPF -Planung und -Anpassung“ ( GC19-3623 ).

Altes ISPF: startispf.sh
Shell-Skript zum Starten des ISPF für die Bereitstellung und Werbung.
Zum Starten des ISPF stellt Engineering Workflow Management ein Shell-Skript zur Verfügung, das von den Ant-Aufgaben für die Bereitstellung und Förderung aufgerufen wird. Dieses Skript wird in ' /usr/lpp/jazz/v7.2.0/buildsystem/buildtoolkit/examples/ispfgateway installiert. Als Teil der Standardanpassung wird dieses Skript in das Konfigurationsverzeichnis von Engineering Workflow Management kopiert, typischerweise ' /etc/jazz720/ccm durch den Job ' BLZCPBTK. Möglicherweise müssen Sie dieses Shell-Script in Ihrer Konfiguration modifizieren, um einige Umgebungsvariablen festzulegen.
PFAD
Die Variable PATH muss wie folgt auf das Ausgangsverzeichnis des ISPF-Gateways zeigen:
export PATH=$PATH:/usr/lpp/ispf/bin             
Falls Sie ISPZXENV modifiziert haben, könnten Sie PATH wie folgt definieren:
export PATH=$PATH:/etc/ispf:/usr/lpp/ispf/bin

Wenn Sie in ISPF.conf andere Bibliotheksverkettungen verwenden, konfigurieren Sie Ihre Installation für die Unterstützung mehrerer Projekte und Datenströme. Erstellen Sie dazu mehrere Kopien des Scripts startispf.sh, der Datei ISPF.conf und der Datei ISPZXENV. Definieren Sie in jeder Kopie der Datei ISPZXENV die Variable CGI_ISPFCONF so, dass sie auf die Position der zugehörigen Datei ISPF.conf verweist. Setzen Sie dann in jeder Kopie des Scripts startispf.sh die Variable PATH so, dass sie auf die entsprechende Kopie der Datei ISPF.conf verweist. Arbeiten Sie dann mit dem Script startispf.sh für die Umgebung, die Sie für ein bestimmtes Projekt benötigen.

Startscript startbfa.sh für Enterprise-Extensions-Builds
Shell-Skript zum Starten des Rational Build Agent mit Hilfe eines Enterprise Extensions Builds.
Enterprise Extensions-Builds stellen einen Mechanismus zum Starten eines Builds bereit, der wiederum ein Programm startet. Das Programm kann ein ISPF oder eine ausführbare Datei oder ein TSO-Befehl oder eine ausführbare Datei sein. Wenn das vom Build gestartete Objekt eine von ISPF angelegte Bibliothek ist, müssen Sie den Build so konfigurieren, dass der Zugriff auf das erforderliche Objekt möglich ist. In ' startbfa.sh müssen Sie den Speicherort der ISPF Dateien auflisten, damit der Rational Build Agent das ISPF starten kann. Diese Dateien befinden sich Standardmäßig in /usr/lpp/ispf und sind in startbfa.sh mit der Variablen _CMDSERV_BASE_HOME angegeben. Falls Sie Binärdateien des ISPF-Gateways an einer anderen Position installiert haben, müssen Sie diese Variable ändern. Zum Beispiel:
#                                                  
# Specify the home directory for the ISPF programs.
#                                                  
export _CMDSERV_BASE_HOME=/usr/lpp/ispf                   

ISPF-Programme und ausführbare ISPF-Dateien müssen wie weiter unten beschrieben in der Konfigurationsdatei des ISPF-Gateways (ISPF.conf) zugeordnet sein. Für den Rational Build Agent ist auch Zugriff auf ISPF.conferforderlich. Der Zugriff wird in der ISPF (ISPZXENV) festgelegt. Wenn Sie planen, die ISPF in den Builds zu verwenden, und Sie verwenden nicht den Standardspeicherort ' /usr/lpp/ispf/bin, müssen Sie eine Kopie von ' ISPZXENV in einem schreibbaren Konfigurationsverzeichnis erstellen und den Rational Build Agent auf diesen Speicherort verweisen. Setzen Sie die Buildeigenschaft team.enterprise.build.ant.myISPFBinPath auf die Verzeichnisposition, an der sich die Datei ISPZXENV befindet. Sie können den Wert bearbeiten oder die Eigenschaft auf der Registerseite Eigenschaften Ihrer Builddefinition hinzufügen. Weitere Informationen finden Sie unter Verwalten von z/OS.

Ältere ISPF: ISPF.conf
Dies ist die Konfigurationsdatei des ISPF-Gateways mit anpassbaren Einstellungen für das ISPF-Gateway.
Die Datei " ISPF.conf wird als Teil von " z/OS bereitgestellt. Die Konfigurationsdatei des ISPF-Gateways stellt die Zuordnungen bereit, die für den Start einer ISPF-Sitzung in einer erstellten Task erforderlich sind. Die Datei ISPF.conf erfüllt eine ähnliche Funktion wie ein Anmeldeverfahren, das die ISPF-Umgebung für einen angemeldeten ISPF-Benutzer zuordnet. In den ISPF-Verkettungen müssen bestimmte Module für die Ausführung spezifischer Tasks verfügbar gemacht werden, damit die Build-, Implementierungs- und Hochstufungsfunktionen diese Module starten können. Diese Zuordnungen sind standardmäßig wie folgt konfiguriert:
sysproc=ISP.SISPCLIB 
sysexec=ISP.SISPEXEC 
ispmlib=ISP.SISPMENU 
isptlib=ISP.SISPTENU 
ispplib=ISP.SISPPENU
ispslib=ISP.SISPSLIB 
ispllib=ISP.SISPLOAD
Damit die Implementierung und Hochstufung funktioniert, fügen Sie die Engineering Workflow Management -Produktladebibliothek (hlq.SBLZLOAD) und die Produktnachrichtenbibliothek (hlq.SBLZMENU) zur ISPLLIB-und ISPMLIB-Verkettung hinzu. Die modifizierten Zuordnungen können wie im folgenden Beispiel aussehen:
sysproc=ISP.SISPCLIB 
sysexec=ISP.SISPEXEC 
ispmlib=BLZ.SBLZMENU,ISP.SISPMENU 
isptlib=ISP.SISPTENU 
ispplib=ISP.SISPPENU
ispslib=ISP.SISPSLIB 
ispllib=BLZ.SBLZLOAD,ISP.SISPLOAD
Wenn Sie während eines Builds, einer Hochstufung oder einer Implementierung eigene Programme oder ausführbare REXX-Dateien ausführen und diese Programme oder ausführbaren Dateien als ein ISPF-Befehl wie TSO DOSTUFF) aufgerufen werden, der nicht vollständig qualifiziert ist (z. B. EX 'MYPROJ.MYREXX(DOSTUFF)'), fügen Sie die Programme oder ausführbaren Dateien zur ISPF-Verkettung in der Datei ISPF.conf hinzu. Machen Sie in der Datei ISPF.conf die Lademoduldateigruppen in der ISPLLIB-Verkettung verfügbar und machen Sie ausführbare Dateien in der SYSPROC- oder SYSEXEC-Verkettung verfügbar. Zum Beispiel:
sysproc=ISP.SISPCLIB,MYPROJ.MYCLIST 
sysexec=ISP.SISPEXEC,MYPROJ.MYREXX 
ispmlib=BLZ.SBLZMENU,ISP.SISPMENU 
isptlib=ISP.SISPTENU 
ispplib=ISP.SISPPENU
ispslib=ISP.SISPSLIB 
ispllib=BLZ.SBLZLOAD,ISP.SISPLOAD,MYPROJ.LOAD
Hinweis: Die ' ISPF.conf werden nur vorgenommen, wenn die Aufrufmethode zur Ausführung eines Befehls ISPF und nicht TSO ist. Dies gilt auch für den " allocjob, der ausgeführt werden kann, um zusätzliche Benutzerzuweisungen bereitzustellen. Der angegebene " allocjob wird nicht aufgerufen, wenn die Aufrufmethode TSO ist.

Interpretierende Implementierungsmodule ausführen

Falls Sie eigene Implementierungsprozesse oder -funktionen einfügen möchten, können Sie interpretierende Versionen der Implementierungsmodule ausführen. Die Implementierungskomponente führt die folgenden Programme aus:
Tabelle 2. Programme, die von der Implementierungskomponenteausgeführt werden In dieser Tabelle werden die Programme, die während der Implementierung ausgeführt werden, und die Funktionsweise dieser Programme beschrieben.
Programm Funktion Beschreibung
BLZPKGZP Erstellung von Implementierungspaketen Mit der Manifestdatei wird eine ZIP-Datei mit den angegebenen Inhalten erstellt.
BLZBKPZP Sicherung für Implementierung Unter Verwendung der Paketdatei werden Sicherungskopien der Module erstellt, die bei der Implementierung überschrieben werden.
BLZDEPZP Implementierung Mit der Implementierungsmanifestdatei wird der Inhalt der angegebenen ZIP-Datei implementiert.
Die Implementierungstasks von Engineering Workflow Management rufen diese Programme auf, um die beschriebene Funktion auszuführen. Wenn Sie diese Programme ändern wollen, können Sie dies tun, indem Sie die bereitgestellten Beispiele in der Bibliothek hlq.SBLZSAMP ändern und dann auf die geänderte Version in ISPF.confverweisen. Wenn Sie also die Änderungen direkt in hlq.SBLZSAMP vornehmen, ähneln Ihre ISPF.conf -Zuordnungen dem folgenden Beispiel:
sysproc=ISP.SISPCLIB,BLZ.SBLZSAMP 
sysexec=ISP.SISPEXEC 
ispmlib=BLZ.SBLZMENU,ISP.SISPMENU 
isptlib=ISP.SISPTENU 
ispplib=ISP.SISPPENU
ispslib=ISP.SISPSLIB 
ispllib=BLZ.SBLZLOAD,ISP.SISPLOAD
ISPF prüft zuerst die ISPLLIB-Verkettung, es sei denn, der Befehl hat das Prozent-Symbol ' % als Präfix; daher müssen Sie die von Ihnen geänderten Module umbenennen oder aus dem ' hlq.SBLZLOAD -Datensatz entfernen.

Hinzufügen eigener EXEC-Bibliotheken zur Konfigurationsdatei des ISPF

Wenn Sie für Enterprise-Extensions-Builds die ISPF-Aufrufmethode verwenden, müssen Sie Ihre eigene Bibliothek mit ausführbaren Dateien zur SYSEXEC- oder SYSPROC-Verkettung in ISPF.conf hinzufügen. Wenn Sie einen ausführbaren Dateinamen oder einen ' SELECT CMD(executable file) angegeben haben, dann benötigt ISPF Zugriff auf die gewünschte ausführbare Datei in der entsprechenden Verkettung. Sie müssen ISPF.conf so modifizieren, dass die Datei alle erforderlichen Bibliotheken mit ausführbaren Dateien enthält. Beispiel:
sysproc=ISP.SISPCLIB 
sysexec=ISP.SISPEXEC,MY.PROJECT.EXEC 
ispmlib=BLZ.SBLZMENU,ISP.SISPMENU 
isptlib=ISP.SISPTENU 
ispplib=ISP.SISPPENU
ispslib=ISP.SISPSLIB 
ispllib=BLZ.SBLZLOAD,ISP.SISPLOAD

Weitere Informationen über das ISPF finden Sie im Kapitel ISPF in ISPF und Customizing in ISPF und CustomizingGC19-3623).

Ausführen des ISPF mit Multithreading-Abhängigkeitsbuilds

Wenn das ISPF-Gateway als Bestandteil eines Builds, der mehrere Prozesse für Kompilierungsaktivitäten verwendet, ausgeführt wird, treten möglicherweise einige Fehler in Zusammenhang mit Einreihungen in ISPTLIB auf. Dies ist ein Problem, das im Abschnitt Protecting table resources im Abstract for ISPF Dialog Developer's Guide and Reference dokumentiert ist. Um das Auftreten dieser Einreihungen zu stoppen, wird in der Regel bei JCL eine temporäre Dateigruppe als erste Dateigruppe in der ISPTLIB-Zuordnung festgelegt, sodass die Einreihung für die Dateigruppe erfolgt und die erste Dateigruppe in der ausgeführten JCL eindeutig ist.

Dasselbe Problem kann auftreten, wenn die ISPF-Gateway-Prozesse in einem Multithread-Buildmodus ausgeführt werden oder wenn parallele Builds unter Verwendung von Buildagenten mit denselben Benutzerberechtigungsnachweisen ausgeführt werden. Um dieses Problem zu umgehen, muss ISPTLIB erneut zugeordnet werden, sodass die erste zugeordnete Dateigruppe eine eindeutige temporäre Dateigruppe ist. Dazu stellt das ISPF-Gateway einen Mechanismus bereit, mit dem Ihre eigene exec-Datei zum Durchführen anderer zusätzlicher Zuordnungen aufgerufen werden kann. In der zuvor besprochenen Datei ISPF.conf ist eine auskommentierte Anweisung vorhanden:
*allocjob = HLQ.test.exec(alocsamp)

Richten Sie den allocjob an eine physische exec-Datendatei, die eine REXX-exec-Datei zum Vornehmen der Zuordnungen enthält. Die folgende Beispiel-REXX-Datei kann verwendet werden, um eine neue temporäre Dateigruppe zuzuordnen und sie vor Ihrer bereits vorhandenen ISPTLIB-Verkettung zu verknüpfen. Siehe außerdem Member ISPZISP2 in der bereitgestellten ISPF-Musterdateigruppe, standardmäßig ISP.SISPSAMP, für weitere Beispiele für die Verwendung dieser exec-Datei.

Um sicherzustellen, dass der temporäre Dateigruppenname eindeutig ist, müssen Sie die Systemoption TEMPDSFORMAT(UNIQUE) im Member ALLOCxx in PARMLIB verwenden. Andernfalls ist der generierte temporäre Dateigruppenname möglicherweise nicht eindeutig. Verwenden Sie den Operatorbefehl DALLOC,OPTION, um zu prüfen, welche Optionen wirksam sind.

         /*REXX*/
         /*************************************************************************/
         /* This is a sample test exec job for the "TSO/ISPF Client Gateway"      */
         /*  may be invoked by ISPF.conf for additional ISPF dataset              */
         /*  concatentations.                                                     */
         /*  Customize accordingly if required.                                   */
         /*                                                                       */
             parse arg $args
             parse var $args USERID
             say '*************************************** '
             say 'Running allocation job'
             say 'USERID = 'USERID
             say '*************************************** '

          /* Work out current allocation using LISTA */
             x = outtrap('out.','*','concat')
             "lista status sysnames"
             lc = rc
             x = outtrap('off')

          /* Specify DDNAMES you need to reallocate  */
             DDS = 'ISPTLIB'
             DD# = O
             DSN. = ''

             I = 2
             Do While I <= OUT.0                                         /* @01c */                                  
              If Substr (OUT.I,1,1) = ' ' Then
              Do
                Parse var OUT.I DDN . 12 DISP
                If DDN = ' ' Then
                  DSN.DD# = DSN.DD# "'"DSN"'"
                Else
                Do
                  DD# = Wordpos(DDN,DDS)
                  DSN.DD# = "'"DSN"'"
                End
              End
              Else
                Parse var OUT.I DSN .

              I = I +1

             End
             
             "FREE FILE(ISPTLIB)"

             Call BPXWDYN ("alloc FI(ISPTLIB) cyl space(1,1) RTDSN(DSN)"||,
                           " blksize(27920) lrecl(80) dsorg(po) recfm(f,b) dir(1) new")
             Do i = 1 to Words(DSN.1)
               Call BPXWDYN("alloc FI(TMP00001) dsn("Word(DSN.1,i)") shr")
               Call BPXWDYN("concat ddlist(ISPTLIB,TMP00001)")
             End

             Say 'ISPTLIB : Reallocated with following concatenation -'
             LISTA ST SY HI

          Exit

Zusätzlich müssen bei der Ausführung im Multithread-Modus mehrere temporäre ISPF-Dateigruppen erstellt werden. Die eindeutige ID, die das ISPF-Gateway generiert, ist bei der Ausführung im Multithread-Modus nicht eindeutig. Es können jedoch einige Änderungen vorgenommen werden, um ein eindeutiges Präfix zu erstellen, das von ISPF verwendet werden kann. In ' ISPZXENV' kann anstelle des Setzens der Umgebungsvariablen CGI_ISPPREF auf &SYSPREF.ISPF.VCMISPF ein Präfix erzeugt werden. Es basiert auf der PID (Prozess-ID) des ISPF-Gateway-Prozesses, der ausgeführt wird. Fügen Sie den folgenden Code hinzu, um die Einstellung von CGI_ISPPREF zu ändern.

Hinweis: Wenn Sie noch keine maßgeschneiderte Kopie von ' ISPZXENV haben, siehe ISPF: ISPZXENV für Anweisungen, wie Sie eine solche erstellen können.

/* Running multithreaded we get issues with ISPF.VCMISPF not being unique */  
/* Use a hex representation of the PID to uniquelly create ISPF.VCMISPF   */  
                                                                              
address syscall 'getpid' ; pid = retval                                       
                                                                              
Say 'Pid:'pid                                                                 
                                                                              
If Length(Pid) > 7 Then                                                       
Do                                                                            
  CGI_ISPPREF = '&SYSPREF..P$'D2X(Substr(pid,1,5))||,                         
                         '.P$'D2X(Substr(pid,6))                              
End                                                                           
Else                                                                          
  CGI_ISPPREF = '&SYSPREF..P'D2X(pid)                                         

Starten des ISPF über einen z/OS

Wenn Sie einen Build- oder Promotion-Definitionsbefehl vor oder nach dem Build hinzufügen müssen und dieser Befehl TSO- oder ISPF erfordert, starten Sie das Legacy ISPF über den Befehl z/OS UNIX System Services. Das Member BLZGTWY in HLQ.SBLZSAMP ist ein Beispiel für eine ausführbare Datei zum Starten des ISPF-Gateways. Sie können diese ausführbare Datei über z/OS UNIX System Services-Befehlsaufrufpunkte oder über eine XML-Datei mit Ant-Makros ausführen. Wenn Sie die Anweisungen im Member BLZGTWY verwenden, müssen Sie möglicherweise die Angabe des Verzeichnisses /tmp und die Variable PATH so anpassen, dass sie auf die Installationsposition des ISPF-Gateway-Codes zeigen.

Die ausführbare Beispieldatei in BLZGTWY akzeptiert die folgenden Parameter:
Methode
Aufrufmethode (TSO oder ISPF). Bei Verwendung der Methode TSO werden nur SYSPROC und SYSEXEC aus der Datei ISPF.conf zugeordnet. Bei Verwendung der Methode ISPF wird die gesamte ISPF-Verkettung aus der Datei ISPF.conf zugeordnet.
Exec
Name der ausführbaren Datei, die ausgeführt werden soll
Protokollierung
(optional) Bei Angabe von LOG=YES wird das vollständige ISPF-Gateway-Protokoll geschrieben, was bei der Fehlerbehebung hilfreich sein kann.

Starten des ISPF aus Befehlen vor oder nach der Erstellung und vor oder nach der Beförderung

Wenn Sie Ihre eigene ausführbare Datei über einen Buildvorbereitungs-/-nachbereitungsbefehl oder einen Vor-/Abschlussbefehl für die Hochstufung ausführen möchten, müssen Sie die ausführbare Datei in BLZGTWY aufrufen und Ihre eigene ausführbare Datei als Parameter übergeben. BLZGTWY startet das ISPF-Gateway durch Übergabe Ihrer ausführbaren Datei, die in einer vollständigen ISPF-Umgebung ausgeführt werden soll. In den folgenden Beispielen befindet sich BLZGTWY in der bereitgestellten Bibliothek SBLZSAMP. Das folgende Beispiel zeigt, wie die ausführbare Datei BLZGTWY in einem Buildabschlussbefehl gestartet wird:
Starten des ISPF mit einem Build-Befehl
Das folgende Beispiel zeigt, wie die TSO-Zeitfunktion mit einem z/OS gestartet wird:
Starten der TSO-Zeitfunktion mit einem z/OS UNIX System Services

Starten des ISPF über Befehle vor oder nach der Bereitstellung

Diese Art der Ausführung von ausführbaren Dateien unterscheidet sich von der Ausführung unter Verwendung von Build- und Hochstufungsbefehlen dahingehend, dass das ISPF-Gateway direkt mit dem Shell-Befehl startispf.sh gestartet wird. Die mit den Vorbefehlen oder Abschlussbefehlen für die Implementierung übergebenen ausführbaren Dateien müssen ein bestimmtes Format haben. Dies gilt für alle Implementierungsbefehle:
  • Vorbefehl für Laden
  • Abschlussbefehl für Laden
  • Vorbefehl für Implementierung
  • Abschlussbefehl für Implementierung
  • Vorbefehl für Rollback
  • Abschlussbefehl für Rollback
Beim Aufrufen von Implementierungsbefehlen gelten die folgenden Regeln:
  • Der auszuführende Befehl muss in einer Bibliothek enthalten sein, die in der von der Implementierung verwendeten Datei ISPF.conf SYSPROC, SYSEXEC oder ISPLLIB zugeordnet ist.
  • Sie können bis zu 10 Parameter an den aufzurufenden Befehl übergeben.
  • Im Befehl dürfen Sie keine Anführungszeichen verwenden.
  • Im ursprünglichen Befehl enthaltene einfache Anführungszeichen werden entfernt.
  • Die Parameter werden von startispf.sh in Anführungszeichen gesetzt.
  • Die ausführbare REXX-Datei muss die in den Argumenten übergebenen Anführungszeichen entfernen.
Das folgende Beispiel zeigt, wie ausführbare Dateien über einen Befehl nach der Implementierung ausgeführt werden:
Ausführbare Dateien über einen Befehl nach der Implementierung ausführen
Das folgende Beispiel zeigt, wie die ausführbare REXX-Datei das an sie übergebene Argument analysieren muss:
/* REXX */ 
  Arg Parms 
  Parse var Parms '"'Parm1'" "'Parm2'" "'Parm3'"' .         
Der Beispielcode akzeptiert drei Parameter. Durch den abschließenden Punkt (.) werden aus dem Script startispf.sh die restlichen Anführungszeichen gelöscht.

Starten des ISPF aus einem build.xml

BLZGTWY kann auch verwendet werden, um das ISPF-Gateway direkt mit XML-Scripts für Ant mit Enterprise Extensions zu starten. Sie können beispielsweise eine Datei build.xml für die Erstellung Ihrer zComponent-Projekte erstellen. Das folgende Beispiel zeigt, wie mit BLZGTWY ein Ant-XML-Ziel für die Ausführung einer anderen ausführbaren REXX-Datei erstellt wird:
 <!-- Macro definition for ZIP command -->
   <macrodef name="zipISPF">
     <sequential>
       <exec executable="tso" failonerror="true">
         <arg line="&quot;EXEC 'MYHLQ.SBLZSAMP(BLZGTWY)' 'TSO EX MYHLQ.EXEC(ZIPEXEC) parm1 parm2 parm3'&quot;"/>
       </exec>
     </sequential>
   </macrodef>

 <!-- ZIP -->
 <target name="zip" description="zip ISPF">
   <startBuildActivity label="zip ISPF">
    autoComplete="true"
    buildResultUUID="${buildResultUUID}"
    repositoryAddress="${repositoryAddress}"
    userId="${userId}"
    passwordFile="${passwordFile}"/>
  <zipISPF/>
 </target>

Starten des ISPF vom TSO zu Testzwecken

Im folgenden Beispiel wird die ZIPEXEC-Datei über das ISPF-Gateway gestartet. Es werden drei Parameter übergeben. Sie können den ISPF von ISPF 6 aus testen. Um beispielsweise die ausführbare Datei TESTEXEC über das ISPF mit aktivierter Protokollierung auszuführen, verwenden Sie den folgenden Befehl:
EXEC 'MYHLQ.SBLZSAMP(BLZGTWY)' 'ISPF EX MYHLQ.EXEC(TESTEXEC) LOG=YES'
Wenn Sie den Befehl TSO TIME über das ISPF-Gateway ausführen möchten, verwenden Sie einen der folgenden Befehle:
EXEC 'MYHLQ.SBLZSAMP(BLZGTWY)' 'TSO TIME'
oder
EXEC 'MYHLQ.SBLZSAMP(BLZGTWY)' 'ISPF TIME'
Die übergebenen TSO- oder ISPF-Parameter zeigen dem ISPF-Gateway den Umfang der Zuordnung (erforderliche TSO-Zuordnungen oder vollständige ISPF-Zuordnungen) an.

Fehlersuche bei der Konfiguration des ISPF

Stellen Sie sicher, dass das ISPF-Gateway ordnungsgemäß konfiguriert ist. Any user IDs that run Engineering Workflow Management functions that use the ISPF gateway must have the required permissions that are described in ISPF Planung und Anpassung (GC19-3623).

Das Script Engineering Workflow Management startispf.sh verwendet UNIX System Services-Befehle, die Zugriff auf das Verzeichnis /tmp benötigen. Die Buildbenutzer-ID, mit der das Script startispf.sh gestartet wird, muss Zugriff auf das Verzeichnis /tmp haben. Sie können die Verwendung von /tmp als temporäres Verzeichnis überschreiben, indem Sie die folgende Zeile zu /etc/jazz720/ccm/startispf.shhinzufügen:
export TMPDIR=/yourTemporaryDir
Hier steht Ihr_temporäres_Verzeichnis für ein Verzeichnis, auf das Buildbenutzer Schreibzugriff haben.