SDF-SIM kann wie andere Dienstprogramme auch in Prozeduren und Batchaufträgen aufgerufen werden. Das bedeutet jedoch nicht implizit, dass Kommandos bzw. Anweisungen automatisch im simulierten Prozedur-/Batchmodus getestet werden. (Für den Test im simulierten Prozedur- oder Batchmodus muss die Anweisung DEFINE-ENVIRONMENT mit den Operanden PROC-MODE=*YES oder TASK-TYPE=*BATCH eingegeben werden.)
Bei Kommandos bzw. Anweisungen, die im Prozedur-/Batchmodus innerhalb einer Prozedur oder Batchdatei getestet werden, muss unbedingt ein Stern (*) an erster Position der Zeile stehen, da die Eingaben sonst als reale Kommandos bzw. Anweisungen interpretiert und tatsächlich abgearbeitet werden.
SDF-SIM in einer Prozedur
Das folgende Beispiel zeigt die Verwendung von SDF-SIM in der Prozedur SIM.PROC.
Prozedurdatei SIM.PROC
/BEGIN-PROCEDURE LOGGING=A /ASSIGN-SYSDTA *SYSCMD /START-SDF-SIM //DEFINE-TEST-OBJECT *CMD ——————————————————————— (1) //DEFINE-ENVIRONMENT PAR-FILE=*STD(USER=*NO) ———— (1) //START-SIMULATION —————————————————————————————— (1) *CR-FILE AAA,SUPP=LLMLM */SH-FI-ATT BBBB */* /ASSIGN-SYSDTA *PRIMARY /END-PROCEDURE
Ablaufprotokoll der Prozedur SIM.PROC
(IN) CALL-PROC SIM.PROC (IN) /BEGIN-PROCEDURE LOGGING=A (IN) /ASSIGN-SYSDTA *SYSCMD (IN) /START-SDF-SIM (OUT) % BLS0523 ELEMENT 'SDF-SIM', VERSION 'V04.5A10' FROM LIBRARY ( ) ':2OSH:$TSOS.SYSLNK.SDF-SIM.045' IN PROCESS (OUT) % BLS0524 LLM 'SDF-SIM', VERSION ' ' OF '2001-04-19 16:11:57' ( ) 'LOADED (OUT) % BLS0551 COPYRIGHT (C) SIEMENS AG 2001. ALL RIGHTS RESERVED (OUT) % SDS0001 SDF-SIM VERSION 'V04.5A10' STARTED (IN) //DEFINE-TEST-OBJECT *CMD (IN) //DEFINE-ENVIRONMENT PAR-FILE=*STD(USER=*NO) (IN) //START-SIMULATION (OUT) % SDS0005 ’SYSTEM’ SYNTAX FILE ’$TSOS.SYS.SDF.SYSTEM.SYNTAX’ ( ) ACTIVATED (IN) *CR-FILE AAA,SUPP=LLMLM —————————————————————————————————————— (2) (OUT) (IN) CR-FILE (OUT) % CMD0051 INVALID OPERAND 'SUPPORT' (OUT) % CMD0081 VALUE 'P' NOT CONTAINED IN KEYWORD LIST OF VALUE RANGE ( ) '*PUBLIC-DISK() OR *PRIVATE-DISK() OR *TAPE() OR *NONE' (IN) */SH-FI-ATT BBBB ————————————————————————————————————————————— (3) (OUT) (IN) /SH-FI-ATT BBBB (OUT) (OUT) ENTRY : DCOFSTAT (OUT) INTERFACE : ISL (OUT) STRING FORM (OUT) /FSTATUS BBBB,LIST=(SYSOUT) (IN) */* (OUT) % SDS0002 SDF-SIM TERMINATED NORMALLY (IN) /ASSIGN-SYSDTA *PRIMARY (IN) /END-PROCEDURE
Die Anweisungen zur Simulationsvorbereitung werden eingegeben und die Simulation wird gestartet.
Das Kommando CREATE-FILE wird simuliert. Da für den Operanden SUPPORT ein falscher Wert eingegeben wird, meldet SDF-SIM einen Fehler.
Es wurde kein Spin-off ausgelöst, obwohl ein Eingabefehler vorlag. Deshalb kann sofort das nächste Kommando simuliert werden. Wird ein „/“ vor dem Kommando eingegeben, muss unbedingt ein „*“ am Zeilenanfang stehen. Der „/“ ist hier jedoch nicht erforderlich, da nicht der Prozedurmodus simuliert wird.
SDF-SIM in einem Batchauftrag
Im folgenden Beispiel wird die Simulation der Anweisungen des Testprogrammes TEST-PRO in einem Batchauftrag durchgeführt. Dafür gelten dieselben Voraussetzungen wie in Prozeduren (siehe „SDF-SIM in einer Prozedur“). Aus diesem Grund wird auf das Ablaufprotokoll verzichtet.
Batchdatei SIM.ENTER
/LOGON /START-SDF-SIM //DEFINE-TEST-OBJECT *STMT(PROG-NAME=TESTPRO) //DEFINE-ENVIRONMENT PAR-FILE=*STD(USER=TEST.USER),DISPLAY=*SHORT //START-SIMULATION *OPEN AAAA,TYPE=*USER, ... ——————————————————————————————————————————— (1) . . *END —————————————————————————————————————————————————————————————————— (2) /LOGOFF
OPEN ist eine Anweisung, die im Programm TESTPRO definiert ist.
Wurde bei DEFINE-TEST-OBJECT *STMT angegeben, so beendet END den SDF-SIM-Lauf mit der Meldung
END OF PROGRAM
. Die Anweisung END wird nicht simuliert.