You are on page 1of 25

INTRODUCTION TO AS/400

Mid-range Machines

IBM AS/400 belongs to the category of minicomputers or the so called mid-range machines. These are generally medium sized computers and are between microcomputers and mainframe computers in terms of processing speed, storage capacity and the number of users that can be supported at once. There may be various reasons to opt for a mid-range machine over microcomputer or a mainframe. ♦ Microcomputers may not provide speed and storage capacity to the required extent. ♦ The no. of users supported is also less. ♦ Mainframes, inspite of having all the above facilities are very costly and require specialized personnel for their set-up and maintenance and also occupy a lot of space with special environmental conditions.

Evolution of AS/400

The AS/400 is the latest mid-range machine introduced by IBM with the latest advancements and software incorporates which make it an efficient, easy-to-use and an unbeatable low cost business server. However, its history dates back to July, 1969, when IBM had introduces the S/3 (System 3) series. This was when IBM made a debut in smaller systems. It offered use of punch cards that were three times in size to today’s punch cards but could contain 120 percent of data.
The next member of S/3x family was introduced in January, 1975, known as S/32. It allowed the user to interact with the system through a keyboard and a monitor that could display only 240 characters (6 rows and 40 columns). It supported 32 KB of main memory and had a 13 MB hard disk.

In April 1977, the S/34 was into the market which provided multiple workstation support (including printers) and could handle upto 8 local users at a time. It had a 256 KB main memory and 14 GB hard disk. The S/38 was the next machine to be announced in October 1978, which was different from its S/3x predecessors. The architecture of this machine was optimised for application development productivity, which supported 256 local workstations, 32 MB of main memory and 14 GB of secondary storage. On the other hand, development on S/34 architecture continued which led to the advent of S/36 in May, 1983 which supported upto 72 local workstations, and had 7 MB of main memory and 1.4 GB fixed disk. Finally, in June 1988 the first of the AS/400 machines was introduced where AS stands for Application System. It was an expansion of S/38 architecture but also provided application program compatibility with S/36.

Software Architecture

There are three categories of software on the AS/400:
♦ Application Software ♦ Operating System Software ♦ Licensed Internal Code (LIC) AS/400 USER

Application S/W

Operating System S/W

MAIN STORAGE
LIC/SLIC

SYSTEM HARDWARE

Hardware

Application Software – This is the top layer of software that performs user tasks and acts as the primary interface between the user and the AS/400. This includes system-supplied functions like PDM (Program Development Manager), purchased software like a case tool, and other specialized user-developed systems. This software can also execute or call the OS programs. Operating System Software – This is the middle layer of software which performs most of the system housekeeping tasks and manages the system resources. It includes common OS functions like copying and deleting files, which can be invoked by application programs through CL (Control Language) commands. LIC – Licensed Internal Code - the deepest layer of software, is an IBM-supplied set of programs that provide the database, security, communications, and other essential functions. Users never interact directly with the LIC, and it cannot be tampered by programmers or system operators. Another advantage of LIC is that no time need spent on installation of software for the system to run. LIC also provides the hardware

interface, thereby any changes to the hardware invite corresponding changes to the LIC. However, the application programs need not undergo any changes, thereby reducing maintenance costs.

Salient Features of AS/400

