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:
com/ibm/as400/data/ProgramCallDocument.setTimeOut(I)V in file /QIBM/ProdData/OS400/jt400/lib/jt400Native.jar.
IFORMNG2/IFORMNG2 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/jdk17/64bit'NG2-Server (Output generator) must be *ACTIVE.JAVA_HOMEWRKOBJ OBJ(<library>/<output queue>)WRKOUTQ OBJ(QUSRSYS/PRT01)Opt Object Type Library
PRT01 *DTAQ QUSRSYS
PRT01 *OUTQ QUSRSYSWRKREGINFQIBM_QZHQ_DATA_QUEUEIFORMNG2*SPLCTL (spool control)/IFORMNG2If 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 disabling 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)<user> is the used user profile. Display User Profile - Basic
User Profile . . . . . . . . . . . . . : MYUSER
Previous Sign-On . . . . . . . . . . . : 11/02/22 11:21:54
Password Verifications Not Valid . . . : 0
Status . . . . . . . . . . . . . . . . : *DISABLED


IFORMNG2/IFORMNG2Option 10: Start IFORMNG2 subsystemOption 12: Work with IFORMNG2 subsystemOption 92: NG2 installation and configuration*ACTIVEWRKJOB TOOLSHED2Option 1 = Select for a jobOption 4: Work with spooled filesYou might be able to find a job log that contains the reason why the job stopped.
/IFormNG2/Log
*RDY (Ready)WRKOUTQD OUTQ(QUSRSYS/IFORMNG2)Data queue . . . . . . . . . . . . . . : IFORMNG2
Library . . . . . . . . . . . . . . : QUSRSYS*NONECHGOUTQ OUTQ(QUSRSYS/IFORMNG2) DTAQ(QUSRSYS/IFORMNG2)
WRKOBJ OBJ(QUSRSYS/IFORMNG2) OBJTYPE(*DTAQ)Delete the workflow and create it again.
Manually create the data queue using:
CRTDTAQ DTAQ(QUSRSYS/IFORMNG2) MAXLEN(160)CHGOUTQ OUTQ(QUSRSYS/IFORMNG2) DTAQ(QUSRSYS/IFORMNG2)IFORMNG2/IFORMNG2Option 12: Work with IFORMNG2 subsystemOption 1: Work with monitored output queuesOption 9: End monitoringQUSRSYS/IFORMNG2Option 2: ChangeDMPOBJ OBJ(QUSRSYS/IFORMNG2) OBJTYPE(*DTAQ)WRKJOBOption 4: Work with spooled files
NG2NoQueueMessagesNo Queue messagesIf the entries build up, then no other job is taking them.
If the data queue keeps getting emptied, then another job is taking the entries.


CRTUSRPRF USRPRF(IFORMNG2) PASSWORD()
INLMNU(*SIGNOFF) LMTCPB(*NO) TEXT('InterForm NG2 user profile')
SPCAUT(*SPLCTL) PWDEXPITV(*NOMAX) JOBD(IFORMNG2/IFORMNG2)
GRPPRF(QPGMR) OWNER(*GRPPRF) MSGQ(*USRPRF)CRTUSRPRF USRPRF(IFORMNG2) PASSWORD()
INLMNU(*SIGNOFF) LMTCPB(*NO) TEXT('InterForm NG2 user profile')
SPCAUT(*SPLCTL) PWDEXPITV(*NOMAX) JOBD(IFORMNG2/IFORMNG2)
GRPPRF(<MYGRPPRF>) OWNER(*GRPPRF) MSGQ(*USRPRF)
