Configurazione del gateway ISPF legacy per il supporto alla compilazione, alla distribuzione e alla promozione

Con IBM® Engineering Workflow Management, è possibile eseguire programmi e file eseguibili come parte di build, deployment e promozione. Se questi programmi o file eseguibili sono ISPF, devono essere avviati attraverso il gateway ISPF. Come questi programmi e file eseguibili vengono eseguiti dipende dall'ambiente da cui sono avviati. È possibile configurare il gateway Legacy ISPF per supportare i componenti di creazione, distribuzione e promozione disponibili con una licenza di accesso client Developer for IBM Enterprise Platforms.

Il gateway Interactive ISPF può essere utilizzato solo per i traduttori di build delle Estensioni Enterprise. Per ulteriori informazioni, vedere Configurazione del gateway Interactive ISPF per il supporto alla compilazione di Enterprise Extensions.

Le spiegazioni seguenti descrivono come utilizzare il gateway Legacy ISPF per la creazione, la distribuzione e la promozione.

Il gateway ISPF consente alle applicazioni client di connettersi a un hostz/OS® ed eseguire comandi TSO e ISPF. Il gateway ISPF è installato come parte di ISPF sotto forma di moduli e file di carico nell'HFS. Questi file sono generalmente installati in /usr/lpp/ispf/bin. I componenti di compilazione, distribuzione e promozione vengono creati come parte dell'installazione di SMP/E. A seconda della configurazione, potrebbero essere necessarie ulteriori modifiche agli script e ai componenti forniti dal gateway Legacy ISPF. Le impostazioni predefinite e la procedura per la modifica dei default vengono descritte in seguito.

La seguente tabella mostra come i programmi o i file eseguibili possono essere eseguiti durante la build, la distribuzione e la promozione e il supporto disponibile per loro.
Tabella 1. Comandi di avvio per i componenti di Engineering Workflow Management
Definizione Comando Avviato da
Crea traduttore Comando ISPF o file eseguibile Gateway ISPF tradizionale o interattivo
Comando TSO o file eseguibile Gateway ISPF tradizionale o interattivo
Definizione di build Riga comandi pre-build comando Servizi di sistema z/OS UNIX
Riga comandi post-build comando Servizi di sistema z/OS UNIX
Definizione package Pre - comando del pacchetto Gateway ISPF tradizionale
Pacchetto post - comando Gateway ISPF tradizionale
Definizione distribuzione Distribuire pre - comando Gateway ISPF tradizionale
Distribuire post - comando Gateway ISPF tradizionale
Pre - comando di rollback Gateway ISPF tradizionale
Rollback post - comando Gateway ISPF tradizionale
Definizione promozione Riga comandi pre-build comando Servizi di sistema z/OS UNIX
Riga comandi post-build comando Servizi di sistema z/OS UNIX

I programmi o i file eseguibili possono essere eseguiti utilizzando il gateway ISPF o un comando UNIX System Services. i comandi di z/OS UNIX System Services non possono avviare comandi ISPF e possono avviare solo comandi TSO limitati. I comandi avviati tramite il gateway ISPF hanno a disposizione l'intero set di API ISPF e TSO. I comandi di pre-costruzione e post-costruzione per le definizioni di build e promozione vengono avviati tramite z/OS UNIX System Services. Per ulteriori informazioni, vedere Avvio del gateway Legacy ISPF da un comando di z/OS UNIX System Services.

I seguenti componenti sono inclusi nel gateway ISPF Legacy:

