HPlogo Using HP 3000 MPE/iX:\Advanced Skills Tutorial: HP 3000 MPE/iX Computer Systems > Chapter 6 Module 5: User Commands

Lesson 2 Understanding Search Priority and Search Path

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Glossary

 » Index

Introduction

This lesson presents information on the following topics:

  • MPE/iX search priorities

  • the use of the XEQ command

To be sure that your user commands execute, you need to be aware of how MPE/iX interprets what is entered at the prompt.

How does MPE/iX search for UDCs, commands, programs, and command files? How does MPE/iX know whether you have entered a command or a UDC, for example? What is printed if what you have entered is not found in the search path?

Figure 6-2 MPE/iX Directory Search

[MPE/iX Directory Search]

MPE/iX interprets everything entered at the prompt to be a command. It prioritizes its search for that command in the following order:

  • UDCs first

  • MPE/iX commands second

  • file names (including command files and programs) last

This hierarchy is called the search priority.

The following detailed diagram illustrates the process MPE/iX uses to search for a command called TRYIT.

Figure 6-3 MPE/iX Search Priority

[MPE/iX Search Priority]

UDC directory

Suppose you were to enter the following at the MPE/iX prompt:

   TRYIT

The system would first search for TRYIT in the directory of UDC files. (This directory is where all cataloged UDCs are kept.) User created UDCs are searched first, account UDCs next, and system UDCs last. If TRYIT were a UDC, the search would end and TRYIT would be executed.

In order to put a UDC in the UDC directory, it must be part of a UDC file that has been cataloged with the SETCATALOG command. SETCATALOG is described in the next lesson.

Q5-1Which UDC in each of the following pairs would execute?
 
  1. the user UDC SM or the system UDC SM?

  2. the system UDC LF or the account UDC LF?

  3. the account UDC TRYIT or the user UDC TRYIT?

Command directory

But what if TRYIT were not found in the UDC directory? Then the search would continue to see if TRYIT were in the MPE/iX command directory If it were, the system would execute it.

Q5-2Suppose one of your cataloged UDCs has the same name as an MPE/iX command. If you enter the name, will the UDC or the MPE/iX command execute?

File directory

If TRYIT were not found in the command directory, the search would continue on to the file directory. If TRYIT were a qualified file name of a valid executable file, for example, a command file, TRYIT would execute.

Q5-3Suppose you have both a command file and a cataloged UDC with the same name, MYFILEX. When you enter MYFILEX at the prompt, which of these will execute?

Search path

Figure 6-4 Search Path

[Search Path]

Since the file name TRYIT has not been qualified, the system follows a designated search path looking for a matching name.

By default, the system first looks in your current group, next in your PUB group, and finally in PUB.SYS.

If TRYIT were not found in the search path or were found to be a nonexecutable file, the system would issue an Error Message and return you to the MPE/iX prompt.

   UNKNOWN COMMAND NAME (CIERR 975)

XEQ command

Occasionally you may want to have the system execute a command file or program that has the same name as a UDC. The UDC always executes first unless you precede the name of the command file or program with the XEQ command.

The XEQ command ensures execution of valid command files and programs despite name duplications. XEQ plus the name of a program causes that file to execute.

For example, suppose you had a UDC and a program file with the same name, MYFILE.

Entering

   MYFILE

executes the UDC.

Entering

   XEQ MYFILE

ensures that your program file MYFILE executes.

Lesson summary

  1. MPE/iX interprets everything entered at the prompt to be a command and prioritizes its search for that command as follows:

    1. UDCs first

    2. MPE/iX commands second

    3. file names last

  2. Use the XEQ command to ensure that the system executes a command or program file having the same name as a cataloged UDC.

NOTE: XEQ also causes your command file to override any system command of the same name.

Exercise 5-2: lesson 2 review

Use the search path diagram in figure 6-3 as a guide. Check your understanding of search path and execution priority. Which executes?

  1. the LISTFILE system command or a command file named LISTFILE?

  2. a command file called DELFILE in your PUB group or a program called DELFILE in your current group?

  3. a program called PRINT or the MPE/iX command PRINT?

  4. XEQ MYLIST, a command file, or a UDC called MYLIST?

********** End of Exercise 5-2 **********