The following are few of the salient features of the AS/400 machines –
♦ IBM offers several choices of AS/400 models so that user can balance between requirement and financial budget. ♦ AS/400 supports 64-bit memory addressing thereby has a large working storage memory. Therefore largest AS/400 model has more than 40GB RAM that can be accessed by OS/400. ♦ It has a 64-bit processor which provides enhanced arithmetic capabilities. ♦ The machine comes with an in-built operating system – OS/400 which is also object based and layered which makes upgradation very easy. The user can upgrade his AS/400 model to higher configuration conveniently. ♦ Single storage, i.e., the auxiliary storage is treated as an extension of the working storage. Thus the OS/400 enjoys very large virtual memory. ♦ It has got an integrated RDBMS – DB2/400 and provides a high level of security as the control to DB2/400 is controlled by OS/400. Every AS/400 has DB2/400 as pre-installed. ♦ It is compatible with other IBM ranges like PCs to mainframes. ♦ Offers Double Byte Character Set. This allows users to generate characters more than EBCDIC’s usual set. Thus storage and display of many human language characters is possible. AS/400 is used to represent more than 50 languages in the world. Communication: AS/400 has Client –Server environment. There are basically three types of Client-server environments. a. Distributed Display. Where input-output interfaces are sent to clients and actual data storage and processing is done on server. b. Distributed Data: where apart from input-output interfaces even a set of data is also sent to client so that there will be less transaction between client and the server and client may improve performance of application as it may not depend of server frequently for the next set of data to be displayed. c. Distributed Processing: In which some part of application can be executed on client reducing the load on server and making effective utilization of hardware and software resources. The program running of client may interact with a program running on server. This has been possible since the introduction of micro computers in the industry. AS/400 offers all the three options to user. The OS/400 uses TCP/IP is telnet protocol to enable communication between client and server. IBM has also provided there own protocol System Networking Architecture (SNA) as another choice. The software that implements this protocol and enables the communication is called as Client Access software. Following are some Client Access software used on AS/400 to create the environment of AS/400 on client (many time PC). 1. IBM Personal Communication 2. RENEX 3. MOCHA SOFT 4. RUMBA/400

Software: AS/400 runs on OS/400 Operating System. The latest version of OS/400 is V5R3. Features: 1. It is most secured operating system of industry. 2. Offers character based but user friendly interface. Several thousand help and command prompt screens. 3. LPAR : Logical Partition offers multiple environments on same server. User can run Windows NT, LINUX 4. Has multi-threaded environment with multiple subsystems to manage concurrent jobs. These jobs can well be scheduled also. 5. No data loss in case of communication failure or system failure. 6. Various logs and Audit trails makes system C2 level secured.

Languages: a. b. c. d. e.

Control Language/400. An OS command language. RPG/400 – used to write commercial application. High Level Language. (HLL) COBOL/400. Common Business Oriented Language (HLL) PASCAL/400 C/400 C++/400 Java/400 Object Oriented languages.

Development tools: (Third party) SYNON, LANSA , ASSET Packages: Office Vision/400, JD Edward, MOVEX , BPCS IBM has provided some utilities along with system that help developer while building application. They are called as Application Development Tool Set (ADTS).
Utilities
The following utilities are provided by the IBM AS/400.

♦ ♦ ♦ ♦

SEU – Source Entry Utility – used to code the programs, structure of database files etc. DFU – Data File Utility – used to make data entry directly in to the database files. SDA – Screen Design Aid – used to create User Interface, i.e., the screens used in interactive programs. RLU – Report Layout Utility – used to design the layouts of the reports that are going to be used in the programs. ♦ PDM – Program Development Manager – an in-built utility for the user to navigate through various source physical files etc.

System Concepts

Storage Hierarchy: OS/400 is Object based operating system. Every thing that is stored on AS/400 as a separate entity (collection of information) known by OS/400 is an Object on AS/400. Unlike Object Oriented Programming system the object on AS/400 is a permanent entity having its own attribute. In fact different type of objects on AS/400 have different attributes and depending on these attributes only OS/400 treats them. The program type of object can not be modified. That means when you compile any program source the existing object by same name is deleted and re-created but OS/400 does never allow program object just to be modified. So there is no possibility of virus getting inserted in program like EXE file under Windows. Database (file) type of object can be modified for add/update/delete of records. Some objects used for device configuration purpose can not be moved from one place (directory) to another.

There are around 100 type of objects on AS/400. The logical partition on AS/400 is called as Auxiliary Storage Pool (ASP). The ASP is like C drive D drive etc on Personal Computers except that the ASPs on AS/400 are numbered. Within ASP are what are called as Libraries. Library on AS/400 storage is also one type of (*LIB) object that logically hold other objects. For understanding lets compare them to the concept of directory of personal computers. So objects logically belong to any specific library. There are different type of Libraries. 1. System Library: These are pre-defined libraries on the system. They contain objects of OS/400, Device configurations, Subsystems, job queues , user profiles , message queues etc, They also contain language compilers, function libraries, DB2/400 RDBMS system etc. 2. User Library: These are libraries created by user. There is one system library called as QSYS. All libraries can be created inside this QSYS library. There can not be library inside a library except that QSYS. For storing program sources and Data Description Specification (DDS) IBM has provided one file type of object called as Source Physical File. Multiple sources can be stored within one source physical file. One group of lines of one source is called as source member within a source physical file. A source physical file belongs to any library.

