Now, we've divided these videos up into modules, and then modules are split into smaller video chunks. You can tell we're in a new module now because well, there's a different background color behind me. Let's start to look at some of the fundamentals of Rexx, including executing execs, working with variables and constants, arithmetic operations, and some basic Rexx instructions and data parting techniques. First up, let's look at how Rexx execs are executed under TSO. The next few slides go into quite a bit of detail, but stick with me. We need to cover this stuff before we get to the good parts. Now, Rexx execs can exist as sequential datasets or as members of partitioned datasets. The command to execute both Rexx execs and CLISTs is the TSO exec command. There are three ways to use the exec command. They're called explicit execution, implicit execution, and extended implicit execution. With explicit execution, you type the command exec, followed by the dataset name and member name, if the exec is a PDS member, any parameters to be passed to the exec or CLIST in single quotes and any operands for the exec command. With implicit execution, you do not type the command name exec, you simply type the member name and parameters. The command name exec is therefore implied. In order to use implicit execution, the dataset containing the exec must be part of the SYSPROC DD or SYSEXEC DD dataset concatenation. The system will search, SYSEXEC first, then SYSPROC. Extended implicit execution is used when the dataset member name is preceded by a percent sign. This causes the system to bypass the rest of the command search order and go straight to the SYSEXEC and SYSPROC dataset concatenations. Rexx routines may be executed explicitly by entering EX on member line in a PDS enhanced member list. So ISPF option 34 at the TSO ready prompt under the ISPF command shell option 6, or by entering exec followed by the dataset name member to be executed. Rexx routines may be executed implicitly if the dataset containing the exec is allocated to a system file, SYSPROC once it's exec. When both system files are available, SYSEXEC is searched before SYSPROC. As with explicit execution, Rexx routines and SYSPROC must begin with a command line containing the word Rexx, otherwise it will be interpreted as a CLIST. Rexx routines in the SYSEXEC do not have this restriction. However, it's always a good idea to have a comment line with the word Rexx as the first line in an exec. You may also specify alternate libraries for implicit executions with the ALTLIB command. The ATLIB command gives you more flexibility in specifying exec libraries for implicit execution. With ATLIB, you can easily activate and deactivate exec libraries for implicit execution as a need arises. To implicitly execute your Rexx exec, you enter the command at the READY prompt from the command option of ISPF or the command line of any ISPF screen, as long as the member name is preceded by TSO percent command. The percent sign is optional if there is not a TSO command with the same name. However, when you use this form called the extended implicit form, TSO/E searches only the ALTLIB or SYSPROC libraries for the name, thus reducing the amount of search time. For example, TSO percent, my exec, arg1, arg2. Since SYSPROC and SYSEXEC are usually allocated to your session via the login proc, and you may not have the access to these datasets, your best option for executing your execs is to use the explicit method or use ALTLIB to define an application dataset that contains your execs, allowing you to use implicit execution method. This will also keep your private execs from interfering with other execs that may have the same name. Speaking of which the ALTLIB command gives you more flexibility in specifying exec libraries for implicit execution. With ALTLIB, you can easily activate and deactivate exec libraries for implicit execution as the need arises. Since SYSPROC and SYSEXEC are usually allocated to your session of either login proc, and you may not have update access to these datasets, your best options for executing your execs is to use the explicit method outlined above, or use ALTLIB to define an application dataset that contains your execs, allowing you to use the implicit execution method. This also keeps your private execs from interfering with other execs that may have the same name. The user level includes exec libraries previously allocated to the file, SYSEXEC or SYSPROC. During implicit execution, these libraries are searched first. The application level includes exact libraries specified on the ALTLIB command by dataset or file name. During implicit execution, this libraries are searched after user libraries. The system level includes exec libraries previously allocated to files SYSEXEC or SYSPROC. During implicit execution, these libraries are searched after user or application libraries. Datasets concatenated to each of the levels can have different characteristics, logical record length and record format. But the datasets with the same level must have the same characteristics. If you're in split screen mode in ISPF and you issue the ALTLIB command from a one screen session, the changes affect only that screen session. The ALTLIB search order is not valid across split screens. With execution out of the way, let's move on to some basic syntax in the next video.