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

My issue is two fold, why can I PING an IP of a device that isn't on the network and I can't print.

I have a Datamax label printer that I just created a device description for and assigned it a new IP address, this printer is plugged into a switch, the switch is plugged into a firewall that goes through to another firewall before it gets to the IBM i.  We have two partitions, PROD and TEST.  I copied the device description and out queue from TEST to PROD to ensure they were identical on both sides.  

This printer works perfectly in TEST.  When plugged into the network I am able to print to it, I can PING its IP, TELNET to it and the trace route returns the three expected entries.  When I vary off the device and unplug it from the network I cannot PING it from the IBM i nor the network, I cannot TELNET to it and the trace route only returns the two expected entries.  All as it should be.  

However, in PROD I am unable to print to the device.  When I release a spool file it goes right to RDY status and the writer gets error CPD337F Error CPD337F.  I have verified that the port and IP are correct, I have verified that the remote device is not busy, I have verified that the printer is on line.  I can PING its IP from both the IBM i and the network but I cannot TELNET to it and the trace route returns only two of the three expected entries.  When I vary off the device and unplug it from the network I can still PING it from the IBM i but not from the network, I …
New feature and membership benefit!
New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Hi all,

I would like to know if exists the possibility to make as a search in the screen of AS400 (all the screen, included AvPag (+)) and locate the cursor in the word searched.

I know that in HALC exist the option of SearchText and also the option of create a msgbox, and I would like to know if with that two options it possible create a tool/macro script for imitate the searcher of Excel (Ctrl+F)

Also, I would like to know the code for create a macro that find massively a lot of data and make an action with them, for example just copy.

Thank you in advance and kindest regards.
The users at our warehouse are telling me that when they print a "pick ticket" they get duplicates of some but not others. in the dspmsq qsysopr I can see the duplicate job number

 Writer 541275/QSPLJOB/SHIP2F started.          
 Writer 541275/QSPLJOB/SHIP2F ended normally.    

 Message ID . . . . . . :   CPF3382       Severity . . . . . . . :   00        
 Date sent  . . . . . . :   08/09/17      Time sent  . . . . . . :   05:32:28  
 Message type . . . . . :   Information                                        
 From . . . . . . . . . :   QSPLJOB       CCSID  . . . . . . . . :   65535      
 From job . . . . . . . . . . . :   SHIP2F                                      
   User . . . . . . . . . . . . :     QSPLJOB                                  
   Number . . . . . . . . . . . :     541275                                    
 From program . . . . . . . . . :   QSPWTRM1                                    
 To message queue . . . . . . . :   QSYSOPR                                    
   Library  . . . . . . . . . . :     QSYS                                      
Hi all,

I created a macro script for AS400, basically with the comand "autECLSession.autECLPS.SendKeys "word" / "right" / etc...

This macro script runs at perfection but the error comes when there is a variance in the screen, because sometimes depending of the value introduced, it jumps a box with information (that I have to introduce Y/N (yes/no)), or just, sometimes, the values introduced are incorrected (because exceed the limit of characters available for a string), and the macro starts to fall and collapse the console.

My question is the following: there is any method that when occur an error in the macro, and appears the X in the status bar, the macro stops at that point?)

Kindest regards.
Looking for a solution to convert mass output on a IBM Mainframe z/OS - 300 Mio. Documents / Year, average 2 pages per document to PDF.
Most importantly with minimal increasing the resulting PDF output compared to AFP
A am aware that the amount of size increase depends on the AFP input. But is there a rule of thumb about the size ratio between AFP and PDF.
And what is the best solution to generate best quality PDF/A with minimal size.

Many thanks
I have a CL program that adds a library (WHMSDTA) to the user library list. The command is ADDLIBLE LIB(WHMSDTA)
at the end of the job the library is removed from the user library list.

However if the job ends abnormally, and the user restarts the job, the library WHMSDTA is still on the library list and the user must sign off the log in again in order to rerun the program.

how can I check if the library WHMSDTA already exists on the user library list so that I can condition execution of the ADDLIBLE command?
What do you find is the best solution to mask data for both SQL server and iseries DB2?
Team,  I need to convert End of line Hex Character in a IFS file from  x0A to x0D0A . Please help me

