Your Browser is not longer supported

Please use Google Chrome, Mozilla Firefox or Microsoft Edge to view the page correctly
Loading...

{{viewport.spaceProperty.prod}}

Aufbau der Elemente PRTJOB, JCLJOB, TSOJOB, TSOVVJOB, TSOVFJOB und TSONVJOB

&pagelevel(5)&pagelevel

Jedes dieser Elemente besteht aus Muster-Anweisungen, die openFT verwendet, wenn er intern einen entsprechenden Job aufbaut. Die Muster-Anweisungen werden von openFT nicht syntaktisch geprüft. Beispiel-Elemente werden in der Bibliothek SAMPLES mit openFT ausgeliefert.

Jeder Satz enthält genau eine Jobkarte (oder Folgekarte). Ausgewertet werden maximal 32767 Sätze jedes Elements.

In den Muster-Anweisungen können die folgenden Variablen verwendet werden, die von openFT durch die aktuellen Werte ersetzt werden:

JOBP

Jobnamens-Präfix, identisch mit USID, wenn die User-ID max. 7 Zeichen lang ist, ansonsten wird das letzte Zeichen abgeschnitten

USID

Benutzerkennung aus der TRANSFER-ADMISSION (für PRTJOB, TSOVVJOB, TSOVFJOB und TSONVJOB) oder aus der PROCESSING-ADMISSION (für JCLJOB und TSOJOB).
Maximal 8 Zeichen, gemäß IBM-Konventionen.

ACCN

"accounting information" aus der TRANSFER-ADMISSION (für PRTJOB, TSOVVJOB, TSOVFJOB und TSONVJOB) oder aus der PROCESSING-ADMISSION (für JCLJOB und TSOJOB).
Maximal 40 Zeichen, gemäß IBM-Konventionen.

PASS

Kennwort aus der TRANSFER-ADMISSION (für PRTJOB, TSOVVJOB, TSOVFJOB und TSONVJOB) oder aus der PROCESSING-ADMISSION (für JCLJOB und TSOJOB).
Maximal 8 Zeichen, gemäß IBM-Konventionen.

OWID

Eigentümer des FT-Auftrags, d.h. die Benutzerkennung, unter der der Transferauftrag gestellt wurde.
Maximal 8 Zeichen, gemäß IBM-Konventionen.

Diese Variable wird nur in dem System ersetzt, in dem der Transferauftrag gestellt wurde. Im Partnersystem wird sie eliminiert.

PGRN

"programmer's name", wie er als Teilkommando im jeweils zutreffenden Kommandostring für die Folgeverarbeitung mit dem Schlüsselwort PGRN= angegeben wurde. Näheres siehe Handbuch "openFT (z/OS) - Kommandoschnittstelle". Auch im Element PRTJOB wird der Wert aus dem jeweils zutreffenden Kommandostring für die Folgeverarbeitung übernommen, d.h. bei erfolgreicher Auftragsbearbeitung aus dem Kommandostring
im Parameter SUCCESS-PROCESSING, im Fehlerfall aus dem Kommandostring im Parameter FAILURE-PROCESSING.
Maximal 20 Zeichen, gemäß IBM-Konventionen.

Existiert kein Wert für "programmer's name" und wird nach Ersetzung der Variablen PGRN innerhalb eines JOB-Statements festgestellt, dass auf der entsprechenden Karte keine weiteren Angaben außer dem JCL-Identifier "//" und einem Komma (Separator für Parameterangaben) stehen, so wird diese Karte ignoriert, d.h. sie kommt nicht zur Ausführung. Damit wird der in der IBM-Literatur (JCL Reference) gegebenen Empfehlung nachgekommen, das Fehlen dieses Parameters nicht durch Angabe eines Kommas zu kennzeichnen.

TRID

FT-Auftrags-Identifikation.
Maximal 10 Zeichen (Wertebereich 1..2147483639) gemäß openFT-Konventionen.

RLFN

Name der Datei, in der die Ergebnisliste abgelegt wird (PRTJOB). Maximal 32 Zeichen, gemäß IBM-Konventionen. (Die Maximallänge ergibt sich aus der vorgegebenen Struktur dieses Dateinamens; Näheres siehe Handbuch "openFT (z/OS) - Kommandoschnittstelle").
Diese Variable kann in dem Element PRTJOB verwendet werden; in den anderen Elementen wird sie eliminiert.

