Please enable JavaScript to view this site.

InterFormNG2 Manual

Navigation: Troubleshooting

Troubleshooting AS400 specifics

Scroll Prev Top Next More

This section covers issues, that can be met in regards to the IBM i platform (AS400 iSeries). Non IBM i related troubleshooting is found in the section, Troubleshooting.

 

The issues covered are:

 

1.Problem when loading a spooled file

2.The NG2SERVER job does not start in the IFORMNG2 subsystem

3.Monitor an output queue: InterFormNG2 does not create a data queue

4.User authority considerations for IBM i

5.User profile for connecting to the IBM i

6.User profile for netserver access

7.The TOOLSHED2 jobs not not start or ends immediately

 

 

Problem when loading a spooled file

This section can help you, if you see this error in the log while loading a spooled file: com/ibm/as400/data/ProgramCallDocument.setTimeOut(I)V in file /QIBM/ProdData/OS400/jt400/lib/jt400Native.jar.

If you see this error message, then you are using an older AS400 with a jt400Native.jar file, that should be updated. You can solve the problem in these ways:

a.Recommended: You can upgrade your java to the latest version by installing the latest OS400 PTFs (cumulative package).

b.You can also remove the reference to the jt400Native.jar file in the stream file (in the IFS) as covered here.

 

 

The NG2SERVER job does not start in the IFORMNG2 subsystem

The NG2SERVER job needs to run in the IFORMNG2 subsystem, if you want to run InterFormNG2 on the AS400/iSeries/IBM i platform. If this job does not start with the subsystem, then you should run the command IFORMNG2/IFORMNG2 and here select option 92. Change NG2 installation:

 

 

                      Configure IFORMNG2 Startup (NG2SETUP)                     

                                                                                

 Type choices, press Enter.                                                     

                                                                                

 IBM I Queue Monitor  . . . . . . > *ACTIVE       *ACTIVE, *INACTIVE, *SAME     

 NG2-Server (Output generator)  . > *ACTIVE       *ACTIVE, *INACTIVE, *SAME     

 CommandLine to NG2 . . . . . . . > *ACTIVE       *ACTIVE, *INACTIVE, *SAME     

 QIBM_QSH_CMD_OUTPUT - *JOB . . . > NONE                                        

                                                                                

                                                                                

 JAVA_HOME Blank=System default   > '/QOpenSys/QIBM/ProdData/JavaVM/jdk80/64bit'

                                                                                

                                                                                

                                                                             

 

 

On the screen above you can verify two things:

1.The value for the line: NG2-Server (output generator) must be *ACTIVE. This indicates, that the InterFormNG2 server will be started the next time, that the IFORMNG2 subsystem is started.

2.The value for the line: JAVA_HOME. This should contain the path to the 64bit version of Java 8. The recommended value is shown above.

 

 

 

Monitor an output queue: InterFormNG2 does not create a data queue

If you setup InterFormNG2 to monitor an output queue in a workflow via the input type: From IBM i output queue, then InterFormNG2 should do two things:

1.A data queue is to be created in the same library as the monitored output queue.

2.The data queue is to be assigned to the monitored output queue.

 

If the InterFormNG2 workflow does not start and the status is error, then it can be, that the data queue does not exist or perhaps it is not assigned to the output queue.

 

You can verify from an IBM i command line, if the data queue and output queue exists with the command:

 

WRKOBJ OBJ(<library>/<output queue>) e.g. as: WRKOUTQ OBJ(QUSRSYS/PRT01).

 

This should result in a list of at least these two objects:

 

Opt  Object      Type      Library 

     PRT01       *DTAQ     QUSRSYS 

     PRT01       *OUTQ     QUSRSYS 

 

If the data queue does not exist, then you should verify:

 

1.Do you have an active connection to the IBM i?

2.Perhaps the user used for the connection does not have sufficient authority to create the data queue?

3.Is there a reference to an error in the system log at the time, when the workflow was created/changed? Perhaps the user profile is lacking authrity?

 

You can verify the connection to the IBM i, if you sign on as a system administrator and then select the system settings.

 

Under the Other settings you find the setup of the connection to the IBM i machine like below:

 

NG2IBMiConnection0001

