Javascript for submitting batch job

 11 Replies
 0 Subscribed to this topic
 12 Subscribed to this forum
Sort:
Author
Messages
Terry P
Veteran Member Send Private Message
Posts: 234
Veteran Member
I am trying to create a simple form where it will submit a job based on the user checking a checkbox. It doesn't give an error - it just doesn't work. I don't know if it's in the variable being set - or what. I got the idea from a Lawson KB article, but can't seem to get it to work. Here is my code:


function test1()
{
var vCheck1 = lawForm.getFormValue("check1");
var vJob1 = "/cgi-lawson/jobrun.exe?FUNC=run&USER=<>//<>&JOB=WH130&OUT=javascript";

if (vCheck1 == "Yes")
top.httpRequest (vJob1)
else
alert("Don't submit job");
}



Any help is appreciated!
John Henley
Send Private Message
Posts: 3351
Forgetting Design Studio for a moment, have you verified that this jobrun.exe command itself works from the browser? If you're running Windows, I think the slashes between server & user need to point the other direction...

If so, then, within your Design Studio form, what triggers the test1() function?


Thanks for using the LawsonGuru.com forums!
John
Terry P
Veteran Member Send Private Message
Posts: 234
Veteran Member
I have no clue. I don't know how to "test" the command to see if it runs or not. I only have Portal access. I'll try switching the slashes to see if that helps. We're running on a iSeries/AS400 box I think.

I have a "button" defined. I started with just an "alert" instead of the top.httpRequest to make sure it worked (it did). What I don't know is how to find out the format for the jobrun command line. I found the example shown in a Knowledge Base article. I don't know if the <> and <> is replaced with a value - or If I need to actually put a value there.
John Henley
Send Private Message
Posts: 3351
To test the command via the browser, paste the jobrun command into the address bar, adding your Lawson server at the front, e.g.,
http://server/cgi-lawson/...n.exe?FUNC=run&USER=<>//<>&JOB=WH130&OUT=text
Thanks for using the LawsonGuru.com forums!
John
Terry P
Veteran Member Send Private Message
Posts: 234
Veteran Member
So if my url I normally use is:

http://school.clackesd.k1...18752/lawson/portal/

I would change that to:

http://school.clackesd.k1...n.exe?FUNC=run&USER=<>//<>&JOB=WH130&OUT=text
John Henley
Send Private Message
Posts: 3351
Yup. For the USER= entry, put in whatever username you use for logging into portal. You don't need the <>//<>.

So, if your username is tpickering,

http://school.clackesd.k1...g&JOB=WH130&OUT=text
Thanks for using the LawsonGuru.com forums!
John
Terry P
Veteran Member Send Private Message
Posts: 234
Veteran Member
Getting close. Here is my command now with the actual username and job name:

http://school.clackesd.k1...=WH130-COLD&OUT=text

But I get this error:

Error: Unable to find job record: job owner = tpickeri job name = WH130-COLD.

I've verified the Job named "WH130-COLD" is there for my username. What I don't know is we have multiple data areas that we set under our preferences. Does that need to be passed possibly? Is there any documentation on the jobrun.exe parameters?
John Henley
Send Private Message
Posts: 3351
That should be able to work.
Couple of things to check:
- Make sure your RD30 record has 'Job Queue Access' flag = Y.
- Also, run the /cgi-lawson/userenv.exe & /cgi-lawson/printenv.exe and look at the output to make sure your username is mapped correctly from the webserver to the app server (i.e. if you use a different username on the webserver and the app server, the one you need to specify on the jobrun.exe command is the one you use for the app server).
Thanks for using the LawsonGuru.com forums!
John
Terry P
Veteran Member Send Private Message
Posts: 234
Veteran Member
Those are all ok. I can run and submit the job "normally" so I know I have the privledge, the job is setup, etc. Both my webserver and appserver use the same username.
John Henley
Send Private Message
Posts: 3351
Are you able to get output from: /cgi-lawson/userenv.exe & /cgi-lawson/printenv.exe ?

One thing you can do is to (temporarily) create an empty file, $CGIDIR/jobrun.log
then run your jobrun.exe URL again.
That will create debug output into $CGIDIR/jobrun.log.
Then move $CGIDIR/jobrun.log to another location and review it.
Thanks for using the LawsonGuru.com forums!
John
Shane Jones
Veteran Member Send Private Message
Posts: 460
Veteran Member
Have you tried su_jobrun.exe instead of jobrun.exe....

I think that su_jobrun.exe might do the trick... it is work looking into.
Shane Jones
Tools: HR, Payroll, Benefits, PFI, Smart Office, BSI, Portal and Self-Service
Systems: Lawson, Open Hire, Kronos, Crystal Reporting, SumTotal Learning
** Teach others to fish...
Shane Jones
Veteran Member Send Private Message
Posts: 460
Veteran Member
Have you tried su_jobrun.exe instead of jobrun.exe....

I think that su_jobrun.exe might do the trick... it is work looking into.
Shane Jones
Tools: HR, Payroll, Benefits, PFI, Smart Office, BSI, Portal and Self-Service
Systems: Lawson, Open Hire, Kronos, Crystal Reporting, SumTotal Learning
** Teach others to fish...