Sub-systems – A subsystem is a single module of OS that is dedicated to perform a specific task on the OS. There can be many subsystems active on a single machine and they can be handled or controlled independently. The number of subsystems that can be active at one time is limited only by the resources available on the system. Some of the IBM supplied subsystems are QBASE and QCTL (the default controlling subsystem). As per the need either of the above can be used. AS/400 also allows users to copy and change the existing subsystems or create new ones to support the special data processing needs. Jobs – Any single task uniquely identified by the system is a job. Each of such jobs could be controlled individually and therefore, the work load can be managed at the individual job level. There are two kinds of jobs, viz., interactive and batch. An interactive job starts when a user signs on the workstation. Such a job comprises of the work performed based on the inputs received from the user during his tenure on the workstation. On the other hand, a batch job is placed in a queue (job queue) to be started by a subsystem. Such jobs are specified with a priority and they are carried out based on their respective priorities. Queues – Objects that are of special importance to operators are queues. They are holding areas for messages, printed reports, batch jobs, and other work that is waiting to be received, released to the CPU, or accessed by a specific user. There are three categories of queues, viz., message queues, job queues and output queues. A job queue holds the jobs that have been submitted for batch processing and they get processed based on their priority. The job Queues belong to subsystem. There can be predefined number of jobs active at a time within a job queue. Jobs more than such number have a status as *jobq. That means these are in a queue waiting for resources available. Communication between the programs, between jobs, between users, between users and programs and between users and the system occurs through messages. A message queues holds the message that is to be

sent to a specified user or a program it is placed in the message queue associated with the user or the program. The OS/400 provides message queues for: - Workstations on the system - System history log - Users responsible for system operation - Users enrolled on the system Whenever a request is sent to print the data etc., the data retrieved from the database is placed is formatted by a print device file. Such formatted print files are placed on an output queue until a writer is ready to send the information to a printer. Such requests also have the flexibility to be processed based on the priority assigned to them.

Latest versions of this machine called the e-Series/i-Series also supports JAVA on As/400.

Introduction to AS/400 Historical Preview
Introduced in 1988 Originated as the Successor of S/38

AS/400 Architecture
Sophisticated design and ease-of-use come together in the AS/400

Layered Architecture
AS/400 Architecture

Conventional System Architecture

Application HLL

Applications and HLL

OCL S/38

CL SQL DDS

S/38

Communication , Database, Security, other “Add-on “softwares

OS/400 (Integrated System Services) MI VMC (Operating system supervisor) IMPI HMC (Microcode) Solid State Hardware

Operating systems

Operating System Supervisor
Conventional Machine Instruction set

Microcode Solid State Hardware

Machine Interface

It is a software layer Interface masquerading as a machine with a very powerful instruction set. Consists of 260 Instruction

Vertical Microcode
It is not a actually a microcode, The Code in the VMC layer is IMPI, or Machine code. Formats Similar to S/370 machine Instructions, The following are the few instructions Register-to-register (RR) Register-immediate (RI) Register-and-storage(RS) Storage-to-Storage(SS) And branch instruction IMPI instructions also use base-register addressing similar to the S/370.

Opcodes 0 8

R1

R2 12 15

S/370 RR format

Opcodes 0 8

R1

R2/E 12 15

AS/400 RR format

Horizontal Microcode and Hardware
It is a true Microcode. 42-Bit Micro Instruction (also called control words) controls the solid state circuits at low level by having particular bit on and off. It executes a single processor cycle

Operating System/400
Includes DDS and CL

Security: Concepts
Implement and Maintain appropriate AS/400 security from the beginning.

Object Authority
Right to use or control an object. No object orphans on the AS/400

Two Categories
Object rights and Data rights Object rights Object rights are concerned with the object Object rights assign a user following authority Operational Rights (*OPER) Object Management Rights (*OBJMGT) Object Existence Right (*OBJEXT) Data Rights Read (*READ) Add (*ADD) Update (*UPD) Delete (*DLT)

