Javascript for submitting batch job

Sort:
You are not authorized to post a reply.
Author
Messages
Terry P
Veteran Member
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=<<server>>//<<user>>&JOB=WH130&OUT=javascript";

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



    Any help is appreciated!
    John Henley
    Senior Member
    Posts: 3348
    Senior Member
      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
      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
        Senior Member
        Posts: 3348
        Senior Member
          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
          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
            Senior Member
            Posts: 3348
            Senior Member
              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
              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
                Senior Member
                Posts: 3348
                Senior Member
                  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
                  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
                    Senior Member
                    Posts: 3348
                    Senior Member
                      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
                      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
                        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...
                          You are not authorized to post a reply.