Here you can consider to connect as another user than the iformng2 user profile, if e.g. you have a restricted environment. You can test if the user is able to sign on with the 'TEST CONNECTION' icon in the bottom and you need of course to save any changes with the SAVE icon in the bottom right.

 

Apart from normal authority restrictions the option to create the data queue can also be locked down via an Exit point in OS400. The exit points can be seen with the command: WRKREGINF.

The exit point relevant for creation of the data queue is: QIBM_QZHQ_DATA_QUEUE. The advice is NOT to change settings of the exit point if this is preventing the creation, but instead to contact your system administrator. Perhaps a third party tool is used for maintaining the exit points or special company rules apply.

 

If you do a dummy change of

 

User authority considerations for IBM i

When you run InterFormNG2 on the IBM i platform, then the default setup is to run InterFormNG2 as the user profile, IFORMNG2, which is created during the installation. This user profile is delivered with the special authority, *SPLCTL (spool control), which ensures, that the user can access all spooled files on the IBM i.

 

The user profile used must at least have use authority to the objects in the IFORMNG2 library and write authority to the directory, /IFORMNG2 in the IFS, where core InterFormNG2 is running.

 

 

User profile for connecting to the IBM i

If you connect to the IBM i machine via the global system settings, then you need to ensure, that InterFormNG2 is always able to sign on with the registered user profile and password. You should consider to disable password expiration for this user profile to avoid any issues when the password runs out. You can set that with this command:

CHGUSRPRF USRPRF(<user>) PWDEXPITV(*NOMAX),

where <user> is the used user profile.

 

 

User profile for connection to the IBM i needs netserver access

If you run InterFormNG2 on another server, then the user profile, that is used for connecting to the IBM i, needs netserver access to the IBM i. That not only require, that the Netserver of the IBM i is running, but it also requires, that the user profile is not disabled for Netserver access, which should not be confused with a normal disabled user profile, which you can see directly on the DSPUSRPRF command like below:

 

NG2TroubleshootAS4001

 

If the user is disabled like above then it is probably also disabled for Netserver access, but not the other way around..

 

You can verify if a user profile is disabled for Netserver access  - and enable the user, but this is not at all as simple.

 

Enable a user profile for Netserver access

 

Here are the steps to go through:

 

First sign on to IBM i Navigator via your browser by specifying the ip-address or hostname of the IBM i followed by colon and port 2001 like e.g.: https://ip-address:2001 or http://ip-address:2001

 

Then you sign on and double click on the server:

 

AS400TRoubleshootAS402

 

 

And now you see this view on the left:

 

AS400TRoubleshootAS403

 

 

Now you need to click this icon and select Servers and TCP/IP Servers as highlighted above:

 

AS400TRoubleshootAS404

 

 

 

 

TOOLSHED2 jobs does not start or ends immediately

On the IBM i platform you should normally start the IFORMNG2/IFORMNG2 subsystem. You can manually start this subsystem via the command: IFORMNG2/IFORMNG2, which will show this menu:

 

 

 IFORMNG2                InterForm NG2 Main Menu                             

                                                                             

 Select one of the following:                         System . . . :  PMK250 

                                                      User . . . . :  KSE    

    Administration                                    Version  . . :  3.4.3  

      1. Work with monitored output queues                                   

      2. Work with XML definitions                                           

                                                                             

     10. Start IFORMNG2 subsystem                                            

     11. End IFORMNG2 subsystem                                              

     12. Work with IFORMNG2 subsystem                                        

                                                                             

     16. Save spooled file to stream file                                    

     31. Display print service log                                           

     51. Adjust CPI - *AFPDS configuration                                   

     91. License                                                             

     92. NG2 installation and configuration                                  

                                                                             

 Selection or command                                                        

 ===>                                                                        

                                                                             

 

Here you can then use option 10. Start IFORMNG2 subsystem to start the subsystem.

 

