IBM System i





IBM i, formerly known as AS/400, is a proprietary, midrange, object-based operating and application system. It includes a relational database, a menu-driven interface, support for multiple users, block-oriented terminal support and printers, and supports security, communications, and web-based application servers including Websphere, Apache and Tomcat.

Share tech news, updates, or what's on your mind.

Sign up to Post

I'm not trained in AS400.
We don't use tapes anymore but backup to a remote Data Domain.

AS400's audit journal receiver of our developmt AS400 is taking too much space in our current weekly backups with retention of 6 years.

a) Without compromising on the 6 years' retention, how can we reduce the space taken by the backups in the Data Domain?

b) I suppose weekly backup is taken because the receiver journal is rotated weekly: is there such thing as incremental or
    differential backup in AS400 for audit journals?

c) can we do it monthly with differential backups or what other strategy can we do it?  

d) can it be compressed?   the Data Domain solution we used is from EMC.  Anything on deduplication??

We are on OS400 V7 R2  running DB2
Upgrade your Question Security!
LVL 11
Upgrade your Question Security!

Your question, your audience. Choose who sees your identity—and your question—with question security.

Hello Team,

I have following doubts on the below questions . Kindly please answer

-What is the difference between private authority and object authority?
- How do we delete temporary and permanent PTF ? Does it depend on the PTF type?
-PTF install has failed and what is the roll back plan?
-what is PSP and use of it?
-How do we connect HMC to server? I mean how HMC will talk to all the Hardware?
-Do you have document to configure HMC from scratch?
-Difference between capped and uncapped processor?
-what is processor pool and memory pool?
-what is CPW and how do we calculate the CPW of our LPAR/server?
-How to check how much memory is being used currently? using WRKSYSACT?
-In some point of time the ASP has been reached from 40 to 90, so how do we identify which object has been caused/saved?
- What is MIMIX Application Group and Data group?
I'm using QUSLJOB API to get the list of all jobs on the system. I'm then passing this job list to API QUSRJOBI format JOBI200 for getting various other information for each job. My problem is to have CPU% for each job. JOBI200 doesn't have any field that return CPU%. I know that the API JOB1000 gives the elapsed time CPU%, but couldn't find any example of it. If anyone can help me with the example of format JOB1000 then I will be grateful.

i just need to pass an array to rpg from java but its not running error free.
here is my code

import java.beans.PropertyVetoException;

