How the Banner Agent Integration Works

The images below show how job capture and job submission work in Banner.

When a job is submitted via the Automation Engine, it includes parameters and calls UC4gjajobs.shl which processes the job just as a Banner client submission would.

When a job is submitted via Banner and job capture is enabled it calls the job capture script which determines whether the job should be captured. If the job should be captured, a job is submitted to the Automation Engine scheduler. When that job is run by the agent, it calls UC4gjajobs.shl just as an Automation Engine Banner submission would.

By default, Automation Engine initiated programs that exit with non-0 exit codes cause their Automation Engine tasks to fail. To change this behavior so the Automation Engine tasks do not fail, add a noErrorExit=true line in the environment source file used by the task.

To set the environment source file for: Specify a file location:

All tasks that run on an agent

In the Environment Source File field in the agent definition.

Individual job definitions

In the Source File Override field in a job’s definition.

 

How Job Capture Works

Job capture works by:

  1. A request is made from the Banner client calling gjajobs.
  2. With the Banner agent solution configured, gjajobs is modified to call <workDir>/capture/jobcapture.
  3. If a task is an Automation Engin submit, and trace/debug is on, you will see the following line:

    UC4 submit

    Otherwise it will call the jobcapture.groovy and show that output.

    For information on setting:

  4. The jobcapture.groovy script reads parameters from the parameter file created by the agent.
  5. The jobcapture.groovy checks whether capture is enabled:
  6. If it’s a captured job, jobcapture.groovy creates a .tmp file with the job parameters and the password encrypted unless noEncrypt=true is set. Setting the variable noEncrypt=true in the Banner environment script disables the encryption of the password which allows for less security but slightly greater performance.
  7. If the agent is stopped, see the How the Agent Processes Captured Jobs section below.
  8. Loop for <timeout> seconds waiting for .tmp file to get renamed.
  9. If it is not renamed in <timeout> seconds, then go to How Agent Down Processing Works section below.
  10. The agent processes the .tmp file and renames it to .fin. Once the captured job has been submitted to the Automation Engine (see the How the Agent Processes Captured Jobs section below).
  11. The jobcapture.groovy will delete the .fin file and exit with a 0 return code.

How Agent Down Processing Works

If noCaptureWhenDown = true exit 3. In this case run the job immediately.

Else exit 0 (agent will process the .tmp file when agent capture resumes). In this case there will be a left over .fin file after the agent has processed it because there is no script to remove it. On agent startup, the agent will remove .fin files that are older than two days. For information on setting:

How the Agent Processes Captured Jobs

The Banner agent processes captured jobs by:

  1. An agent thread monitors the <workDir>/capture based on the number of seconds specified in the Monitor Seconds set in the job Capture criteria.
  2. Agent reads the values from the .tmp file and it gets the program name.
  3. Otherwise it uses default template job.
  4. Renames the file to .fin.
  5. Submits the job to the Automation Engine.
  6. Requests job with the same values as the template job except:
  7. Automation Engine processes submitted task and passes it to the agent.
  8. See the How the Agent Processes All Jobs section below for additional steps.

How the Agent Processes All Jobs

The Banner agent processes jobs by:



Automic Community