User Profiles

User Profiles
A user profile is an object that identifies a particular user or a group of user to the AS/400 system. The user is known in the system by user profile name. When a workstation signs on, the user id is used to find the user profile setting. The password is defined in the user profile. All AS/400 system security functions rely on the user profile to describe each user. The user profile identifies the authorities to that user.

User Profiles contain information describing a system user, that user's privileges and limitations when using the system, and lists of objects the user owns or is authorized to use. For objects owned by a user, the profile also contains lists of other users' authorizations to those objects.

Group Profiles
A group profile is used to provide the same profile for a group of users. This eliminates the need to assign the authority to each user individually.

A User Profile may be linked to a group profile. This allows all the members of the  group to share common attributes, common access to selected objects, and common ownership of objects.

A group profile is implemented as a user profile; that is, it is created just like a user profile, and when granting authority, the AS/400 does not treat groups any differently than user profiles. The two uses may be intermixed. For easy management it is better that user and group profiles be used as separate entities. One way to enforce this is to set the group profile password to *NONE. This prevents any sign on to the profile.

User Profile Management:
Create User Profile :

The create User Profile (CRTUSRPRF) command identifies a user to the system and allows you to customize the way the system appears.

Delete User Profile
:

The Delete User Profile (DLTUSRPRF) command allows a user to delete a user profile from the system. The User Profile cannot be deleted if a user is currently running under the profile
The Change User Profile (CHGUSRPRF) command changes the values specified in a user profile.  The password validation rules are not verified by the system when a password is changed by this command. 

The Work with User Profiles (WRKUSRPRF) display shows you a list of user profiles that you have authority to use. Only someone with either system security officer or security administrator authority can set up these user profiles which determine what system displays and functions each person is authorized to use.  If you do not have proper authority, only your user profile will be displayed.            
You can do the following with WRKUSRPRF command
  1. Create a user profile
  2. Change a user profile
  3. Copy a user profile
  4. Delete a user profile
  5. Display a user profile
Note: You must have one or more special authorities (such as *SECADM) to perform above operations.

