Next Button erroring after patches applied

Author
Messages
Donna
Basic Member
Posts: 6
Basic Member
    We applied patches and screens we created using LID now give the following error when the Next button is clicked:
    com.lawson.tesla.agent.TransactionException: TRANSACTION_ERROR
     at com.lawson.tesla.exec.Tesla.invoke(Tesla.java:374)
     at com.lawson.tesla.agent.ErpTransactionAgent.processRequest(ErpTransactionAgent.java:182)
     at com.lawson.ios.agent.container.AgentWrapper.processRequest(AgentWrapper.java:138)
     at com.lawson.tesla.broker.TransactionBroker.processRequest(TransactionBroker.java:78)
     at com.lawson.ios.agent.container.AgentWrapper.processRequest(AgentWrapper.java:138)
     at com.lawson.ios.agent.container.AgentContainerImpl.processRequest(AgentContainerImpl.java:238)
     at com.lawson.ios.servlet.Router.doGet(Router.java:221)
     at com.lawson.ios.servlet.Router.doPost(Router.java:297)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:738)
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:831)
     at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1661)
     at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1602)
     at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:149)
     at com.lawson.servlet.TransformFilter.doFilter(TransformFilter.java:90)

    I have one user that is not getting the error and several others that do get the error.  Even on the same PC, one user will get the error and another will not get the error.
     at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
     at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:125)
     at com.lawson.servlet.AuthenticationFilter.doFilter(AuthenticationFilter.java:105)
     at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
     at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:125)
     at com.lawson.servlet.CallLoggingFilter.doFilter(CallLoggingFilter.java:117)
     at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
     at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:125)
     at com.lawson.servlet.XSSValidatorFilter.doFilter(XSSValidatorFilter.java:112)
     at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
     at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:125)
     at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:80)
     at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:908)
     at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:939)
     at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:507)
     at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:181)
     at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:91)
     at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:878)
     at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1592)
     at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:191)
     at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:453)
     at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:515)
     at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:306)
     at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:84)
     at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:175)
     at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
     at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
     at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
     at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
     at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
     at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
     at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1660)
    Caused by: java.lang.NullPointerException
     at com.lawson.tesla.batch.JobRequest.nextSimpleJob(JobRequest.java:1737)
     at com.lawson.tesla.batch.JobRequest.process(JobRequest.java:809)
     at com.lawson.tesla.exec.Tesla.invokeBatch(Tesla.java:443)
     at com.lawson.tesla.exec.Tesla.invoke(Tesla.java:307)
     ... 45 more

    Have any of you come across this before?  I've seen a similar issue in google regarding AddIns.  Any suggestions would be welcome.  Thanks!
    Brad Schauer
    Veteran Member
    Posts: 76
    Veteran Member
      I've run into this a few times.

      Run 'jobinteg -d'

      Doing so resolved the issue.
      Donna
      Basic Member
      Posts: 6
      Basic Member
        Thanks so much!
        Would I run this in lid in the source directory?
        Brad Schauer
        Veteran Member
        Posts: 76
        Veteran Member
          Yes, this is run via command line in LID.

          You can run jobiinteg -v

          Which will show you bad records before deleting them.
          Donna
          Basic Member
          Posts: 6
          Basic Member
            Thanks for the information Do you know whether this utility only delete submitted job records that have issues or does it delete anthing else?  When I ran it with the -v, it created a VERY long listing and I need to make sure I'm not deleting anything anyone might need.
            Brad Schauer
            Veteran Member
            Posts: 76
            Veteran Member
              Sorry, I was mistaken about the -v, try running jobinteg -tv | lashow

              What is thejobinteg utility used for in the Lawson Environment? What options does this utility have?

              Resolution:

              Overview of jobinteg
              Article ID:522765
              Description:
              What is the jobinteg utility used for in the Lawson Environment? What options does this utility have?

              Resolution:
              Lawson created the jobinteg command to help clean up and maintain Job Scheduler and Print Manager. The jobinteg utility can be used to delete corrupt, missing, or orphaned job information stored for the jobs queue, job, step, and report records. The options on jobinteg make it easy to delete and view detailed information about each job record. To view the usage and syntax for this utility, go to a Lawson Interface Desktop (LID) command line, type jobinteg and press Enter.

              jobinteg
              Usage: To check and repair job and jobstep records.
              Syntax: jobinteg -dptvU [Increment]
              [Increment] - The counting increment, ie; count by 100's.
              d - Delete bad records
              p - Validate parameters
              t - Terse, print totals only
              v - Verbose, print bad records
              U - Print usage and syntax.

              The rest of this document contains details on each of jobinteg's options.
              d - Delete bad records
              Deletes all corrupt, missing, or orphaned job information stored for the jobs queue, job, step, and report records.
              Deletes records in GEN/QUEUEDJOB, GEN/JOB, GEN/JOBSTEP, and GEN/JOBSTEPRPT
              p - Validate parameters
              Runs the validation of parameters for jobs that exist in GEN/JOBSTEP.
              t - Terse, print totals only
              Runs with other parameters to list out what will be removed, but does not actually perform any deletes.

              v - Verbose
              Runs with other parameters to display details and totals for each entry or file.
              U - Print usage and syntax



              Additional Information:
              jobinteg examples:
              To delete all corrupt records, run the command jobinteg -d
              Example output:
              714 (QJB) queued records 392 missing jobs 0 missing steps
              392 queued job records deleted.
              1882 (JOB) job records 0 missing steps 0 orphaned form IDs
              0 job records deleted.
              1891 (JST) step records 0 orphaned steps 9 multiple steps
              0 step records deleted.
              1947 (JSR) report records 0 orphaned reports
              0 report records deleted.


              To view all the corrupt records without deleting, run the command jobinteg -t
              Example output:
              714 (QJB) queued records 392 missing jobs 0 missing steps
              1882 (JOB) job records 0 missing steps 0 orphaned form IDs
              1891 (JST) step records 0 orphaned steps 9 multiple steps
              1947 (JSR) report records 0 orphaned reports
              To view each individual corrupt record with details without deleting, run the command jobinteg -tv |lashow
              Donna
              Basic Member
              Posts: 6
              Basic Member
                Yeah!!! That worked! Thank so much!
                We ran the "jobinteg -tv | lashow" first and then ran "jobinteg -d"
                Brad Schauer
                Veteran Member
                Posts: 76
                Veteran Member
                  You're welcome! Glad to hear the jobinteg resolved your issue.

                  ---