using a UBE to call an AS/400 CL program

mhootie

Active Member
I want to call a CL program from an E1 menu. I'm told that a good way to do it is to have the CL program called from within a UBE. I'm not having any luck with the UBE. I'm using Execute External Program with this as the command string: SBMJOB CMD(CALL (TESTOBJ/J5934088)). I get a spooled file from the process with this message: Failed to find object SWAPUSER *LIBL.

Anyone know what's wrong?

Thanks,
Melissa
 
Melissa,
Check the library list of the USERID you executing this program from. Seems it does not have access to this library.

hope this helps.

Chan
 
Hi,

I am new to AS400, can you advice me any introduction to AS400 documents to start with.
Plz help
 
[ QUOTE ]
I want to call a CL program from an E1 menu. I'm told that a good way to do it is to have the CL program called from within a UBE. I'm not having any luck with the UBE. I'm using Execute External Program with this as the command string: SBMJOB CMD(CALL (TESTOBJ/J5934088)). I get a spooled file from the process with this message: Failed to find object SWAPUSER *LIBL.

Anyone know what's wrong?

Thanks,
Melissa

[/ QUOTE ]

I'm using that same business function for one of my processes (with parms to the program) and it is working fine on the AS/400. Where is the error message coming from, the Kernals? Can you check the Kernal to be sure you are not missing a bracket or something simple. Can you execute submit the string on a simple command line.

Inside the TEST/J5934088 does the program have all the libraries or job description information it needs. The JOBD of the Kernal might not have all the information it needs to submit the job. You might want to include more parms in the CL call, like a job description.

Rob
 
Yes, the job runs if I enter the same string on a command line. I have changed the CL to include a library parm and now I'm trying to submit the local specs from a fat client. (I don't know if it is expected to work when run this way.) I don't see where it's hitting wrkactjob at all. I don't know how to check kernals. What else can I use to troubleshoot?

Thanks,
Melissa
 
The program should run anywhere.

When you do a WRKACTJOB Job you will see the Oneworld subsystem, put a 5 next to all the jobs to search for you parm

Opt Subsystem/Job User Type CPU % Function Status
E810 QSYS SBS .0 DEQW
5 JDENET_K ONEWORLD BCI .0 PGM-JDENET_K DEQW
5 JDENET_K ONEWORLD BCI .0 PGM-JDENET_K DEQW
5 JDENET_K ONEWORLD BCI .0 PGM-JDENET_K DEQW
5 JDENET_K ONEWORLD BCI .0 PGM-JDENET_K DEQW
5 JDENET_K ONEWORLD BCI .0 PGM-JDENET_K DEQW
5 JDENET_K ONEWORLD BCI .0 PGM-JDENET_K DEQW
5 JDENET_K ONEWORLD BCI .0 PGM-JDENET_K DEQW

The program will only run in the "call object kernals" jobs

Job 391607/ONEWORLD/JDENET_K started on 05/17/09 at 00:33:41 in subsystem
E810 in E810SYS. Job entered system on 05/17/09 at 00:33:41.
Call Object Kernel(PID = 714 )

If the program has an issue you will see a message in the Kernal

The error should be in the logs. If you will cannot find the program/error, add a DMPCLPGM in the CLP to force and dump. Then check the kernals again or the job log.

Good luck
Rob
 
This is working now that I fixed the command string (too many ')' ).

Thanks
 
Anyone have an example on how this is done? I'm using 'sbmjob cmd(call QGPL/WAGEWRKJCC)' and it's not working the way I expect... well it's actually not working at all. LOL Thanks in advance....
 
Back
Top