Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win


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 have a disk full condition which caused a V7R1 Power5 to shut down...
Need to know the procedure for IPLing to delete some stuff...

Someone said to IPL from the A side...
Is that true...?
Is that A Normal or A Manual...
NFR key for Veeam Agent for Linux
NFR key for Veeam Agent for Linux

Veeam is happy to provide a free NFR license for one year.  It allows for the non‑production use and valid for five workstations and two servers. Veeam Agent for Linux is a simple backup tool for your Linux installations, both on‑premises and in the public cloud.

We are FINALLY looking to retire our 'Office Vision' email. I'm looking for a way to dump the email detail for every email we currently have. The intent would be parse this information into a database for historical purposes.  

I've used QRYDST to dump header information, but I need all details.

Can anyone provide direction on this? Is it possible?

Thank You!!!
Error details : CWBLM0031 - failure, a data conversion error was returned by the host server. rc1=2 rc2=21,I am using PC EMULATOR 5250 PERSONAL COMMUNICATION ,I am accessing it via remote ,Now whenever I am logging in to it ,I am having this error.I amnot able to log in.
Please help.
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 have taken on the management of a system that runs on an as400 and was looking to get some training online. Can someone recommend a training course?


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.
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.
How to Use the Help Bell
LVL 10
How to Use the Help Bell

Need to boost the visibility of your question for solutions? Use the Experts Exchange Help Bell to confirm priority levels and contact subject-matter experts for question attention.  Check out this how-to article for more information.

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
What do you find is the best solution to mask data for both SQL server and iseries DB2?
        *                                                            *
        *            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 have problem to create a loop,
I need a loop which a check of corectly of insertion label, if not back to start a loop and again show inputbox.

Can i detect in AS400  for specific row, col, presence of any sign?

my script:


REM This line calls the macro subroutine

sub subSub1_()

' etap 2 - deklaracja 21-10-9

   autECLSession.autECLPS.SendKeys "[pf3]"
   autECLSession.autECLPS.SendKeys "[pf3]"
   autECLSession.autECLPS.SendKeys "[pf3]"
   autECLSession.autECLPS.SendKeys "21"
   autECLSession.autECLPS.SendKeys "[enter]"  
   autECLSession.autECLPS.SendKeys "10"
   autECLSession.autECLPS.SendKeys "[enter]"
   autECLSession.autECLPS.SendKeys "9"
   autECLSession.autECLPS.SendKeys "[enter]"
   autECLSession.autECLPS.SendKeys "whhb777"
   autECLSession.autECLPS.SendKeys "[enter]"
   autECLSession.autECLPS.SendKeys "1"
   autECLSession.autECLPS.SendKeys "[field+]"
   autECLSession.autECLPS.SendKeys "40"
   autECLSession.autECLPS.SendKeys "[field+]"

   Dim copy
   copy = gety (5,32,3)
   puttext 11,29,copy
I have an iSeries PF file containing several records.  In order for the individual records to be imported into an imaging system, I need to be able to output each individual record to a file and then download the file either to a pdf or Excel format.  The file name for each record needs to contain it's key structure.  Is there a way to do this?
Currently, we have version 5.2 of AS/400 which is no longer supported by IBM. Upgrading the system would be a lot of unwanted validation. I am looking into how to code a GS1-128 barcode in our current AS/400 system.

Our current barcode has the start function, text of numbers, mod-10 check digit, and a stop function and is in the code-128 font.

For a GS1-128 barcode I am trying to code (17)180801 . or some version of those six digits for YYMMDD. I know I need the start function, then FNC1, text, some check digit and then stop. For FNC1 I was using "8F" which I found in a table. Not sure if I can use the same start, stop, and check digits. When I did this I got a weird check digit and my barcode did not turn out correct.

Any insight or help with this problem would be greatly appreciated!

Thank you,

Hello ,
I an trying to convert my MFP 7.1 hybrid app to MFP v8 Cordova app .However, I am getting an error with the statement 'WL.init.connect'.

What is strange is that I am able to deploy the app in MobileFirst version 8 and run it my device. I see the device ID in the operation console. So, it is connecting to MobileFirst with the current code

Can you please take a look at the code snippet and give me some hint on how to make the necessary changes.

Information Cordova version 6.3.1 MFP- 8.0.0-2016080322

(function () {
  'use strict';

    .module('my-worklight', [])
  WorklightRun.$inject = ['$rootScope', '$q'];

   * Load worklight
  function WorklightRun($rootScope, $q) {
    // Worklight statuss
    var initDeferred = $q.defer();
    $rootScope.worklightInitPromise = initDeferred.promise;
    $rootScope.worklightLoaded = false;
    var connectionDeferred = $q.defer();
    $rootScope.worklightConnectionPromise = connectionDeferred.promise;
    $rootScope.worklightConnected = false;
    // Listen for load / onload and start worklight init
    if (window.addEventListener) {
      //alert('calling LOAD window.addEventListener');
      window.addEventListener('load', loadHandler, false);
    } else if (window.attachEvent) {
        //alert('calling LOAD window.attachEvent');
      window.attachEvent('onload', loadHandler);

    // Worklight connect options
    var wlConnectOptions = {
      timeout: 10000,

Open in new window

i would like to know on how to transfer a PF from AS400 to PC, this files are EDI

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