File di ambiente del gateway ISPF legacy: ISPZXENV
File di ambiente del gateway ISPF che contiene impostazioni personalizzabili per il gateway ISPF.
Il file 'ISPZXENV è fornito come parte di z/OS. Per impostazione predefinita questo file è installato in /usr/lpp/ispf/bin. Tuttavia, questa directory è contrassegnata READ solo dopo l'installazione. Questo file di ambiente viene eseguito dal gateway ISPF per ottenere il valore di alcune variabili di ambiente necessarie al funzionamento del gateway ISPF. Le variabili predefinite includono quanto segue:
STEPLIB
Per impostazione predefinita è impostato su STEPLIB = 'ISP.SISPLPA:ISP.SISPLOAD'
Nota: È possibile aggiungere più librerie di caricamento del sistema a questa assegnazione STEPLIB. Ad esempio, DB2.SDSNLOAD, se avete programmi o file eseguibili che avviano funzioni di Db2 come BIND.
CGI_ISPCONF
Per impostazione predefinita è impostato su CGI_ISPCONF = '/etc/ispf'
CGI_ISPWORK
Per impostazione predefinita è impostato su CGI_ISPWORK = '/var/ispf'

Per impostare le variabili su valori non predefiniti, copiare ISPZXENV in una directory di configurazione scrivibile, come /etc/ispf e impostare le variabili sui valori richiesti. È quindi necessario modificare la variabile d'ambiente path in 'Startispf.sh, descritta più avanti, per leggere questa posizione prima del percorso bin predefinito di ISPF.

Ad esempio:
export PATH=/etc/ispf:$PATH  

Nella directory di lavoro del gateway ISPF legacy, per impostazione predefinita '/var/ispf, è necessario creare una directory esistente chiamata 'WORKAREA, che abbia i permessi di lettura e scrittura per tutti gli utenti. Quando si utilizza il gateway ISPF, vengono create directory temporanee del formato '/var/ispf/WORKAREA/<userid>/*. Se si utilizza l'installazione predefinita del gateway ISPF fornita da ISPF, questa directory si trova tipicamente in '/var/ispf/WORKAREA. Se la directory non esiste, seguire le istruzioni riportate nel capitolo intitolato " Installazione e personalizzazione del gateway " in ISPF Planning and Customizing ( GC19-3623 ).

Script di avvio del gateway ISPF legacy: startispf.sh
Script di shell per avviare il gateway ISPF legacy per la distribuzione e la promozione.
Per avviare il gateway ISPF, Engineering Workflow Management fornisce uno script di shell che viene richiamato dai task Ant di distribuzione e promozione. Questo script è installato in '/usr/lpp/jazz/v7.2.0/buildsystem/buildtoolkit/examples/ispfgateway. Come parte della personalizzazione standard, questo script viene copiato nella directory di configurazione di Engineering Workflow Management, tipicamente '/etc/jazz720/ccm dal lavoro 'BLZCPBTK. A seconda del setup potrebbe essere necessario modificare questo script di shell per impostare alcune variabili di ambiente.
PERCORSO
La variabile PATH deve puntare alla directory home del gateway ISPF:
export PATH=$PATH:/usr/lpp/ispf/bin             
Se è stato modificato ISPZXENV , potrebbe essere necessario impostare PATH su:
export PATH=$PATH:/etc/ispf:/usr/lpp/ispf/bin

Se si utilizzano diverse concatenazioni di librerie in ISPF.conf, configurare l'installazione per supportare più progetti e stream creando più copie dello script startispf.sh , del file ISPF.conf e del file ISPZXENV . In ogni copia del file ISPZXENV , impostare la variabile CGI_ISPFCONF in modo che punti all'ubicazione del file ISPF.conf correlato. Quindi, in ogni copia dello script startispf.sh , impostare la variabile PATH in modo che punti alla copia appropriata del file ISPF.conf . Quindi, utilizzare lo script startispf.sh che corrisponde all'ambiente necessario per un particolare progetto.

