IBM i Objects |
Objects
An object occupies storage on which operations are performed by OS. IBM i objects are the basic units on which commands perform operations. For example, programs, files, and data areas, etc are objects. Objects have a simple, qualified, or generic name. Objects are independent of all other objects. However, some objects must be created or deleted before other objects get created or deleted such as a Logical file cannot be created unless its basing physical file is not created/ Physical files cannot be deleted unless its dependent logical files are not deleted first.
Supported Object types
There are various types of objects that are supported in IBM i and some of the commonly used object types are listed here.
- Files
- Programs
- Commands
- Libraries
- Service programs
- Modules
- Queues
- User profiles
- Job descriptions
Identify object
Each object has a name and is assigned by the creator and the object type is determined by the command used to create the object. Object name and object type are used to identify an object. For Example, the object name is OBJ1 and the type is *PGM and another object name is the same as OBJ1 but the type must be different i.e. *FILE.
Library objects
A library is an object that is used to group related objects and to find objects by name when they are used. Therefore, the library is a directory to the objects.
You can read more about the library here.
External object types
They are stored in libraries. Some of them can only be stored in IFS directories. Some object types can only be created in specific libraries.
Some of the object types are listed here.
*AUTL
The authorization list and default library are QSYS.
*BNDDIR
The binding directory and default library are *CURLIB.
*CHRSF
Character Special File and default directory is Current directory.
*CMD
Command and default library is *CURLIB.
*DIR
The directory and default directory are the current directories.
*DTAARA
Data Area and default library are *CURLIB.
*DTAQ
Data Queue and default library are *CURLIB.
*FILE
The file and default library is *CURLIB.
*JOBD
Job Description and default library are *CURLIB.
*JOBQ
Job Queue and default library are *CURLIB.
*JRN
Journal and default library is *CURLIB.
*JRNRCV
Journal Receiver and default library are *CURLIB.
*LIB
The library and default library is QSYS.
*MODULE
Module and default library is *CURLIB.
*MSGF
Message File and default library are *CURLIB.
*MSGQ
Message Queue and default library are *CURLIB.
*OUTQ
Output Queue and default library are *CURLIB.
*OVL
Overlay and default library is *CURLIB.
*PGM
Program and default library is *CURLIB.
*PNLGRP
Panel Group and default library are *CURLIB.
*QMFORM
Query Management Form and default library are *CURLIB.
*QMQRY
Query Management Query and default library are *CURLIB.
*QRYDFN
Query Definition and default library are *CURLIB.
*SRVPGM
The service program and default library are *CURLIB.
*STMF
ByteStream File and default directory is the current directory.
*USRPRF
User Profile and default library are QSYS.
*USRSPC
User Space and default library are *CURLIB.
Qualified object name
A qualified object name is the name of the library where the object is stored followed by the name of the object and separated by a slash (/).
Simple object name
Object name (OBJ1)
Qualified object name
library name/Object name (LIB1/OBJ1)
Generic object name
Generic object names can be used when referring to multiple objects with similar names. It can refer to more than one object. For Example, OBJ*. The system will look for each object starting with the name OBJ.