Thank you In advance.
How can i save restore  an  stored procedure  type external from system V6R1 to another with V7R1 .
this object is looked from iseries navigator >database>schema>procedure.
Have a pc attempting to log on to a AS400 but gets no response after entering userid & password.  Makes connection to AS400 and gets log on screen with no problem.  I even entered a wrong password to see if I received an error message but I did not.  Any suggestions?
Get free NFR key for Veeam Availability Suite 9.5
Get free NFR key for Veeam Availability Suite 9.5

Veeam is happy to provide a free NFR license (1 year, 2 sockets) to all certified IT Pros. The license allows for the non-production use of Veeam Availability Suite v9.5 in your home lab, without any feature limitations. It works for both VMware and Hyper-V environments

Hi Team,

For one of our server the  tape drive has been broken , so please confirm if we need to IPL the system after the replacement

Avinash Chandra

I have an application still running old 36 programs. (on the list to converted, but has not made it to the top of the list)
Can anyone tell me how to get the wait record no max to function in a 36 proc on the  '// file' statement? (like the *nomax on the ovrdbf)  
// FILE NAME-CUSTDT,DISP-SHR,LABEL-?L'1,1'?CCUSTDT,*******?  - I want the program to wait forever for the record instead of timing out

Thank You,
I am attempting to receive data from a data quue that is attached to an outq.

From there I take some of that information and use QUSLSPL API to get the List of Spool files that meet the criteria of what was found from the RCVDTAQ API.

I then create the pointer using QUSPTRUS API  to a user space that I created previous and attempt to run the spool list.  when I do this is not working as expected.  Basically the follow IF fails on NUMBER-LIST-ENTRIES being equal to 0.

      * address current list entry


              SET ADDRESS OF QUS-SPLF0200 TO
                  OF QUS-GENERIC-HEADER-0100 + 1):1),     (18)
      * and process all of the entries
              PERFORM PROCES

              DISPLAY "List data not valid.  **** THIS IS WHAT EXECUTES!!!!" 

Open in new window

I have referenced this link with a COBOL example.

I can provide more code if necessary.
Workstation program version 6.0 for windows
Iseries access for windows

User profiles are getting disabled for no aparenr reason. for example, user is enterning correct password while logging on however the user gets i ' =@@@ and his user account got diabled on iseries app. I tried to replciate the issue, by hitting connect/disconnect button - my profile got disabled. any advise should be helpful for me.

day 5 at the job :)
        *                                                            *
        *            Licensed Materials - Property of IBM            *
        *                                                            *
        *     IBM(R) Sterling Connect:Direct(R) for UNIX     *
        *                   Build date: 20Jun2012                    *
        *                                                            *
        *  (C) Copyright IBM Corp. 1992, 2011 All Rights Reserved.   *
        *                                                            *

XPAE003I  Return Code: 8  Feedback: 0

XPAM001I  Return Code: 8  Feedback: 0
          Errors Parsing