Script di avvio build Enterprise Extensions: startbfa.sh
Script di shell per avviare Rational Build Agent utilizzando una build di Enterprise Extensions.
Enterprise Extensions build fornisce un meccanismo per avviare una build che a sua volta avvia un programma. Il programma può essere un comando o un file eseguibile ISPF o un comando o un file eseguibile TSO. Se un oggetto di libreria allocato ISPF viene avviato dalla compilazione, è necessario configurare la compilazione per fornire l'accesso all'oggetto richiesto. In 'startbfa.sh è necessario elencare la posizione dei file ISPF, in modo che Rational Build Agent possa avviare il gateway ISPF. Per impostazione predefinita questi file si trovano in /usr/lpp/ispf e sono specificati in startbfa.sh utilizzando la variabile _CMDSERV_BASE_HOME. Se i file binari del gateway ISPF sono installati in un'altra posizione, è necessario modificare questa variabile. Ad esempio:
#                                                  
# Specify the home directory for the ISPF programs.
#                                                  
export _CMDSERV_BASE_HOME=/usr/lpp/ispf                   

I programmi ISPF e i file eseguibili devono essere allocati nel file di configurazione del gateway ISPF (ISPF.conf) come descritto in seguito. Rational Build Agent richiede anche l'accesso a ISPF.conf. L'accesso è impostato nel file di ambiente del gateway ISPF (ISPZXENV). Se si intende utilizzare le funzionalità ISPF nelle build e non si utilizza il percorso predefinito '/usr/lpp/ispf/bin, è necessario creare una copia di 'ISPZXENV in una directory di configurazione scrivibile e puntare il Rational Build Agent a tale percorso. Impostare la proprietà di generazione team.enterprise.build.ant.myISPFBinPath sull'ubicazione della directory contenente il file ISPZXENV . È possibile modificare il valore o aggiungere la proprietà utilizzando la scheda Proprietà nella propria definizione build. Per ulteriori informazioni, vedere Gestione delle build di z/OS.

File di configurazione del gateway ISPF legacy: ISPF.conf
File di configurazione del gateway ISPF che contiene impostazioni personalizzabili per il gateway ISPF.
Il file 'ISPF.conf è fornito come parte di z/OS. Il file di configurazione del gateway ISPF fornisce le allocazioni necessarie per avviare una sessione ISPF in un task creato. Il file 'ISPF.conf svolge una funzione simile a quella di una procedura di logon che alloca l'ambiente ISPF per un utente ISPF connesso. Affinché le funzioni di compilazione, distribuzione e promozione avviino i moduli per eseguire compiti specifici, i moduli devono essere resi disponibili nelle concatenazioni ISPF. Per impostazione predefinita queste assegnazioni sono impostate come segue:
sysproc=ISP.SISPCLIB 
sysexec=ISP.SISPEXEC 
ispmlib=ISP.SISPMENU 
isptlib=ISP.SISPTENU 
ispplib=ISP.SISPPENU
ispslib=ISP.SISPSLIB 
ispllib=ISP.SISPLOAD
Per il funzionamento della distribuzione e della promozione, aggiungere la Engineering Workflow Management libreria di caricamento del prodotto (hlq.SBLZLOAD) e la libreria di messaggi del prodotto (hlq.SBLZMENU) alla concatenazione ISPLLIB e ISPMLIB. Le assegnazioni modificate sembrano simili a questo esempio:
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
Durante la compilazione, la promozione o la distribuzione, se si eseguono i propri programmi o file eseguibili REXX e tali programmi o file eseguibili vengono chiamati come comando ISPF, ad esempio 'TSO DOSTUFF, che non è completamente qualificato, come 'EX 'MYPROJ.MYREXX(DOSTUFF)', aggiungere i programmi o i file eseguibili alla concatenazione ISPF nel file 'ISPF.conf. Nel file ISPF.conf , rendere i dataset del modulo di caricamento disponibili nella concatenazione ISPLLIB e rendere disponibili i file eseguibili nelle concatenazioni SYSPROC o SYSEXEC. Ad esempio:
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
Nota: Le assegnazioni di 'ISPF.conf vengono effettuate solo quando il metodo di chiamata per eseguire un comando è ISPF e non TSO. Questo vale anche per il " allocjob che può essere eseguito per fornire allocazioni utente aggiuntive. Il " allocjob fornito non verrà invocato se il metodo di chiamata è TSO.

Esecuzione di moduli di distribuzione interpretativi

Se si desidera aggiungere i propri processi di distribuzione o funzioni, è possibile eseguire le versioni interpretative dei moduli di distribuzione. Il componente di distribuzione esegue i seguenti programmi:
Tabella 2. Programmi eseguiti dal componente di distribuzione. Questa tabella descrive i programmi eseguiti durante la distribuzione e cosa fanno quei programmi.
Programma Funzione Descrizione
BLZPKGZP Imballaggio di distribuzione L'utilizzo del file manifest crea un file .zip dei contenuti specificati.
BLZBKPZP Backup di distribuzione Utilizzando il file di pacchetto, effettuare copie di backup dei moduli la distribuzione sovrascrive.
BLZDEPZP Distribuzione Utilizzando il file manifest di distribuzione, distribuire il contenuto del file .zip specificato.
Le attività di distribuzione di Engineering Workflow Management richiamano questi programmi per eseguire la funzione descritta. Se si desidera modificare questi programmi, è possibile farlo modificando gli esempi forniti che si trovano nella libreria hlq.SBLZSAMP e quindi puntare alla versione modificata in ISPF.conf. Quindi, se si apportano le modifiche direttamente nelle assegnazioni hlq.SBLZSAMP your ISPF.conf sono simili a questo esempio:
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 controlla prima la concatenazione ISPLLIB, a meno che il comando non abbia il prefisso del simbolo percentuale '%; pertanto, è necessario rinominare o rimuovere i moduli modificati dal set di dati 'hlq.SBLZLOAD.

Aggiunta delle proprie librerie EXEC al file di configurazione del gateway Legacy ISPF

Per le build di Enterprise Extensions, se si utilizza il metodo di chiamata ISPF, è necessario aggiungere la propria libreria di file eseguibili alle concatenazioni 'SYSEXEC o 'SYSPROC nel file 'ISPF.conf. Se si è specificato un nome di file eseguibile o un 'SELECT CMD(executable file), ISPF richiede l'accesso al file eseguibile richiesto nella concatenazione appropriata. È necessario modificare ISPF.conf per includere le librerie di file eseguibili richieste, ad esempio:
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

Per ulteriori informazioni sul gateway ISPF, consultare il capitolo intitolato Gateway client ISPF in Pianificazione e personalizzazione ISPFGC19-3623).

Esecuzione del gateway ISPF legacy con build di dipendenze multithreading

Se il gateway ISPF deve essere eseguito come parte di una compilazione che utilizza processi multipli per le attività di compilazione, potrebbero esserci dei problemi con le code su ISPTLIB. Questo problema è documentato nella sezione Protezione delle risorse delle tabelle in Abstract for ISPF Dialog Developer's Guide and Reference. Normalmente con JCL, per fermare queste encode che si verificano, viene assegnato un dataset temporaneo come primo dataset in dotazione ISPTLIB in modo che l'enqueue sia fatto sul primo dataset e che il primo dataset sia univoco per l'esecuzione di JCL.

Lo stesso problema può verificarsi quando si eseguono i processi di ISPF Gateway in modalità di compilazione multi-thread o se si eseguono compilazioni simultanee utilizzando agenti di compilazione in esecuzione con le stesse credenziali utente. Per aggirarsi intorno a questo numero è necessario ripartire ISPTLIB in modo che il primo dataset assegnato sia un dataset temporaneo univoco. A tale scopo, il gateway ISPF fornisce un meccanismo per chiamare il proprio exec per eseguire altre allocazioni aggiuntive. Nel file ISPF.conf discusso in precedenza, è presente una direttiva commentata:
*allocjob = HLQ.test.exec(alocsamp)

Indirizzare l'allocjob ad un dato fisico exec che contiene un exec REXX per effettuare le assegnazioni. Il seguente esempio REXX può essere utilizzato per assegnare un nuovo dataset temporaneo e concatenarlo davanti alla concatenazione ISPTLIB esistente. Inoltre, si veda il membro ISPZISP2 nell'insieme di dati forniti di campioni ISPF, per default 'ISP.SISPSAMP, per altri esempi di utilizzo di questo exec.