When running you will normally see these jobs (can be seen via option 12. Work with IFORMNG2 subsystem):

 

                             Work with Active Jobs                     PMK250  

                                                        22/10/24  12:15:16 CEST

 CPU %:    86.5     Elapsed time:   00:04:25     Active jobs:   371            

                                                                               

 Type options, press Enter.                                                    

   2=Change   3=Hold   4=End   5=Work with   6=Release   7=Display message     

   8=Work with spooled files   13=Disconnect ...                               

                     Current                                                   

 Opt  Subsystem/Job  User        Type  CPU %  Function        Status           

      IFORMNG2       QSYS        SBS      .0                   DEQW            

        IFORMNG2     IFORMNG2    BCH      .0  PGM-NGQ500C      DEQW            

        NG2CLEAN     IFORMNG2    BCH      .0  DLY-60           DLYW            

        NG2SERVER    IFORMNG2    ASJ      .0  PGM-STRSVRC      TIMW            

        QP0ZSPWP     IFORMNG2    BCI      .0  PGM-QZSHCHLD     EVTW            

        QP0ZSPWP     IFORMNG2    BCI    85.6  JVM-Properties   THDW            

        QZSHSH       IFORMNG2    BCI      .0  PGM-QZSHSH       EVTW            

        TOOLSHED2    IFORMNG2    BCH      .0  PGM-STRTOOLSS    TIMW            

        TOOLSHED2    IFORMNG2    BCI      .0  JVM-com.interf   SELW            

                                                                         Bottom

 Parameters or command                                                         

 ===>                                                                          

 F3=Exit   F5=Refresh       F7=Find      F10=Restart statistics                

 F11=Display elapsed data   F12=Cancel   F23=More options   F24=More keys      

                                                                             

 

In this subsystem you see the jobs, TOOLSHED2. If these jobs does not start on your installation (or if they start and end immediately) then you can verify this:

 

If the jobs are not started at all, then you should verify the settings on the IFORMNG2 menu above via option 92. NG2 installation and configuration.

 

The screen may look like below:

 

 

                      Configure IFORMNG2 Startup (NG2SETUP)                     

                                                                                

 Type choices, press Enter.                                                     

                                                                                

 IBM I Queue Monitor  . . . . . . > *ACTIVE       *ACTIVE, *INACTIVE, *SAME     

 NG2-Server (Output generator)  . > *ACTIVE       *ACTIVE, *INACTIVE, *SAME     

 CommandLine to NG2 . . . . . . . > *ACTIVE       *ACTIVE, *INACTIVE, *SAME     

 QIBM_QSH_CMD_OUTPUT - *JOB . . . > NONE                                        

                                                                                

                                                                                

 JAVA_HOME Blank=System default   > '/QOpenSys/QIBM/ProdData/JavaVM/jdk80/64bit'

                                                                                

                                                                                

                                                                                 

 JVM_MEMORY . . . . . . . . . . . > '-Xms2g -Xmn1g -Xmx3g'                      

 Use jt400Native.jar  . . . . . . > '-Dloader.path=/QIBM/ProdData/OS400/jt400/li

 b/jt400Native.jar'                                                              

                                                                                

                                                                                

                                                                                

                                                                        More... 

 F3=Exit   F4=Prompt   F5=Refresh   F12=Cancel   F13=How to use this display    

 F24=More keys                                                                  

                                                                                

 

Here you should verify that the value for option 'CommandLine to NG2' is *ACTIVE. If not, then the TOOLSHED2 jobs will not start.

 

If the jobs does start but immediately stops, then you can verify the job log of the jobs:

 

First you can run the command: WRKJOB TOOLSHED2. This will list all jobs with that name. You might see something like this:

 

 

                                   Select Job                          PMK250  

                                                        22/10/24  12:29:53 CEST

 Type option, press Enter.                                                     

   1=Select                                                                    

                                                                              

                                                                     Entered   

 Option  Job         User        Number  Type      -----Status-----  System    

         TOOLSHED2   IFORMNG2    228504  BCI       OUTQ              22/10/24  

         TOOLSHED2   IFORMNG2    228494  BATCH     OUTQ              22/10/24  

 

 

If you now select option 1=Select for a job and then option 4. Work with spooled files, then you might be able to find a job log for the job and this job log might contain the reason for why the job stopped.

 

You can find other log files if the job log does not help. You can find these log files in the IFS in the directory: /IFormNG2/Log where the NG2Tools.* files contains the logs.

 

On example of an issue found in the log file could be that the used port number (5679) is already used.