RLFP

temporäre Datei, in der die Vorverarbeitung ihre Daten ausgibt (TSOVVJOB und TSOVFJOB). Maximal 38 Zeichen, gemäß IBM-Konventionen. Diese Variable kann nur in den Elementen TSOVVJOB und TSOVFJOB verwendet werden; in den anderen Elementen wird sie eliminiert.

RLFF

temporäre Datei, in der die Vorverarbeitung eines im Unix- oder Windows-Partnersystem abgesetzten ftexec-Kommandos ihre Fehlermeldungen ausgibt. Maximal 38 Zeichen, gemäß IBM-Konventionen. Diese Variable kann nur im Element TSOVFJOB verwendet werden; in den anderen Elementen wird sie eliminiert.

RLFT

temporäre Datei, in der die Vorverarbeitung eines ftexec-Kommandos ihre TSO-Meldungen ausgibt. Maximal 38 Zeichen, gemäß IBM-Konventionen. Diese Variable kann nur im Element TSOVFJOB verwendet werden; in den anderen Elementen wird sie eliminiert.

CONN

Name der Datei, die die Schlüssel für die Verbindung zum FT-Subsystem enthält. Maximal 36 Zeichen, gemäß IBM-Konventionen. Standardmäßig wird diese Datei unter <openft qualifier>.<inst>.CONN angelegt.
Diese Variable kann in den Elementen TSOJOB, TSONVJOB, TSOVVJOB undTSOVFJOB verwendet werden; in den anderen Elementen wird sie eliminiert.

NCLO

Name der Datei, die die openFT-Kommandos enthält. Maximal 36 Zeichen, gemäß IBM-Konventionen. Standardmäßig wird diese Datei unter OPENFT.NCLOAD angelegt.
Diese Variable kann in den Elementen TSOJOB, TSONVJOB, TSOVVJOB undTSOVFJOB verwendet werden; in den anderen Elementen wird sie eliminiert.

PALC

Größe der primären Allokation für die Ausgabedatei in Kilobyte, die temporär bei der Vorverarbeitung mit dem FTEXEC-Kommando verwendet wird.
Standardwert: 256
Wenn Sie diesen Wert verändern wollen, müssen Sie den Wert DEFFSIZE in der PARM-Datei verändern (siehe Abschnitt „Aufbau des Elements PARM“). Die Veränderung des Wertes DEFFSIZE wirkt sich nicht nur auf die Größe der Temporärdatei bei der Vorverarbeitung mit FTEXEC aus, sondern generell auf die bei der Vorverarbeitung verwendeten Temporärdateien zur vorübergehenden Datenausgabe.
Beispiel: Wenn Sie den Standardwert für DEFFSIZE (2621440) verdoppeln, wird der Wert 256 verdoppelt.

SALC

Größe der sekundären Allokation für die Ausgabedatei in Kilobyte, die temporär bei der Vorverarbeitung mit dem FTEXEC-Kommando verwendet wird.
Standardwert: 2560
Wenn Sie diesen Wert verändern wollen, müssen Sie den Wert DEFFSIZE in der PARM-Datei verändern (siehe Abschnitt „Aufbau des Elements PARM“). Die Veränderung des Wertes DEFFSIZE wirkt sich nicht nur auf die Größe der Temporärdatei bei der Vorverarbeitung mit FTEXEC aus, sondern generell auf die bei der Vorverarbeitung verwendeten Temporärdateien zur vorübergehenden Datenausgabe.
Beispiel: Wenn Sie den Standardwert für DEFFSIZE (2621440) verdoppeln, wird der Wert 2560 verdoppelt.

An die Namen dieser Variablen sollten jeweils so viele Füllzeichen "#" angehängt werden, dass ein Feld mit der maximalen Länge entsteht (einschließlich des Zeichens "&", also z.B. &TRID#####). Wenn openFT die Variablen durch die aktuellen Werte ersetzt, überschreitet er die durch den Namen der Variablen inklusive angehängter Füllzeichen vorgegebene Feldlänge nicht; gegebenenfalls werden die aktuellen Werte abgeschnitten. Umgekehrt entfernt openFT bei aktuellen Werten, die kürzer sind als diese Feldlänge, überflüssige Füllzeichen.

Hinweis

Wenn eine Folgeverarbeitung der Form ALLOC DSNAME(...) angegeben wurde, so ersetzt openFT die Variablen auch in einem solchen Job, bevor er ihn an den Internal Reader übergibt.

Beim Aufbau der Musteranweisungen sind die Anforderungen der jeweiligen z/OS-Installation an ablauffähige Jobs zu beachten. In der Regel werden für das JOB-Statement gültige Angaben für Benutzerkennung, Abrechnungsinformation und Benutzerkennwort benötigt. Diese Werte können aus folgenden Quellen stammen:

  • Sie werden vom Benutzer im NCOPY-Kommando angegeben (für PRTJOB, TSOVVJOB, TSOVFJOB und TSONVJOB in der TRANSFER-ADMISSION, für JCLJOB und TSOJOBin der PROCESSING-ADMISSION).

  • Wenn FTAC genutzt wird, können die Angaben für die PROCESSING-ADMISSION auch in einem Berechtigungsprofil festgelegt werden. Die Berechtigung für Vor- und Nachverarbeitung wird durch die Angaben für die TRANSFER-ADMISSION definiert.

  • Sie werden in den in den Elementen PRTJOB, JCLJOB, TSOJOB, TSOVVJOB, TSOVFJOB und TSONVJOB enthaltenen JOB-Statements fest vorgegeben, d.h. es werden für Benutzerkennung, Abrechnungsinformation und Benutzerkennwort keine Variablen verwendet. In diesem Fall gelten diese Angaben für alle Aufträge.

Diese Hinweise gelten auch für die von openFT standardmäßig aufgebauten Jobs, wenn die Elemente PRTJOB, JCLJOB,TSOJOB, TSOVVJOB, TSOVFJOB und TSONVJOB nicht existieren.

Die folgenden Beispiele geben den Aufbau der von openFT standardmäßig erzeugten Jobs wieder. In den Elementen PRTJOB, JCLJOB,TSOJOB, TSOVVJOB, TSOVFJOB und TSONVJOB können rechenzentrumsspezifische Abweichungen davon realisiert werden.

Beispiel für das Element PRTJOB

//&JOBP##P JOB &ACCN#########################,
//             &PGRN################,
//             MSGCLASS=X,
//             CLASS=C,
//             USER=&USID###,PASSWORD=&PASS###
//PRTJOB    EXEC PGM=IEBPTPCH
//SYSPRINT  DD DUMMY
//SYSUT1    DD DSN=&RLFN#########################################,
//          DISP=(SHR,DELETE),
//          DCB=(RECFM=FB,LRECL=134,BLKSIZE=2546)
//SYSUT2    DD SYSOUT=A,DCB=(LRECL=134)
//SYSIN     DD *
     PRINT PREFORM=A
/*
//

In diesem Beispiel werden die Benutzerkennung, die Abrechnungs-Nummer und das Passwort aus der TRANSFER-ADMISSION des Benutzers durch openFT eingesetzt. Für die Variable PGRN wird der Wert eingesetzt, den der Benutzer als Teilkommando im jeweils zutreffenden Kommandostring für die Folgeverarbeitung mit dem Schlüsselwort PGRN= angegeben hat. Näheres siehe Handbuch "openFT (z/OS) - Kommandoschnittstelle". Bei erfolgreicher Auftragsbearbeitung wird der Wert also aus dem Kommandostring im Parameter SUCCESS-PROCESSING übernommen, im Fehlerfall aus dem Kommandostring im Parameter FAILURE-PROCESSING. Existiert kein Wert für "programmer's name", so wird diese Karte ignoriert, d.h. sie kommt nicht zur Ausführung, da auf ihr keine weiteren Angaben außer dem JCL-Identifier "//" und einem Komma (Separator für Parameterangaben) stehen. Außerdem wird der Name der Datei mit der Ergebnisliste eingesetzt (das für diesen Namen vorgesehene Feld &RFLN##...## sollte insgesamt 32 Zeichen lang sein). Danach startet openFT diesen Job.

Beispiel für das Element JCLJOB

//&JOBP##N JOB &ACCN#######################,
//         MSGCLASS=X,
//         CLASS=C,
//         REGION=2M,
//         USER=&USID###,
//         PASSWORD=&PASS###
//JOBLIB    DD  DSN=&USID###.PROCLIB,DISP=SHR

In diesem Beispiel werden die Benutzerkennung, die Abrechnungs-Nummer und das Passwort aus der PROCESSING-ADMISSION des Benutzers durch openFT eingesetzt. Für die Variable PGRN wird der Wert eingesetzt, den der Benutzer als Teilkommando im Kommandostring für die Folgeverarbeitung mit dem Schlüsselwort PGRN= angegeben hat. Näheres siehe Handbuch "openFT (z/OS) - Kommandoschnittstelle". Existiert kein Wert für "programmer's name", so wird diese Karte ignoriert, d.h. sie kommt nicht zur Ausführung, da auf ihr keine weiteren Angaben außer dem JCL-Identifier "//" und einem Komma (Separator für Parameterangaben) stehen. Die JCL-Anweisungen, die der Benutzer als Folgeverarbeitung im NCOPY-Kommando angegeben hat, werden durch openFT hinter der Muster-Anweisung "//JOBLIB DD ..." angefügt. Danach startet openFT diesen Job.

Beispiel für das Element TSOJOB

//&JOBP##N  JOB  &ACCN###################################,
//          &PGRN###############,
//          MSGCLASS=X,
//          CLASS=C,
//          NOTIFY=&USID###,
//          USER=&USID###,
//          PASSWORD=&PASS###,
//          REGION=0M
//          EXEC PGM=IKJEFT01
//OPENFT    DD DSN=&CONN#########################################,
//             DISP=(SHR,KEEP)
//STEPLIB   DD DSN=&NCLO#########################################,
//             DISP=(SHR,KEEP)
//SYSPRINT DD SYSOUT=*
//SYSTSPRT DD SYSOUT=*
//SYSTSIN  DD *

In diesem Beispiel werden die Benutzerkennung, die Abrechnungs-Nummer und das Passwort aus der PROCESSING-ADMISSION des Benutzers durch openFT eingesetzt. Für die Variable PGRN wird der Wert eingesetzt, den der Benutzer als Teilkommando im Kommandostring für die Folgeverarbeitung mit dem Schlüsselwort PGRN= angegeben hat. Näheres siehe Handbuch "openFT (z/OS) - Kommandoschnittstelle". Existiert kein Wert für "programmer's name", so wird diese Karte ignoriert, d.h. sie kommt nicht zur Ausführung, da auf ihr keine weiteren Angaben außer dem JCL-Identifier "//" und einem Komma (Separator für Parameterangaben) stehen. Die TSO-Kommandos, die der Benutzer als Folgeverarbeitung im NCOPY-Kommando angegeben hat, sowie das End-of Data "/*" werden durch openFT hinter der Muster-Anweisung "//SYSTSIN DD *" angefügt. Danach startet openFT diesen Job.

Beispiel für das Element TSOVVJOB

//&JOBP##N  JOB  &ACCN###################################,
//          MSGCLASS=X,
//          CLASS=C,MSGLEVEL=(1,1),
//          USER=&USID###,
//          PASSWORD=&PASS###,
//          REGION=0M
//STEP0     EXEC PGM=IKJEFT01,
//          COND=(0,NE)
//OPENFT    DD DSN=&CONN#########################################,
//             DISP=(SHR,KEEP)
//STEPLIB   DD DSN=&NCLO#########################################,
//             DISP=(SHR,KEEP)
//SYSTSPRT  DD SYSOUT=*
//SYSPRINT  DD SYSOUT=*
//SYSTSIN   DD *
FTATTP &PRID

In diesem Beispiel werden die Benutzerkennung, die Abrechnungs-Nummer und das Passwort aus der TRANSFER-ADMISSION des Benutzers durch openFT eingesetzt. Für die Variablen CONN, NCLO und RLFP allokiert openFT die passenden Dateien.

Wenn kein %TEMPFILE in der Vorverarbeitung spezifiziert wurde, sieht die von openFT durchgeführte Joberweiterung wie folgt aus:

//********************************************************
//STEP1     EXEC PGM=IEFBR14
//STDOUT    DD DSN=&RLFP#################################,
//          DISP=(NEW,CATLG,DELETE),
//          DCB=(DSORG=PS,BLKSIZE=1536,RECFM=VB),
//          UNIT=SYSDA,SPACE=(1,(256,2560)),AVGREC=K
//********************************************************
//IFBAD     IF STEP0.RC=0 THEN
//STEP2     EXEC PGM=IKJEFT01,
//          COND=(0,NE)
//OPENFT    DD DSN=&CONN#################################,
//          DISP=(SHR,KEEP)
//STEPLIB   DD DSN=&NCLO#################################,
//          DISP=(SHR,KEEP)
//SYSTSPRT  DD SYSOUT=*
//SYSPRINT  DD DSN=*.STEP1.STDOUT,DISP=(MOD,KEEP,DELETE)
//SYSTSIN   DD *
//IFBADEND  ENDIF

Wenn %TEMPFILE in der Vorverarbeitung spezifiziert wurde, sieht die von openFT durchgeführte Joberweiterung wie folgt aus:

//********************************************************
//IFBAD     IF STEP0.RC=0 THEN
//STEP2     EXEC PGM=IKJEFT01,
//          COND=(0,NE)
//OPENFT    DD DSN=&CONN#################################,
//          DISP=(SHR,KEEP)
//STEPLIB   DD DSN=&NCLO#################################,
//          DISP=(SHR,KEEP)
//SYSTSPRT  DD SYSOUT=*
//SYSPRINT  DD SYSOUT=*
//SYSTSIN   DD *
//IFBADEND  ENDIF

Beispiel für eine Vorverarbeitung mit %TEMPFILE von einem Windows- oder Unix-System:

ncopy zospartner!"|ftscopy from,WindowsPC,(%tempfile)\

,*any('hallo.txt',trans='WindowTransadm')" - zosTransadm

Die TSO- oder openFT-Kommandos, die im FT-Auftrag als Vorverarbeitung angegeben wurden, werden durch openFT hinter der Muster-Anweisung "//SYSTSIN DD *" als Instream-Daten-Karten angefügt. Die TSO-Kommandos müssen den IBM-Konventionen entsprechen. Ihre Länge ist beliebig, gegebenenfalls verteilt openFT das Kommando über mehrere Zeilen. Ausgaben von openFT-Kommandos innerhalb der Vorverarbeitung werden nach SYSPRINT und damit in die durch RLFP referenzierte Datei umgelenkt. Standardmäßig geben TSO-Kommandos nach SYSTSPRT aus. Ihre Ausgabe muss gegebenenfalls explizit nach SYSPRINT und damit in die Ausgabedatei der Vorverarbeitung umgelenkt werden (z.B. LISTCAT OFILE(SYSPRINT)). Nach dem Einlesen der Vorverarbeitungskommandos übergibt openFT noch die folgenden
Kommandos dem Internal Reader zur Batchverarbeitung (dieser Teil wird dynamisch erzeugt und ist nicht veränderbar).

//********************************************************
//IFBAD     IF (ABEND OR STEP2.RC>=12 OR NOT STEP2.RUN)
//          THEN
//STEP3     EXEC PGM=IKJEFT01
//OPENFT    DD DSN=&CONN#################################,
//          DISP=(SHR,KEEP)
//STEPLIB   DD DSN=&NCLO#################################,
//          DISP=(SHR,KEEP)
//SYSPRINT  DD SYSOUT=*
//SYSTSPRT  DD SYSOUT=*
//SYSTSIN   DD *
FTDETP FAILURE &PRID
//          ELSE
//STEP4     EXEC PGM=IKJEFT01
//OPENFT    DD DSN=&CONN#################################,
//          DISP=(SHR,KEEP)
//STEPLIB   DD DSN=&NCLO#################################,
//          DISP=(SHR,KEEP)
//SYSPRINT  DD SYSOUT=*
//SYSTSPRT  DD SYSOUT=*
//SYSTSIN   DD *
FTDETP SUCCESSFUL &PRID
//IFBADEND  ENDIF
/*

Danach startet openFT diesen Job. Wenn die Verarbeitung abgebrochen wird, startet openFT einen eigenen "Cancel-Job" auf Basis des Jobrahmens TSOJOB. Dieser Job bekommt als letzten Buchstaben im Jobnamen ein "Z" zugewiesen, um ihm eine höhere Priorität als die aktuell laufenden Verarbeitungsjobs zu geben.

Beispiel für das Element TSOVFJOB

//&JOBP##N  JOB  &ACCN###################################,
//          MSGCLASS=X,
//          USER=&USID###,
//          NOTIFY=&USID###,
//          PASSWORD=&PASS###,
//          REGION=0M
//STEP0     EXEC PGM=IKJEFT01,
//          COND=(0,NE)
//OPENFT    DD DSN=&CONN#################################,
//             DISP=(SHR,KEEP)
//STEPLIB   DD DSN=&NCLO#################################,
//             DISP=(SHR,KEEP)
//SYSTSPRT  DD SYSOUT=*
//SYSPRINT  DD SYSOUT=*
//SYSTSIN   DD *
FTATTP &PRID
//********************************************************
//STEP1     EXEC PGM=IEFBR14
//STDOUT    DD DSN=&RLFP#################################,
//             DISP=(NEW,CATLG,DELETE),
//             DCB=(DSORG=PS,BLKSIZE=1536,RECFM=VB),
//             UNIT=SYSDA,SPACE=(1,(&PALC######,&SALC######)),
//             AVGREC=K
//STDERR    DD DSN=&RLFT#################################,
//             DISP=(NEW,CATLG,DELETE),
//             DCB=(DSORG=PS,BLKSIZE=1536,RECFM=VB,LRECL=1532),
//             UNIT=SYSDA,SPACE=(1,(256,2560)),AVGREC=K
//SYSERR    DD DSN=&RLFF#################################,
//             DISP=(NEW,CATLG,DELETE),
//             DCB=(DSORG=PS,BLKSIZE=1536,RECFM=VB,LRECL=1532),
//             UNIT=SYSDA,SPACE=(1,(256,2560)),AVGREC=K
//********************************************************
//IFBAD     IF STEP0.RC=0 THEN
//STEP2     EXEC PGM=IKJEFT01,
//          COND=(0,NE)
//OPENFT    DD DSN=&CONN#################################,
//             DISP=(SHR,KEEP)
//STEPLIB   DD DSN=&NCLO#################################,
//             DISP=(SHR,KEEP)
//SYSPRINT  DD DSN=*.STEP1.STDOUT,DISP=(MOD,KEEP,DELETE)
//SYSTSPRT  DD DSN=*.STEP1.STDERR,DISP=(MOD,KEEP,DELETE)
//SYSERR    DD DSN=*.STEP1.SYSERR,DISP=(MOD,KEEP,DELETE)
//SYSTSIN   DD *

Eine spezielle Form der Vorverarbeitung im z/OS ist die Serverfunktion für ein in einem Partnersystem abgesetztes "ftexec"-Kommando. ftexec erwartet als Rückgaben die Ausgabe der übergebenen Kommandos (stdout), etwaige Fehlermeldungen (stderr) und einen Exit-Code.

Die TSO- oder openFT-Kommandos, die im ftexec angegeben wurden, werden durch openFT hinter der Muster-Anweisung "//SYSTSIN DD *" als Instream-Daten-Karten angefügt. Die TSO-Kommandos müssen den IBM-Konventionen entsprechen. Ihre Länge ist beliebig, gegebenenfalls verteilt openFT das Kommando über mehrere Zeilen. openFT hängt dynamisch die Ausgabe von SYSTSPRT an die von SYSERR an. Dazu wird intern die IBM Utility IEBGENER genutzt:

//IFBADEND  ENDIF
//STEP22    EXEC PGM=IEBGENER
//SYSUT1    DD DSN=*.STEP2.SYSTSPRT,DISP=(MOD,DELETE,DELETE)
//SYSUT2    DD DSN=*.STEP2.SYSERR,DISP=(MOD,KEEP,DELETE)
//SYSIN     DD DUMMY
//SYSPRINT  DD SYSOUT=*
//SYSTSIN   DD *

Der Inhalt der so erzeugten temporären Datei wird nach "stderr" im Partnersystem umgeleitet, SYSPRINT nach "stdout". Nach dem Einlesen der Kommandos ergänzt openFT den Job noch entsprechend der Angaben im Beispiel zu TSOVVJOB, siehe Jobsteps STEP 3 und STEP 4 in Abschnitt „Aufbau der Elemente PRTJOB, JCLJOB, TSOJOB, TSOVVJOB, TSOVFJOB und TSONVJOB“.

Beispiel für das Element TSONVJOB

//&JOBP##N  JOB  &ACCN###################################,
//          MSGCLASS=X,
//          CLASS=C,MSGLEVEL=(1,1),
//          USER=&USID###,
//          PASSWORD=&PASS###,
//          REGION=0M
//STEP1     EXEC PGM=IKJEFT01,
//          COND=(0,NE)
//OPENFT    DD DSN=&CONN#########################################,
//             DISP=(SHR,KEEP)
//STEPLIB   DD DSN=&NCLO#########################################,
//             DISP=(SHR,KEEP)
//SYSTSPRT  DD SYSOUT=*
//SYSPRINT  DD SYSOUT=*
//SYSTSIN   DD *
FTATTP &PRID
//********************************************************
//IFBAD     IF STEP1.RC=0 THEN
//STEP2     EXEC PGM=IKJEFT01,
//          COND=(0,NE)
//OPENFT    DD DSN=&CONN#########################################,
//             DISP=(SHR,KEEP)
//STEPLIB   DD DSN=&NCLO#########################################,
//             DISP=(SHR,KEEP)

Bei einer Nachverarbeitung im z/OS werden die übertragenen Daten zunächst in einer temporären Datei hinterlegt, die dann für die im Auftrag angegebenen Kommandos als Eingabe zur Verfügung steht (TSO-Kommandos oder Systemkommandos für entsprechende Utilities). Die temporäre Datei kann in den Kommandos durch den Metastring
%TEMPFILE direkt referenziert werden.

Die Joberweiterung von openFT sieht dann wie folgt aus:

//SYSTSPRT  DD SYSOUT=*
//SYSPRINT  DD SYSOUT=*
//SYSIN     DD *
//SYSTSIN   DD *
//IFBADEND  ENDIF

Wenn %TEMPFILE in den Kommandos für die Nachverarbeitung nicht benutzt wird, dann liest die Nachverarbeitung die Daten über SYSUT1 ein. Der über SYSTSIN eingelesene Datenstrom aus dem FT-Auftrag verwendet dann die in SYSUT1 angegebenen Daten als Eingabedaten. Dazu kann der Anwender in der Nachverarbeitung ein entsprechendes Utility-Programm angeben, um darauf zuzugreifen.

Die Joberweiterung von openFT sieht dann wie folgt aus:

//SYSUT1    D     DSN=&RLFP##########################################,
//                  DISP=(MOD,KEEP,DELETE)
//SYSTSPRT  DD SYSOUT=*
//SYSPRINT  DD SYSOUT=*
//SYSIN     DD *
//SYSTSIN   DD *
//IFBADEND  ENDIF

Beispiel

Der Anwender möchte eine Datei DAT1 mit ncopy von einem Windows- oder Unix-System nach z/OS übertragen. Dabei soll die Datei DAT1 per Nachverarbeitung auf eine andere Datei DAT2 im Zielsystem kopieren werden. Als Utility verwendet er IEBGENER:


ncopy DAT1 ZosPartner!”|allocate dsname(DAT2) ddname(SYSUT2) mod keep 
dsorg(ps) recfm(v,b) lrecl(259); ‘call SYS1.LINLLIB(IEBGENER)’” 
UserId,Account,Password

Der Job für die Nachverarbeitung wird in jedem Fall noch analog zur Vorverarbeitung nach den Verarbeitungskommandos um weitere Statements ergänzt. Das geschieht analog zum Vorverarbeitungsjob, siehe TSOVVJOB mit den Jobsteps STEP 3 und STEP 4 in Abschnitt „Aufbau der Elemente PRTJOB, JCLJOB, TSOJOB, TSOVVJOB, TSOVFJOB und TSONVJOB“.

Wenn die Verarbeitung abgebrochen wird, startet openFT einen eigenen "Cancel-Job" auf Basis des Jobrahmens TSOJOB. Dieser Job bekommt als letzten Buchstaben im Jobnamen ein "Z" zugewiesen, um ihm eine höhere Priorität als den aktuell laufenden Verarbeitungsjobs zu geben.