Per garantire l'unicità nel nome del dataset temporaneo, è necessario utilizzare l'opzione di sistema TEMPDSFORMAT(UNIQUE) nel membro ALLOCxx in PARMLIB. In caso contrario, il nome dataset temporaneo generato potrebbe non essere univoco. Per verificare quali opzioni sono in vigore, utilizzare il comando operatore DALLOC,OPTION .

         /*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

Inoltre, quando si esegue in modalità multi-thread, è necessario creare diversi set di dati ISPF temporanei. L'identificatore univoco generato da ISPF Gateway non è sufficientemente univoco quando viene eseguito in modalità multi-thread. Tuttavia, è possibile apportare alcune modifiche per creare un prefisso unico che ISPF possa utilizzare. In 'ISPZXENV, invece di impostare la variabile d'ambiente CGI_ISPPREF a &SYSPREF.ISPF.VCMISPF, è possibile generare un prefisso. Si basa sul PID (Process Identifier) del processo ISPF Gateway in esecuzione. Aggiungere il seguente codice per sostituire l'impostazione di CGI_ISPPREF.

Nota: Se non si dispone già di una copia su misura di 'ISPZXENV, vedere il file di ambiente del gatewayISPF: ISPZXENV per istruzioni su come crearne una.

/* 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)                                         

Avvio del gateway Legacy ISPF da un comando System Services z/OS UNIX

Se è necessario aggiungere un comando di pre-build o di post-build per la definizione di build o di promozione e tale comando richiede i servizi TSO o ISPF, avviare il gateway Legacy ISPF dal comando z/OS UNIX System Services. Il membro 'BLZGTWY in hlq.SBLZSAMP è un file eseguibile di esempio per avviare il gateway ISPF. È possibile eseguire questo file eseguibile dai punti di invocazione dei comandi di z/OS UNIX System Services o da un file XML contenente macro Ant. Utilizzando le istruzioni contenute nel membro 'BLZGTWY, potrebbe essere necessario personalizzare la specifica della directory '/tmp e la variabile PATH per puntare al luogo in cui è stato installato il codice del gateway ISPF.

Il file eseguibile di esempio BLZGTWY accetta i seguenti parametri:
Metodo
Metodo di invocazione, TSO o ISPF. Il metodo TSO assegna solo SYSPROC e SYSEXEC dal file ISPF.conf . Il metodo ISPF alloca tutte le concatenazioni ISPF dal file 'ISPF.conf.
exec
Nome del file eseguibile da eseguire.
Log
Facoltativo. Specificando 'LOG=YES si scrive il registro completo del gateway ISPF, utile per il debug dei problemi.

Avvio del gateway ISPF Legacy da comandi pre o post-build e pre o post-promotion

Per eseguire il proprio file eseguibile da un comando di pre - o post - build e pre - o post - promozione, è necessario richiamare il file eseguibile BLZGTWY e passare il proprio file eseguibile come parametro. BLZGTWY avvia il gateway ISPF passando il file eseguibile da eseguire in un ambiente ISPF completo. Nei seguenti esempi, BLZGTWY si trova nella libreria SBLZSAMP fornita. Il seguente esempio mostra come avviare il file eseguibile BLZGTWY in un comando di post - build:
Avvio del gateway Legacy ISPF con un comando di compilazione
L'esempio seguente mostra come avviare la funzione temporale TSO con un comando z/OS UNIX System Services:
Avvio della funzione temporale TSO con un comando z/OS UNIX System Services

Avvio del gateway Legacy ISPF da comandi pre o post distribuzione

L'esecuzione di file eseguibili dalla distribuzione differisce dalla compilazione e dalla promozione in quanto avvia direttamente il gateway ISPF utilizzando il comando di shell 'startispf.sh. I file eseguibili passati attraverso i comandi pre- e post - distribuzione devono essere in un determinato formato. Questo è vero per tutti i comandi di distribuzione:
  • Carica pre - comando
  • Carica post - comando
  • Distribuire pre - comando
  • Distribuire post - comando
  • Pre - comando di rollback
  • Rollback post - comando
Le seguenti regole si applicano quando si richiamano i comandi di distribuzione:
  • Il comando da eseguire deve esistere in una libreria assegnata a SYSPROC, SYSEXEC o ISPLLIB nel file ISPF.conf utilizzato dalla distribuzione.
  • È possibile passare fino a 10 parametri al comando chiamato.
  • Non è possibile utilizzare doppie virgolette nel comando.
  • Le virgolette singole nel comando originale vengono eliminate.
  • I parametri sono racchiusi tra doppi apici da startispf.sh.
  • Il file eseguibile REXX deve eliminare i doppi apici che vengono passati attraverso gli argomenti.
Il seguente esempio mostra come eseguire i file eseguibili da un comando post - distribuzione:
Esecuzione di file eseguibili da un comando post - distribuzione
Il seguente esempio mostra come il file eseguibile REXX deve paralizzare l'argomento passato ad esso:
/* REXX */ 
  Arg Parms 
  Parse var Parms '"'Parm1'" "'Parm2'" "'Parm3'"' .         
