Week # 2 - Agenda Types of AS/400 Objects Qualified/Unqualified Names Object Management CL Syntax Library List User Jobs Spool Files and Printing PDM (Programming Development Manager) SEU (Source Entry Utility)
Jan 03, 2016
Week # 2 - Agenda Types of AS/400 Objects Qualified/Unqualified Names Object Management CL Syntax Library List User Jobs Spool Files and Printing PDM (Programming Development Manager) SEU (Source Entry Utility)
Week # 2Types of AS/400 Objects
All AS/400 objects are categorized by object type. An object’s type defines the object’s purpose and how it can be used on the system.
OS/400 provides more than 40 object types that encompass all applications and system resources, including programs, data, and hardware.
Week # 2Types of AS/400 Objects (Continued)
Object type Object description Attribute (subtype)
*CMD Command --*FILE File PF -SRC (Source File) PF -DTA (Physical file)
LF (Logical file)DSPF (Display file)PRTF (Printer file)
*JOBD Job description --*LIB Library --*OUTQ Output queue --*PGM Program (executable) Source language
(e.g., CBL, CLP, RPG)*QRYDFN Query definition --*USRPRF User profile --
Week # 2Types of AS/400 Objects (Continued)
When you create an object and give it a name, the system assigns the object type, as determined by the command you used.
Examples:
Command CRTUSRPRF (Create User Profile) generates the object type *USRPRF
Command CRTLIB (Create Library) generates the object type *LIB
Week # 2Types of AS/400 Objects (Continued)
Some CL commands work with any type of object, but there are object types that have certain CL commands that can be used only for that type.
Examples:
DSPOBJD (Display Object Description) command works for objects of any type
DSPUSRPRF (Display User Profile) command works only for *USRPRF objects
Week # 2 Types of AS/400 Objects (Continued)
When you create an object, it “goes into” a (User) library (unless the object created is, in fact, a library). This is not a physical collection of objects but a single-level directory to a group of related objects.
Week # 2 Types of AS/400 Objects (Continued)
A library also provides a logical reference to objects by using address pointers.
The type and authorization level of each object is associated with the library entry for that object.
(Present whiteboard illustration now)
Week # 2 Requesting an Object
When you request an object (by selecting a menu option or by entering a command), it usually is not necessary to specify the library name in which the object resides.
You specify an object name (up to10-characters without a library reference), and the system searches the job’s current library list to locate an object matching the specified name and type appropriate for the request.
Week # 2 Requesting an Object (Continued)
Example: You want to use the CALL command to execute a program. The CALL command’s only required parameter is the name of the program; so if you want to run a program named ACTCUS (to list all active accounts in a customer file), you would enter the command
CALL ACTCUS
Week # 2 Requesting an Object (Continued)
The only valid object type for a CALL command is *PGM, so if you include the object type in the library entry, the system can determine whether it’s type is appropriate for the requested operation without having to locate and load the actual object.
Week # 2 Qualified/Unqualified Names
To run, for example, program ACTCUS in library TSTLIB1, proceed in two ways:
Change the library list, or Use a qualified name for the object
(the most direct because it includes a reference to a library + the 10-character object name), which would take the form –
CALL libref/objname
Week # 2 Qualified/Unqualified Names (Continued)
In the form libref/objname, libref is an explicit library-object name; therefore, to execute program ATCUS in library TSTLIB1, specify the following CALL command:
CALL TSTLIB1/ACTCUSHere, the system searches only library
TSTLIB1 for program ACTCUS.
Week # 2 Qualified/Unqualified Names (Continued)
The library specified in an explicit qualified name does not need to be in your library list, but you (the requester) must be authorized not only to use that library but also to use the object within the library. The first thing the system does is determine whether you have proper authority to the library you named.
When you use a simple unqualified name, the search for an object is limited to your library list. The system determined that were authorized to use the library-list libraries when your job began. (Attempting to add to your library list a library to which you are not authorized will cause an error.)
Week # 2 Qualified/Unqualified Names (Continued)
If you are authorized to the library specified in an explicit qualified name but the system cannot find a matching object name of the appropriate type, or if you are not authorized to use the object, the system does not search beyond the specified library. Instead, the system returns a message such as “Object OBJNAME in library LIBNAME not found” or “Not authorized to object OBJNAME in library LIBNAME.”
Week # 2 Qualified/Unqualified Names (Continued)
It might be necessary to use a qualified name if:
Objects with the same name and type exist in more than one library in your library list
You need an object that is not in any library in your library list
To use a qualified name, you need authority adequate for the intended use, both to the object and library.
Object Management Definition > ‘An object is information
stored on the iSeries system that can be operated on by using commands & programs.
Some types are > Program, File, Folder & Library
Main characteristics are > Name, Library, Type, Attribute, Owner Name, Creator Name & Authorization
Object Management(Continued)
Comparing types > Source Physical File vs Data File (wb)
Life Cycle of code from development to execution(wb)
Difference between a Member and an Object (i.e. Programs & Files) (wb)
iSeries Libraries
Differences between System, Product and User libraries
A User library is an object that groups related objects of other types including programs and files
Current Library
Library List A Library List (on the iSeries) is a ‘search
path’ that specifies the Current library and a group of System, Product and User libraries that a job uses when searching for required objects (from top to bottom). (dmo)
Qualified vs Unqualified jobs (wb) Job Description defines the default Library
List for User profiles (Parameter in the User profile) (wb)
Library List(Continued) The QGPL and QTEMP should be
standard on all Library Lists (dmo) As of OS/400 release 5.1, the
maximum # of libraries allowed on the Library List has been increased to over 200 libraries.
The iSeries commands relating to the maintenance of the current Library List is temporary for that sign-on session. (wb)
PDM(Programming Development Manager)
Walk thru of Options 1, 2 & 3
SEU(Source Entry Utility)
CODE/400 Editor Source Entry Utility Editor (Create a sample DDS)
CL Syntax
Command-name
(space) parameter
CL Syntax
Do all commands have parameters?
Why should you always press F4 following a command instead of enter?
Positional or Keyword?
By Keyword, both these are allowed
CRTLIB LIB(ACTLIB) TYPE(*TEST) TEXT(‘Accounting’)
CRTLIB TYPE(*TEST) TEXT(‘Accounting’) LIB(ACTLIB)
Positional
Allowed: CRTLIB ACTLIB *TEST
Not Allowed CRTLIB *TEST ACTLIB
Menu
Menus GO MAIN main menu (F16) GO MAJOR major commands menu (F4) GO VERB action menu GO SUBJECT objects menu GO CMDxxxx verb, noun, function
4 Parts of a Library List
(or the 4 library list types) System (SYS) Product (PRD) Current (CUR) User (USR)
Library List Commands
ADDLIBLE Adds an entry to a library list to the
USER portion of the library list RMVLIBLE
Removes an entry from the USER portion of the library list
EDTLIBL Adds/Deletes/Changes entries on the
USER portion of the library list
Library List Commands
CHGCURLIB Changes the Current Library
CHGLIBL Changes the Current Library and
allows Add/Change/Delete to the USER portion of the library list.
All Library List commands are listed on the CMDLIBL menu.
A Library Search
Direction of search
Part of Library List
Library Contains Object
Object Type
System QSYS QHLPSYS QUSRSYS
Current MYLIB
ACTCUS PROGA FILEB
*FILE *PGM *FILE
User ARLIB TSTLIB1
FILEM ACTCUS FILEX ACTCUS
*FILE *PGM *FILE *PGM
Spooled Files
AS/400 objects that contain data for printing
Are stored in Output Queues To print a Spooled File, the file
must be moved to an Output Queue attached to a printer.
How Do Spooled Files get Created?
Program/Command
Data ReportLayout
Job Output Queue
*FILE*FILE
Spooled File
QINTER
CE233A01
SPLF#1
SPLF#2
PRT01
SPLF#3
SPLF#4
Change theSpooled Fileto OutQPRT01
Work with Jobs Command To display information about your current
Interactive job, simply type: WRKJOB To display information about any other
job, use the Work With Job and enter the Job Name and User. Number is Optional.
To display your Batch Jobs, use the Work with Submitted Jobs Commands (WRKSBMJOB)
WRKUSRJOB Shows you a list of all of the jobs that
you own on the system irregardless of the subsystem
Status Active = Job is currently running Outq = Job is finished Jobq = Job is waiting to process.
To delete a ‘run-away’ job, take option 4