Public Authority

Special Authority
• • • ALLOBJ SAVSYS JOBCTL

• • •

SECADM SPLCTL SERVICE
Taxonomy of AS/400 Rights

System Authority

Special Authority

Specific Authority

All Object Security adminstration

Object Authority

Data Authority

Exclusion

Operational Save System Job Control Service Spool Control Authorizational List Management Management Existence

Read Add Update Delete

Library Standards
A well structured library supports application development, Simplifies backup and improves security

Libraries are always stored in QSYS, the “Machine context” or highest level directory. For consistency, QSYS also treated as a library by the Operating system/400 (OS/400), although QSYS has unique properties that no other library has (Such as being able to contain library objects).

System libraries Temporary Local configuration related libraries Vendor-Supplied libraries Local production libraries Local Test Libraries Security Function

Work Management
Good Work Management skills facilitate problem solving and operations

Defining a Subsytem
A subsystem, defined by a subsystem description, is where the system brings together the resources needed to process work.

Subsytems in AS/400
QBASE QBATCH QCMN QCTL QINTER QPGMR QSERVER Basic controlling subsystem Batch Subsystem Communications Subsystem Controlling Subsystem Interactive Subsystem Programmer Subsystem File Server Subsystem

QSNADS QSPL QSYSSBSD QSYSWRK QUSRWRK

SNA Distribution Subsystem Spooling Subsystem Backup controlling subsystem System subsystem User subsystem

Subsystem Description Components
Subsystem Attribute Storage Pool Definitions

Work Entries Auto Job entries Workstation Entries Job Queue Entries Communication Entries Prestart Job Entries Routing Entries

Controlling Output Output Queue
An output queue is an object containing the list of spooled files that you can display on a workstation or write to a printer Device.

Journal Management.
Use Journal Management to recover critical data in AS/400 files.

Journal Management automatically creates a separate copy of file changes and, If necessary, uses the copy to recover data in file.

Basic

A journal is an AS/400 objects used primarily to record changes to data in a physical file member and optionally, changes to a logical file’s access path. Records file opens, File closes, system IPLs, user generated entries and other types of Activity related to physical file.
When data is changed, a journal always puts after image entries into a journal receiver. Optionally, you can specify that the journal should put both before image and after images into the journal receiver.

AS/400 - SYSTEM CONCEPTS
AS/400 is designed and built as a total system. This means that facilities such as a relational database and a networking capability (and much more) are fully integrated into the operating system and the machine. The user communicates with all these functions through a single control language, or by using the system menus and prompts. AS/400 is designed as a general-purpose business computer; it is optimized for that environment. Its design reflects the dominant requirements of that environment, which are: 
Ease of use (from the operator's, and the end-user's, point of view) 

Ability to grow and improve the system without disruption 

Optimization for work in the commercial environment, which is Input/Output-intensive, rather than compute-intensive.

There are five basic system concepts:
1. Layered Machine Architecture AS/400 insulates users from hardware characteristics through the layered machine architecture. This
layered architecture raises the level of the machine interface, creating a high-level machine instruction set that is independent of the underlying hardware implementation.

Figure 1 shows the hardware with the licensed internal code that comprises the high-level machine. AS/400 is unusual in that the machine is defined by software, not by hardware. The instructions presented to the machine interface undergo a further process of translation before they are "understood" by the hardware. This process of translation is carried out by the licensed internal code. Hardware characteristics change as the technology changes; the user, however, still "sees" the same machine interface. The licensed internal code preserves this interface.

Furthermore, some frequently-executed routines (that would reside in the operating system of a conventional machine) have been moved into licensed internal code. This runs faster than a higher level language, so any applications using these routines will realize a performance gain.

Examples of some basic supervisory and resource management functions that are in licensed internal code are validity and authorization checks. The high-level machine provides the user with the ability to address 2(64) bytes of storage on the PowerPC based Models of the AS/400. Layered machine architecture means that as new hardware and software technologies emerge, they can be employed without affecting applications.