Il codice di esempio accetta tre parametri e il punto finale (.) scarta dallo script startispf.sh il resto delle virgolette doppie passate.

Avvio del gateway Legacy ISPF da uno script build.xml Ant

Un altro metodo per utilizzare 'BLZGTWY è quello di chiamare il gateway ISPF direttamente dagli script xml di Ant for Enterprise Extensions. Ad esempio, è possibile creare un file build.xml per costruire i progetti zComponent. Il seguente esempio mostra come creare una destinazione xml Ant utilizzando BLZGTWY per eseguire un altro file eseguibile REXX:
 <!-- 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>

Avvio del gateway ISPF legacy da TSO a scopo di test

L'esempio seguente avvia il file ZIPEXEC attraverso il gateway ISPF e passa tre parametri. È possibile verificare l'invocazione del gateway ISPF dall'opzione 6 di ISPF. Ad esempio, per eseguire il file eseguibile TESTEXEC attraverso il gateway ISPF con la registrazione attivata, utilizzare il seguente comando:
EXEC 'MYHLQ.SBLZSAMP(BLZGTWY)' 'ISPF EX MYHLQ.EXEC(TESTEXEC) LOG=YES'
Per eseguire il comando 'TSO TIME attraverso il gateway ISPF, utilizzare uno dei seguenti comandi:
EXEC 'MYHLQ.SBLZSAMP(BLZGTWY)' 'TSO TIME'
oppure
EXEC 'MYHLQ.SBLZSAMP(BLZGTWY)' 'ISPF TIME'
I parametri TSO o ISPF che vengono passati indicano al gateway ISPF cosa allocare, ovvero le allocazioni TSO richieste o le allocazioni ISPF complete.

Risoluzione dei problemi della configurazione del gateway ISPF Legacy

Verificare che il gateway ISPF sia configurato correttamente. Tutti gli ID utente che eseguono funzioni di Engineering Workflow Management che utilizzano il gateway ISPF devono disporre delle autorizzazioni necessarie, descritte in Pianificazione e personalizzazione ISPF (GC19-3623).

Lo script Engineering Workflow Management startispf.sh utilizza i comandi UNIX System Services che devono accedere alla directory /tmp . L'ID utente di build che avvia lo script startispf.sh deve avere accesso alla directory /tmp . È possibile sovrascrivere l'utilizzo di /tmp come directory temporanea aggiungendo la seguente riga a /etc/jazz720/ccm/startispf.sh:
export TMPDIR=/yourTemporaryDir
dove yourTemporaryDir è una directory con accesso in scrittura per gli utenti di build.