Direct> Enter a ';' at the end of a command to submit it. Type 'quit;' to exit CLI.

       submit CAPM2AMS process SNODE=PQS1S
 step01 copy from (
               to (
 step02 if (step01 == 0) then
           run task snode
           sysopts="TEST.PQS 2017173.j4.01701.cctpepay "
           run task (PGM=UNIX)
           sysopts="rm /tmp/2017173.j4.01701.cctpepay"
 step03 run task …
I am looking for script help with copping cell data from excel and pasting to AS400.
Example: copy data from Excel cell D3 paste in AS400 09,040 enter, copy from Excel cell E3 paste in AS400 13,030 enter. I need  this to repeat or loop until all the data from Excel column D and E have been entered in AS400.
Can someone help with below requirement.....

I have a physical file with one of the field with variable length and it has contents as given below. My requirement is to substring the the IFS links just before the *OMIT for all occurrence .

For example, the i should get  /QSYS.LIB , /QDLS, /TMP/BRMS , /QIBM/ProdData ....from first record.

From second record, nothing, as the *OMIT is not present

From third record, i should get /QIBM/UserData/OS400/TCPIP/QTOCHOSTS

From fourth record, i should get /QSYS.LIB, /QDLS

Once i get these substrings, i will right it them to another file in one column field.

Sample records in the file are ....

OBJ(('/*' *INCLUDE) ('/QSYS.LIB' *OMIT) ('/QDLS' *OMIT) ('/TMP/BRMS' *OMIT) ('/QIBM/ProdData' *OMIT))

Thanks in advance !!
Is it possible to generate AS400 spool file with 2 different overlay objects. 2nd Overlay is applicable only to last page of the spool file?
Hello. I am trying to setup a 5250 Printer Session from a remotely located IBM ISeries (V7R1M0) to my local machine using an HP LaserJet M605 printer. I have setup many 5250 Printer Sessions before using other printers (HP LaserJets, Lexmark) but for some reason after I set this one up to print to the M605 printer, nothing prints. The ISeries seems to be sending the print file normally but the M605 does not print anything. I am assuming that there is some "trick" to getting this to work but I don't know what it is. I have tried the Manufacturer and Model Type paramter to other types of printers without success. Any help would be appreciated. Thank You!

Here is the DEVD for the printer:

Device description . . . . . . . . :   XXX    
Option . . . . . . . . . . . . . . :   *BASIC    
Category of device . . . . . . . . :   *PRT      
Device class . . . . . . . . . . . :   *VRT      
Device type  . . . . . . . . . . . :   3812      
Device model . . . . . . . . . . . :   1        
Advanced function printing . . . . :   *NO      
Online at IPL  . . . . . . . . . . :   *NO      
Attached controller  . . . . . . . :   QVIRCD0001
  Identifier . . . . . . . . . . . :   011      
  Point size . . . . . . . . . . . :   *NONE    
Separator drawer . . . . . . . . . :   *FILE    
Separator program  . . . . . . . . :   *NONE    
Printer error message  . . . . . . :…
Free Tool: IP Lookup
Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

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.

I'm looking for zipping tools that could create zips with password
for OS/400 R7  platform so that sensitive data in files are encrypted
& when we sftp over to Windows/Unix, the encrypted zipfiles are
sent over : for PCI-DSS compliance, we want data at rest to be
encrypted both at AS400 & the Windows/Unix ends.

Ideally the zipping tool can be called by RPG & Cobol

In Unix, we can 'pipe' data stream directly into a zip; would be good
to have this feature for the AS400 tool.  

Also, we have tons of logs (eg: audit trails) taking up valuable space
in AS400 so this zipping can hopefully reduce the size of these
I'm totally confused, nowhere I'm getting proper information about how to start programming in AS/400.
What are the software & hardware requirements of AS/400? What should I know about AS/400 to become a programmer in that?
How can I do JAVA, C, C++, C#, .net programs using AS/400, or is there any other way?

I will be pleased, if anyone could provide a detailed information.
I have tried to stop it, recreate it, but it will not let me end journal or change journal.  I keep reading but cannot find anything.  Any idea's out there?
i wish to know how to check a list of programs linked to file.
if i use hawkeye then need to put library otherwise in (*all) it runs in batch ( dumps out )which is quite longer time .pls tell me.
Hi ,

I have some question regarding ICF file and its uses in AS400 RPGLE . It would be great help if someone explain me as I am beginner in this area.

1) How can I write source code of ICF File ( Please share file structure, if possible).

2) Is there any way to check , insert or delete data in ICF file as SQL and runqry does not work on ICF File.

3) How can I unit test my program or how to prepare dummy data in ICF file.

It would be great help.

i'm trying to run net use from as400 through clp or command line to map drive on user pc but not working, anybody can advise.
here some example i tried not working but from command dos no problem

STRPCCMD PCCMD('start net use V:  //AS400system/sharename +
             /USER:xxxxxx xxxxxxxxxx /PERSISTENT:no')

STRPCCMD PCCMD('net use' V:  //AS400system/sharename +
             /USER:xxxxxx xxxxxxxxxx /PERSISTENT:no')

STRPCCMD PCCMD('net use' V:  //AS400system/sharename')

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.