IBM Libraries

IBM ships the i5 with some libraries already installed. All IBM-supplied libraries have names beginning with the letter Q. The reverse (all libraries that have names beginning with Q are IBM's) is not necessarily true because you can use the Create Library (CRTLIB) command to create a user library and give it any name you want (even if it begins with Q). However:

  • Do not give your own libraries names beginning with the letter Q. You can name objects any way you want (even with Q at the beginning), but if you adopt the practice of beginning your object names using letters other than Q, it will be easier to distinguish IBM's objects from your own.

  • Never, under any circumstances, delete an IBM-supplied library using the Delete Library (DLTLIB) command. If you absolutely have to get rid of one of them, you should treat the process as a deinstallation of a licensed program. Run the GO LICPGM command to get to the Licensed Programs menu, then select the option that deinstalls them. The system presents a list of all licensed products currently installed. Enter option 4 next to the item you want to delete and press Enter twice. You do not need a dedicated system to perform this task.

The rest of this section contains a brief description of some of IBM's libraries.


QSYS is the most important library in the system. QSYS contains the operating system, and it also contains all other libraries. You cannot operate the computer without QSYS.

Several types of objects cannot be placed anywhere but in QSYS. Three examples are user profiles, device descriptions, and authorization lists.

QSYS has a number of unusual traits. You cannot save it using the Save Library (SAVLIB) command or restore it using the Restore Library (RSTLIB) command. You cannot save any of its objects using the Save Object (SAVOBJ) or Save Changed Objects (SAVCHGOBJ) command. Consequently, you cannot restore it using Restore Object (RSTOBJ) either.


You should never, under any circumstances, delete objects from QSYS. The various Delete (DLTXXX) commands will not stop you if you have enough authority, but the result could be disastrous. You cannot save or restore QSYS objects. The only way to save QSYS is by running the Save System (SAVSYS) command. Except for a few exceptions, you cannot restore any QSYS objects except by reloading the entire operating system over again.

You can delete QSYS objects only if specialized commands exist for that purpose. For example, user profiles always reside in QSYS. You can delete user profiles (even though they are in QSYS) because a Delete User Profile (DLTUSRPRF) command is available. You must use the specialized command to perform the deletion.

On the other hand, no specialized command exists to delete a file from QSYS. The Delete File (DLTF) command is generic for all libraries.


Never, under any circumstances, create one of your own objects into QSYS or move one of your own objects from any library into QSYS. Leave QSYS for IBM-supplied objects.


QUSRSYS is a library in which you can place user objects and still consider them, more or less, "system" objects. Typically, QUSRSYS contains message queues for user profiles and some data files used by the system (which you can delete in most cases). QUSRSYS, however, is a "normal" library. You can save it and restore it (as well as its contents) in the normal fashion.


QHLPSYS contains all the help information (which is extensive) that is provided by the system at the touch of the Help key. QHLPSYS contains most of this information in the form of panel group and search index objects.

QHLPSYS is not essential to run the system if you don't mind not having help available. The system-supplied help support is so convenient, however, that it is easy to take it for granted.


QGPL's name stands for General Purpose Library. As this name implies, QGPL contains a potpourri of miscellaneous objects that can be used either by the system or by you at various times. QGPL contains objects such as job queues, subsystem descriptions, source physical files, and output queues.

QGPL should not be cluttered with user objects. Do not use it to store your own objects unless there is a compelling reason to do so. Keep this advice in mind whenever you create an object.

Table 19.1 lists some other system libraries and gives a brief description of each of them. A complete list is found in Appendix C of the CL Programming manual (SC41-5721-06).


Most Create (CRTXXX) commands default the library to *CURLIB (whatever library happens to be your current library). However, if you don't have any library as current, the object is placed in QGPL.

Table 19.1: System Libraries
Open table as spreadsheet




CCA cryptopgraphic service provider


DB2 multisystem


Domain name system


AFP* compatibility fonts


Additional fonts


NetWare enhanced integration


Support for graphical data display manager and presentation graphics routines


Digital Certificate Manager


International components for Unicode


Host servers


High availability journal performance


Media and Storage Extensions (MSE) library


Portable app solutions environment


Library of system-collected performance data


Question-and-answer utility library


Library for reclaiming objects via the RCLSTG command


System recovery library


Library for replaced objects

QSC xxxxxxx

Data library for collecting APAR data; xxxxxxx = last 7 digits of the problem identifier


Qshell interpreter


DB2 symmetric multiprocessing




Spooling library


Object Connect


System service library


System CGI Program Library


Extended base directory support


System openness includes


Contains locale source members for use in creating *LOCALE objects.


Extended NLS support


iSeries CL compiler library, previous release support; x identifies the version, release, and modification level of the previous release


Supplemental system library for objects whose names do not begin with the letter Q; includes, for example, objects for CPIs.


Temporary library of user


Not shipped with system; created at install time


Example tools

Product Libraries

IBM-licensed program products are self-contained software packages. Each comes in a separate library (a product library).

For example, the Application Development Tools program product, also known as PDM (Program Development Manager), comes in library QPDA. The RPG/400 compiler and RPG/400 support come in library QRPG.

The interested reader should consult Appendix C of the CL Programming manual (SC41-5721-06) for a list of program product libraries.

Special Environments

The i5 supports a System/36, environment, a System/38 environment, and an AIX environment, known as PASE. All three environments are contained in libraries.

The S/38 environment is contained in library QSYS38 and contains all the commands used on the S/38 that can still be supported on the I5. Certain features, such as card devices, are no longer supported.

In addition to QSYS38, the S/38 environment optionally can include libraries for some S/38-licensed program products, such as RPG III support in library QPRPG38.

The S/36 environment is contained in several libraries. The main library is QSSP, which contains the S/36 SSP procedures, utility programs, control commands, and OCL interpreter. #LIBRARY is provided so that you can place user objects you would have placed in #LIBRARY in a real-life S/36.

In addition to QSSP and #LIBRARY, the S/36 environment has QS36F, a library that contains all the database files used in the environment, and other libraries for licensed program products, such as #RPGLIB for RPG II support, or #SDALIB for S/36 SDA support.

The PASE (Portable Application Solutions Environment) environment allows the i5 to run binary objects that were created for the eServer p5, IBM's AIX system. PASE support is in library QPASE.

IBM i5/iSeries Primer(c) Concepts and Techniques for Programmers, Administrators, and Sys[... ]ators
IBM i5/iSeries Primer(c) Concepts and Techniques for Programmers, Administrators, and Sys[... ]ators
Year: 2004
Pages: 245 © 2008-2017.
If you may any questions please contact us: