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 could use some help with my script. I put *** where I need help making a code that would auto enter the most recent sundays date. Could you help?


REM This line calls the macro subroutine

sub subSub1_()
   autECLSession.autECLPS.SendKeys "[tab]"
   autECLSession.autECLPS.SendKeys "158"
   autECLSession.autECLPS.SendKeys "[field+]"
   autECLSession.autECLPS.SendKeys "5"
   autECLSession.autECLPS.SendKeys "[enter]"
   autECLSession.autECLPS.WaitForAttrib 10,56,"00","3c",3,10000

   autECLSession.autECLPS.WaitForCursor 10,57,10000

   ***Input the most recent sunday's date.
   autECLSession.autECLPS.SendKeys "[field+]"
   autECLSession.autECLPS.SendKeys "[field+]"
   autECLSession.autECLPS.SendKeys "580171"
end sub
Angular Fundamentals
LVL 12
Angular Fundamentals

Learn the fundamentals of Angular 2, a JavaScript framework for developing dynamic single page applications.

I'm trying to install cURL on our IBM I v.7.2 and have downloaded the AIX binary to the IFS root directory using Navigator.  I have run the command CALL QP2TERM which opens the PASE command line, CD to directory :  Mycurl\opt\freeware\bin\   which has listed curl , curl_32 and curl_64.  when I run  'curl' from the command line I get this error:
 > curl                                                                                  
   exec(): 0509-036 Cannot load program curl_64 because of the following errors:        
           0509-150   Dependent module libcurl.a( could not be loaded.      
           0509-022 Cannot load module libcurl.a(                          
           0509-026 System error: A file or directory in the path name does not exist.  

I can not find any simple steps on installing cURL on the IBM I.  Please help, thanks!       I downloaded cURL from:   AIX
Hi Experts,

I have some SQLRPGLE problems with reading a tabel (with null capable fields)
The program reads a record in a DS , change 2 fields and write it to a remote (identical) table.

But I have to add a null "check field" per field
exec sql fetch next from cIMPH INTO
 :DS_REFERENCE       :ISNUL1,          
 :DS_CONTEXT         :ISNUL2,          

In this example it's not a problem, but I need to do this for a file with round 100 fields.
So I prefer to use the SQL

exec sql fetch next from cIMPH INTO :DS;

On top of that, if I use the null-check field, the original field contains a space or a zero.
the remote table expect null values.

How can I solve this?
I need to get guidance on proper storage of an as400. I believe it is running system 38 (or 36).

Regards, George
Hi Experts,

On a Website I found a link to create webservices with a standard tool that is available on the IBMi "/QIBM/ProdData/OS/WebServices/V1/client/bin/"
The result is a Service program that contains all required info to call the webservice.

I'm able to fill the WS variables, but I can't find where and how I can add header elements like :
     <header name="Accept-Encoding" value="gzip,deflate"/>               
     <header name="Api-Key" value="123456"/>   
     <header name="Host" value=" "/>        
     <header name="Connection" value="Keep-Alive"/>                 

Open in new window

(of course, the value data is variable)
How can I add these to the WS-header  


I have a Qlogic issue in IBM BladeCenter, Blade HS22 and LS42.

as attached picture no  device present in Fiber Channel Device.

Hi All


Hope you are well.

I need to copy a Schema from one machine to other machine,

Both machines have Db2 instance of same version (10.5)

But Schema is having data of LOB data type.

Which method is simple to copy the entire schema with structure and data.

I know ADMIN_COPY_Schema only supports on same machine and under same instance .

But db2move utility does not support LOB data type (I think).

Any inputs on this Please.

Thanks in Advance!!!!
Hi, we have two tapes to be used for daily backup. and we have scheduled jobs to run the daily backups at night. previously, we only need 1 tape but now, it asks for 2nd tape. we have a program to initialize single tape, but not for 2 tapes. can anyone helps on how to intialize more than 1 tape  for daily backup   (1 week rotation basis). 2 tape cartridges per day, 14 tapes/week. os version: v6r1. thanks.
      DCL VAR(&DAY) TYPE(*CHAR) LEN(4)                                  
      DCL VAR(&DLYVOL) TYPE(*CHAR) LEN(6)                                
      RTVSYSVAL SYSVAL(QDAYOFWEEK) RTNVAR(&DAY)                          
      CHGVAR VAR(&DLYVOL) VALUE('DLY' *CAT %SST(&DAY 2 3))              
Hi experts,

I recently discovered the "SYSTOOLS.HTTPPOSTCLOB" to consume webservices
As long as I give the right input to the WS, it works fine, but I can't figureout how to catch errors.

e.g. I send a wrong ZipCode a Zipcode-service to get an address.
If I do that in SoapUI I get the information:
{"errors": [{
   "status": "400",
   "title": "Bad Request",
   "detail": "postalcode has the wrong format. It should be: 9999XX"

Open in new window

If i do the same request with SYSTOOLS.HTTPPOSTCLOB, the response is empty (I assume null),
result : GDATA_DATA          CHAR(8000000)        NOT ADDRESSABLE

SQLCODE = -4302
SQLSTATE = '38000'

SQL Diagnostics data:
 481   'RDINAL_TOKEN_2=HTTPP00013;'
 541   'rmedURLException:no protocol:                               '
 601   '                                  

Open in new window

Hi Experts,

We are getting the error message CPF5033 during READ operation in batch program and error message says the below.
"I/O error CPF5033 was detected in file B1PBILH (C G D F)."

When I check the log it says
" Select or omit error on field B1PBILH_1.BTCAR member B1PBILH.  
 Select/omit error on member B1PBILH.                            "

"I/O error CPF5033 was detected in file B1PBILH.                          
Function check. RNX1299 unmonitored by BLR573R1A at statement 0000048100,
  instruction X'0000'.                                                    "

I have checked the record lock and object lock on the file. No locks exist.
I have checked the data for the particular record where to check the junk value. No junk value exist.
And we are getting this error randomly for different records.

Program flow:
Cl program does the OVRDBF and then opnqry on the file and we read the same file in RPGLE with out key.
and we are getting CPF5033 error while performing the read operation on the file.

Please help me to fix the issue. I have attached the screen shot for your reference.

Thanks in advance.

CompTIA Network+
LVL 12
CompTIA Network+

Prepare for the CompTIA Network+ exam by learning how to troubleshoot, configure, and manage both wired and wireless networks.

While do save/restore operation on *LINK in AS400,I am getting error  "File system error occurred. error number 3474
hi.  I am trying to configure mail on the iSeries or AS400.   My only ISP I have access to is verizon.  They have no SMTP servers you can use.  How can I configure the system to send out mail?  I am have other questions concerning this, but can't seem to find one if you have no access to an smtp server.
I had this question after viewing Display file Overlay problem.

I have the same problem but with window formats, three of them. Each is in its own program and display file. When program A is called from the menu, it displays its window leaving the original menu screen intact. From activity performed on that window, another program is called, program B, which also displays a window but now, everything behind it is black. This behavior continues for the next program which also displays a window and a black background eliminating everything  previously displayed up to this point.

I have a dummy format in each program with the ASSUME keyword and the one character field at 1,2 and even added the KEEP keyword but it made no difference.

I have not set row and column positions but have selected the default positioning option expecting the OS to position each screen to avoid any issues but obviously, this isn't happening.

Any suggestions?
We have an issue right now where when our cust service team runs a credit card they at times receive a handshake error. We run a IBM i AS/400 that connects to a backend called Curbstone. Here is a break down of how this works Here is what is supposed to happen.

When credit cards are run curbstone opens a connection to paymenttech.
At this point the IBM I sends along “cipher suite, decryption keys” this information is accepted by paymenttech and the transaction continues.

Here is what is happening now.
Curbstone opens a connection to paymenttech.  At this point the IBM I sends along “cipher suite, decryption keys” this information is now rejected by paymenttech the transaction fails and the handshake error pops up. I have run a trccnn on the IBM i and in wireshark. Both curbstone and paymenttech don't see any issues on their end. I did call paymenttech today and a transaction that I saw on the IBM i didn't get to them resulting in the handshake error. I don't think its an issue with our network because it isn't a constant issue. I thought perhaps there was some job running at the time of the handshake error but that doesn't seem to be an issue. This issue ramps up at between 4pm and 6pm on Fridays. Why? I can't seem to find a reason.
Does anyone know of a technique of locking an IBM i spool file so it cannot be deleted while a process is running?

Thank you,
How to do manual IPL from HMC on AS400 server . Am not having physical access to server. All remote access to the partition.
What settings should i change?
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) {
Hi am trying to add objects in my endevour am geting the above error
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...
Build an E-Commerce Site with Angular 5
LVL 12
Build an E-Commerce Site with Angular 5

Learn how to build an E-Commerce site with Angular 5, a JavaScript framework used by developers to build web, desktop, and mobile applications.

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!
I want to create user who is going to see all the user profile and group profiles but should not having access to changes or delete any thing on AS400 machine.

To achieve this i have created User having following permissions-

User class           - *USER
Special authority - *ALLOBJ
With this user, we can read all user profiles from IBMi machine, but due to *ALLOBJ, this user profile may have access to few other commands -

Perform Read only operations.
Add or Remove User to an Authorization List.
Revoke Object Authority.
Change own password i.e. Self password change.
I want restrict all these command to execute on IBMi machine.

My main requirement is to create a user having very minimum permissions means who can only read data from IBMi machine and do not have capability to change any thing.

If any one is having any idea about this please share.
I research the official document about commands RCVJRNE and QSNDDTAQ in the IBM knowledge center. But I just find the introduce about the parameter.
The example is just simple and doesn't contain that send data to data queue using RCVJRNE. So please help me.
The follow is the RPG file.
     DDQNAME           S             10A   INZ('DTAQTEST')
     DDQLIB            S             10A   INZ('xxxxxxxxx')
     DDQSNDLEN         S              5  0 INZ(100)
     DDATLEN           S              3  0 INZ(0)
     DDATKEY           S             10A
     DASYREQ           S             10A   INZ('*NO')
     DDATJRN           S             10A   INZ('*YES')
     DDQSNDDATA        S            100A
     DDQLEN            S              5  0
     DDQTYPE           S              1A
     C* Main Logic
     C     *ENTRY        PLIST
     C                   PARM                    DQSNDDATA
     C                   PARM                    DQTYPE
     C                   CALL      'QSNDDTAQ'
     C                   PARM                    DQNAME
     C                   PARM                    DQLIB
     C                   PARM                    DQSNDLEN
     C                   PARM                    DQSNDDATA
     C                   PARM                    DATLEN
     C                   PARM                    DATKEY
     C                   PARM         

Open in new window

I am trying to login. I am using correct information.
I am working on a program in the CAPS (claim medical processing system) software.  It allows the user to enter claim information.  In the program claim information is written to files.  Before the claims entry screen is displayed, the program creates a backup of all the information for the patient.  This involves making copies of data in 5 different files in qtemp.  

If the user decides not to continue with the claim and backs out, the program removes all of the information in the 5 files for the patient being processed.  It then copies back the data that had been saved.  The problem with this is that on more than one occasion the claim entry screen ended before the information was copied back.

My manager has selected that we try commitment control.  But from what I have read this may not be the best choice.   Can anyone tell me if I am correct or can this be used?

Thank you
Hi All,

I want to know what my pool memory contains of and did DMPMEMINF.
I do that to know what can be improve in my program/file.
And here is the result (top nine) :
7,492     5               ACTVTN PROC REF TBL
6,351     5               HSD
3,052     5               IWA
3,042     5               TERASPACE ADDRESS
2,199     5               SEIZE LOCK RANGE
1,103     5               QJOBMSGQ
803        5               WMHQ Data Queue Cache Temp Spc QTEMP
732        5               BPCA SPACE CREATED BY QDBOPEN
310        5               MAHANDLEMAPPER SEG

What is the meaning of that values in OBJNAME? I tried to google it but found nothing.

Thanks and Regards.

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