Open main menu
Home
Random
Recent changes
Special pages
Community portal
Preferences
About Wikipedia
Disclaimers
Incubator escapee wiki
Search
User menu
Talk
Dark mode
Contributions
Create account
Log in
Editing
Object (IBM i)
(section)
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
==Overview== IBM i objects share similarities with objects in [[object-oriented programming]], but there are differences as well. There are similarities in that when [[Volatile memory|storage]] is allocated for something, that something is of a specific type, and only a specific set of programs are allowed to act upon that object. There are differences in that IBM i objects cannot be inherited, and the set of object types is fixed, and only IBM has the ability to create new ones. The number of object '''types''' is huge and a small subset of them are available to users. The human readable form of the object type is always a three to six character mnemonic preceded by an asterisk. What follows is a short list of the more commonly used objects and their mnemonics: * *LIB: Library (where everything below, except directories and stream files, is stored; libraries cannot exist within other libraries). * *PGM: Program (for compiled languages: CL, RPG-IV, C, C++, COBOL, etc. and there are no interface restrictions between the languages). * *MODULE: Module (linkable into a program from a compiled language above and here too there are no restrictions on linkability between languages). * *SRVPGM: Service program (dynamic set of one or more modules, akin to a DLL file in [[Microsoft Windows]]). * *BNDDIR: Binding directory (holds a list of modules and service programs and is used when creating programs). * *CMD: Command (an object used for calling programs that allows users to prompt for their parameters; can be created with the Command Definition language). See [[Control Language]] for more information. * *MENU: Menu (accessed with the GO command). * *FILE: File (IBM i files can be used for data, input/output devices, and source code, depending on sub type). * *DTAARA: Data area (small bits of storage used to store tiny items of data for fast access). * *DIR: Directory (part of the Integrated File System that is equivalent to [[Unix]] and [[Microsoft Windows]] hierarchical file systems). * *STMF: Stream file (traditional file that would be familiar to most [[Unix]] and [[Microsoft Windows]] users and only stored in directories). * *JRN & *JRNRCV: Journal and journal receiver (used to journal changes to files, data areas, and stream files). * *USRPRF: User profile (allows users to sign-on to the system). * *JOBD: Job description (used when submitting/starting jobs). * *SBSD: Subsystem description (used when starting subsystems; this is the place where user jobs run). * *JOBQ: Job queue (used to queue up batch jobs to run in a subsystem). * *LIND: Line description (communications line: Ethernet, token ring, etc.). * *CTLD: Controller description (communications controller for lines, workstations, etc.). * *DEVD: Device description (communications device for lines, workstations, printers tape drives, etc.) * *DTAQ: Data queue (used to queue up data entries for fast retrieval by other jobs). * *MSGQ: Message queue (used to send message to users, can also be used like a data queue). * *OUTQ: Output queue (used to queue up output to a printer). * *USRSPC: User space - a generic data-containing object of arbitrary size (up to 16T).
Edit summary
(Briefly describe your changes)
By publishing changes, you agree to the
Terms of Use
, and you irrevocably agree to release your contribution under the
CC BY-SA 4.0 License
and the
GFDL
. You agree that a hyperlink or URL is sufficient attribution under the Creative Commons license.
Cancel
Editing help
(opens in new window)