ENTER-Dateien können mit SDF-CONV nicht in S-Prozeduren umgewandelt werden.
SDF-CONV gibt eine Fehlermeldung aus, wenn der Name eines Prozedurparameters länger als 20 Zeichen ist. Namen von Prozedurparametern dürfen in Nicht-S-Prozeduren max. 255 Zeichen lang sein, während in S-Prozeduren nur max. 20 Zeichen zugelassen sind.
Diese Einschränkung gilt nicht für Stellungsoperanden, da diese bei Bedarf von SDF-CONV automatisch gekürzt werden.Bei der Umwandlung kann sich die Steuerung der Protokollierung ändern. Bei Nicht-S-Prozeduren wird die Protokollierung nur von der aufgerufenen Prozedur bestimmt, bei S-Prozeduren zusätzlich von der Einstellung, die die aufrufende Umgebung hat.
Es findet keine Umwandlung statt, wenn der Wert eines Prozedurparameters mehrere zu ersetzende Jobvariablen enthält.
Ist in der Nicht-S-Eingabeprozedur das erste signifikante Zeichen nach einem Kommandonamen das Gleichheitszeichen, gibt SDF-CONV eine
WARNING
aus. Eine Ausnahme bilden Kommandosätze mit dem REMARK-Kommando.Die zweistufige Ersetzung von Prozedurparametern wird von SDF-P nicht unterstützt.
Prozedurparameter und Jobvariablen in S-Prozeduren können innerhalb der einschließenden Klammer weitere zu ersetzende Ausdrücke enthalten, z.B.
&(JOBVAR1&(JOBVAR2)). Diese Eigenschaft wird von SDF-CONV nicht unterstützt.Beispiel
Nicht-S-Prozedur:
/BEGIN-PROC A,PAR=YES(PROC-PAR=(&TEST=)) /MOD-JV JV(JV-NAME=JOBVAR),VALUE=’&&TEST’ /SHO-JV JV(JV-NAME=JOBVAR) /REMARK &TEST /WR-TEXT ’&(JOBVAR)’ /EXIT-PROC
Ablaufprotokoll der Nicht-S-Prozedur:
/CALL-PROC BSP-NICHT-S %/BEGIN-PROC A,PAR=YES(PROC-PAR=(&TEST=)) %/MOD-JV JV(JV-NAME=JOBVAR),VALUE=’&TEST’ %/SHO-JV JV(JV-NAME=JOBVAR) %&TEST %/REMARK &TEST %&TEST=hallo %/REMARK HALLO %/WR-TEXT ’HALLO’ HALLO %/EXIT-PROC
Die Jobvariable JOBVAR wurde zweistufig ersetzt.
Der Inhalt der Jobvariablen JOBVAR ist der Wert des Prozedurparameters TEST, also HALLO.S-Prozedur:
/SET-PROC-OPTIONS LOG=YES /BEGIN-PAR-DEC /DECLARE-PAR NAME=TEST (INIT=*PROMPT) /END-PAR-DEC /MOD-JV JV(JV-NAME=JOBVAR),VALUE=’&&TEST’ /SHO-JV JV(JV-NAME=JOBVAR) /REMARK &TEST /WR-TEXT ’&(JV(’JOBVAR’))’
Ablaufprotokoll der S-Prozedur:
/CALL-PROC BSP-S,LOG=YES % 1 1 /SET-PROCEDURE-OPTIONS LOGGING-ALLOWED=YES,INTERRUPT% ALLOWED=YES,DATA-ESCAPE-CHAR=NONE,SYSTEM-FILE-CONTEXT=OWN,% DATA-ERROR-HANDLING=NO % 1 1 /BEGIN-PARAMETER-DECLARATION % 1 1 /DECLARE-PARAMETER NAME=TEST,TYPE=ANY,INIT=*PROMPT % 1 1 /END-PARAMETER-DECLARATION % 6 1 /MOD-JV JV(JV-NAME=JOBVAR),VALUE=’&TEST’ % 7 1 /SHOW-JV JV(JV-NAME=JOBVAR) %&TEST %TEST: hallo % 8 1 /REMARK ’HALLO’ % 9 1 /WRITE-TEXT ’&TEST’ &TEST % 11 1 /IF-BLOCK-ERROR % 11 1 /END-IF % 11 1 /EXIT-PROCEDURE
Die Jobvariable JOBVAR wurde nur einmal ersetzt.
Der Inhalt der Jobvariablen JOBVAR ist &TEST.