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

Hi Experts,

I prefer to use a Webservice for this kind of requirements, but that is not in scope in this question

So I have to write a trigger (or trigger-like program) on the IFS, that will be fired when a File is added to a specified path (or even a specific file extention)
Writing a NEP is no option because of the immediate action I have to take.
I found the next options:
  1. Use an ExitProgram on QIBM_QP0L_SCAN_CLOSE
  2. set Journaling to the specific IFS-path
  3. .... any other sugestion is more then welkome

Defining the Exit program keep telling me :
CPF3CE5 ; Exit point QIBM_QP0L_SCAN_CLOSE with format SCCL0100 will not allow exit program MyEXIT library MyLIB to be added.                    
I also not convinced that this is the right way, because every close action in the IFS will trigger this program (not only one specific path I assume)

Journaling is maybe better but:
RCVJRNE seems to loop through all entries and give unreadable data to my program (lots of questionmarks).

I'm out of ideas... don't know what I have to specify to solve this.
The 14th Annual Expert Award Winners
The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

We have recently upgraded from V7R1 to V7R3 on a number of our IBM i servers.  Since upgrading, our user's job logs are being sent to their assigned printer when they log out of the system.  Does anyone know what system setting would have changed that is causing this to happen? I would like to set things back to normal ASAP.

I appreciate any insight into the issue!
In our as400 hardening doc, we currently allow 3 concurrent sessions per userid but our HQ new generic security policy recommends 1 session per Id

Was told that a user will require to run different types of jobs concurrently and often the jobs can take a while to complete even in our upgraded faster system I os400 v7 r2

What’s the practices out there?

CIS does not publish any hardening guide for os400
When I try to SSH into our iSeries (V7R1) - I get the following error:

-bash: cannot set terminal process group (-1): No such device or address
-bash: no job control in this shell
-bash-4.2$ logout

I am using Putty to try to connect.

Anyone have any ideas what might be going on? I attempted to recycle the SSHD server (ENDTCPSVR *SSHD) but that didn't resolve the issue.


RPGLE programmer using IBMi v7r1, need to insert/update data on a MS SQL database easily. I'm familiar reading and processing ifs file using bnddir('QC2LE') in my RPGLE programs.
Surely there's a way to push records to an MS SQL server?
Hello Experts,

I have a RPGLE question concerning looping though field names instead of having multiple routines with each field name.

Exp.   I have field names FIELD1, FIELD2, FIELD3, etc.   I know in the past(I've been away from AS/400 for years) I would use a DOU loop something like this.

DOU I = 10
FIELD,I      CHAIN    FILE       99

How do I do that in RPGLE?


Been looking for reference material for the SQL for this system.

Connecting using app to query. Went to IBM site but pages are no longer available. What’s the best app to query the DB? Used winsql in the past for other work,


Dear Gurus

   I hope you're all doing great, I have a question regarding iSeries AS400 for Windows Macro/Scripting (Workstatin Program 6.0)

   As you probably know, there is a size limit for macro files (Not VBScript) and I'm building a user-friendly applet in excel that creates macro files

   In some cases there are lists of 6000 operations that have to be done, and mi Excel macro generates for example 220 AS400 macro files  (same number, all numbered)

saving screen for iseries for Windows emulator for macros
   Do you know which instruction may I use to call the "next macro" file in the text format?  "[wait app], [wait app inh], etc."

  Thanks as always for your wisdom

Hi Experts,

After upgrading an as/400 (i5, iSeries, etc) from V7R1 to V7R3, is there a log available where I can find info about what is added, replaced and removed ?
We currently have our IBM ISeries configured to send email thru our on premises Exchange 2013 server. The internal IP of the Exchange Server is and I have a corresponding Host Table Entry on the ISeries pointing to that ( On the Exchange Server I have also setup a FrontEnd Receive Connector with the scope set to the internal IP of the ISeries ( Everything works well and has for years.
However, we will be moving from hosting our Exchange on premises to using Rackspace's hosted Exchange and I was unsure how to route the email from the ISeries to Rackspace?
Get expert help—faster!
LVL 12
Get expert help—faster!

Need expert help—fast? Use the Help Bell for personalized assistance getting answers to your important questions.

How to read a flat file and get data in as400??
Please Explain Difference between Writer and Printer in AS400
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
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.

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?
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...
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
Free Tool: Site Down Detector
LVL 12
Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

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...)


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