The strength of this architecture was evident with the introduction of the new range of PowerPC based AS/400 Models in June 1995. The System Processor changed from being a 48-bit Complex Instruction Set Computer (CISC) to a 64-bit Reduced Instruction Set Computer (RISC). Yet existing customer applications can run on the new processors and take full advantage of the 64-bit capability without any recompilation or rewrite needed of the application (as long as observability has been retained).

2. Object Oriented Technology Everything on AS/400 that can be stored or retrieved is contained in an "object". Objects exist to make users independent of the implementation techniques used in the machine. The "create object" instruction establishes the object's name and its type. All objects are structured with a common object header, and a type-dependent functional portion. An object thus combines the data and the valid methods of using that data into one entity. Therefore only valid methods of using that data are allowed.

This improves the overall integrity of the system and its data. This also permits the system to perform standard object-level functions very efficiently; the object type then determines the way in which a specific object can be used when retrieved. The architecture supports multiple extents to an object. In other words, a user is not concerned with the space his object occupies. The system allocates space automatically. Object orientation gives a strong foundation for new technologies such as artificial intelligence. The objectoriented AS/400 architecture lends itself very well to the utilization of object-oriented techniques for the representation of knowledge in an expert system. With the PowerPC based Models of the AS/400, the Licensed Internal Code that sits above the hardware has been written as System Licensed Internal Code with an Object Based Kernel. This Kernel has been rewritten in C++ and is fully Object Oriented giving all the advantages of flexibility, code reuse, programming efficiency, and error reduction that come from Object Oriented Programming.

3. Single-Level Storage All system storage (whether main storage or disk storage) is addressed in the same way. This single, deviceindependent addressing mechanism means that to run a program, a user calls its name. All objects are treated as if they reside in a 2(64) byte address space. The AS/400 system's virtual addressing is independent of an object's physical location, and the type, capacity and number of disk units on the system. What this means is that application programs do not require modification in order to take advantage of new storage technologies. Users can leave all storage management entirely to the machine.

4. Hierarchy of Microprocessors

The above, simplified, drawing shows that as well as the main System Processor, there is a range of other processors, each dedicated to a particular I/O device type. What this means is that when the main System Processor encounters a request for data to be written to or read from any I/O device, that request is delegated to the particular microprocessor dedicated to that I/O device. Meanwhile, the System Processor continues with another application program. This design provides AS/400 with its outstanding performance in the commercial, transaction-based, environment. It also means that the latest microprocessor technology can be easily utilized at any time without disrupting the rest of the system. Using the N-way multiprocessor capability of the AS/400, the larger models of AS/400 can have up to four processors. The actual numbers of processors are shown in the Summary Tables.

5. Operating System, OS/400, is a Single Entity

The above figure shows the traditional approach for system software. As well as the basic operating system, further software components, providing facilities such as a relational database management system, support for various communications environments, support for an interactive environment, software to implement security, etc., are needed. Sometimes these are provided by third parties. The integration of these software components always needs careful attention: a customer would need to be certain that the release levels of the various components were compatible, etc. On AS/400, none of these issues arise because its operating system, OS/400, has fully integrated these components. OS/400 contains the software for relational database support, for communications and networking environments, and much more. OS/400 is designed to support interactive use in multiple national languages for worldwide application. Textual data is stored separately from operational program code, permitting a system to operate concurrently in many national languages.

OS/400 objects

Operating System/400* (OS/400*) objects provide the means through which all data processing information is stored and processed by the iSeries 400. An OS/400 object is a named unit that exists (occupies space) in storage and on which operations are performed on it by the operating system. CL commands perform operations on the Operating System/400* (OS/400*) objects. Several types of OS/400 objects are created and used in the control language. The Predefined Values and Default Library Locations for OS/400 Object Types table lists the predefined values for all the OS/400 object types. When an object is created and a library qualifier can be specified but is not, the object is stored in the user's current job library, as shown in the last column. The user profile for each user specifies the user's current library. The current library will be QGPL if it is not specified otherwise. The other objects, identified by N/A in the last column, cannot be stored in user-provided libraries. OS/400 objects have the following in common:
• •

