what to do if an error is detected. &EXIT - exits the current EXEC file, and optionally sets a return code. &GOTO - branches to another location in the current EXEC file. The location can be TOP for the beginning of the file, a label, or a line number. &IF allows for conditional execution of statements. &LOOP - heads a group of statements to be executed multiple times, or until a specified condition is true. &PUNCH - sends a string of tokens to the user's virtual punch. Each &PUNCH statement generates one card-image, padded or truncated if necessary. &READ - reads one or more lines from the user's terminal. &SKIP - skips (ignores) a specified number of lines. &SPACE - types a specified number of blank lines on the user's terminal. &STACK - places one line in the user's input stack. The line is constructed from tokens as for &PUNCH. &TIME - specifies what timing information is to be typed on the user's terminal following the execution of each CMS command. &TYPE types a line on the user's terminal. The line is constructed from tokens as for &PUNCH. Built-in functions. The EXEC interpreter provides a few "built-in" or predefined functions: &CONCAT concatenates a string of tokens. &DATATYPE examines a token and determines whether it is numeric or alphabetic. &LENGTH returns the length of a token. &LITERAL prevents variable substitution within a token. &SUBSTR extract selected characters from a token. Sample code PROFILE EXEC is an EXEC that is automatically executed when a user logs on to tailor their environment. A simple PROFILE EXEC might look like the following: * The following code issues CMS commands to set * the "blip" character to asterisk and request * the "short" format for system ready messages. &CONTROL OFF SET BLIP * SET RDYMSG SMSG Related CMS Command Procedure Control Languages CMS EXEC EXEC 2 REXX References External links IBM mainframe operating systems Scripting languages VM (operating system)