public class CallingArrayPgm {
    public static void main(String[] args) throws PropertyVetoException{
            AS400 sys=new AS400("", "THARINDU", "GAYAN@123");            
                  int[] accounts = new int[5];
             AS400Array accountsarray = new AS400Array();
            ProgramParameter[] parmList1 = new ProgramParameter[1];
                ProgramParameter[] parmList2 = new ProgramParameter[1];
                parmList2[0] = new ProgramParameter(accountsarray.toBytes(accounts),5);  
             ProgramCall pgm = new ProgramCall(sys,"/QSYS.LIB/THALIB.LIB/ARRAYTEST.PGM",parmList2);
                 if (!=true) {
                    AS400Text text = new AS400Text(30);
                AS400Message[] messageList = pgm.getMessageList();
                System.out.println(messageList.length + "TEst ok");
            }catch(AS400SecurityException | ErrorCompletingRequestException | ObjectDoesNotExistException | IOException | InterruptedException e) {
I have the same problem as described above, after being idle for some time, many sessions of AS400 are being disconnected.
We have also the problem with printers, they connect to AS400 by Print2000 and from time to time they pass into the state "END" as if the connection was broken. It does not happen to each printer at the same time, for me it is very similar to disconnected session - so after some time of being idle.
I am Running a process which read each month  control record by reading one record for each month from Physical file & that process create 3 csv files on each month in ifs (/home/one) for each month same name which I have this automated through CL.

Now I have to add another functionality so that will move the  files from /home/one/*.csv  to /home/two/Jan_2017_*.csv and read the next month control record.

I Have the prefix Jan_2017  to Dec_2017  also in the physical file.

How can I add this functionality into my CL for each month?

Thank you in advance as always.
Does anyone know if IBM has come out with a statement of impact or remediation for the IBM i platform - in regards to the Spectre/Meltdown vulnerabilities?
Hi am trying to add objects in my endevour am geting the above error
We had a client upgrade their AS400 OS from 5.4 to 7.1.  Their QNTC was writing to a 2003 server.  We have an AS400 routine that converts files to PDF, writes them  to a QNTC path and then the website reads them. It was working fine before the upgrade. Now it give a "file not found" error. When I open up iNavigator and use the same login as the website I cant see any QNTC paths and I was able to see them before the upgrade.  Any thoughts what might be wrong?
Does anyone have a SQL statement that will list all libraries on my IBM i server and the number of objects in each of the libraries?

So my output would have just 2 columns. Table Name and Number of Objects.

I appreciate any help...
[Webinar] Database Backup and Recovery
LVL 11
[Webinar] Database Backup and Recovery

Does your company store data on premises, off site, in the cloud, or a combination of these? If you answered “yes”, you need a data backup recovery plan that fits each and every platform. Watch now as as Percona teaches us how to build agile data backup recovery plan.

I've been tasked with updating remote MS SQL database tables. I'd like best ideas for utilizing our IBM i to do this. I'm primarily and ILE-RPG, RPG Freeform programmer, but have worked using RPG-XML (which we have) and consuming  web services via a local MS SQL database. I'm also familiar with SQLLERPG to a degree.    

I have access to 'data source', 'Initial Catalog', 'User ID', and 'password' for the remote database tables.

All ideas are welcome and will rewards points accordingly.


Phil Knox
Greetings AS/400 Gurus...

I'm attempting to tackle the upgrade from V7R1 to V7R2...
I've downloaded and loaded my keys on WRKLIC...
I've downloaded the zipped files for my Entitled Software for the V7R2 update.
I used Dowload Director and I have all of the files on my PC...
They are all still zipped...

I need to know what to do next...
I want to use Image Catalogs to perform the install of the update to V7R2...
It's been so long since I've done this, I am struggling to remember the process of moving the objects into the image catalogs on the iSeries disk... I seem to recall that I need to get the stuff from my PC onto the IFS... I'm just not sure of the process...

Do I need to unzip the files...?
Do I need to put them in a specific place on the IFS...?

I have this link:
But I need to move the files to the IFS before I get to this step...

Any input will be appreciated...
Ok i'm stumped and google/youtube are no help in this case

how exactly do i remove the processor heat sink on this server?
Hi experts,

Is there a way to use Certificates with Secure FTP on the iSeries (AS/400)?
(If Yes, How?)
Hi All,
The below is the requirement.
I have multiple queues  as below and i want to retrieve only specific output queues . These specific queue represent each day e.g
MON1,TUE1,WED1,THU1,FRI1 .These output queues are placed in random order and are in 'RDY' status in the queue.
Every day when the spool file comes into a specific queue , it should be copied into a physical file.
For Eg. On Monday, once the spool file SPOOLF1 is present in the output queue MON1, it should be immediately written to the physical file even if it is empty.There are many  other spool files present in MON1, however, the copy should be performed only to the specific file SPOOLF1 for MON1.

On similar lines, once the spool file SPOOLF1 comes to TUE1 queue , it should immediately be copied to another physical file and so on and so forth for queues WED1,THU1 and FRI1.

Work with all output queues:

Queue          Library
A                    XYZ
MON1           XYZ
C                    XYZ
D                   XYZ
TUE1             XYZ
F                    XYZ
WED1          XYZ
THU1           XYZ
FRI1                XYZ

After selecting output queue TUE1, i am in the below screen:
Work with output queue:
File                 User                    User Data       Sts
SPOOLX        user1                    ud1                 RDY
SPOOLY        user1                     ud2                RDY
SPOOLZ        user1                     ud3         …

I am having issues restoring a library or objects using RSTOBJ or RSTLIB commands. The restore normally takes 13-17 minutes, however, its taking 8-12 hours.  The save includes ACCPTH(*YES) so it shouldn't take too long to restore. Ironically, whenever, I save the same library using the SAVLIB command, it takes 13-20 minutes. But to restore is a nightmare.

Please help me with this. I have checked sysval (System Values) for access path and other sysval for restoring objects like verify objects with digital signatures, converting objects etc. All those sysval based on my research seem to be correct.

I have a feeling it has to do with journaling. However, I am not sure. The message I got from the log were:
1. New format X was created for the file because sharing of fomat X with file X in Library Y could not be established again. It could be dependencies (logical files).
2. We encountered an error message CPF3281
3. File X in library Y using format X with a correct format level identifier does not exist.  

Please in whatever way you can HELP!

Hi experts,

Trying to create the DS below, but get a compile error on subfield "Select", when I change it in e.g. iSelect it's ok.
I understand that Select is probably a reserved word, but I need this for my WSDL generation.

Dcl-Ds InDs Qualified;       
   Select Char(10);          
   Info Char(10);            
   Dcl-Ds Details;           
      Detail_LENGTH Int(5);  
      Dcl-Ds Detail Dim(10); 
         DetailText Char(25);
         DetailCode Char(10);

Open in new window

For now I solved it by using a DS specification with D-sepcs.
I can't imagine that I have to use an old-fashioned D-spec line for this type of constructions in full-free.
Greetings iSeries Gurus,

I just successfully set up SSL for an iSeries Access 5250 Emulation connection...
I need to know what port is used by the System i Navigator when it connects to the iSeries...

I know that Telnet uses port 23, FTP uses port 21, and SSL uses port 992 for their connections...
(Curious to note that port 992 is not showing as open on the iSeries...)


I have a problem via SQL and into RPG too when I type SUBSTR(xxxx,1,6)
from some reason on my iSeries it requesting to be one space between comma and lengths e.g. substr(xxx, 1, 6).
I know that on other iSeries it's not a problem and on more examples it is not written with these spaces...

This is the error message when I check

Select * from ztrans0p                    
 where substr(trcrd#,1,6) = '516971'        
 Token ,1 was not valid. Valid tokens: ) ,.

Message ID . . . . . . :   SQL0104                                            
Message . . . . :   Token ,1 was not valid. Valid tokens: ) ,.                
Cause . . . . . :   A syntax error was detected at token ,1.  Token ,1 is not  
  a valid token.  A partial list of valid tokens is ) ,.  This list assumes    
  that the statement is correct up to the token.  The error may be earlier in  
  the statement, but the syntax of the statement appears to be valid up to    
  this point.                                                                  
Recovery  . . . :   Do one or more of the following and try the request again:
    -- Verify the SQL statement in the area of the token ,1. Correct the      
  statement.  The error could be a …
[Webinar On Demand] Database Backup and Recovery
LVL 11
[Webinar On Demand] Database Backup and Recovery

Does your company store data on premises, off site, in the cloud, or a combination of these? If you answered “yes”, you need a data backup recovery plan that fits each and every platform. Watch now as as Percona teaches us how to build agile data backup recovery plan.

Hi Experts.
I am doing work for a manufacturer.  They have email that is hosted by the ISP, so it is not in house.
I have a legacy system (AS400/iseries) that is in-house that I am sending emails out to vendors for Purchase orders.  The system creates PDF's then creates the email and sends out.  So it does not go thru the regular email system.    
So, we have had some emails not get delivered and some bounce back.  I have gone thru the option to tell Office 365 to whitelist the ip address we are sending from.    
The question is, Can we tell the world that our IP is safe via DNS in some way?   Otherwise, we are going to have to send emails to companies that we get kickbacks from and request that they white list us.  Issue is small now, but I am getting ready to add customer service to emailing invoices, etc too and it is only going to get bigger.
One of our developers has asked that we run a script that they wrote every 3-5 minutes on our iSeries.  The script is set up to see if a particular port is open - and if it isn't, then to start their application.

The script is a .sh ( file located in the IFS.

Is there any easy way to do this?
What is the difference between SAVLIB for *NONSYS, *IBM and *ALLUSR?
How do we do complete disaster recovery test? Just need sample example with steps
Why should we need to run UPTPTDINF during a complete system recovery after library QGPL has been restored
Why do we install PTF? What are the difference between cummulative, group and Hyper PTF
Hello Team,

Could you please tell me the difference between IPL Type A and IPL Type B? IPL B is used for routine work like ...PTF , LICPGM installation , Post monthly backups and for free up some space .... so what is the purpose of IPL A ?

on what scenarios we use IPL Type C?

Avinash Chandra
Hello Team,

Request you to answer the below questions

1.) What is Save while act in AS400 and How does it works?
2.) TEST LPAR was unfortunately shutdown and need to restart the LPAR with Restricted state? Does it possible ? i think we should remove the QSTRUPPGM value to *NONE and then restart the system to bring it in Restricted state , but that is not possible when LPAR is in inactive state
3.)what do you mean by Audits in MIMIX
4.) How do we check the Boot Load is TAP01 or not before initiating the IPL : Manual, D for recovery the system from bull backup tape
5.) on what scenarios we use End batch restricted state option in DST?
Avinash Chandra
I have a call program...example: CALL PGM (DELTE/RECV)...that I want to run in two different environments...Production (PROD2) and Test (TEST2).  My question can I specifically run the program separately in both environments.  In other words, I want to run it in test, then run it in production.  Thank you in advance for your assistance!

IBM System i





IBM i, formerly known as AS/400, is a proprietary, midrange, object-based operating and application system. It includes a relational database, a menu-driven interface, support for multiple users, block-oriented terminal support and printers, and supports security, communications, and web-based application servers including Websphere, Apache and Tomcat.

Top Experts In
IBM System i