Objects have a set of descriptive attributes that are defined when the object is created. Objects have to be used by the system to perform a specific function must be specified in the CL command that performs that function. Objects have a set of attributes that describe it and give the specific values assigned for those attributes. Generally, objects are independent of all other objects. However, some objects must be created before other objects can be created; for example, a logical file cannot be created if the physical file it must be based on does not exist. Objects must be created before other operations that use the object are performed. Descriptions of the create commands (those commands that begin with the letters CRT) give more information about the object types that they create. Every OS/400 object that is used by the control language has a name. The object name specified in a CL command identifies which object is used by the operating system to perform the function of the command. Objects have either a simple, qualified, or generic name.

Table 3. Predefined Values and Default Library Locations for OS/400 Object Types
Value *ALRTBL *AUTL *BLKSF Object Type Alert table Authorization list Block special file Default User Library *CURLIB N/A N/A

*BNDDIR *CFGL *CHRSF *CHTFMT *CLD *CLS *CMD *CNNL *COSD *CRG *CRQD *CSI *CTLD *DDIR *DEVD *DIR *DOC *DSTMF *DTAARA *DTADCT *DTAQ *EDTD *EXITRG *FCT *FIFO *FILE *FLR *FNTRSC *FNTTBL *FORMDF *FTR *GSS *IGCDCT

*IGCSRT *IGCTBL *IPXD

Binding directory Configuration list Character special file Chart format C/400 locale description Class Command Connection list Class-of-service description Cluster resource group Change request description Communications Side Information Controller description Distributed file directory Device description Directory Document Distributed stream file Data area Data dictionary Data queue Edit description Exit registration Forms control table First-in-out special file File Folder Font resources Font mapping table Form definition Filter Graphics symbol set Double-byte character set (DBCS) conversion dictionary Double-byte character set (DBCS) sort table Double-byte character set (DBCS) font table Internetwork packet exchange description

*CURLIB N/A N/A *CURLIB *CURLIB *CURLIB *CURLIB QSYS QSYS N/A *CURLIB *CURLIB QSYS N/A QSYS N/A QDOC N/A *CURLIB N/A *CURLIB QSYS N/A *CURLIB N/A *CURLIB QDOC *CURLIB *CURLIB *CURLIB *CURLIB *CURLIB *CURLIB

*CURLIB N/A QSYS

*JOBD *JOBQ *JOBSCD *JRN *JRNRCV *LIB *LIND *MENU *MGTCOL *MODD *MODULE *MSGF *MSGQ *M36 *M36CFG *NODGRP *NODL *NTBD *NWID *NWSD *OUTQ *OVL *PAGDFN *PAGSEG *PDG *PGM *PNLGRP *PRDAVL *PRDDFN *PRDLOD *PSFCFG *QMFORM *QMQRY *QRYDFN *RCT *SBSD *SCHIDX

Job description Job queue Job schedule Journal Journal receiver Library Line description Menu description Management collection Mode description Compiler unit Message file Message queue AS/400 Advanced 36 machine AS/400 Advanced 36 machine configuration Node group Node list NetBIOS description Network interface description Network server description Output queue Overlay Page definition Page segment Print Descriptor Group Program Panel group definition Product availability Product definition Product load Print Services Facility configuration Query management form Query management query Query definition Reference code translate table Subsystem description Search index

*CURLIB *CURLIB *CURLIB *CURLIB *CURLIB QSYS QSYS *CURLIB QPFRDATA QSYS *CURLIB *CURLIB *CURLIB *CURLIB *CURLIB *CURLIB *CURLIB QSYS QSYS QSYS *CURLIB *CURLIB *CURLIB *CURLIB *CURLIB *CURLIB *CURLIB QSYS QSYS QSYS *CURLIB *CURLIB *CURLIB QGPL QGPL *CURLIB QGPL

*SOCKET *SPADCT *SRVPGM *SQLPKG *SQLUDT *SSND *STMF *S36 *SVRSTG *SYMLNK *TBL *USRIDX *USRPRF *USRQ *USRSPC *VLDL *WSCST

Local socket Spelling aid dictionary Service program Structured Query Language package User-defined SQL type Session description Bytestream file System/36 machine description Server storage space Symbolic link Table User index User profile User queue User space Validation list Work station customizing object

N/A QGPL *CURLIB *CURLIB N/A QGPL N/A QGPL N/A N/A *CURLIB *CURLIB QSYS *CURLIB *CURLIB *CURLIB *CURLIB

Simple and qualified object names
The name of a specific object that is located in a library can be specified as a simple name or as a qualified name. A simple object name is the name of the object only. A qualified object name is the name of the library where the object is stored followed by the name of the object. In a qualified object name, the library name is connected to the object name by a slash (/). Either the simple name or the qualified name of an object can be specified if the object exists in one of the libraries named in the job's library list; the library qualifier is optional in this case. A qualified name must be specified if the named object is not in a library named in the library list.
Note: Although a job name also has a qualified form, it is not a qualified object name because a job is not an OS/400 object. A job name is qualified by a user name and a job number, not by a library name.

Generic object names
A generic object name may refer to more than one object. That is, a generic name contains one or more characters that are the first group of characters in the names of several objects; the system then searches for all the objects that have those characters at the beginning of their names and are in the libraries named in the

library list. A generic name is identified by an asterisk (*) as the last character in the name. A quoted generic name consists of a generic name enclosed in quotation marks. Unlike quoted names, if there are no special characters between the quotation marks, the quotation marks are not removed. The generic name "ABC*" would cause the system to search for objects whose name begins with "ABC. A generic name can also be qualified by a library name. If the generic name is qualified, the system will search only the specified library for objects whose names begin with that generic name.
Note: A generic name also can be qualified by one or more directories if it is a path name. In a path name, letters can be specified before and after the asterisk (*). For more information on path names, see the Integrated File System topic.

When you specify a generic name, the system performs the required function on all objects whose names begin with the specified series of characters. You must have the authority required to perform that function on every object the generic name identifies. If you do not have the required authority for an object, the function is not performed and a diagnostic message is issued for each instance that the attempted generic function failed. A completion message is issued for each object the generic function operates on successfully. You must view the online low-level messages to see the completion messages. Once the entire generic function is completed, a completion message is issued that states that all objects were operated on successfully. If one or more objects could not be successfully operated on an escape message is issued. If an override is in effect for a specific device file, the single object name specified on the override, rather than the generic name, is used to perform the operation. You may not be able to use a generic name for delete, move, or rename commands if the library containing the objects is already locked. A search for generic object names requires a more restrictive lock on the library containing the objects than a search for full object names. The more restrictive lock is necessary to prevent another user from creating an object with the same name as the generic search string in the library while the delete, move, or rename command is running. You can circumvent this problem by using the full name of the objects instead of a generic name. Or you can end the job or subsystem that has a lock on the library.
Note: Use the WRKOBJLCK (Work with Object Locks) command to determine which jobs or subsystems have a lock on the library.

For some commands, a library qualifier can be specified with the generic name to limit the scope of the operation. For example, a Change Print File (CHGPRTF) command with FILE(LIB1/PRT*) performs the desired operation on printer files beginning with PRT in library LIB1 only; printer files in other libraries are not affected. The limitations associated with the various library qualifiers are as follows:
• •

library-name: The operation is performed on generic object names only in the specified library. *LIBL: The operation is performed on generic object names in the library list associated with the job that requested the generic operation. *CURLIB: The operation is performed on generic object names in the current library. *ALL: The operation is performed on generic object names in all libraries on the system for which you are authorized. *USRLIBL: The operation is performed on generic object names in the user part of the library list for the job. *ALLUSR: The operation is performed on all nonsystem libraries (libraries that do not start with the letter Q), except for the following: #CGULIB #DFULIB #RPGLIB #COBLIB #DSULIB #SDALIB #SEULIB

• •

• • •

The operation is also performed on the following Qxxx libraries:
QDSNX QRCL QUSRIJS QUSRSYS QGPL QS36F QUSRINFSKR QUSRVxRxMx QGPL38 QUSER38 QUSRNOTES QMPGDATA QUSRADSM QUSRPOSGS QMQMDATA QUSRBRM QUSRPOSSA QMQMPROC QUSRDIRCL QUSRPYMSVR QPFRDATA QUSRDIRDB QUSRRDARS Note: A different library name, of the form QUSRVxRxMx, can be created by the user for each release that IBM supports. VxRxMx is the version, release, and modification level of the library.