Managing OUTQ`s and SPOOL Files

All the spool files created by the user as well as system goes into a OUTQ. QPRINT is the default outq of the system. Administrator can set default outq for each user so that the spool files created by that users goes to that outq only.

To work with all the outq use following command,
WRKOUTQ

The Work with Output Queues (WRKOUTQ) command allows the user to display and work with either the overall status of all output queues or all output queues that match the qualified generic name specified and to which the user is authorized, or the detailed status of a specific output queue. The status of the queues may change while the command is being run.

To clear the outq use the following command  ,
CLROUTQ  < outq name >

The Clear Output Queue (CLROUTQ) command removes spooled files from the specified queue. The Clear Output Queue (CLROUTQ) command removes all spooled files on the specified output queue if they are waiting to be written on an output device, including files that are in the hold state. Spooled files that are currently being produced by programs or that are being written to an output device are not removed from the queue.

To work with spool files created by particular user use following  command,
WRKSPLF  < user id >

The Work with Spooled Files (WRKSPLF) command displays a list of all the spooled files on the system or a selected list from them. You can choose to change, hold, delete, display, or release any or all of the entries that are displayed. 

You can do following activities with the spool file,
1. DELETE
2. HOLD
3. RELEASE
4. CHANGE
5. SAVE

User can change the outq of the spool file.Spool file is assign to a printer to print.User can print the spool file pagewise as per the the requirement.

Message Handling

Message is a means of communication between system and user. These are system messages & User Message. 

In User Messages users can send their own messages.
System Messages and Users Messages are put in the user’s message queue. Messages may be
a) Informational (No reply Needed)
b) Inquiry (Reply Needed)

Even users can send messages to each other using following commands,
1.  SNDBRKMSG (Break messages is used to interrupt the user’s work)
2.  SNDMSG (F4) 
         TOUSR(< user profile >)  or
         TOMSGQ(< Workstation name >)

By default every message given to the administrator goes into QSYSOPR message queue. Administrator can change this default message queue.

To see the messages of any message queue use following command,
DSPMSG       

To check system operators message queue use,
DSPMSG  QSYSOPR
 

System Operations

An administrator continuously requires to Monitor following on the system.

1.  % ASP USAGE OF THE SYSTEM:
To find out the Percentage ASP utilized use following command:
WRKSYSSTS

2. CHECKING ACTIVE JOBS:
Use following command to check active jobs as well as CPU utilization,
WRKACTJOB

3. CHECKING SUBSYSTEM STATUS:
Use the following command to check all the active subsystems,
WRKSBS

4. TO CHECK THE LOG:
Use following command to find out the log on the system.
DSPLOG
You can use same command to find log of a fixed time span.

5. TO CHECK STATUS OF *LIN,*DEV,*CTL :
Use following commands to find status of Lines, Devices and Controllers respectively,
WRKCFGSTS  *LIN
WRKCFGSTS  *DEV
WRKCFGSTS  *CTL

6. CHECKING DISK STATUS :
Use following command to check the disk status,
WRKDSKSTS

7. WRKJOBQ – Display all job queues status and list of jobs in the queue.

8. WRKDEVD – Display and manage device description


9. WRKJOBSCDE – Display all  job schedule entries for the system

Subsystem

A subsystem is a single, predefined operating environment through which the system coordinates the work flow and resource use. The system can contain several subsystems, all operating independently of each other. Subsystems manage resources. The run-time characteristics of a subsystem are defined in an object called a subsystem description. Subsystem enable better performance tuning.

A subsystem description is a system object that includes general definitions and storage pool definitions.

The general definitions includes subsystem name, description and maximum number of jobs to run in the subsystem.

Storage pool attributes determine how the subsystem uses memory for work, where work can enter the subsystem, how much work the subsystem can handle, how much main storage (memory) will be used, and how quickly jobs in the subsystem can run.

 To create a simple subsystem, we need four elements:
    * A subsystem description that describes the overall working environment of the subsystem, including the number of jobs it can run at one time and the OS/400 storage pools the subsystem uses
    * A job queue, where OS/400 submits jobs that are meant to run in the subsystem
    * A class object that describes the runtime attributes of jobs entering this subsystem
    * One or more routing entries that tell the subsystem how to process incoming requests

To perform the first step for our own  subsystem, creating the subsystem description, use CRTSBSD command. To create a MTHEND subsystem, the CRTSBSD command might look like this:
Eg: CRTSBSD SBSD(QGPL/MTHEND)

The second subsystem creation task is to make a unique OS/400 job queue where jobs can be queued up waiting to be processed in your new subsystem. Job queues are created by using the Create Job Queue (CRTJOBQ) command. To create a MTHEND job queue, the CRTJOBQ command might look like this:
Eg: CRTJOBQ  JOBQ(QGPL/MTHEND)

Once the job queue is created, it's a simple matter to attach it to your subsystem by using the Add Job Queue Entry (ADDJOBQE) command, as follows:
Eg: ADDJOBQE  SBSD(QGPL/MTHEND) 

Our third step is to use the Create Class (CRTCLS) command to create a class object that describes the run priority, time slice, or purge attributes for jobs running in this subsystem. Use the following command:
Eg: CRTCLS  CLS(QGPL/MTHEND)

Our fourth step is to create a routing entry that tells OS/400 what to do with incoming requests for subsystem MTHEND (through a Submit Job, or SBMJOB, command for batch processing). In our case, we merely want the subsystem to invoke the command processor (QCMD) to run any command contained in incoming jobs. To do this, we use the Add Routing Entry (ADDRTGE) command, as follows:
Eg: ADDRTGE SBSD(QGPL/MTHEND)

THE FOLLOWING IS A LIST OF SUBSYSTEM RELATED COMMANDS:
  • To start a subsystem, use the Start Subsystem (STRSBS) command.
  • To end a subsystem, use the End Subsystem (ENDSBS) command.
  • To delete a subsystem description, use the Delete Subsystem Description (DLTSBSD) command. To use the DLTSBSD command, the subsystem cannot be active.
  • To change subsystem description, use Change Subsystem Description (CHGSBSD)  command.
  • To display subsystem description, use Display Subsystem Description (DSPSBSD) command.
  • To start a subsystem using BRMS, use STRSBSBRM command.
  • To work with subsystems, use WRKSBS command.
  • To work with subsystem description, use WRKSBSD command.
  • To work with subsystem jobs, use WRKSBSJOB command  

The default subsystems are
1. QCTL - Controlling Subsytem, this subsystem will always be up as soon as the system is started.
2. QINTER - All interactive jobs will run in QINTER subsytem.
3. QBATCH - All batch jobs will run in QBATCH subsystem.
4. QCMN - All communication jobs will run in QCMN subsystem.
5. QSPL - QSPL handles spooled file jobs, including placing files or jobs into disk storage for later processing or printing.
6. QSYSWRK - QSYSWRK coordinates system functions that are started automatically at system startup and when the system comes out of restricted state.
7. QSERVER - This is the file server subsystem. All server jobs will run in this subsystem.
8. QUSRWRK - This is the user work subsystem. It executes prestart jobs and jobs that are started by servers to do work on behalf of a user.

Menus

The menu allows users to select the task they would like to perform without having to use the system commands. This task menus provides users with a more defined group of choices regarding tasks or objects available.

Queues

A queue is a list of objects that are waiting to be processed.
Examples of AS/400 queues:
    1. Job queues: where batch jobs wait
    2. Message queues: where messages wait
    3. Output queues: where spool files wait to print
    4. Data queues: Data queues are used to communicate and store data used by several programs either within a job or between jobs. Multiple jobs can send or receive data from a single queue.

Job Management

On AS/400 Job is a Unit of Work Done. When a job is started, system creates a set of resources for the job. These resources are destroyed automatically by the system, when the job ends. The AS/400 assigns a unique identifier to each AS/400 job. The job identifier consists of three parts :  a system assigned job number ; the user profile of the user associated with the job and a general job name. Thus a Job is identified by a Job name, a User and a Job Number (6 digits). Valid job names are
    024671/Nishar/DSP01
    345678/Ahamed/MONTHEND

There are 2 types of user jobs
        1. Interactive
        2. Batch

       
Interactive jobs require constant interaction between the user and the computer. Interactive jobs usually involve typing information into a display screen and waiting for the computer to respond.

Batch job runs in the background without interaction with user. Ends when all programs that are part of batch jobs are terminated. Have lower priority when compared to Interactive Jobs.

There are 3 types of system jobs
        1.Prestart
        2.Autostart
        3.Communication

       
User can do the following activities with the job.
        1.END
        2.HOLD
        3.RELEASE
        4.CHANGE
       

Every job is having priority to run on the system.1 is highest priority and 9 is lowest priority. 5 is the default priority. Administrator can change the priority.


1.  Use following command to track a particular user’s jobs,
        WRKUSRJOB

2. Use following command to find out jobs in JOBQ,
        WRKJOBQ

3. Use following command to find scheduled jobs
        WRKJOBSCDE

4. To submit a job in batch use following command.
        SBMJOB

5. To find total number of active jobs on the system use the command as,
        WRKACTJOB

6. To find jobs running in particular subsystem use,
        WRKSBSJOB

Programs

A program is an object containing a set of instructions that tell the system where to get information, how to process it and where to put the results. When the system compiles the program description, the object type identifies it as a program. Because it is program object, the system begins to read the lines of code and to process the commands.

Files

File is an object that contains either a set of related records handled as a group or a stream of data. One of the most common types of files that contains records is the database file. A document is the type of file that contains only a stream of data. There are different type of files on the system as follows:
1.  Physical file
2.  Logical file
3.  Display file
4.  Printer file
5.  Tape file
6.  Diskette file
7.  Message file
8.  Save file
9. Database Files
  1. Physical file that contains data records or source statements
  2. Logical file that contains access information for data.
  • Device file describes the operational characteristics of a Physical hardware device
  • Five types of device files - tape , printer, diskette, communication (message) and display
  • A file is logically divided into records and records into fields. A field cannot be subdivided

Folders in AS/400

A folder is a named object that is used as a directory for documents and other folders. Folders can be filed within another folder. Folder within folders is similar to a filing cabinet. A folder path is a list of the folders within folders needed to find a document or object within folder. 

Libraries

A library is an object that is used to group related objects and to find objects by name. Thus a library is a directory to a group of object. The number of object contained in a library and the number of libraries on the system are limited only by the amount of storage available. Two different objects with the same can exist in the same library, only if their objects types differ. However, two objects with the same name and type can exist in different libraries.

There are three types of libraries:
1. System - 
All IBM supplied libraries e.g. QSYS, QHLPSYS, QUSRSYS
2. User - User created libraries
3. Product - 
Whenever IBM product is used it is added to the library automatically and is removed itself when    the job completes.
QSYS is the root library where the entire user defined / system defined libraries are created. QSYS is the only library that contains other library.  When you logon the first library to be load is QSYS. The system library is loaded at the first time.

All IBM supplied libraries starts with Q or #

Library Commands
1. CRTLIB
2. DSPLIB
3. CHGCURLIB
4. CHGLIB
5. CLRLIB
6. CPYLIB
7. DLTLIB

Objects in AS/400

AS/400 Objects

Anything which can be stored or deleted is called an object in AS/400. Each object has a name. Objects in AS/400 are identified by its name and type.

The object name is explicitly assigned by the system for system supplied objects or by the user when creating an object.

Objects share some common attributes such as Name, Type, Size, Description, Date created, Object owner.

Object Types
1. *Lib        Libraries
2. *file        Files
3. *PGM      Complied Programs
4. *Outq     Output Queues
5. *DTAQ     Data Queue
6. *DTAARA  Data Area
7. *USRSPC  User Space

IBM Power Systems

Power Systems is the name of IBM's Power Architecture-based server line. Before the Power Systems line was announced on April 2, 2008, IBM had two distinct Power-based lines: the System i running IBM i (formerly i5/OS and OS/400) - and the System p series running AIX or Linux. Systems based on POWER8 became available from IBM in June 2014.

IBM has been designing the future POWER9 processor for quite a while according to William Starke, a systems architect for the POWER8 processor.

Rochester Photo Album



IBM S/3 System

IBM S/32 System
IBM S/34 System
IBM S/38 System
IBM S/36 System

AS400 System
AS400 System
AS400 System




Power Systems

Father of AS/400

Frank Gerald Soltis (born 1940), an American computer scientist, was IBM's Chief Scientist for the System i computers.

Father of AS/400

In November 1968, Soltis took a position with IBM in Rochester, Minnesota.  He retired from IBM on December 31, 2008

Signing on to the AS/400



Main Menu


Main Menu Choices


More Option

OS/400 Software Developement

Programming Languages
BASIC
C
C++
CL command language
FORTRAN
Java
COBOL
Pascal
RPG
SQL
Tools
Query/400
Performance Tools
Fax/400

Advantages of AS/400

1. Layered Machine Architecture : It enables the users to move towards new hardware technology at anytime without disrupting user application programs.
2. Object orientated system : In AS/400 everything is object. Objects make users independent of the internal structure of the machine.
Objects occupies space on the disk.
On Unix/Windows, everything is a file
On Windows, files have extensions
On AS/400 object have types
3. Single Level Storage: Main storage and disk storage appears continguos. Storage management is left to machine.
4. Easy to use
5. We can assign certain amount of space, processor to system services.
6. To date, no viruses have been reported on the AS/400 platform.
7. AS/400 is one of the most reliable and stable platforms
8. Supports Virtualization
9. Supports 32/64 bit applications
10. Dynamic LPAR's (You can allocate CPU, RAM, Memory, Hard disk etc at anytime)
11. IBM gives global support

According to data collected by IBM, AS/400 customers have experienced on average less than 9 hours of unplanned down time per year. This means that AS/400 can provide the 99.9% availability that is needed for applications that are vital to your business.

A 1998 report by the International Data Corporation shows that the cost of staff required to maintain an AS/400 server is 40% less than that of a Unix server and 50% less than that of a NT server.

iSeries Hardware Architecture

About the architecture of iSeries, all the applications interact with the specialized layer called TIMI Layer (Technology Independent Machine Interface). This layer in turn interacts with the LIC and LIC will interacts with Hardware.  When compared with the rest of the server class all the application software's interact with the hardware directly.

Technology Independent Machine Interface translates application programs and OS instructions into Licensed Internal Code.

Licensed internal code (LIC), also called system licensed internal code, is software that interacts directly with the AS/400 hardware. LIC typically performs the following functions:
  1. Storage management
  2. Pointer and address management
  3. Program management
  4. Expectation and event management
  5. Data management
  6. I/O management
  7. Security management
LIC often stored on read-only chips. To update the LIC, read-only chips must be replaced

AS/400 Servers

Different AS/400 models

IBM i

IBM i is an operating system used on IBM Power Systems. IBM i was formerly known as i5/OS or OS/400. The new name, IBM i, was revealed on April 2, 2008. In AS/400, operating system is represented in the format VxRxMx (Version, Release, Modification, e.g. V6R1M0).

With 7.1, IBM started delivering new updates to the operating system via Technology Refreshes, where number 10 was released in May 2015.

The latest Version 7.3 was released in April 15, 2016.

i5/OS Logo:


IBM has created a logo for IBM i: