• Aucun résultat trouvé

I I~~ECI data-set-namej

Dans le document TSO Extensions (Page 149-154)

%procedure-name

[ 'value-list'] [NOLIST

1

[PROMPT

1

LIST NOPROMPT

data-set-name

specifies the name of the data set containing the CLIST to be executed. If the descriptive qualifier for the data set is not CLIST, you must enclose the fully-qualified name within apostrophes. Variable-blocked records are recommended, although you can also use fixed-blocked records. A

variable-blocked record can have line numbers in the first eight columns. A fixed-blocked record can have line numbers in the last eight columns.

~oprocedure-name

specifies a member of a CLIST library. If the percent sign (%) is entered, TSO searches only the SYSPROC file for the specified name. Do not put quotes around the member name.

EXEC Command

135

value-list

specifies the actual values that are to be substituted for the symbolic values in the CLIST. The symbolic values are defined by the operands of the PROC statement in the CLIST. The actual values to replace the positional operands in the PROC statement must be in the same sequence as the positional operands. The actual values to replace the keywords in the PROC statement must follow the positional values, but can be in any sequence. A keyword defined on the PROC statement can have a value consisting of a character string with delimiters, provided that the character string is enclosed in quotes. When you use the explicit form of the

command, the value list must be enclosed in apostrophes. If apostrophes appear within the list, then you must provide two apostrophes in order to print one. If a quoted string appears as the value of a keyword within the value list, the number of quotes must be doubled again (see Example 3).

NOLIST

LIST

specifies commands and subcommands are not to be listed at the terminal.

The system assumes NOLIST for implicit and explicit EXEC commands.

NOLIST is the default.

specifies commands and subcommands are to be listed at the terminal as they are executed. This operand is valid only for the explicit form of EXEC.

PROMPT

specifies prompting to the terminal is allowed during the execution of a CLIST. The PROMPT keyword implies LIST, unless NOLIST has been explicitly specified. Therefore, all commands and sub commands are listed at the terminal as they are executed. This operand is valid only for the explicit form of EXEC.

The PROMPT keyword is not propagated to nested EXEC commands. If you want to be prompted during execution of the CLIST it invokes, PROMPT must be specified on a nested EXEC command.

NOPROMPT

specifies no prompting during the execution of a CLIST. NOPROMPT is the default.

No prompting is allowed during the execution of a CLIST if the

NOPROMPT keyword operand of PROFILE has been specified, even if the PROMPT option of EXEC has been specified.

136 TSO Extensions Command Language Reference

The following is a list of options resulting from specific keyword entries:

Keyword specified Resulting options

PROMPT PROMPT LIST

NOPROMPT NOPROMPT NOLIST

LIST LIST NOPROMPT

NOLIST NOLIST NOPROMPT

PROMPT LIST PROMPT LIST

PROMPT NOLIST PROMPT NOLIST

NOPROMPT LIST NOPROMPT LIST

NOPROMPT NOLIST NOPROMPT NOLIST

No keywords NOPROMPT NOLIST

Suppose the following CLIST exists as a data set named ANZAL:

proc 3 input output list lines( )

allocate dataset (&input) file(indata) old

allocate dataset(&output) block(lOO) space(300,lOO) allocate dataset(&list) file(print)

call proc2 '&lines' end

The PROC statement indicates that the three symbolic values, &INPUT,

&OUTPUT and &LIST, are positional (required) and that the symbolic value

&LINES is a keyword (optional).

To replace ALPHA for INPUT, BETA for OUTPUT, COMMENT for LIST, and 20 for LINES, you would specify the implicit form:

anzal alpha beta comment lines(20)

Note: If the value of a keyword operand is not entered on the EXEC statement, that value is nullified.

Example 1

Operation: Execute a CLIST to invoke the assembler.

Known:

The name of the data set that contains the CLIST is RBJ21.FASM.CLIST.

EXEC Command 137

The CLIST consists of:

proc 1 name

free file(sysin,sysprint)

delete (&name .. list,&name .. obj)

allocate dataset(&name .. asm) file(sysin) old keep allocate dataset(&name .. list) file{sysprint)

-block(132) space(300,lOO)

allocate dataset(&name .. obj) file(syspunch) block(80) -space(lOO,SO)

allocate file(sysutl) space(3,1) cylinders new delete allocate file(sysut2) space(3,1) cylinders new delete allocate file(sysut3) space(3,1) cylinders new delete allocate file(syslib) da('d821jpl.tso.macro',

'sysl.maclib') shr

call 'sysl.linklib(ifoxOO)' 'deck,noobj,rent' free file(sysutl,sysut2,sysut3,sysin,sysprint,

-syspunch,syslib)

allocate file(sysin) da(*) allocate file(sysprint) da(*)

Note: You can use a period to delimit a symbolic variable. However, follow the first period with another period. The first period is the delimiter that is removed during symbolic substitution of the variable. The second period remains unchanged.

The module to be assembled is TGET ASIS.

Yau want to have the names of the commands in the CLIST displayed at your terminal as they are executed. To execute the CLIST, enter:

exec fasm 'tgetasis' list

The display at your terminal would be similar to:

EX FASM 'TGETASIS' LIST FREE FILE(SYSIN,SYSPRINT)

DELETE (TGETASIS.LIST,TGETASIS.OBJ)

IDCOSSOI ENTRY (A) D82LJPl.TGETASIS.LIST DELETED IDCOSSOI ENTRY (A) D82LJPl.TGETASIS.OBJ DELETED ALLOCATE DATASET(TGETASIS.ASM) FILE{SYSIN) OLD KEEP ALLOCATE DATASET(TGETASIS.LIST) FILE (SYSPRINT)

BLOCK(132) SPACE(300,lOO)

ALLOCATE DATASET(TGETASIS.OBJ) FILE (SYSPUNCH) BLOCK(80) SPACE(lOO,SO)

ALLOCATE FILE(SYSUTl) SPACE(3,1) CYLINDERS NEW DELETE ALLOCATE FILE(SYSUT2) SPACE(3,1) CYLINDERS NEW DELETE ALLOCATE FILE(SYSUT3) SPACE(3,1) CYLINDERS NEW DELETE ALLOCATE FILE(SYSLIB) DA('D82LJPl.TSO.MACRO',

'SYSl.MACLIB') SHR

CALL 'SYSl.LINKLIB(IFOXOO)' 'DECK,NOOBJ,RENT' FREE FILE(SYSUTl,SYSUT2,SYSUT3,SYSIN,SYSPRINT,

SYSPUNCH,SYSLIB)

ALLOCATE FILE(SYSIN) DA(*) ALLOCATE FILE(SYSPRINT) DA(*) READY

138 TSO Extensions Command Language Reference

Example 2

Operation: Assume that the CLIST in Example 1 has been stored in a CLIST library, which was allocated to the SYSPROC file ID. Execute the CLIST using the implicit fonn of EXEC.

Known:

The name of the member of the partitioned data set that contains the CLIST is FASM2.

fasm2 tgetasis Example 3

Operation: Enter a fully qualified data set name as a keyword value in an EXEC command value list.

Known:

The CLIST named SWITCH is contained in a CLIST library named MASTER.CLIST which is allocated as SYSPROC.

The CLIST consists of:

PRoe 0 DSN1() DSN2() RENAME &DSNl TEMPSAVE RENAME &DSN2 &DSNl RENAME TEMPSAVE &DSN2

If you have a user ID of USER33 and you want to switch the names of two datasets MASTER. BACKUP and USER33.GOODCOPY, you could invoke the CLIST as follows:

Explicit form:

exec 'master.clist(switch) , +

'dsnl("'" 'master.backup"'" ') + dsn2 (goodcopy) ,

Extended implicit form:

%switch dsnl(" 'master.backup" ') dsn2(goodcopy)

Note that when you use the implicit fonn, the specification of quoted strings in the value list is made simpler because the value list itself is not a quoted string.

EXEC Command 139

Dans le document TSO Extensions (Page 149-154)