AppWorx 9.4 User Guide
AppWorx 9.4 User Guide
Copyright © 2005-2019 Broadcom. All Rights Reserved. The term 'Broadcom' refers to Broadcom Inc. and/or its subsidiaries.
Contents
Release Information................................................................................................................... 11
Release Notes................................................................................................................... 11
Third-Party Licenses and Notices..................................................................................... 14
Installation Guide........................................................................................................................76
About This Guide.............................................................................................................. 77
Applications Manager Installation for UNIX and Windows................................................77
Creating the UNIX Account (UNIX Only)................................................................. 78
Assigning Rights and Permissions to the Windows User (Windows Only).............. 79
Creating the Database Account............................................................................... 80
System Information Required for the Installation.....................................................82
Running the Installation Script................................................................................. 84
Starting and Stopping the Applications Manager Processes in UNIX......................85
Starting and Stopping the Applications Manager Processes in Windows................ 86
Opening the Applications Manager Client and Logging In.......................................87
Verifying the Installation........................................................................................... 90
Applications Manager Installation—Advanced Topics.......................................................93
Configuring the Applications Manager Client...........................................................93
Function of the Operating System User.................................................................. 93
Configuring Applications Manager for Oracle RAC................................................. 95
Installing Multiple Automation Engines on One Host...............................................97
Configuration for Machines with Multiple IP Addresses...........................................98
Automation Engine, Agent, and Client Firewall Connections.................................100
Overview of Firewall Settings.................................................................................102
Configuring Agents to Validate Multiple Automation Engine Configurations.......... 102
Using Custom SSL Certificates for Connection Authentication..............................103
Uninstalling Applications Manager......................................................................... 104
Installing a Second RMI Server for Failover.......................................................... 105
Installing a UNIX Remote Agent.....................................................................................107
Defining the UNIX Remote Agent in Applications Manager...................................108
Installing the Remote Agent...................................................................................109
Installing a Windows Remote Agent............................................................................... 110
Defining the Windows Remote Agent in Applications Manager.............................111
Creating the Windows User................................................................................... 113
Running the Installation Program...........................................................................114
Upgrading Applications Manager.................................................................................... 115
Upgrading or updating Tomcat...............................................................................115
Upgrading an Automation Engine and Local Agent...............................................116
Upgrading Remote Agents.....................................................................................118
Verifying the Upgrade.............................................................................................119
Loading Rapid Automation Component .jar Files into Applications Manager................. 120
1 Release Information
Release highlights for Applications Manager 9.x
Warning: Broadcom highly recommends that you back up your Oracle data and Applications Manager file
system before upgrading due to table changes in this release. There is no rollback procedure for Oracle
data and the upgrade process does not back up your data or file system.
New Features Only in Major and Minor Versions of All Automic Software
Aways install the latest Service Pack or Hotfix. Both contain valuable corrections and bug fixes between Major and
Minor Releases, where new features and enhancements are introduced.
The software version information consists of the following identifiers, as shown in this example:
12.2.1 HF 1
• Major Release: 12
This is the main version of a software release. It is identified by the first segment of the entire version number.
• Minor Release: 2
This includes new features, modifications, and corrections that may contain major changes such as database
modifications. It is identified by the second segment of the entire version number.
Major and Minor releases for Automation Engine are feature releases supplied at 9-month intervals.
• Service Pack: 1
This is a patch for a release and contains corrections for errors. New features or modifications are not included.
Service packs are identified by the third segment of the entire version number.
• Hotfix: HF1
This is a minor sub-release to remove malfunctions and defects. Hotfixes are indicated by an HF number after
the version number.
Service Packs and Hotfixes are maintenance releases supplied at 4-month intervals.
Getting the Latest Information
Documentation, release notes, and other information is often updated after software is released. The table below
shows where to find the most recent information for Automic software releases.
Release Notes
Applications Manager V9.4.1
Applications Manager 9.4.1
What's New?
Applications Manager 9.4.1 addresses major vulnerabilities reported with Log4j libraries. It also includes several
bug fixes.
Applications Manager V9.4.0
What's New?
• Applications Manager 9.4.0 comes with improved disaster recovery management. For more information, refer to
Disaster Recovery.
• Apache Tomcat is now the default HTTP server. For more information refer to Upgrading or updating Tomcat.
• Starting from Applications Manager 9.4.0, Perl is no longer being shipped with the product image for UNIX-
based operating systems.
• New fields are introduced for Banner Output.
• Three new grants are added for the Banner database SYS user. For more information refer to, Issuing Grants to
Create the BANWORX Banner User.
• The product help will now be available online only.
Applications Manager V9.3.5
What's New?
• SMTP Authentication: You can now configure SMTP authentication for the master agent. For more information,
refer to Configure SMTP Authentication.
• Custom SSL certificates for Connection Authentication: Improvements have been made for use SSL certificates.
For more information, refer to Using Custom SSL Certificates for Connection Authentication.
• Notifications: You can now attach a PDF to the notification in the portrait or landscape format with size limit
option. For more information, refer to Defining Notifications.
Applications Manager V9.3.4
What's New?
• Broadcom may request you for the telemetry report as and when required. For more information, refer to
Applications Manager Telemetry data.
• You can now add a component with a right-click to an existing job or process flow and also retain the
component's configuration. For more information, refer to Add components and retain the existing configuration.
• You can now have different colors for Applications Manager main window for different deployments of
Applications Manager. For example, you may want to have a Brown color for the development environment and
Green color for the production environment. For more information, refer to Configure Applications Manager Main
Window Color.
• Applications Manager 9.3.4 now supports RedHat Enterprise Linux 8.
Applications Manager v9.3
What's New
Oracle 18c Now Supported
In Applications Manager 9.3, Oracle 18c databases are supported. For special instructions, see Creating the
Database Account in the Installation Guide.
Specifying a Unique Location for Multiple Keystore Files in v9.3.1
Starting with v9.3.1, you can specify a unique location for multiple keystore files. To do this, you create a C:\Users
\<user name>\AppWorx\<master name> folder for each master in the connections.properties file on each
user's client machine where <user name> is the actual user's name and <master name> is the name of the
master. Then put copies of the user_keystore and user_keystore_config files for each master the sub-directory
for that master.
RunClient.jar Error Messages Now in the startClient.log file in v9.3.1
When starting the local client by double clicking on RunClient.jar (or a shortcut to it) in version 9.3.1 or above, if it
fails to start the error will now be in the startClient.log file.
Changes in Behavior
Executable .jar File for the Client Must Be Downloaded and Configured
You must now download the Applications Manager client from the URL set during installation. To get this URL,
see your Applications Manager administrator. Before logging in the first time, you need to configure the client for
Applications Manager 9.4.1
the Automation Engine(s) you will be logging into. Once configured, you open an executable .jar file. For more
information, see Opening the Applications Manager Client and Logging In in the User Guide.
Custom SSL Certificates for Connection Authentication Now Required
You must use a custom SSL certificate for connection authentication by creating user_keystore and
user_keystore_config files on the Automation Engine and client machines. For more information, see Using
Custom SSL Certificates for Connection Authentication in the Installation Guide.
Keyfiles No Longer Required
Starting with Applications Manager 9.3, license checking with keyfiles is no longer required for Automation Engines
or agents.
integrated with the specific Automation Engine system. Therefore, in systems that require RMI server failover, it is
recommended that all Jobs be setup to run on Remote Agents.
Platform and Oracle Support
Version 9 is the first Applications Manager release that supports Oracle 12c databases. When using Oracle 12c
database and you have an Oracle Enterprise Edition multi-tenant system or Oracle Standard Edition single tenant
system, you must install Applications Manager into a pluggable database (PDB) within a container. Your DBA is
responsible for creating the pluggable database.
Enabling/Disabling RMI Server Debug with the RMI_DEBUG Job
You can now enable or disable RMI server debug by running the RMI_DEBUG Job. Like all Applications Manager
Jobs, you can request and submit RMI_DEBUG to run it ad hoc, or schedule it. Activate or deactivate RMI server
debug by setting the Enable prompt to Yes or No. The RMI_DEBUG Job is included in the RMI_DEBUG import file.
Desupported Features
The following features are desupported for Applications Manager v9:
• The Dashboard
• AppMaster
• Remote Method Extension Agents
• VMS Agents
• OS400 Agents
• ZOS (mainframe bridge) Agents
The supported platforms for the Automation Engine and its Agents change between releases. For a list of
supported platforms for the Automation Engine and Agents in this release, see the Matrix below.
Known Issue: You Cannot Retrieve a Local WSDL File for a SOAP Login Object
You cannot retrieve a local WSDL file for a SOAP Login object using the Web Service Agent. This will be fixed in
Applications Manager v9.0 Service Pack 1 and a patch is available from Broadcom Support.
• Jobs: are the basic building blocks in Applications Manager. For each program you want to run (such as FTP,
application, or database load), you must create a Job. A Job contains all the information required to execute
a program and handle its output. Jobs are run both individually and as components of Applications Manager
Process Flows. Furthermore, a Job can be a component of as many Process Flows as you wish. If you change
a Job definition, the change is applied to every Process Flow that includes it. For more information, see Defining
Jobs.
• Libraries: define the path for the program that a Job runs. For more information, see Defining Libraries.
• Message Templates: specify text to include in Notification output files. They allow the use of Substitution
Variables and Replacement Values for variable text. For more information, see Defining Message Templates.
• Notifications: send dynamic messages that are based upon on a task's status through email or any other
defined Output Device. For more information, see Defining Notifications.
• Output Scans: scan output for text strings that indicate if a task has failed or succeeded. For more information,
see Defining Output Scans.
• Process Flows: are containers that include one or more components (Jobs and other Process Flows), general
scheduling information for the Process Flow, specific eligibility for each of its components, and conditions that
must be met for each component to run. For more information, see Defining Process Flows.
• Program Types: define how programs accept input and handle output. For more information, see Defining
Program Types.
• Reports: view Reports for data in the Applications Manager database. Developers and administrators can
create custom SQL Reports in the Applications Manager client. For more information, see Steps for Creating
Reports.
• Substitution Variables: store values that can be used in Jobs and Process Flows. Applications Manager lets
you use Substitution Variables, such as #today, in prompts and execution conditions assigned to Jobs. For more
information, see Defining Static Substitution Variables and Defining Dynamic Substitution Variables.
Operations
• Queues: control the flow of tasks. All tasks must pass through an Applications Manager Queue to be executed.
For more information, see Defining Queues.
• Thread Schedules: are assigned to one or more Queues or Agents. Thread Schedules define the number of
concurrent tasks that can run through a Queue or Agent at different times of the day. For more information, see
Defining Thread Schedules.
Automation Engine
The Automation Engine is the execution logic or brain of Applications Manager. It monitors Job and Process Flow
schedules and, at the appropriate time, sends them to the designated local or Remote Agent for execution. The
Automation Engine communicates with the Applications Manager database, where all object definitions are stored.
Local Agent
At a minimum, a basic Applications Manager setup will include a single Automation Engine and its Local Agent.
The Local Agent runs programs or executes scripts on the host machine where the Applications Manager
Automation Engine is installed. It receives commands from the Automation Engine.
Applications Manager Database
Applications Manager uses object definitions stored in an Oracle database to give it an advantage over all other
schedulers. When you create a Job, Process Flow, or other Applications Manager object, the definition is stored
in the Applications Manager Oracle relational database. You can then use the objects to build more complex
objects. For example, you might define a Database Login, then assign that login to many different Jobs. If the
login changes, you change it in one place, and Applications Manager uses the new definition everywhere it is
referenced. This object-oriented approach makes it easy to update and maintain the Applications Manager system.
Client
You access Applications Manager through a Java client. The client machine is the PC used to access the
Applications Manager graphical user interface. This means you can access Applications Manager from a PC or
workstation that has a Web browser. Client software provides access to all Applications Manager functions and
features. The clients communicate directly with the Applications Manager Automation Engine. You can have any
number of clients.
Remote Agent
Applications Manager 9.4.1
In larger systems, you may have one or more Applications Manager Remote Agents on other servers. A Remote
Agent must be installed on each machine where tasks are executed. Any number of Remote Agents can report to a
single Automation Engine. Remote Agents may run on UNIX and Windows platforms.
The Automation Engine will schedule and control task execution on all the Agents assigned to it. The Agent
monitors tasks until they complete.
Medium System
If you are installing Applications Manager in a medium sized system, you will most likely add several Applications
Manager Remote Agents to execute programs on other machines. This configuration is shown below.
Applications Manager 9.4.1
Large System
In a large system, you may choose to install two or more Applications Manager Automation Engines. This
configuration is shown below.
Applications Manager 9.4.1
An Applications Manager Automation Engine can process hundreds of thousands of tasks a day, so the choice
to install more than one Automation Engine is usually not because of load. A more likely reason is that you
are running Applications Manager in different data processing centers and do not want to depend on network
connections between the Automation Engine and Remote Agents.
Reports
To help you review the objects that have been created, Applications Manager includes many object Reports. The
Reports list all objects of each type, and in some cases, additional information about the objects.
• Agents: are instances of Applications Manager. An Agent is installed on each machine where tasks are
executed. An Agent can be an Automation Engine's Local Agent, a Remote Agent, or an application-specific
Agent such as Oracle Applications or PeopleSoft.
• Logins: allow operators and programmers to run programs that access a database or host without having to
know the login and password.
• Output Devices: define any Output Device including printers, faxes, and email. You can print to a single Output
Device, or, through the use of distribution lists, multiple Output Devices.
• Output Groups: define organizational classes of Output Devices. When you define Applications Manager
Output Devices, you assign them to one or more Output Groups.
• Output Interfaces: interface between Applications Manager and an Output Device.
• User Authorities: control User access to Applications Manager windows and can give Users add privileges for
objects. You assign User Authorities to your User Groups.
• User Groups: control access to all areas of Applications Manager. In a traditional system, you create groups of
Users, Output Devices, and Applications. User Groups can contain any combination of objects, and objects can
be assigned to any number of User Groups.
• User Options: are the same options assigned to Users, but as objects, they are assigned to a User Group.
When User Options are assigned to a User Group, all Users in that User Group will have that User Option set to
true for them. You cannot add, edit, or delete User Option objects like other Applications Manager objects. You
can only assign them to User Groups.
• Users: control access to Applications Manager. You can assign names, access permissions, User Options, and
User Groups to Users.
Development
• Applications: logically group Jobs and Process Flows. Used to filter lists of Jobs and Process Flows.
• Calendars: define groups of days, such as holidays, that you can use for schedules. Schedules can run on, or
skip, the days in a Calendar.
• Data Types: specify the format for data passed to programs. They can include SQL statements that validate
responses and allow you to pick from lists.
• Environment Variables: store values you define for one or more variables as a single Applications Manager
object.
• Jobs: are the basic building blocks in Applications Manager. For each program you want to run (such as FTP,
application, or database load), you must create a Job. A Job contains all the information required to execute
a program and handle its output. Jobs are run both individually and as components of Applications Manager
Process Flows. Furthermore, a Job can be a component of as many Process Flows as you wish. If you change
a Job definition, the change is applied to every Process Flow that includes it.
• Libraries: define the path for the program that a Job runs.
• Message Templates: specify text to include in Notification output files. They allow the use of Substitution
Variables and Replacement Values for variable text.
• Notifications: send dynamic messages that are based upon on a task's status through email or any other
defined Output Device.
• Output Scans: scan output for text strings that indicate if a task has failed or succeeded.
• Process Flows: are containers that include one or more components (Jobs and other Process Flows), general
scheduling information for the Process Flow, specific eligibility for each of its components, and conditions that
must be met for each component to run.
• Program Types: define how programs accept input and handle output.
• Reports: view Reports for data in the Applications Manager database. Developers and administrators can
create custom SQL Reports in the Applications Manager client.
• Substitution Variables: store values that can be used in Jobs and Process Flows. Applications Manager lets
you use Substitution Variables, such as #today, in prompts and execution conditions assigned to Jobs.
Operations
• Queues: control the flow of tasks. All tasks must pass through an Applications Manager Queue to be executed.
• Thread Schedules: are assigned to one or more Queues or Agents. Thread Schedules define the number of
concurrent tasks that can run through a Queue or Agent at different times of the day.
When you log in to Applications Manager, you are taken to the desktop shown below. From the desktop, you can
access all Applications Manager features and functions.
Selector windows are used to manage Applications Manager objects. They are displayed when you select an icon
from the toolbar or an item from the Object Admin menu. There is a selector window for each type of Applications
Manager object. From a selector window, you can add, edit, and delete objects. In the image below, the New button
is selected on the Queues Selector window and a new Queue is being defined.
Administration
If you are a Applications Manager administrator, you will be responsible for ensuring the system is up and running,
and that users can access the system. How much more you are responsible for will depend on the structure of your
IT shop. At the very least, you will probably be expected to:
• Ensure that the Applications Manager Automation Engine, Agents, RMI server, and Web server are up and
running.
• Provide Applications Manager User IDs and Logins to developers, production analysts, operations personnel,
network administrators and database administrators.
• Set the Automation Engine options.
You may also be responsible for one or more of the following:
• Defining Host and Database Logins
• Defining Output Devices
• Managing retention of Applications Manager records and report output
• Migrating Applications Manager objects between development, test, and production instances
This diagram shows a more likely scenario where the Applications Manager Automation Engine, Local Agent, RMI
server, and Web server are all on one machine, and the Applications Manager database is on another machine.
Applications Manager 9.4.1
The login allows a User to enter the Applications Manager client. Once the User is in the client, access to objects
and to different areas of the product, often referred to as managers, is controlled by User Groups.
User Groups Are Important
User Groups control access to the Applications Manager and its objects. When you create a User, you assign one
or more User Groups to the User. You can think of User Groups as containers. After creating a User Group, you
add objects and Users to the User Group. Users have access to all the objects in the container.
It's important for you to give some thought to the User Groups that will best serve the security needs of your
organization. For example, if you are a very small shop, you may need only a few User Groups such as
administrator, developer, and operations. If you are a large shop, you may want to use a more extensive set of User
Groups such as: administrator, financial applications developer, sales inventory application developer, customer
relations application developer, network administrator, database administrator, operator, and production analyst.
Each User Group would give access to different parts of Applications Manager and to a different set of objects.
The top row in the image below illustrates three typical User Groups: programmer, operator, and end-user. The
image also shows two additional programmer User Groups: edit and non-edit. The two User Groups make it
possible to give programmers read-only access to some objects, and edit access to other objects.
The programmers would be assigned to both User Groups. For example, you might give programmers read-only
access to:
• Objects that ship with the product (such as system Jobs and Process Flows).
• Objects that might be created by an Applications Manager administrator (such as Output Devices).
• Objects that might be created by a database administrator (such as Logins).
Applications Manager 9.4.1
• Certain objects such as Queues (to give access to the Explorer window).
On the other hand, you would give programmers edit access to the Jobs and Process Flows that they create.
By having the two User Groups, you have the flexibility to give a group of Users the access they require to
accomplish their Job. You would most likely want an edit and non-edit User Group for operators as well. End-users
may only require a single non-edit User Group because they would not be creating objects.
DBA User Group
When you first install Applications Manager, there is one User Group called "DBA" that is assigned to the default
User. The "DBA" User Group gives the default User access to all functions and objects in Applications Manager.
By logging in as the default User (see the Installation Guide for the default user name and password), you can then
define additional Users.
You can control the Logins that are displayed in the list box by using Applications Manager User Groups. Only the
Logins that are included in a User Group assigned to the developer will be displayed. Security is maintained, and
the developer's task is made easier.
Encrypted Passwords
In both Host and Database Logins, the Login names are displayed as plain text, but the passwords are encrypted.
The only person who knows the password is the person who entered it in Applications Manager. This ensures a
high level of security.
Reduced Maintenance
By defining the Database and Host Logins as objects in Applications Manager, you can update a Login in one place
and have that change take effect everywhere the Login is used. This greatly reduces your maintenance time.
Managing Output
Applications Manager can capture output from any task it runs, send the output to any type of Output Device, and
make the output available for viewing online through the Applications Manager Java client.
Applications Manager 9.4.1
Applications Manager includes a built-in output distribution function that can send output to almost any type of
Output Device including traditional printers, fax machines, plotters, and email. But Applications Manager also can
make the output available for online viewing directly from the Applications Manager client.
file=$1
Applications Manager 9.4.1
shift
eval "lp $* $file"
exit $?
As an Applications Manager administrator, you may define Output Devices in Applications Manager, or you may
provide access to a network administrator to define the device.
Online Viewing
When Applications Manager runs a task, such as an Oracle Applications or PeopleSoft task, it builds the
appropriate commands using an Applications Manager Program Type interface script. Also incorporated in the
script is the ability to register the output from the task and make it available instantly for online viewing. This
capability is an integral part of Applications Manager.
When determining how to make the best use of Applications Manager output management, you should examine
this ability to view output online and how it might affect how you currently distribute output.
Applications Manager interface scripts are available for the most popular enterprise applications, and Broadcom
Global Services Offerings services can create custom scripts for almost any application.
Archiving Records
The SYSTEM Process Flow purges output files and History records, but it does not archive the files or records.
If you wish to perform archive functions, consider building an archive Process Flow that executes the functions.
For example you could create a Process Flow that prints a report of the History records, moves the records to
an archival database, and moves the output files to an archival directory. This archival Process Flow could be
scheduled to run before the SYSTEM process flow.
You should never modify the SYSTEM Process Flow because it is reinstalled every time you upgrade or reinstall
Applications Manager. If you want to modify the SYSTEM Process Flow, copy it to another Process Flow, then
modify the copied Process Flow and run it instead of the SYSTEM process flow.
Moving Applications Manager objects from one instance to another is a simple three-step process:
1. Export the objects from the source machine.
2. Move the export file to the target machine.
3. Import the objects to the target machine.
Exporting Objects
To export objects, use the Exports window and build an export list. The list can include any number of objects. You
can export all Applications Manager objects except Agents, Agent Groups, Logins, and Users. When you select
an object, Applications Manager automatically identifies any supporting objects. For example, if you include a Job,
Applications Manager identifies any Output Devices assigned to the Job and gives you the opportunity to add the
Output Devices to the export list. You can save the export list and reuse it the next time you want to export objects.
After building the export list, you run the export program. The program generates the export file.
Moving the Export File
After generating the export file, you transfer the file from the source machine to the target machine.
Importing Objects
On the target machine, use the Imports window to import the objects from the export file. When you load the file
into the Imports window, support objects such as Agents, Agent Groups, Logins, and Users that could not be
included in the file will be flagged. You can then map these objects to corresponding objects on the target machine.
Applications Manager 9.4.1
For example, suppose you are exporting from a development machine to a test machine. An exported Job was
defined to run on the DEV Agent. On the test machine, the corresponding Agent is TEST. You simply map the DEV
Agent to the TEST Agent.
When you have completed mapping the objects, you can save the map for repeated use, ensuring consistency.
To complete the process, you run the import. The objects are added to the target instance.
Development
As a developer, you will create objects used to define Jobs and run tasks. When we talk about development in
Applications Manager, we are referring to the creation of Jobs to run tasks, and the addition of Jobs to Process
Flows. If you are a developer, you will most likely:
• Create Jobs to run programs and scripts.
• Create Process Flows to run a series of Jobs.
• Add dependencies to Process Flow components to establish the correct execution order in Process Flows.
• Define Job parameters.
• Add IF - THEN logic to Jobs and Process Flows to ensure the correct conditions exist before they execute.
• Automate retrieval of values from databases to eliminate data entry errors.
• Schedule Jobs and Process Flows to automate production.
Objects
As you build Jobs and Process Flows, you will use a number of objects including:
• Applications to categorize Jobs and Process Flows
• Libraries to specify paths to programs
• Program Types to interface with programs and applications
• Database and Host Logins
• Substitution Variables to store values used in Job parameters
• Queues to control load on your systems
• Output Devices to distribute output
There are many other objects that you may use, or that may be used by the Applications Manager administrator or
operators.
Naming Conventions
You should put some thought into naming conventions for your objects because you cannot readily rename objects
in Applications Manager. This is not a problem if an object is not used in very many places because you can copy
the object, give it a new name, then replace the old object with the new object. But if you have used the object in
many places, copying and replacing is not practical.
Replacing Scripts with Jobs and Process Flows
One of the greatest returns on your investment in Applications Manager can be realized by replacing your scripts
with Applications Manager Jobs and Process Flows. Long scripts that have been used to run nightly batch
processing can be broken up, and each program run by the script can be replaced by a Job. Those Jobs can then
be combined to create a Process Flow that duplicates, or improves, the Job flow in the original script. Elements in
the script that handle output should be replaced by Applications Manager Output Devices.
If the scripts require manual intervention by operators, every attempt should be made to use Applications
Manager predecessors, conditions, and Substitution Variables to automate these manual steps. Predecessors
and conditions can ensure that the Jobs in a Process Flow execute in the correct sequence and that the correct
conditions have been met for the tasks to execute successfully. Substitution Variables can be used to automatically
enter values for parameters where the values are retrieved from your corporate database at the time of execution.
These three features (predecessors, conditions, and Substitution Variables) give you the power to automate
operations to a greater extent than is possible with any other distributed scheduler.
Scheduling
Depending on the size of your organization, you may be responsible for scheduling Jobs and Process Flows, or this
responsibility may fall to production analysts. Either way, Applications Manager has an extensive set of features
for scheduling Jobs and Process Flows. You should be able to create schedules that closely match your corporate
data processing procedures.
Applications Manager 9.4.1
Notice that each step is completed sequentially. The three reports are run as a sub Process Flow, and are
processed simultaneously. However, the GL_IMPORT step will not execute until the three reports have run.
Process Flow Size
How large should you make a Process Flow? There are no hard and fast rules. A Process Flow may contain
up to 999 components. A component can be a Job or another Process Flow. When you add a Process Flow to
another Process Flow, it is considered a sub Process Flow. Sub Process Flows can include their own sub Process
Flows. While you can sub Process Flow to 32 levels, three levels of sub Process Flows is sufficient for most
implementations.
Applications Manager 9.4.1
Below are some guidelines to help you decide how large to make a Process Flow:
• If your entire nightly batch processing centers around one application, and each Job is tightly integrated with the
other Jobs, you could run your entire nightly batch processing from one single Process Flow.
• If you have several processing runs that deal with different applications with no interaction, you might consider
creating a Process Flow for each application. Each Process Flow could be scheduled to run at a set time during
the batch processing window.
• If you are running nightly batch processing that involves multiple applications with many interrelated Jobs, you
might create a number of sub Process Flows, then add those sub Process Flows to one main nightly batch
processing Process Flow scheduled to run at the beginning of your batch processing window.
• If you are modeling a Process Flow that is used in several different batch processing sequences, you may want
to create the flow as a separate Process Flow that you can then add to several other larger Process Flows. This
takes advantage of the fact that Process Flows are reusable objects in Applications Manager. If the Process
Flow changes, you can make edits to the Process Flow in one place and they will take effect everywhere the
Process Flow is in use.
To a great extent, whether you use a few large Process Flows, or create many smaller Process Flows will depend
on the preferences of your operations group. Applications Manager can accommodate both approaches.
Managing Large Process Flows
If you choose to create large Process Flows, sub Process Flows and groups can help you manage them. Both
sub Process Flows and groups can be expanded and collapsed to show and hide their components. Collapsing
sub Process Flows and groups can make it easier to see the big picture in a large Process Flow. The image below
shows a collapsed sub Process Flow called DATA_REPORTS.
In contrast to sub Process Flows that are independent objects added to a Process Flow, groups are created within
a Process Flow from components that already exist in the Process Flow. Groups are used to manage collections
of components. For example, groups can display parallel flows in a Process Flow more clearly. Groups, like sub
Process Flows, can be collapsed to save real estate in the Process Flows window. Unlike sub Process Flows,
groups are not independent objects. They exist only with the Process Flow where they are created and you cannot
copy or reuse them.
You also can add predecessor links to standalone Jobs. In this case, the links identify other tasks that must
complete before the standalone Job will execute.
Internal vs. External Predecessor Links
The Process Flow shown above relies on internal predecessors links, which means all links are contained within
the parent Process Flow, in this case NIGHTLY_PRODUCTION. But what if a step in this Process Flow was
dependent on a step in another Process Flow completing successfully? You would need to create an external
predecessor link as shown below. The link goes from the FTP Job in the NIGHTLY_PRODUCTION Process Flow to
the CK_DISK Job in the External References box.
While creating the Job to run this program, you would include a prompt where the department name could be
entered. The image below shows an FTP Job that takes seven parameters:
Applications Manager 9.4.1
Types of Prompts
There are four types of prompts you can create. The type of prompt determines how the information is entered. The
different types of prompts are described below.
Default The prompt has a default value that users are not
allowed to change. Use this type of prompt when the
parameters for a Job do not change frequently.
Single selection from a list Users may select one (and only one) choice from a
predefined list of possible values. The values can
be pulled from any database table. Use this type of
prompt when end-users will be running the Job from
the Requests window and you want to avoid data entry
errors.
Multiple selection from a list Users may select one or more choices from a
predefined list of possible values. The values can
be pulled from any database table. Use this type of
prompt when end-users will be running the Job from
the Requests window and you want to avoid data entry
errors.
can even define the prompt using a SQL query that will pull a list of values from a database table and present
them to a user when they run the Job from the Requests window. For example, a user could run a sales report
and select their region from a list. By selecting values from a list, you eliminate the possibility of a data entry
error.
• If you add the Job to a Process Flow, prompt values for the Job can be retrieved from the Process Flow header
using special numbered Substitution Variables. This means you can enter one set of values in the Process Flow
header, run the Process Flow using those values, then enter a second set of values and run the Process Flow
again. The entire process can be automated so that the sets of values are pulled from rows in a database table.
The Process Flow is run once for every row in the table. This technique is particularly useful for running Oracle's
Multi-Org.
• The action taken is to delay the task by five minutes and run the check again.
When to Use Conditions
Conditions are an optional feature in Applications Manager. You can create a Process Flow and add Jobs to it, and
the Jobs will execute in the order they are displayed in the Process Flow. Schedule the Process Flow to run on
certain days at a specific time, and you are ready to go. It's quick and easy to build and schedule such a Process
Flow, and it may be all you need.
But you will want to add conditions to the components in a Process Flow if you want to synchronize the Process
Flow with events taking place outside of the Process Flow. For example:
• Run a Process Flow a second time when a certain Job in the Process Flow completes. In other words, the two
runs of the Process Flow will overlap, with the second run starting based on completion of a specific Job in the
first run.
• Run a Process Flow only when a certain number of records exist in a database table.
• Run a Process Flow at 10:00 P.M., but ensure that a specific component in the Process Flow does not run until
after midnight.
• Run a Process Flow only if the Job XYZ completed within the last two days.
Jobs, Process Flows, and Process Flow Components
You can add conditions to standalone Jobs, to Process Flows, and to Jobs and Process Flows within a Process
Flow. This gives you a great deal of flexibility in controlling execution of tasks in Applications Manager.
Before, During, and After Conditions
You can create conditions that are checked before, during, or after a Process Flow or component executes. For
example, for one Job in a Process Flow you might create:
• A BEFORE condition that checks if a specific data file exists.
• A DURING condition that sends an email Notification to operators if the task is running too long.
• An AFTER condition that changes the status from FINISHED to FINISHED WITH ERRORS based on the
return code.
You can add as many conditions as you need to control the execution of Jobs and Process Flows.
Multiple Schedules
You can create more than one schedule for a Job or Process Flow. For example, if you want a Process Flow to run
Monday through Friday at 1:00 A.M., and Saturday at 8:00 A.M., you can create two schedules. You can review the
schedules using the 12 Month Display shown below.
Applications Manager 9.4.1
The INVENT Program Type calls the INVENT interface script, which in turn runs the XYZ task in the Inventory
custom application.
Applications Manager 9.4.1
Applications Manager ships with, or has available as add-ons, Program Types and their matching interface scripts
to run some of the more common programs including:
• Java programs
• SCT Banner
• COBOL
• UNIX and Windows shell scripts
• SQL*Plus programs
• Oracle
• PeopleSoft
If you want to run a custom application, or a third-party software program, you must write an Applications Manager
interface script. The advantage of writing an interface script is that once it is written, you can use it to run an
unlimited number of tasks in the target application or program. This is in keeping with the Applications Manager
object-oriented approach to development.
The Development Guide documents how to create Program Type interface scripts. Applications Manager also
offers consulting services to create the scripts.
Sample UNIX Program Type Script
Below is a listing of a sample EXEC Program Type script used to run UNIX shell scripts. The line numbers have
been added for reference and do not appear in the actual script.
1 :
2 #!/bin/sh
3 #copyright 2009 by Automic Software GmbH
4 # $Header:
/isa/devel/soport/so/dev/sostage/RCS/EXEC-EXECS,v
1.2 2004/02/24 19:06:46 billw Exp $
5 arg="$program `$SQLOPER_HOME/exec/ONELINE $par`"
6 eval $arg
7 err=$?
8 if [ -f $file ]; then
9 $AW_HOME/exec/FILESIZE $file $err
10 err=$?
11 fi
12 if [ -f $OUTPUT/$file ]; then
13 file=$OUTPUT/$file;export file
14 $AW_HOME/exec/FILESIZE $file $err
15 err=$?
16 fi
17 exit $err
The table below lists the key functions a Program Type script must perform, and the corresponding lines in the
EXEC program.
Error determination 7, 10, 15, 17 The code err=$? traps the exit
status of the last command
executed.
Versatility
When you define a Notification, you can enter multiple details covering a variety of conditions. For example, you
can enter one detail that sends out an email when a task finishes. The message could read:
where <Job name>, <date>, and <time> are filled in for each particular task.
Applications Manager 9.4.1
You could enter a second detail that sends out a pager message when a task fails. The message could read:
By using the variables in the messages, the Notification object can apply to any task.
Assigning Notifications
After you have defined a Notification, you can assign it to Process Flow components, Jobs, Applications, and
Program Types. Being able to assign Notification objects to Applications and Program Types makes it easy to set
up Notifications for a whole class of Jobs.
Each Output Scan includes one or more rules. To use an Output Scan, you:
• Define the Output Scan object.
• Add rules to the Output Scan.
• Assign the Output Scan to one or more Jobs and Program Types.
Operations
As an operator, you will monitor tasks as they run through Applications Manager.
Applications Manager provides robust operations tools through the Explorer window. From Explorer, you can:
• Monitor the system.
• Run tasks on an as-needed basis.
• Find out what tasks will run during your shift.
• Troubleshoot tasks.
• Take actions on tasks.
• Handle exceptions to normal processing.
• View and print task output.
• Control load on the system.
• Prevent Applications Manager from launching tasks.
Applications Manager 9.4.1
The Explorer window includes three panes and a status bar. The pane on the left displays a navigational tree.
The item you select in the navigational tree determines what is displayed in the top right pane of the window. The
bottom right pane always displays the History.
The Backlog and History
When a task is submitted in Applications Manager, it is sent to the Backlog. Tasks remain in the Backlog until they
complete successfully or are deleted. Selecting Backlog from the navigational tree displays in the top right pane all
tasks in the Backlog.
Applications Manager 9.4.1
When a task completes executing, Applications Manager removes it from the Backlog and writes a record to the
History. Applications Manager also writes records to the History when tasks are killed or when they fail with a status
such as ABORTED.
Taking the Pulse of the System
The status bar runs across the bottom of the Explorer window and provides status at a glance. Its color reflects
the most severe status of the Applications Manager Automation Engine and Agents, and the tasks running in the
Backlog. The status bar colors have the following meaning:
Color Description
When the Explorer window is minimized, the button on the taskbar uses the same color scheme.
Using the Explorer Tree Icons
The navigation pane on the left side of the window provides a tree structure with selectable object icons. When you
select an icon, Applications Manager displays the matching information in the top right pane of the window. The
pane can show:
• The Backlog (tasks waiting to be processed).
• A filtered list of tasks in the Backlog.
• A summary of objects selected in the object tree.
• Tasks in a particular Process Flow.
Viewing Components in a Process Flow
The Explorer tree displays Process Flow components alphabetically to help you find them. When you select a
Process Flow in the Explorer tree, those same components are displayed in the top right Explorer pane according
to your Backlog search criteria. The default sort method is by task status. To view a flow chart of the Process Flow,
right-click the Process Flow icon and select Predecessors.
Sorting Columns
You can sort any of the columns in the Explorer window to help you find tasks. For example, you can click on the
Status column header in the Backlog to display three different sort orders: ascending (alphanumeric), descending
(alphanumeric), and severity of status. When you sort tasks by severity of status, Applications Manager lists the
most severe task statuses first.
Each scheduled Job/Process Flow includes the start date and time and the Job or Process Flow's name. Process
Flows also include a key icon used to expand/collapse them. To create a basic run book, you can print the current
view of the Forecast window.
Production Schedule
If the forecast does not provide enough detail, you can run a Production Schedule report. Part of a sample
Production Schedule report is shown below.
The report shows all tasks that are scheduled to run, tasks that will be skipped because of the day of the week, and
the conditions assigned to each component in a process flow.
Staging Tasks
A third way to find out which tasks are scheduled to run is to "stage" tasks. By default, the Backlog pane in Explorer
only shows tasks whose run date and time have been reached. Therefore, a task that is scheduled to run an
hour from now will not be displayed in the Backlog. You can override this default behavior by staging tasks to the
Backlog ahead of schedule. To stage tasks, you run the STAGING Job. Whether or not you use the staging feature
will depend on how your operations group functions.
If you are strictly a lights out shop, there is little need to stage tasks. You would not schedule the STAGING Job.
In the rare cases when you need to make changes to a task, you would run the STAGING Job ad hoc for that
task only.
If you are an operations-intensive shop, you may want to stage tasks on regular basis by scheduling the STAGING
Job. You can create a schedule that meets your operations requirements. For example, you could stage all tasks
scheduled to run over the next 12 hours.
runtime information and parameters passed to the task, the file includes error messages. A sample system file is
shown below.
To view system files, you right click the task in the Backlog or History, select Output, and select the system file.
Applications Manager displays the file in the Applications Manager file viewer. From the viewer, you can print the
file.
You can also view task details by right-clicking the task in the Backlog or History and selecting Task Details. Task
details show you various Applications Manager settings associated with a task. From a task's details you can view
the standard out file for a failed task to help determine what went wrong.
Applications Manager 9.4.1
If a task in the Backlog is in a non-running status, you can delete it. For example, tasks with a status of SELF WAIT,
ABORTED or KILLED can be deleted. When you have deleted a task, you cannot reset it directly from the Explorer
window.
Removing All Predecessors for Tasks
If a task in the Backlog is waiting for one or more a predecessors before it can run, you can remove the
predecessor(s) to force it to run.
If a task is scheduled to run at a later time, you can stage it so it is put into the Backlog. Once a task is staged you
can view and edit its task details.
Entering Comments
When you take an action on a task in the Backlog, a comment is automatically created by Applications Manager.
If you wish to include additional information, you can include your own comments to provide relevant information
about the processing of a task and why you made changes to the task.
If you want to run a task at a later time, you can post-date its start date and time.
If end-users submit ad hoc reports, they too can view the output files online, and print or email them. Many
companies use the online viewing feature to replace physical distribution of reports.
How to View Reports
Viewing reports online is as easy as right clicking the task in the History and selecting Output Files. You then can
select the report file or the system file and display it in the File Viewer window as shown above.
Viewing Output in Other Applications
If a task generates output in a format specific to an application such as Microsoft Word or Excel, you can configure
Applications Manager to open the file in that application.
You can define as many Queues as needed to manage the load on your system. For example, you may define:
• A batch Queue that accommodates your nightly batch run.
• A high priority express Queue that handles management report requests.
• A low priority Queue that handles field report requests that are not urgent.
Setting Task and Queue Priority
When you define a task, you can assign it a priority. Applications Manager uses the priority setting to determine
which tasks in a Queue should be executed first.
Likewise, you can assign priorities to Queues. Tasks in a higher priority Queue will be executed before tasks in a
lower priority Queue. To ensure that tasks in a low priority Queue will not be shut out completely, you can reserve
threads on a Queue.
Do You Need to Worry About Queues?
Whether you need to be concerned about Queues and priorities depends on the size of your operation. If you are
a small shop running a couple of dozen tasks a day, one Queue may be all you need. On the other hand, if you are
a large shop running several hundred or several thousand tasks a day, you should spend time determining your
system requirements and defining Queues and priorities. The goal is to maximize use of your computing resources
without overloading them, and to ensure that you meet your service level agreements.
When you idle an Automation Engine or Agent, or inactivate a Queue, currently running tasks will complete, but any
tasks waiting will not start.
Resuming an Automation Engine or Agent
If you want to stop processing newly submitted tasks through an Automation Engine or Agent you can idle it. The
Automation Engine/Agent will go to an Idled status and the icon for the Automation Engine/Agent will be displayed
with a yellow triangle over it in the Explorer tree. Tasks in the Backlog set to run on an Agent in an Idled status will
have a task status of AGENT WAIT. To take the Automation Engine/Agent out of the idle status, you resume it.
Activating Queues
If a Queue is inactive, Applications Manager will still submit scheduled tasks to the Queue but they will have a
status of QUEUE WAIT. When you reactivate the Queue, Applications Manager will process the tasks based on
their priority settings.
5 Installation Guide
The Installation Guide documents the installation procedures for Applications Manager.
The Installation Guide documents the installation procedures for Applications Manager. It is part of the complete
Applications Manager documentation set which includes:
• Getting Started Guide
• Installation Guide
• User Guide
• Development Guide
• Administration Guide
• Oracle Applications Extension Guide
• PeopleSoft Extension Guide
Text Conventions
The following text conventions are used throughout this guide:
• User interface field names, menu items, and window names are written in bold.
• File names and text within scripts are written in bold.
• Variable text is written <within brackets>. In the example below <run ID number> represents the actual run ID
number of a requested Job.
If you submit a large Process Flow, the message will read, 'Task submission in progress: Run ID = <run ID
number>' until all components of the Process Flow have been placed into the Backlog.
Applications Manager 9.4.1
We set jdk.tls.ephemeralDHKeySize to Java version-specific values: 2048 for Java 1.8 and above. If you want
to use 2048 bit certificate keys, both the server (rmiserver) and the client (UI or AgentService) need to be running
Java 1.8 or above. For more information, see your Java documentation.
SSL
The SSL that ships with Applications Manager is the global (exportable) version.
If you want to run with the domestic package, download and unzip the domestic package installation files, then
replace the jar files jcert.jar, jsse.jar, and jnet.jar in the classes directory with the ones from the download. The
classes directory can be found in the following Applications Manager directories:
UNIX:
$AW_HOME/web/classes
Windows:
%AW_HOME%\web\classes
HP-UX Systems
If you are installing Applications Manager on an HP-UX system, the HP-UX Runtime Environment for the Java 2
Platform must be installed on your system prior to running the Applications Manager installation. The installation
must be performed by the HP UNIX administrator with root access. For all other platforms, the Java 2 Platform is
installed by the Applications Manager installation script.
Report Storage Requirements
You will need 300 MB of free disk space on the host before proceeding. There must also be enough disk space to
hold all the output (reports and system listings) from Jobs for the retention period specified. If you will be creating
many large reports, you will need more storage space. The Applications Manager administrator should monitor the
file system to ensure there is adequate space available.
Specifying Ports for Firewalls or Other Purposes
If you have a firewall in place, you will want to specify ports for your Applications Manager processes. During the
installation, you will be asked if you have a firewall in place. If you answer yes, you will be able to specify the port
value(s) at that time. If you are not sure which ports to use, consult your network administrator before installing. For
more information on firewall configuration and port assignments, see Overview of Firewall Settings.
Major Steps
The major steps in the installation process are:
• Create the UNIX account or Windows user.
• Create the Oracle database account.
• Run the installation script.
• Start the supporting servers.
• Start the Automation Engine and Agent processes.
• Verify the installation.
Each step is described in detail in this chapter.
The recommended shells for the account are either KORN or BOURNE shell. The account name can be any
valid UNIX name. In this manual, we represent the UNIX login name as am. You must be logged into the
Applications Manager UNIX account when you perform the install.
2. Pick or create a directory into which you will install Applications Manager.
It is usual practice to set the home directory for the Applications Manager UNIX account (in .profile) to the
install directory for Applications Manager. In this manual, we typically represent the install directory as /home/
users/am.
3. If you will be installing an Automation Engine and Local Agent, ensure that the environment allows Applications
Manager access to the database it will use for its repository by modifying the .profile file for the Applications
Manager UNIX account.
When the Database Is On a Different Machine Than the Automation Engine
If the database is on a different machine than the Applications Manager Automation Engine, you must set the
TWO_TASK variable. To set TWO_TASK, add the following line to the $AW_HOME/site/sosite file where <Oracle
Sid> is the actual name of your Oracle Sid:
Remember, you must log out and log in again after changing any user rights. Otherwise, the changes will not
take effect. You should determine which user(s) the Applications Manager services are going to run as before
proceeding with the installation. You will perform the installation as Administrator.
Special Circumstances
Occasionally, certain Windows host configurations do not allow the Applications Manager WatchWorx service to be
installed using a specific user/password. If you are unable to install the Applications Manager service as a specific
user on your Windows host, Broadcom recommends that you do the following:
Applications Manager 9.4.1
1. Install the Windows Automation Engine/Agent, but leave the Windows User and Password fields blank. By
default Applications Manager installs into the Administrator Account.
2. After you complete the installation, go to the Windows Services and locate the AWW-<Agent name> service.
3. Ensure that the AWW-<Agent name> service's Startup Type option is set to 'Automatic'.
4. Change the Log On As from 'System Account' to 'This Account.' Enter the Windows user account and the
password.
5. Be sure to update the service with an appropriate Windows user name and password.
When the Database Is on a Different Machine than the Automation Engine
If the database is on a different machine than the Applications Manager Automation Engine, you must set the
LOCAL variable. For a new Automation Engine LOCAL should be set in the environment prior to running the
installation. For an existing Automation Engine LOCAL can be set by adding the following line to the %AW_HOME
%\site\sosite.bat file where <Oracle Sid> is the actual name of your Oracle Sid:
LOCAL=<Oracle Sid>
2. To give the Applications Manager account the privileges required to create tables, views, indexes, procedures,
triggers and sequences, issue the following commands:
In the commands above, replace <am>, <tspace>, and <tmpspace> with appropriate values for your system.
3. To prevent the Applications Manager installation script from prompting for the Oracle sys password, you can
grant the appropriate privilege to a system table ahead of time. Make the following grants from the Oracle sys
account:
If you have multiple Automation Engines running in the same database, and you try to install a new Automation
Engine in the same database, you may have trouble granting access to dbms_pipe. If you have trouble, try
stopping the other Automation Engines.
Notes for Oracle 12c and Above
When using Oracle 12c database and you have an Oracle Enterprise Edition multi-tenant system or Oracle
Standard Edition single tenant system, you must install Applications Manager into a pluggable database (PDB)
within a container. Your DBA is responsible for creating the pluggable database.
Oracle 12c and above require the following additional grant:
This is a new requirement as of this release, because the RESOURCE role no longer grants the UNLIMITED
TABLESPACE system privilege by default.
You can change UNLIMITED to 100M or whatever size you feel is appropriate as shown below if space is a
concern.
All the installation related SYS accounts and passwords are for the PDB (each PDB has its own SYS account just
like a database instance prior to 12c).
(Re)granting Access After Rebuilding the Oracle Database
If you rebuild the Oracle database where Applications Manager is installed any time after an initial Applications
Manager installation, you must (re)grant select execute access to the Oracle system table (SYS.V_$SESSION)
and execute to the procedures dbms_pipe, dbms_lock, and dbms_application_info. To do this, you must run the
sysdba.sql script located in the Applications Managersql directory.
To run the script, log into SQL*Plus using the Applications Manager Login and password, then type 'start sysdba'.
The script will prompt you for the sys Oracle password then grant select access to the SYS.V_$SESSION system
table and the procedures. You can also regrant access by executing the SQL statements shown above in Step 3.
Dropping the Database Pipe
If you must drop an Oracle user, your DBA must first drop the database pipe (otherwise you will have to stop and
restart the database before you can reinstall).
Applications Manager 9.4.1
Applications Manager Oracle login none This is the login name, and
name, and password. password to the Applications
Manager Oracle database account
you set up.
Virtual day start time 00:00 This is the time when your daily
processing day starts (usually 00:00
for midnight).
Host name and port for SMTP server none Applications Manager can send out
Notifications of events via email. If
you wish to use this feature, you will
need to enter the host name and
port number of your SMTP server.
Email address for Notifications none The email address you want as the
sender for Notifications.
Automation Engine require its own Yes The Automation Engine must use its
RMI server own RMI server.
RMI registry port 1099 The client uses this port when it
makes initial contact with the RMI
server.
syspassword@pdbname
Parameter Description
RMI Server Port The return port the Agents' AgentService process uses
to communicate to the Automation Engine. This lets
TCP/IP pick random ports each time the processes are
started. This is the typical situation when a firewall is not
in place.
This port is only ever specified in the Automation
Engine's awenv.ini file.
RMI Data Port The listener for the RMI server. Needs to be specified
when a firewall is on the Automation Engine machine.
In UNIX, when you run the installation script, Applications Manager displays the default information for prompts in
brackets [ ]. You can accept the default by pressing the Enter key at the prompt, or type in a response and press
the Enter key.
To run the installation script:
1. Log into the Applications Manager UNIX account.
If necessary, change to the directory where you want Applications Manager installed.
You must be logged into the Applications Manager UNIX account or be logged in as the appropriate Windows
user, and be in the Applications Manager directory for the installation procedure to work correctly. Moving the
files after the installation is complete requires some effort. It is best to install into the correct directory the first
time.
In UNIX, if you transferred files to a staging directory, verify that all the Applications Manager files are owned
by the Applications Manager UNIX login and group. If they are not, the installation will fail. Use the chown and
chgrp commands to modify the ownership if necessary.
2. From the directory in which you want Applications Manager installed, run CDINST.SH on the host.
Be sure to set permissions for the CDINST.SH file.
3. Follow the on-screen prompts using the information from topic System Information Required for the Installation.
4. When presented with the menu of installation options, choose the following option and continue.
. .profile
Applications Manager 9.4.1
The following lines have been added to $HOME/.profile during the installation process:
AW_HOME=/home/<am>;export AW_HOME
. /home/<am>/site/sosite
startso
stopso master
In this series of commands, the startso command starts the awcomm, AgentService, and RmiServer processes
on the Automation Engine.
The stopso master command puts the Automation Engine into a Stopped status, but doesn't stop any processes,
because those elements are performed on threads of the RmiServer process.
Accommodating More than One awcomm Process
If there will be more than one awcomm process running on a host, you must set a different port number for each
process. For information on sharing processes between multiple Agents on the same host, see Installing Multiple
Automation Engines on One Host.
To start the processes from the DOS prompt, issue the startso command. The startso command will start all
applicable Applications Manager processes for the current environment. If an Automation Engine and Local Agent
are installed, startso will start both Automation Engine and Agent processes. If only a Remote Agent is installed,
startso will start only the Agent process.
To stop the processes from the DOS prompt, issue the stopso command. The stopso command will stop all
applicable Applications Manager processes for the current environment. If an Automation Engine and Local Agent
are installed, stopso will stop both Automation Engine and Agent processes. If only a Remote Agent is installed,
stopso will stop only the Agent process.
Starting and Stopping Processes with startso and stopso
The startso and stopso commands are used to start and stop Applications Manager processes. You can issue
them by themselves or with parameters. It is generally recommended that you start and stop processes with the
basic startso and stopso commands, or if monitoring processes with WatchWorx, with the startso watchworx
and stopso watchworx commands. Additional parameters that can be used with the startso and stopso
commands are described in the Administration Guide.
Starting Processes, but not Backlog Tasks
If you are starting Applications Manager as part of a boot sequence, you may want to start Applications Manager
processes, but not allow the Automation Engine to execute tasks until you have had a chance to view the contents
of the Backlog. You can set this up with the following series of commands.
startso
stopso master
In this series of commands, the startso command starts the awcomm, AgentService, and RmiServer processes
on the Automation Engine.
The stopso master command doesn't stop any actual processes, because those elements are performed on
threads of the RmiServer process.
You must download the Applications Manager client from the URL set during the installation your Applications
Manager sent you . Before logging in the first time, you need to configure the client for the Automation Engine(s)
you will be logging into. Once configured, you open an executable .jar file. To log into the client, you must enter
your User name, password, and select an Automation Engine.
Downloading and Opening the Applications Manager Client
To download and open the Applications Manager client:
1. Open your browser and enter the URL set during the installation your Applications Manager sent you. The
screen shown below is displayed.
The default format for the URL is http://<Automation Engine IP address>:<Web Server port number>/
<Automation Engine name>/Intro.html.
For example, if the Automation Engine IP address is 200.2.2.123, the port number is 8080, and the
Automation Engine name is PROD1, the URL would look like the following:
http://200.2.2.123:8080/PROD1/Intro.html
Applications Manager 9.4.1
The Applications Manager client requires a supported version of the Java Runtime Environment (JRE). For a
list of compatible Java versions, click the Compatibility Matrix link.
2. From this page, click the Download the Applications Manager Client link.
This downloads the Client.zip file.
3. Create a directory on your local PC for the client, for example, C:\AM_Client.
4. Move the Client.zip file to the directory you created and unzip the contents in that location.
5. Copy connections.properties.template to connections.properties.
6. Edit connections.properties. Replace {MASTER} with the name of your Applications Manager
Automation Engine and {URL} with the URL to your Applications Manager Automation Engine, such as,
http://127.0.0.1:8080/AMPROD.
For example, you might replace...
{MASTER}={URL}
With...
AMPROD=http://127.0.0.1:8080/AMPROD
To add connection information for additional clients, simply add additional lines in the same format.
7. Copy client.properties.template to client.properties.
8. Optionally, edit client.properties to set client properties.
Text from a sample client.properties file is shown below.
#localOptions=true
#debug=true
#logDir=log
#JAVA_HOME=C:/Program Files/Java/jdk-11
Applications Manager 9.4.1
runOptions=-Xmx256m
#debug=true
It is also possible to set client debug from the About Applications Manager window once you are logged
into the client. However, it is advantageous to set it here, so that debug is on for the client start-up.
• logDir: Allows you to override the name of the sub-directory where client log files are written.
The client log sub-directory includes the following files:
• client.log: Includes all client standard and debug logging up until you click OK on the Logon window.
• <master or connection name>_client.log: Includes all client standard and debug logging for your
client session.
• JAVA_HOME: Allows you to use a different Java than your PC's default Java.
You must use either forward slashes (recommenced) or double backslashes in the path. This is the
standard for Java properties files.
To see your PC's default Java, open a command prompt and type java -version.
• runOptions: Used to increase the memory for your client. Don't make any changes to this setting unless
directed to by Applications Manager support.
• TheuserLanguageFiles: This setting is hidden in the client.properties file and in the documentation by
default. It allows you to specify a master name to use language translations on. When a master is specified,
there will be a drop-down with the languages, which are specified in the Options.properties file for the
master. We believe no one uses this desupported feature anymore.
9. Use RunClient.jar to start the Applications Manager client.
Applications Manager displays the Login window shown below.
Optionally, you may create a shortcut of RunClient.jar and place the shortcut on your desktop.
If the Logon window does not come up, open command window, navigate to the client directory, and enter
java -jar RunClient.jar to see the output. This information will help you or Applications Manager support
troubleshoot the problem.
When starting the local client by double clicking on RunClient.jar (or a shortcut to it) in version 9.3.1 or above,
if it fails to start the error will now be in the startClient.log file.
10. On the Logon window, specify your User, password, automation engine.
User names are not case sensitive, but passwords are.
If you do not know your User name and password, check with your Applications Manager administrator.
11. If the Language field is available, select your language.
Specifying languages for the client is a desupported feature. The Language field is only available in
Applications Manager systems where languages were translated in a previous version.
12. On the Logon window, specify the following:
• The default user name SQLOPER.
Applications Manager 9.4.1
When the Receive RmiServer Error Broadcasts User Option is assigned to a User, any RMI errors will be
displayed in a pop-up window as they occur. Additionally, if any RMI errors occurred since the last time the RMI
server was started, the last ten errors will be displayed in a pop-up window each time the User logs on.
If you have the DBA User Group, you can clear the RMI errors without stopping the RMI server by selecting Clear
RMI Errors from the View menu on the Applications Manager Desktop.
Re-Logging on to Applications Manager
There may be times when you want to log on to Applications Manager under a different user name or connect to
a different Automation Engine. To change your logon from the desktop, go to the File menu and select Re-Login.
You will have to re-enter your password when you re-log in, unless the Disable clearing of login passwords on
re-login Automation Engine option is checked.
Changing Your Password
You can change your password at any time. Your Applications Manager administrator can also set your password
to expire after a certain period of time.
To change your Applications Manager password go to the Options menu on the Applications Manager desktop and
click Change Password.
Accessing the Client Through a Firewall
If you will be accessing the Applications Manager client through a corporate firewall, you must open the appropriate
ports, and specify those ports in the Options.properties file on the host machine.
For details, see Configuring the Applications Manager Client.
For details, see the Installation Guide.
3. Select TEST_JOB from the list and click Request. To quickly find TEST_JOB, type the letter 't' in the Search
field.
The Submit window appears as shown below. TEST_JOB requires one prompt value—a number of seconds to
sleep. It has a default value of 5 (seconds) which will work for now.
4. To run TEST_JOB, click Submit & Close.
Applications Manager 9.4.1
5. To monitor the task, open the Activities menu and select Explorer.
The TEST_JOB should complete successfully with a status of FINISHED. The TEST_JOB will then leave the
Backlog and a record will be displayed in History.
Verification Complete
If TEST_JOB finished, then Applications Manager has been installed correctly. Verification is complete. If you have
special considerations in your environment, you may want to look in chapter Applications Manager Installation—
Advanced Topics for additional information.
If TEST_JOB did not run, or did not complete with a status of FINISHED, contact Broadcom Support.
Applications Manager 9.4.1
$AW_HOME/web/classes
Windows:
%AW_HOME%\web\classes
Options.properties
The Options.properties configuration file controls how the Applications Manager clients interact with the
Automation Engine, and other features such as the image used for the splash screen. The file includes host,
database, and login information. The file is self-documenting. However, if you have questions about altering the file,
contact Braodcom Support.
Accessing the Client through a Firewall
If you will be accessing the Applications Manager client through a corporate firewall, you must open the appropriate
ports, and modify the Options.properties file on the host machine. For details, see Overview of Firewall Settings.
When Applications Manager creates the OS user, it does not assign it a password, because you should not have to
log into Applications Manager as the OS user.
If you must log into Applications Manager as the OS user, go to the Users window, select the OS user, and create
a password as shown below.
Applications Manager 9.4.1
bin/CLASSPATH
/web/classes/AppWorxLang.jar
Applications Manager 9.4.1
/web/classes/UserWorx.jar
ORCLFAILOVER =
(DESCRIPTION_LIST =
(FAILOVER = TRUE)
(LOAD_BALANCE = FALSE)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)
(HOST = vip-linux1)
(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = awrac.am.com)
(INSTANCE_NAME = awrac1) ) )
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)
(HOST = vip-linux2)
(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = awrac.am.com)
(INSTANCE_NAME = awrac2) ) ) )
$AW_HOME/web/classes
Applications Manager 9.4.1
Windows:
%AW_HOME%\web\classes
The entry is "OracleRAC" and it is nearly identical in content to the tnsnames.ora entry. It should contain all the
information for the database instances that Applications Manager can connect to. Here is an example of the same
connection above as it would appear in Options.properties:
OracleRAC= (DESCRIPTION = \
(ADDRESS = (PROTOCOL = TCP) \
(HOST = vip-linux1) \
(PORT = 1521)) \
(ADDRESS = (PROTOCOL = TCP) \
(HOST = vip-linux2) \
(PORT = 1521)) \
(LOAD_BALANCE = FALSE)\
(FAILOVER = TRUE) \
(CONNECT_DATA = (SERVER = DEDICATED)\
(SERVICE_NAME = awrac.am.com) ) )
Note that the slashes at the end of each line are required so the entry is interpreted by the RMI Server as one
continuous line.
Also, setting the OracleRAC line will override the DB_IP, DB_PORT, and DB_SID in the awenv.ini file.
Notes on Behavior
At this time we recommend using Applications Manager only in a FAILOVER configuration for Oracle RAC. Load
balancing configuration should be avoided.
Our processes 'sleep' and 'wake up' on Oracle DMBS pipes. Pipes are instance-specific, so if Applications
Manager processes are balanced across instances, then wake-ups issued by one process may not reach the
target process. The Automation Engine and Agent sleep times can be reduced, but this is not ideal because of
performance issues.
Expected Failover Behavior
When a failover happens (one instance goes down), the Applications Manager processes should connect to the
new Oracle instance fairly quickly. Because some of the database processes might have been issuing a database
transaction at the time of the failure, it is possible to lose a transaction or two during this switch. This could result in
a task going into a DIED status or a node going into BUSY status.
We have not seen this in our testing, but it is a possibility. Our processes will retry most statements if they get a
failure on the first try.
If these types of errors do happen, it is expected behavior and not critical. For died tasks, check the task output to
see that the process was finished (it should have been). Agents that go into a BUSY status should go back to a
RUNNING status at the end of the sleep cycle after the Applications Manager stack has reconnected.
• Web server
• RMI registry
• RMI data port
When installing multiple Automation Engines on one host, you will need to pay careful attention to your
environment. For example, on UNIX you need to consider how you call sosite. When sosite is called in the UNIX
user's .profile script, that means the wrong sosite might be invoked. Different situations call for different solutions,
but consider running Automation Engines under different OS users or invoking the sosite file manually, not in
.profile.
The awcomm Process
The awcomm process provides a port directory service for the Automation Engine machine. You need only one
awcomm process, even if you are running different Applications Manager instances and versions. This is possible
because you can shut down an Applications Manager instance without shutting down the awcomm process.
The default setting for the awcomm port is 2136. To change the awcomm port, edit the AWCOMM_PORT line in
the [default] section of the awenv.ini file in the site directory.
RMI Registry Port
The default setting for the RMIRegistryPortNumber is 1099. The file you need to edit to change the port is listed
below.
The Options.properties file in the following directory:
UNIX:
$AW_HOME/web/classes
Windows:
%AW_HOME%\web\classes
RMIDataPortNumber Port
The default setting for the RMIDataPortNumber is 0. The actual port used will be a randomly chosen open port.
You can keep this at 0 for all your Automation Engines, if you want (as long as you don't have a firewall). The file
you need to edit to change the port is listed below.
The Options.properties file in the following directory:
UNIX:
$AW_HOME/web/classes
Windows:
%AW_HOME%\web\classes
RMI server process: The RMI server process is a Java process that runs on the Automation Engine machine. The
RMI server IP address is the only IP that is specifically set during the install. This setting, RMIHostID, is specified in
the Options.properties file.
The location for the Options.properties file is:
UNIX:
$AW_HOME/web/classes
Windows:
%AW_HOME%\web\classes
The Automation Engine process runs as a thread under the Java process that also runs the RMI server. It will use
the same IP address that the RMI server uses, which is the RMIHostID setting.
Agent service process: The Agent service process is a Java process that runs on every Agent. The Agent service
by default uses the IP address returned by the gethostbyname function. You can see what this is by executing
the gethost program in the c directory on the Agent. This will be the return IP address that the Automation Engine
machine will use to communicate back to on the Agent. It will also be used for validation and should match the IP
address that is set in the client's Agent manager when creating the entry for the Remote Agent.
If gethost does not return the correct IP, it needs to be set manually. To set this manually to a different IP address
you can set the variable AgentIP in the awenv.ini file.
awapi process: Each Agent has an awapi process that connects to the Local Agent service process. In order for it
to connect successfully, the awapi process must be validated by the Agent server process. To do this, it compares
the Applications Manager OS user and IP address that the awapi process starts under to the OS user and IP
address that were set when creating the Agent object.
The awapi process will also use the IP address returned by the gethostbyname function, which you can determine
by executing the gethost program in the c directory on the Agent. This cannot be changed. However, if this does
not match what is in the Agent definition, you can create a file named remote_rmi.dat in the data directory on the
Agent to allow the Agent service to validate the awapi. This file should contain one line with the values:
So, for example, it would look like this if the IP address in the Agent definition is set to '200.1.1.1':
Sample Configuration
Here is an example of the settings for a network with multiple IP addresses:
Automation engine machine:
• Automation engine name: MSTR_TEST
• IP addresses: 200.1.1.1, 200.1.1.2
• IP address for clients to access: 200.1.1.1
• IP address used for communicating to Agents and that Agents will communicate to: 200.1.1.2
• IP Address returned by gethost: 200.1.1.2
Remote Agent machine:
• Agent name: RA_TEST
Applications Manager 9.4.1
• User: awuser
• IP addresses: 200.1.1.3, 200.1.1.4
• IP address set in the Agent definition: 200.1.1.3
• IP address returned by gethost: 127.0.0.1
Automation engine settings:
The Options.properties file will have the following setting:
RMIHostID=200.1.1.1
[default]
RMIServerIP=200.1.1.2
[default]
AgentIP=200.1.1.3
UNIX:
$AW_HOME/web/classes
Windows:
%AW_HOME%\web\classes
• RmiRegistryPortNumber <-> Applications Manager client: Activity will occur when the client first logs in,
then this connection is closed. Activity will occur on the entry of data and during the refresh process. This
connection is dependent on auto-refresh being on if no interaction is taking place.
• The Applications Manager Automation Engine runs on an IP address, but is recognized as having another IP
address.
• For failover, you may need to list the IP addresses of multiple Automation Engines, Agents, and/or clusters that
are used by a Remote Agent.
When the Automation Engine communicates with the Remote Agent, the incoming IP address is validated. To
validate the Automation Engine's IP address, the Remote Agent checks its awenv.ini file in the site directory for
the IP address listed on the MASTER_IP_ADDRESS line. If that IP address does not validate, the Agent checks
the IP address listed on the ALT_MASTER_IP_ADDRESS line (if present). Sample code from the awenv.ini is
shown below:
MASTER_IP_ADDRESS=400.3.2.45
ALT_MASTER_IP_ADDRESS=444.3.2.66
keytool -keystore user_keystore -keyalg RSA -genkey -alias "AM" -storetype JKS -storepass
<password>
The following is a sample location where the file gets generated: C:\Program Files\AdoptOpenJDK
\jdk-11.0.6.10-hotspot\bin
• With CA issued certificate:
A .CER file can be imported to a keystore using the following command:
keytool -importcert -file certificate.cer -keystore user_keystore -alias "AM" -storetype JKS -
storepass <password> -trustcacerts
The following is a sample location where the file gets generated: AW_HOME\data
CA Issued Certificate
From 9.3.5 and above, if the Certificate is CA Issued Certificate, copy the generated user_keystore and
user_keystore_config files to the <install-dir>\data directory present on the Automation Engine
machine.
Applications Manager 9.4.1
If the certificate is self-signed, user_keystore and user_keystore_config files need to copied to Remote
Agents and Client machines.
On each user's client machine, create a C:\Users\<user name>\AppWorx\<master name> folder for each
master in the connections.properties file where <user name> is the actual user's name and <master
name> is the name of the master. Then place copies of the user_keystore and user_keystore_config
files for each master in the sub-directory for that master. This allows for different keystores to be used on each
master.On each Remote Agent machine, the user_keystore and user_keystore_config files need to be
copied to data directory of the Remote Agent installation directory.
. sosite
Windows:
sosite
stopso all
stopso awcomm
rm -r $AW_HOME
The WatchWorx service monitors Applications Manager processes and restarts them if they stop. You should
remove the service before you remove the Applications Manager directory. To remove the WatchWorx service on a
Windows system, run the Applications Manager installation script awinstall and choose option 6.
Removing the AW_HOME Directory in Windows
When you installed Applications Manager, you designated a home directory. You must remove this directory and all
sub directories and files.
To remove the directory:
1. Using Windows Explorer, navigate to the parent directory of the Applications Manager home directory.
2. Delete the directory.
Dropping the Oracle User
When you installed Applications Manager, you created an Applications Manager Oracle user, usually 'am' or
something similar. You must drop the user and all tables associated with the user.
If it becomes necessary to drop an Applications Manager Oracle user, you must first run the following SQL*Plus
script logged in as that particular Oracle user (otherwise you will have to stop and restart the database before you
can reinstall):
Where <user name> is the name of the Oracle user and is not SYS or SYSTEM.
To drop the user, log into Oracle as SYS and issue the following command:
You must have AW_RMI_ONLY set in the sosite file. This is set automatically by the installation script in order
to prevent the start of an AgentService process.
If you ever want to add a Local Agent to the RMI server, you can re-run the installation script, and enter Y for the
Install Automation Engine's Agent prompt.
2. In the awenv.ini file for each AgentService, add the line for the failover RMI server:
alt_master_ip_address=<IP address>
3. Specify the new RMI server as an allowable RMI server by designating it as a master on the RMI Servers tab of
the Connections window in the Applications Manager client.
The Connections window is limited to Users who have the DBA User Group. If you do not have access to it,
see your Applications Manager administrator.
In the image above, the Automation Engine is shown at the top of the table. Its session ID is 3025715. Its
corresponding RMI server (RmiServer) has the same session ID. The Automation Engine's Local Agent is
named V9AM01 and displays the same IP address as the Automation Engine's RMI server. The final item is the
second RMI server.
The last column in the table, Master, applies only to the RMI servers. If "Ok" is displayed in the column, it
indicates that the RMI server can support the Automation Engine.
Applications Manager 9.4.1
To activate an RMI server to serve the Automation Engine, double-click the entry in the table. This will toggle the
entry from "No" to "Ok". To toggle the entry back to "No", double-click it again.
RMI Failover Behavior
The Applications Manager Automation Engine supports active-passive failover. A secondary Applications
Manager RMI server can be setup and run in stand-by mode (active-passive), so that in the event that the primary
Applications Manager Automation Engine goes down, the stand-by RMI server will become the active Automation
Engine. When the stand-by RMI server becomes active, the Agents will reconnect to it automatically; with the
exception of the Local Agent. That is because the Local Agent is part of the Automation Engine installation, and
integrated with the specific Automation Engine system. Therefore, in systems that require RMI server failover, it is
recommended that all Jobs be setup to run on Remote Agents.
The name can be up to 30 characters long. If you install two or more Remote Agents on a machine, do not
give them the same name (even if they report to different Automation Engine instances). The following are
reserved words that cannot be used for Automation Engine or Agent names: ALL, APPWORX, AWCOMM,
AGENTSERVICE, AWAPI, RMI, RMISERVER, AGENT, and MASTER.
• Description
A description of an Agent can be up to 30 characters long.
• IP address
The IP address or DNS name.
• CPU Limit
Defines the percentage of CPU usage where Applications Manager will spawn no new tasks. When an Agent
reaches its CPU limit it will go into a CPU WAIT Agent status. Tasks waiting to run on an Agent that has
reached its CPU limit will go to an AGENT WAIT status. The default is 80% for newly created Agents or 99%
for Agents that were upgraded from a version of Applications Manager before this feature existed. You can
see actual CPU usage percentages for Agents in the Cpu column on the Agent Summary on the Explorer
window. The CPU usage is updated about once every minute for each Agent and the Automation Engine.
• Thread Schedule
Sets the maximum number of concurrent tasks that can run on the Agent at one time in all Queues.
Editing the Thread Schedule of the Automation Engine/Local Agent from this field will change the setting for
only the Local Agent.
Thread Schedules can be changed for the Automation Engine and Agents from the Explorer window.
• OS type
Indicates that the operating system is UNIX.
• User
The operating system user for the Agent. The User selected determines the Awexe range assigned to the
Agent. Be sure your Agents are assigned to a User with the full Awexe range, which is 1000-9999. Users
assigned to a Remote Agent require an Awexe range for the Agent to start.
Warning: This User should never be SQLOPER.
1. Log into the Applications Manager UNIX account on the remote host, and if necessary, change to the directory
where you want the Applications Manager Remote Agent installed.
You must be logged into the Applications Manager UNIX account and be in the Applications Manager directory
for the installation procedure to work correctly. Moving the files after the installation is complete requires some
effort. It is best to install into the correct directory in the first place.
If you transferred files to a staging directory, verify that all the Applications Manager files are owned by the
Applications Manager UNIX login and group. If they are not, the installation will fail. Use the chown and chgrp
commands to modify the ownership if necessary.
2. From the directory in which you want the Agent installed, run CDINST.SH on the host.
Be sure to set permissions for the CDINST.SH file.
After completing the initial install, you can run agentinstall and bypass cdinst by typing:
sh agentinstall
The agentinstall program can be used to modify the current agent-related parameters for the Applications
Manager installation.
3. Follow the onscreen prompts.
4. After completing the installation script, enter the command as shown below to establish the proper environment,
or log out of UNIX and back in.
. .profile
The following lines have been added to $AW_HOME/.profile during the installation process:
AW_HOME=/apps/appworx_a;export AW_HOME
. /apps/appworx_a/site/sosite
* There must be enough disk space to hold all the output (reports and system listings) for the retention period of the
Job.
Accessing the Remote Agent Through a Firewall
When running the Remote Agent install script, you will be asked if you have a firewall installed. If you answer yes,
you will be able to specify values for the following ports:
• Agent Server Port
• Agent Client Port
• Stack Server Port
• Stack Client Port
It is a good idea to specify the same port numbers on each Remote Agent to minimize the number of ports you
have to keep open on the Automation Engine's firewall.
After specifying port numbers for the Remote Agent (as well as for the Automation Engine), you must open the
appropriate ports in your firewall software on the Automation Engine/RMI server, Agent, and client. If you need to
change your firewall ports, you can do so by re-running the install script. For more information on the ports you
need to open for inbound and outbound firewalls, see Overview of Firewall Settings.
Administrator (recommended) or Applications Manager • Advanced User Right: act as part of the operating
system
• Advanced User Right: log on as a service
• File access permissions to run the programs you
wish to run with this Automation Engine and Local
Agent.
Applications Manager 9.4.1
Remember, you must log out and log in again after changing any user rights. Otherwise, the changes will not
take effect. You should determine which user(s) the Applications Manager services are going to run as before
proceeding with the installation. You will perform the installation as Administrator.
Special Circumstances
Occasionally, certain Windows host configurations do not allow the Applications Manager services to be installed to
a specific User/Password. If you are unable to install the Applications Manager services as a specific user on your
Windows host, Applications Manager recommends that you do the following:
1. Install Windows Remote Agent and Network Listener Services; however, leave the User and Password fields
blank. By default Applications Manager installs into the System user account.
2. After you complete the installation, go to the Windows Services and locate the AWW-<Agent name> service.
3. Ensure that the AWW-<Agent name> service's Startup Type option is set to 'Automatic'.
4. Change the Log On As from 'System Account' to 'This Account.' Enter the Windows user account and the
password.
5. Be sure to update the service with an appropriate Windows user name and password.
1. Backup {Tomcat_home}/conf/server.xml.
Applications Manager 9.4.1
3. Add <Context path> attribute where path={AM Master} and docBase={location of AM web
folder}
<Context path="/AM_DEV"
docBase="C:/AM_DEV/web/"
reloadable="true"
crossContext="true"/>
Before you begin the upgrade, stop the Applications Manager processes and back up the Applications Manager
database account.
Make sure you have the following information before proceeding:
• The Applications Manager UNIX account login and password or the Applications Manager Windows
administrator login.
• The Applications Manager Database Login and password
Procedure
To upgrade an Applications Manager Automation Engine and Local Agent:
1. Stop all Applications Manager processes, including awcomm. You can kill all Applications Manager processes
by issuing the following commands:
stopso all
stopso awcomm
If you have multiple RMI servers installed for RMI failover, you must stop the RmiServer processes on all
machines where they are running.
2. Log into the Applications Manager account, and if necessary, change to the directory where Applications
Manager is installed.
In UNIX, you must be logged into the Applications Manager UNIX account and be in the Applications Manager
directory for the installation procedure to work correctly. If you transferred files to a staging directory, verify
that all the Applications Manager files are owned by the Applications Manager UNIX login and group before
running the install script. If they are not, the upgrade will fail. Use the chown and chgrp commands to modify
the ownership if necessary.
3. From the directory in which you want Applications Manager installed, run the installation script. In UNIX, the
script is CDINST.SH. In Windows, it is cdinstall.bat.
4. Follow the onscreen prompts.
Note that the required information for an install/upgrade may have changed since you first installed Applications
Manager. For more information on the current requirements, see System Information Required for the
Installation.
5. When presented with the menu of upgrade options, choose:
. .profile
chmod 4711 c/SURUN
chown root c/SURUN
Applications Manager 9.4.1
2. If you are using surun, make sure you move the surun file to the SURUN directory. From the User account
$AW_HOME/c directory, type:
mv c/surun c/SURUN
CDINST.SH
Applications Manager 9.4.1
Windows:
cdinstall.bat
. .profile
chmod 4711 c/SURUN
chown root c/SURUN
2. If you are using surun, make sure you move the surun file to the SURUN directory. From the User account
$AW_HOME/c directory, type:
mv c/surun c/SURUN
If TEST_JOB finished and you can view the output file, then Applications Manager has been upgraded correctly.
Verification is complete.
2. From the Rapid Automation Loader window, browse to a directory where RA components are on your PC
using the Browse button.
3. Select a component from the Available Components box.
4. Optionally enter an ID number for the component in the ID field. If you don’t enter an ID number the next
available number will be used.
In most cases you would not need to worry about ID numbers. You would only need to set one in rare cases
such as when an Agent with references is deleted out of the database and it needs to be recreated with the
same number in the SO_OPERATORS table.
5. Click OK or Apply.
OK saves the changes and closes the window. Apply saves the changes and keeps the window open. In either
case a confirmation window will tell you that the component was loaded and the component will be added to the
Loaded Components box.
You will now be able to define Agents of this type in Applications Manager.
6. If you are upgrading an existing RA Agent type that you have Agents defined for, you must stop and restart the
AgentService process for all previously defined Agents.
7. For some Agents, such as Business Objects, you must log out and log back in to the Applications Manager
Client.
Deleting Loaded Components
To delete a loaded component, select the component and click Delete. In order to delete a component, you must
first delete any objects from Applications Manager that reference this component.
Comparing Build Information
To compare build information between available and loaded components, select an available component from
your PC in the Available Components box and a loaded component from the Loaded Components box and
click Build Info. Applications Manager opens the Build Info window shown below where you can compare the
information for the two builds.
Applications Manager 9.4.1
$AW_HOME/web/classes_alt
Windows:
%AW_HOME%\web\classes_alt
After adding additional files to the classes_alt directory, you must stop and restart process by going to the site
directory and issuing the following commands:
UNIX:
. sosite
stopso
startso
Windows:
sosite
stopso
startso
Applications Manager 9.4.1
6 User Guide
The User Guide is a comprehensive procedures manual that covers all aspects of Applications
Manager operations.
The User Guide is a comprehensive procedures manual that covers all aspects of Applications Manager
operations. It is part of the complete Applications Manager documentation set which includes:
• Getting Started Guide
• Installation Guide
• User Guide
• Development Guide
• Administration Guide
• Oracle Applications Extension Guide
• PeopleSoft Extension Guide
Text Conventions
The following text conventions are used throughout this guide:
• User interface field names, menu items, and window names are written in bold.
• File names and text within scripts are written in bold.
• Variable text is written <within brackets>. In the example below <run ID number> represents the actual run ID
number of a requested Job.
If you submit a large Process Flow, the message will read, 'Task submission in progress: Run ID = <run ID
number>' until all components of the Process Flow have been placed into the Backlog.
Viewing Forecasts
Using the forecast feature, you can view a list of scheduled Jobs and Process Flows.
Requesting Jobs and Process Flows
There may be times when you want to run tasks outside of a set schedule. You can submit individual Jobs and
Process Flows from the Requests window. In Applications Manager, we refer to these as "ad hoc" requests.
Using Gantt Windows
You can use the following operations Gantt windows:
Applications Manager 9.4.1
• Graphical Forecast: Displays scheduled Jobs and Process Flows in a Gantt chart format.
• Backlog Gantt View: Displays the contents of the Backlog in a real-time Gantt chart format. You can take
actions on tasks or view/edit their task details.
• History Gantt View: Displays in Gantt chart format how the components of a Process Flow in the History
executed.
Viewing Operations Reports
Applications Manager comes with a set of predefined Reports that provide information about your Applications
Manager objects. You can also import an extensive set of Applications Manager History Analysis Reports that you
can use to review how tasks were processed. You can also create your own custom Reports.
If you are using a Windows client with 800x600 resolution, you will need to select the Windows auto hide taskbar
option.
ToolTips
ToolTips provide a brief description of buttons, icons, and fields. To see a ToolTip, rest the mouse pointer over the
button, icon, or field. A ToolTip appears after the mouse pointer has remained motionless for a second or two. In
the image above, the mouse pointer is resting on the Jobs icon in the toolbar. You can disable ToolTips by going to
the View menu and unchecking the ToolTips option.
Toolbar and Menus
Applications Manager 9.4.1
The toolbar consists of a row of icons running across the top of the screen. Click an icon to open its corresponding
window. You can also access the windows in the toolbar from the Operations and Object Admin menu items. The
Activities menu listings open windows where you can take actions such as opening Explorer or running ad hoc
tasks with Requests. The Object Admin menu listings open selector windows where you can view, add, edit, or
delete object definitions (depending on your User Group access).
You can view or hide the toolbar by opening the View menu and checking/unchecking the Toolbar option. You can
optionally view text for the toolbar options by opening the View menu and checking/unchecking the Toolbar Text
option. You can add or remove the icons displayed on the toolbar by selecting Settings from the Options menu.
For instructions on editing desktop settings, see Editing General Desktop and ToolBar Settings.
Taskbar
The taskbar is a graphic bar running across the bottom of the desktop that is used to select active windows. When
you open an Applications Manager editing window, the window is represented by an icon in the taskbar. From the
taskbar, you can right-click a window icon to:
• Restore a window to the desktop or minimize it to the taskbar. You can also display an active window by
opening the View menu, selecting Windows, and choosing a window.
• Maximize a window to fill the desktop.
• Move a window to the front of the desktop.
• Close a window.
Selector windows are used when defining Applications Manager objects. They are not displayed on the taskbar
because they do not contain unique information and are represented by icons on the toolbar.
Status Bar
The status bar is displayed across the bottom of the Explorer window. Its color alerts you to the status of the
Automation Engine, Agents, and tasks running in the Backlog. When the Explorer window is minimized it uses the
same color scheme on the taskbar. For more information on the status bar, see Monitoring with the Status Bar and
Object Icons.
Closing All Windows or Selector Windows
To close all windows, go to the View menu and select Close all. To close only the selector windows, select Close
selectors.
These settings are not retained when you close the window. Many columns can be configured and saved. For more
information, see Customizing Tables.
Copying, Cutting, and Pasting Text
You can right-click in a field to bring up a pop-up menu with copy, cut, and paste options.
Bringing Error Dialogs into View
If you minimize the Applications Manager desktop when an error message is displayed, the Applications Manager
desktop may seem to lock up. This is because the error dialog is out of view. To bring the error dialog back into
view, hold down the Alt key and press the Tab key until you highlight the Java coffee cup icon.
Keyboard Navigation
You can use the following keyboard navigation in Applications Manager:
• Ctrl-Up arrow key sets the focus on the current tab, then the right and left arrow keys will navigate to the other
tabs. Ctrl-Down arrow key returns focus to the page.
• If a table has focus, then Ctrl-Tab will move the focus out of the table.
• When you are in a table, Enter and Tab are used for navigation within the table.
• To alternately expand and collapse an object's key, press Enter.
• To select a mnemonic key, click Alt+<the key>.
Assigning Options
When required, you assign options and objects using the type of window shown below.
Applications Manager 9.4.1
Assign objects by moving them from the Unassigned column to the Assigned column. The table below describes
how to assign multiple options.
To: Do this:
Move a selected value between the two columns Double-click the value.
-or-
Select the value and click the single arrow button.
Move all values between the two columns Click on the double arrow button.
Make multiple contiguous selections Hold down the Shift key and click the first and last
values.
Make multiple nonadjacent selections Hold down the Control key and click on each value.
4. You can set alerts in Applications Manager that are triggered by the status of tasks in the Backlog by selecting
the Alerts tab. For example, you can play a sound whenever a task aborts. For more information, see Setting
Alerts.
5. Applications Manager can log status changes for tasks, Agents, and the Automation Engine. If you have the
DBA User Group, you can configure status logging options from the Task Events and Agent Events tabs of the
Settings window. If you do not have the DBA User Group, you will not see these tabs.
6. To save the settings for the current session and future sessions, click OK.
What Are User Options?
User Options are additional settings selected by your Applications Manager administrator. They control User
access to Applications Manager features such as the Hide feature in the Output window.
Setting Alerts
If the color change in the status bar is not a sufficient alert for your monitoring purposes, you can set additional
alerts for specific statuses. For example, you might have a sound or voice message play when a task aborts. Alerts
launch a program or script on the client machine while you are logged on. To set the alerts, use the Alerts tab on
the Settings window shown below.
Statuses
You can define alerts for the following statuses:
• Aborted task: when a task completes with a non-FINISHED status such as ABORTED
• Hold task: when a task goes into a HOLD status
• Agent trouble: when an Agent goes into a status that requires operator intervention such as a BUSY or
TROUBLE
• All clear: when all task/Agent statuses are changed so that tasks are eligible to run again
You can choose to trigger the alert when the first task or Agent displays the status, or every time a new task or
Agent displays the status.
Local Windows Programs
Applications Manager 9.4.1
An alert runs a local Windows program that you specify in the field next to the alert category. You must enter a
command which includes the full path to the program file. In the image above, commands like the following are
used to play .wav files with the operating system's default player:
cmd /c="C:\Sounds\abort_task.wav"
You can view Reports for each of the operations windows and selector windows.
An operations window Open the operations window and choose the Report
type from the Reports menu.
This opens the Reports window and selects the Report type corresponding to the window you opened it from. In
the image below, the Reports button is selected on the Jobs Selector window, opening the Reports window with
the Jobs type highlighted.
To view Reports for another object type, select that object type from the Type box. If an object is not listed in the
Type box, there are no Reports for it. Once you select a Report, click the Show button.
Applications Manager 9.4.1
You can specify the number of lines displayed on each page using the Lines per Page field. The new setting will
go into effect when you click the Redisplay button. Doing so will update the time and date in the Report header, but
not the data displayed in the Report.
Running Applications Manager History Analysis Reports
You can import Applications Manager History Analysis or AHA Reports. They include an AHA prefix designation in
their names. For example, the AHA-FINISHED_JOBS_BY_STATUS_HR Report returns completed tasks according
to status by hour. Data relating to AHA Reports is generated and loaded into Applications Manager by running the
CALC_HISTORY_STATISTICS Job.
Customizing Tables
Many of the Applications Manager windows display tables of information. In these windows, you can choose the
columns displayed and their order using Setup windows.
Process Flow Summary The Process Flow Summary on the Explorer window.
Task Output files The Output files tab on the Task Details window.
Gantt task summary The information displayed in the pop-up table when you
hover over a Job or Process Flow in the Backlog Gantt
view window and the Flow Diagram window.
Backlog task summary The information displayed in the pop-up table when you
hover over the Run ID column for tasks in the Backlog.
The steps for choosing columns and changing the column order are the same for all tables. To edit a table,
open the Options menu, select Tables, then select the table you want to edit. The Setup window for the Queue
Summary table is shown above.
The top of the window shows the table as it will be displayed in Applications Manager. The bottom of the window
displays a list of the columns that can be displayed.
Making Changes
The table below describes how to customize Applications Manager tables.
To: Do this:
Change the name of a column Edit the entry in the Name column.
Control the width of a column Enter a number of pixels in the MAX_WIDTH and
MIN_WIDTH columns. If you enter MIN_WIDTH
settings, its possible that some columns will be pushed
off the table. If this happens, select the Horizontal
scrolling option described below.
Format date columns Select a date format from the FORMAT column.
Control the margins within a column In the Column marginfield, enter a number of pixels to
be added to the left and right margins of the column.
Change the order of the columns Select the title of a column in the top window and drag it
to a new location.
Applications Manager 9.4.1
To: Do this:
Return the table to its last saved setting Click the Reset button at the bottom of the window.
Default Settings
Your Applications Manager administrator can set default settings for Applications Manager tables. If you customize
tables, the default settings are overridden.
Procedure
To change the color for a group of statuses:
1. From the Options menu, select Status colors.
Applications Manager 9.4.1
Group Statuses
To view copyrights for third party software used by Applications Manager, click Copyrights. Copyright information
also exists in the copyrights directory on the Applications Manager Automation Engine.
Java Garbage Collecting from the Applications Manager Client
You can do a Java garbage collection to free up heap memory that is no longer needed by clicking Java Garbage
Collection under the Debug menu on the About Applications Manager window. This will only send a hint to
Java, so it doesn’t force it to collect everything.
Setting Debug from the Applications Manager Client
You can turn on debug for the Applications Manager client, the RMI server, or Oracle trace by selecting options in
the Debug menu.
http://200.2.2.123:8080/PROD1/Intro.html
The Applications Manager client requires a supported version of the Java Runtime Environment (JRE). For a
list of compatible Java versions, click the Compatibility Matrix link.
2. From this page, click the Download the Applications Manager Client link.
This downloads the Client.zip file.
3. Create a directory on your local PC for the client, for example, C:\AM_Client.
Applications Manager 9.4.1
4. Move the Client.zip file to the directory you created and unzip the contents in that location.
5. Copy connections.properties.template to connections.properties.
6. Edit connections.properties. Replace {MASTER} with the name of your Applications Manager
Automation Engine and {URL} with the URL to your Applications Manager Automation Engine, such as,
http://127.0.0.1:8080/AMPROD.
For example, you might replace...
{MASTER}={URL}
With...
AMPROD=http://127.0.0.1:8080/AMPROD
To add connection information for additional clients, simply add additional lines in the same format.
7. Copy client.properties.template to client.properties.
8. Optionally, edit client.properties to set client properties.
Text from a sample client.properties file is shown below.
#localOptions=true
#debug=true
#logDir=log
#JAVA_HOME=C:/Program Files/Java/jdk-11
runOptions=-Xmx256m
#debug=true
It is also possible to set client debug from the About Applications Manager window once you are logged
into the client. However, it is advantageous to set it here, so that debug is on for the client start-up.
• logDir: Allows you to override the name of the sub-directory where client log files are written.
The client log sub-directory includes the following files:
• client.log: Includes all client standard and debug logging up until you click OK on the Logon window.
• <master or connection name>_client.log: Includes all client standard and debug logging for your
client session.
• JAVA_HOME: Allows you to use a different Java than your PC's default Java.
Applications Manager 9.4.1
You must use either forward slashes (recommenced) or double backslashes in the path. This is the
standard for Java properties files.
To see your PC's default Java, open a command prompt and type java -version.
• runOptions: Used to increase the memory for your client. Don't make any changes to this setting unless
directed to by Applications Manager support.
• TheuserLanguageFiles: This setting is hidden in the client.properties file and in the documentation by
default. It allows you to specify a master name to use language translations on. When a master is specified,
there will be a drop-down with the languages, which are specified in the Options.properties file for the
master. We believe no one uses this desupported feature anymore.
9. Use RunClient.jar to start the Applications Manager client.
Applications Manager displays the Login window shown below.
Optionally, you may create a shortcut of RunClient.jar and place the shortcut on your desktop.
If the Logon window does not come up, open command window, navigate to the client directory, and enter
java -jar RunClient.jar to see the output. This information will help you or Applications Manager support
troubleshoot the problem.
When starting the local client by double clicking on RunClient.jar (or a shortcut to it) in version 9.3.1 or above,
if it fails to start the error will now be in the startClient.log file.
10. On the Logon window, specify your User, password, automation engine.
User names are not case sensitive, but passwords are.
If you do not know your User name and password, check with your Applications Manager administrator.
11. If the Language field is available, select your language.
Specifying languages for the client is a desupported feature. The Language field is only available in
Applications Manager systems where languages were translated in a previous version.
12. On the Logon window, specify the following:
• The default user name SQLOPER.
• The default password is s0pass, where "0" is zero.
13. To have Applications Manager remember your User name and Automation Engine, select the Remember
logon button.
14. To accept the entered information and log on to Applications Manager, click OK.
If you have a large number of output files or tasks in the Backlog, Applications Manager will display a message
alerting you that the display has been truncated.
When you log out of Applications Manager, the following settings are remembered the next time you log back
in:
• The size and position of Explorer and Backlog Gantt View windows.
• The size and position of the main Applications Manager client window.
• The content pane of the Explorer window (if open).
• Whether a saved Backlog/History Filter was selected.
Upgrading the Client
To upgrade to a new version of the client:
1. Download the new version of the client Client.zip from the URL
set during the installation
your Applications Manager sent you
.
2. Delete everything except the connections.properties and client.properties files from your client directory.
3. Put the files from the new version of the Client.zip file into your client directory.
Receiving RmiServer Error Broadcasts
If the Receive RmiServer Error Broadcasts User Option is assigned to your User, the RmiServer Errors window
might pop up with one or more errors when you log in.
Applications Manager 9.4.1
When the Receive RmiServer Error Broadcasts User Option is assigned to a User, any RMI errors will be
displayed in a pop-up window as they occur. Additionally, if any RMI errors occurred since the last time the RMI
server was started, the last ten errors will be displayed in a pop-up window each time the User logs on.
If you have the DBA User Group, you can clear the RMI errors without stopping the RMI server by selecting Clear
RMI Errors from the View menu on the Applications Manager Desktop.
Re-Logging on to Applications Manager
There may be times when you want to log on to Applications Manager under a different user name or connect to
a different Automation Engine. To change your logon from the desktop, go to the File menu and select Re-Login.
You will have to re-enter your password when you re-log in, unless the Disable clearing of login passwords on
re-login Automation Engine option is checked.
Changing Your Password
You can change your password at any time. Your Applications Manager administrator can also set your password
to expire after a certain period of time.
To change your Applications Manager password go to the Options menu on the Applications Manager desktop and
click Change Password.
Accessing the Client Through a Firewall
If you will be accessing the Applications Manager client through a corporate firewall, you must open the appropriate
ports, and specify those ports in the Options.properties file on the host machine.
For details, see Configuring the Applications Manager Client.
For details, see the Installation Guide.
You can also request a Job or Process Flow from it's definition. This opens the Submit window, like the Request
window does. This is beneficial for testing changes you make to the object.
Procedure
To request one or more Jobs from the Requests window:
1. Open the Requests window shown above by doing one of the following:
• Open the Activities menu and select Requests.
• Select the Requests icon from the toolbar.
2. If appropriate, select an Application from the Application list box on the left side of the screen.
Applications specify a group of Jobs and Process Flows. The Application you select determines the Jobs and
Process Flows displayed in the table. Only the Applications and Jobs assigned to you via User Groups will be
displayed.
3. Select one or more Jobs from the list of Jobs and Process Flows on the right side of the screen. To select more
than one object, use Shift-Click or Ctrl-Click.
When selecting a Job/Process Flow, you can type the first few letters of its name in the Search field and
Applications Manager will find it. The Search field accepts valid regular expressions.
You can double-click to quickly request a single Job or Process Flow.
4. If the Requestor field is active, you can select the User that will be assigned to the Job/Process Flow.
You must have the Select Requestors User Option assigned to you by your Applications Manager administrator
to select a different User in this field.
5. To have the Requests window automatically close upon request, check the Close on Request box.
6. To request the Job(s), click Request.
Applications Manager opens the Submit window and displays the selected items as tabs. Each Job can
be viewed by selecting its tab. In the image below, three Jobs have been requested: JOB_REPORT,
MODULE_REPORT, and REPORT_BATCH.
Applications Manager 9.4.1
If any Jobs or Process Flows you select have Agent Groups assigned to them with application Agents, you will
be prompted in a pop-up window to select which Agent you want to use to validate prompts. You will still be able
to select the Agent or Agent Group for these tasks to run on from the Submit window.
Next Step
After requesting one or more Jobs and/or Process Flows, the next step is to enter prompt values, select options,
and submit. For more information, see Submitting Jobs and Process Flows.
Procedure
To respond to prompts and submit options:
1. Respond to the prompts in the Prompts box. Prompts are defined by an Applications Manager developer and
are specific to the Job or Process Flow. They are most often used to pass values to the program being run
by a Job. When a prompt includes a Select button as shown below, you can click it to select a single value or
multiple values from a list of options (depending on the Job/Process Flow definition).
Selecting values from lists helps to eliminate data entry errors. For information on selecting options from a list,
see Working in the Applications Manager Windows.
2. If the Send To option is active, select an Output Device from the drop-down list.
The Output Devices displayed in the list are determined by the Output Group assigned to the Job or Process
Flow. If the Send To option is not active, an Output Group was not assigned to the Job/Process Flow. You can
still run the Job/Process Flow and view output online, but the output will not be sent to an Output Device.
3. If the Send Option is active, select an option from the drop-down list.
The Send Option will be active if an output option is defined for the Output Device you select.
4. Select an output function from the Output Function drop-down box The output function determines how
output is handled. With any of these settings, the application output or report files and the system output files
are viewable from the Explorer window. There are three choices:
• LOG: Legacy setting that should not be used unless you need to use the Output window rather than the
Explorer window. For Jobs that have the output function set to LOG, Applications Manager loads all output
Applications Manager 9.4.1
or report files in the Output window every time you log into the client. This can take several seconds or
minutes. If more than 500 files are loaded, an alert will be displayed. Therefore, if you are not using the
Output window (that is, you view output from History instead of the Output window), you should use the
STORE setting.
• PRINT: The output is printed according to the output settings specified on this tab.
• STORE: The output is not printed.
5. If you are printing and want more than one copy of the output generated by the task, enter a value in the
Copies field.
6. Select a Queue from the Queue list box
The Queue list box will be active only if you have been assigned the Select Queues For Requests User
Option by your Applications Manager administrator. If you have not been assigned this option, the Queue list
box will be read-only, and will list only the default Queue of the Job.
7. If you are requesting a Job that was assigned to an Agent Group (or a Process Flow assigned to a multi-
execution Agent Group), you will be able to select a specific Agent from the Agent drop-down list.
8. The Requestor field is read-only and shows the user name that is assigned to the task. This name will be
displayed in the Requestor columns in the Backlog and History.
9. To set a different start date and time, place the mouse cursor in the Start Date field and enter a new date or
time. Or, click the button to the right of the field to open a window where you can select the date and time.
If you set the date and time forward, the task status in the Backlog will be shown as DATE PENDING.
Components of a Process Flow in DATE PENDING status will show as STAGED or STAGED_PW status
(depending on the components' predecessor requirements). If you set the date or time to a time that has
already passed, the task will be eligible to run immediately.
You can pre-date the start date of this Job or Process Flow to meet the predecessor requirements for tasks
waiting in the Backlog from a previous virtual day.
10. If you want the task to go into a HOLD status when it is submitted to the Backlog, you can select the Hold
option. The task will stay in the Backlog with a HOLD status and not run until you reset it.
11. If documentation has been created for the Job, you can view it by clicking the Documentation button.
12. When you have entered the prompt values and set the options, you are ready to click one of the following to
submit the Job or Process Flow:
• To automatically close the Submit window after it the Job is submitted, click the Submit & Close button.
• To keep the Submit window open, click the Submit button. After you submit the Job or Process Flow this
way, Applications Manager displays a message in the status bar (see below). If you submit a large Process
Flow the message will read, 'Task submission in progress: run_id = <run ID number>' until all components
of the Process Flow have been placed into the Backlog. The Close button will be grayed out until the task
is in the Backlog. Once the task is in the Backlog the message will read, 'Task was Successfully submitted
run_id = <run ID number>'.
Applications Manager 9.4.1
Removing Tabs for Jobs and Process Flows from the Submit Window
If there is more than one tab in the Submit window, you can remove the tab by selecting it and clicking Close Tab.
To close the Submit window and all tabs, click Close.
Invalid Prompts
After you click Submit, Applications Manager checks the prompt values. If the values you assigned to prompts are
invalid, Applications Manager will display an error message. You can correct the values and then submit the Job or
Process Flow.
Adding a Suffix to a Job or Process Flow Name So Predecessor Links Are Not Satisfied
To add a suffix to a Job or Process Flow name, enter the suffix in the Task Name Suffix field. The Job or Process
Flow will run with an underscore followed by the suffix at the end of its name. This will prevent the request from
satisfying any predecessors, since the name is changed.
The Task Name Suffix field will only be available if you have been assigned the Set Task Name Suffixes User
Option by your Applications Manager administrator.
task. The output generated by the task may exist in the out directory where the Automation Engine is installed, or
in a directory on another server associated with the application. Where output is registered is determined by the
Program Type script associated with the Job.
After you submit a task and it executes, you can view the output as plain text, HTML, or rich text format using the
File Viewer window shown above. You can also use an alternate viewer using file associations. For information
on setting file associations, see Opening Output Files with Other Applications . Output can be printed to a local or
system Output Device.
Opening the File Viewer Window
You can access the File Viewer window from:
• The Explorer window.
• The Output window.
The Explorer window is used to monitor and manage Applications Manager tasks, as well as Agents and Queues.
To open the File Viewer window from the Explorer window, right-click a task in the Backlog or History and select
Output from the pop-up menu. For more information on viewing output from the Explorer window, see Task Output
Files: Viewing.
The Output window provides access to task output for Users who have not been given access to the Explorer
window. To open the File Viewer window from the Output window, select a task and click the View button. For
more information on viewing output from the Output window, see Working with the Output Window .
Querying for Tasks
Applications Manager 9.4.1
You can query History in the Explorer window and you can query the Output window. You can search for specific
tasks by criteria such as Job name, Process Flow, Agent, and requestor. For more information on querying, see
topics Querying for Tasks in History and Querying the Output Window .
Viewing Output in Other Applications
After a task has completed, you can view the output in the File Viewer window as shown above. You can
also associate types of files with other viewers. For example, if you are generating an .xls file, you can have
Applications Manager automatically launch Microsoft Excel as the viewer. To do this, you must specify the
association in the File Association window. For information on setting file associations, see Opening Output Files
with Other Applications .
Printing Output
After viewing a report, you can preview the printed output and print it to a local Windows printer or to an
Applications Manager Output Device. These options are available from the File Viewer window's File menu and
from the icons in the File Viewer and Output windows. For more information on printing output, see Printing,
FTPing, and Emailing Output Files.
When you are setting up User Groups, consider setting up a User Group for end-users that includes access to the
Requests and the Output windows only. This lets end-users submit, view, and print their specific task requests.
Working with the Output Window
The table below describes the available actions on the Output window.
To: Do this:
View output Select a task and click the View button. Applications
Manager displays the output in the File Viewer window.
For information on using the File Viewer window, see
Viewing Output Files with the File Viewer.
Query for specific tasks Click Query on the Output window. You can query
for a specific task by a wide range of criteria such as
Job name, Process Flow name, requestor, and output
status. For more information on querying the Output
window , see Querying the Output Window .
Hide or unhide tasks Select one or more files and click the Hide button. To
select multiple adjacent files, use Shift+click. To select
multiple non-adjacent files, use Ctrl-Click. Hiding output
changes the status of the selected files to STORED and
removes the listing from the viewable list. To hide all
listings in this window, request the OLDPRTS Job.
To display hidden files, you must use the Query
function and query for the STORE status. If after
querying, you select a file and click Hide, its output
function will be changed to LOG.
If the Hide Files on the Output Window option was
not assigned to you by your Applications Manager
administrator, you will not be able to use the Hide
button.
Refresh the display Click the Refresh button. When you first open the
Applications Manager client, tasks that have completed
with a LOG status will be available for viewing without
running a query on the Output window. If other tasks
complete while you have a client session open, they
will not automatically be added to the Output window.
Refresh the display to see them.
Print output Select a task and click the Print button or one of the
Print icons. For more information on printing output, see
Printing, FTPing, and Emailing Output Files.
Procedure
To perform an output query:
1. Click the Query button on the Output window.
Applications Manager displays the Output query window shown above.
2. Select search criteria for your query.
You can use any combination of query criteria available in the Output query window.
The Output query window fields are described below.
• Jobs
Searches for any task assigned to the specified Job(s), including tasks that ran the Job under an alias name.
To query for a task run under an alias, enter the alias name.
• Process Flows
Searches for tasks that are part of the Process Flow(s). The Process Flows themselves are not returned.
• Agents
Searches for any task run on the specified Agent(s).
• Output Devices
Searches for any task assigned to the specified Output Device(s).
• Requestors
Searches for any task run by the specified requestor(s).
• Output Function
Applications Manager 9.4.1
Searches for tasks based on the output function set for the Job at run-time. There are three statuses:
• LOG: The output is available for printing, but has not been printed. Outputs with this status appear on the
Output window list by default.
• PRINT: Same as LOG, but output is sent to Output Devices as well.
• STORE: You must query to see output files with this status. System output files are typically stored.
• From start time/To start time
These fields accept date/time information. If the Current day option is selected, the From start time and To
start time fields will be inactive.
• Run ID
This field references the unique number (format: 1320.00) assigned to each task by Applications Manager.
When using this field, include the decimal value where appropriate. Decimal values at the end of Run IDs
indicate that tasks have been restarted. Every task has .01 added to its Run ID each time it is restarted.
• Current day
The default is to query by the current virtual day. If you save a query with this option checked, it will be
applied each time you run the saved query.
The date and time of the current day are saved as an offset from the current time. That means that if you
save a query for tasks run in the last two days, it will always run a query for the tasks in the last two days.
There is no way to save a query from a specific date. If you uncheck this option, the From start time and To
start time fields become active. You then can enter specific dates and times for the query.
To query by one or more objects, enter values in each object's field by doing one or both of the following:
• Type in names of the objects separated by commas.
• Select from a list of objects by clicking on the object icon at the end of the field.
3. You may select a default sort order for the query by selecting a Sort option.
The sort order can be overridden from the Output window by selecting a different column name.
4. You may also optionally save this output query to use later by entering a name in the Filter name drop-down
box The output query will be saved when you click OK.
Saved Output queries can be recalled from the Filter name drop-down box for History queries, Output queries,
and filters of the Backlog and History.
5. Click OK.
Applications Manager displays a small animated window as it processes the query. Once the query is
processed, Applications Manager displays the results in the Output window.
Using the Object Assignment Windows
When you click on an icon at the end of one of the applicable fields, Applications Manager displays the object
assignment window where you can pick one or more objects to use in an output query. The windows will list
only the objects to which you have User Group access. Use the arrow buttons to move objects between the
Unassigned and Assigned tables. For more information on assigning objects, see Working in the Applications
Manager Windows.
Applications Manager 9.4.1
You can enter page and line numbers for viewing, and bookmark pages. Output is automatically displayed in one of
three formats: plain text, HTML, or rich text format.
You can use the File Viewer window shown above or an alternate viewer. For information on viewing output with
alternate viewers, see Opening Output Files with Other Applications .
Viewing Output Files
To view output, open the File Viewer window by doing one of the following:
• From the Explorer window, right-click a task in the Backlog or History and select Output from the pop-up menu.
For more information on accessing the File Viewer window from Explorer, see Task Output Files: Viewing.
• From the Output window, select a task and click the View button. For more information on accessing the File
Viewer window from the Output window, see Working with the Output Window .
From the File Viewer window, you can:
• Copy text to the clipboard with Ctrl-C.
• Go to the start or end of the output file using the Home and End keys when the output text is in focus.
• Scroll through the output by using the horizontal and vertical scroll bars.
• Close the window by pressing the Esc key.
Printing, FTPing, and Emailing Output Files
You can print, FTP, or email output from the File Viewer window using the print icons or from the Print menu on
those windows. For more information, see Printing, FTPing, and Emailing Output Files.
Applications Manager 9.4.1
2. Enter the text you want to find and click Find Next.
Check the Match Case checkbox for case sensitive searches. Applications Manager searches run from the
current location to the end of the file.
Bookmarking Pages
As you view a file, you can bookmark pages for printing by selecting the Mark Page button. Your marked page
numbers will display in the Pages box located at the bottom of the screen. When you print the output, only the
marked pages will be printed.
Changing Output Formats and Text Size
Applications Manager automatically selects HTML or rich text format styles based on each file's extension (.htm,
.html, .rtf). Other files default to plain text view. When using the plain text view, you can adjust the size of the text
used in the display by selecting a value from the Size list box at the bottom of the viewer. This changes the size
of the text in the viewer, but it does not impact the size of the text used when the report is printed. Output can be
viewed with an alternate viewer if a file association has been defined. For information on setting file associations,
see Opening Output Files with Other Applications .
Viewing the End of Files
To view the end of a text file, go to the Options menu on File Viewer window and select Tail. The tailing option
enables operators to observe the most recent end of file every 10 seconds by showing the report as it is being
printed to standard output. Use this function, similar to the UNIX tail -f <filename> command, when trying to
diagnose problems.
1. From the File Viewer, go to the Print menu and select Send To, or click the Send To icon.
Applications Manager displays the Choose an Output Device window shown above.
2. Select an Output Device, copies, and output option and click OK.
Applications Manager prints to the Output Device you selected.
If you have bookmarked one or more pages using the Mark Page button, Applications Manager will only print
the marked pages.
To use the system print option, you must have User Group access to the Output Device you wish to print to and at
least one Output Group it is assigned to. If you do not think you have the necessary User Group access, see your
Applications Manager administrator.
Previewing a Print Task
To preview a print task, go to the File menu and select Print Preview, or click the Print Preview icon.
FTPing an Output File
You can send an output file to your client machine or a network location using the FTP function. To FTP a file:
1. From the Actions menu, select FTP or click the FTP icon.
Applications Manager 9.4.1
Separate multiple email addresses with a space or semicolon. To select from emails assigned to Users, click the
Select button. Applications Manager opens a window where you can select the email addresses. You can decide
whether to add the output file as an attachment and include additional text using the box at the bottom of the
screen.
You also have the option to send the output file as an attachment, include it in the message body, attach it as a
PDF file, or include it in an attached zip file.
In order to send emails, you must specify email settings for the Applications Manager Automation Engine/Local
Agent.
After you create a file association, files with corresponding names will always, sometimes, or never open with
the associated application when you view the output from the Applications Manager client, depending on the file
association definition. You will also have the option to open any output file with the application you created the file
association for.
The file association(s) you create are associated with your User on your PC. They are not global settings unless
you share file associations for all Users as descried in Sharing File Associations with All Applications Manager
Users.
Adding File Associations
To add an output file association:
1. On the desktop, go to the Options menu and select File Associations.
Applications Manager opens the File Association window.
2. Enter a file pattern in the Pattern field.
The most common pattern for file associations are file extensions (for example .xls).
The Pattern field accepts valid regular expressions. Note that regular expressions are case sensitive.
3. In the Application field, type the name of the executable file for the Application you wish to associate with the
file type, or use the ... button to browse for it on your PC.
4. Select an option from the Use field.
To: Select:
has been selected, and the Select Program window is open. From the Select Program window, you can select
the application you want to use to view the selected output file.
FileAssociations=N:/Automic/fileassoc.properties
FileAssociations=//rs62/ndrive/Automic/fileassoc.properties
Also, / should be used instead of \. Using backslashes will prevent properties from being saved.
The location for the Options.properties file is:
Applications Manager 9.4.1
UNIX:
$AW_HOME/web/classes
Windows:
%AW_HOME%\web\classes
2. Log into the Applications Manager client and set up a file association.
Applications Manager will create the file you specified in step 1 in the directory you specified and update it with
the file association information. The file association will now be globally changed for all Users that have access
to the drive you specified.
is minimized, the button on the taskbar uses the same color scheme. For more information, see Monitoring with the
Status Bar and Object Icons.
Customizing Explorer Tables
You can choose the columns you want displayed in the Explorer window and customize their order and names. For
more information, see Customizing Tables .
Viewing Output Files and Task Details
You can view output files and other task details for any task in the Backlog or History. You view the task details for
a task by right-clicking it and selecting an option from the pop-up menu. For more information, see Viewing and
Editing Task Details .
Staging Tasks in the Backlog
Staging tasks in the Backlog allows you to edit task details before the tasks are scheduled to run. For more
information, see chapter Staging Tasks in the Backlog.
Monitoring and Managing Queues and Agents
Queues control the flow of tasks. All tasks must pass through a Applications Manager Queue to be executed.
Agents are instances of Applications Manager; an Agent is installed on each machine where tasks are executed.
An Agent can be an Automation Engine's Local Agent, or a Remote Agent. The Automation Engine is also listed
along with the Agents in the Explorer window. You monitor and manage Agents and Queues from the Explorer
window. For more information, see chapter Working with Agents and Queues.
Monitoring and Managing Tasks in the Gantt View
You can monitor and manage tasks in the Backlog using the Gantt View. For information on using the Gantt View,
see chapter Monitoring and Managing Tasks with the Gantt View.
Explorer Terms
The following Explorer terms are used in this guide:
• Object tree: The graphical model displayed on the left pane of the Explorer window.
• Object icons: The icons used in the object tree to represent objects such as tasks, Process Flows, and
Queues.
• Object keys: The icons to the left of the expandable objects in the object tree. You can click the object keys to
show and hide objects in the tree.
Printing the Object Tree or a Table
You can preview and/or print the object tree, and the Backlog and History tables by selecting the appropriate
options from the File menu. The image below shows the print preview screen for a task in the Backlog in an
ABORTED status.
Numbers to the right of the label for the Backlog and History indicate the number of rows currently displayed in
each. Every row is counted regardless of whether it represents a Job, Process Flow, or historical record. The
Backlog is a list of tasks that:
• Are waiting to run.
• Are running.
• Have run and failed, and have stayed in the Backlog for operator intervention.
To view all tasks in the Backlog in the content pane on the top right side of the screen, click the Backlog icon in the
object tree. In the image above, one task is running in the Backlog, some tasks are waiting in a PRED WAIT status,
and one task has aborted.
Whether a task remains in the Backlog when it fails is determined by the Stay in queue on abort setting in its Job
definition.
Tasks sometimes fail by aborting, timing out, being killed, etc. When a task fails, a record is written to History under
the current run ID number. If a failed task remains in the Backlog, its run ID is incremented by .01.
For example, in the image above, a task with the run ID 73016 aborted and remained in the Backlog. A record of
the task aborting is written to History, and the task remains in the Backlog with the run ID 73016.01.
From the Backlog, you can:
• Take actions on tasks (see Taking Actions on Tasks in the Backlog).
Applications Manager 9.4.1
• View and edit task details (see Viewing and Editing Task Details ).
When a task leaves the Backlog, Applications Manager writes a record for it in History.
Numbers to the right of the label for the Backlog and History indicate the number of rows currently displayed in
each. Every row is counted regardless of whether it represents a Job, Process Flow, or historical record. Some
tasks may include multiple records in History. For example, a task that aborts and is reset will include two History
records.
History is an audit trail that includes records for:
• All completed tasks and occurrences of task failure(s).
• RMI servers or Agents being started, stopped, or having errors.
• The AgentService processes being stopped.
How long task history records are archived in the Applications Manager database is determined by the prompt
setting for the HISTORY_PURGE Job, which is part of the SYSTEM Process Flow. The default value is 60 days.
Your Applications Manager administrator is responsible for setting this value.
Applications Manager 9.4.1
The Explorer window includes a partial view of History in its lower right pane.
The amount of History displayed when any User logs in to the client is determined by the HistoryRetentionTime
setting in the Options.properties file.
How long records are displayed in the History pane while a User is logged into an Applications Manager session is
determined by:
• Your History Display Minutes desktop setting. For more information, see Editing General Desktop and ToolBar
Settings.
• Whether you have a History query activated. For more information, see Querying for Tasks in History.
From History, you can:
• Unsatisfy tasks as predecessors (see Unsatisfying Tasks as External Predecessors in History).
• View task details (see Viewing and Editing Task Details).
• Add comments (see Task Comments: Adding and Viewing).
• View History Gantt Views (see Viewing History in a Gantt Chart).
• Re-request tasks as described below.
Re-Requesting Tasks from History
You can now re-request a single task listed in the History pane of the Explorer window. To do so, right-click the
entry and select the Request option. Applications Manager lists the selected Job or Process Flow on a tab on the
Submit window.
When you re-request Process Flow components this way, they will run with the same prompt values as the selected
entry in History. All other settings, including alias name, conditions, predecessors, output settings, and Queues will
use the settings in the Job definition.
The default columns in the Backlog and History are described below. Columns unique to either the Backlog or
History are noted.
• Queue
The Queue the task is running on, will run on, or has run on.
• Run ID
The unique identification number Applications Manager assigned to the task.
Decimal values at the end of Run IDs indicate the number of times a task has either been killed or has aborted
and stayed in the Backlog. Each time a task is killed or aborts and stays in the Backlog, .01 is added to the
task's Run ID, and a record is added to History using the task's previous run ID.
• C
Uses a Y to identify tasks that include comments.
• D
Uses a Y to identify tasks that include documentation.
• Task Name
The name or alias, if defined, of the task.
• Start Date
Applications Manager 9.4.1
Your Applications Manager administrator can set default values for tables. Therefore, the columns in the Backlog
and History may be different from what is described above. For more information, see Customizing Tables.
The icon you select in the object tree determines the tasks listed in the Backlog.
The status bar reflects the most severe status in the system. The status bar colors and descriptions are described
below.
Color Description
For a description of the Automation Engine/Agent status values, see Automation Engine/Agent Status Values . For
a description of the task status values, see Task Status Values .
The status bar displays the time that the Explorer window was last refreshed. You can manually refresh by
entering Ctrl-R or by clicking the status bar on the Explorer window. The Explorer window is automatically
refreshed based on the Explorer Refresh Seconds desktop setting. For information on editing desktop settings, see
Editing General Desktop and ToolBar Settings.
The current date and time of the database are displayed to the right of the status bar.
Viewing Components in a Process Flow
Process Flow components in the Explorer tree are listed based on the execution order of each tasks' predecessors.
When you select a Process Flow in the Explorer tree, those same components are displayed in the top right
Explorer pane according to your Backlog search criteria (by default this is based on task status). To view the
structure of a Process Flow, right-click and select Flow Diagram.
Managing Task Statuses with the Object Icons
The Explorer icons in the object tree alert you to task status and give you a quick method for finding aborted/on
hold tasks.
For example, PROCESS FLOW_1 is in the Backlog. PROCESS FLOW_1 includes four Process Flow components.
The first three icons represent Process Flows that ran successfully. When the fourth Process Flow ran, a task
aborted, leading to the sequence of events below.
Applications Manager 9.4.1
1. When the task aborted, the status bar turned red to alert the user Pat Brown.
2. Pat opened the Explorer window and could see by the red X indicator on the Process Flows icon that one or
more tasks in a Process Flow had aborted.
Pat could have selected the Backlog, Ad Hoc, or Status icons to find the aborted task, but chose the Process
Flow option out of personal preference.
3. Next, Pat clicked the Process Flows icon key to view a list of running components.
The icon for PROCESS FLOW_1 had a red X indicator, so Pat knew that this Process Flow, or a Process Flow
nested therein, contained an aborted task.
4. Pat clicked the PROCESS FLOW_1 icon key to view the list of tasks belonging to PROCESS FLOW_1.
Pat could see that three Process Flows had finished successfully because the Process Flow icons were gray,
and that a task had aborted in the other Process Flow (because the Process Flow icon had a red X indicator).
Applications Manager 9.4.1
Pat clicked the PROJECTED_NOV icon key to view the components in that Process Flow.
Pat could see by the red X symbol as the second task's icon showing that it aborted. A second listing for the
task, an orange icon with a circle and a diagonal line notes that a history record of the task aborting was written.
Now Pat could view the task details including the output files for the task to see why it aborted, and reset or delete
it. For information on troubleshooting failed tasks, see Troubleshooting Failed Tasks .
The system output file includes basic information about the task such as:
• The name of the program executed.
• The person who ran the task.
• The Applications Manager run ID assigned to the task.
• The parameters used to run the task.
• A record of the basic steps taken to execute the task.
• Standard error reporting.
Getting More Information with Task Level Debug
If the system output file does not provide enough information to solve your problem, you can turn on the task level
debug. When task level debug is on, additional information is written to the task's system output file. If you call
Braodcom Support to help figure out why a task failed, they will most likely ask you to turn on task level debug,
reproduce the problem, and send in the log. Doing this ahead of time will speed you along to the quickest possible
resolution.
To turn on task level debug, create an empty file named BODY in the debug directory of the Automation Engine.
Action When the Process Flow is not When the Process Flow is
INITIATED INITIATED
Hold Holds the Process Flow header. Holds all eligible components in the
Does not affect its components. Process Flow.
Applications Manager 9.4.1
Action When the Process Flow is not When the Process Flow is
INITIATED INITIATED
Kill A Kill cannot be taken against Kills all eligible components in the
a Process Flow that is not in an Process Flow.
INITIATED status.
Reset Resets the Process Flow header. Resets all eligible components in the
Does not affect its components. Process Flow.
Delete Deletes the Process Flow header Deletes all eligible components in
and all its components.* the Process Flow.*
Remove all predecessors Removes all predecessors for the Removes all predecessors for the
Process Flow header. Does not Process Flow header. Does not
affect its components. affect its components.
* When Process Flows are deleted, skipped, or canceled the following will occur:
• All BEFORE conditions will be canceled.
• The Process Flow's children that are unstarted Process Flows will be initialized.
• All predecessors for the Process Flow's children will be removed.
Procedure
To put tasks on hold:
1. Select one or more tasks in the Backlog and right-click.
Applications Manager displays the pop-up menu shown above. The number to the right of the Hold, Kill, Reset,
and Delete options references the number of tasks you have selected that are eligible for that operation.
2. Select the Hold option.
Applications Manager displays the Hold confirmation window.
3. Click Yes to hold the task(s).
Applications Manager closes the confirmation window and displays a small animated window to show you that it
is taking the hold action on the task(s).
Result
When you put a task on hold, its status is displayed in a hold status, such as HOLD or HOLD PRED WT.
Applications Manager displays the status bar at the bottom of the window in yellow to alert you that one or more
Applications Manager 9.4.1
tasks are on hold. A record is written to the task's comment, noting that it was manually put on hold. The task
remains on hold until you reset the status or delete the task from the Backlog.
Killing Tasks
If a task is running, you can kill it by selecting the task and using the Kill command. When you kill a task, it stays
in the Backlog until you delete or reset it. When you kill a task, Applications Manager makes an entry in History
showing that the task was killed.
Applications Manager 9.4.1
Procedure
To kill running tasks:
1. Select one or more running tasks in the Backlog that you wish to kill and right-click.
Applications Manager displays the pop-up menu shown above. The number to the right of the Hold, Kill, Reset,
and Delete options references the number of tasks you have selected that are eligible for that operation.
2. Click the Kill option.
Applications Manager displays the Kill confirmation window.
3. Click Yes to kill the task(s).
Applications Manager closes the confirmation window and displays a small animated window to show you that
it is taking the kill action on the task(s). Once the task(s) go into a KILLED status, the Backlog label will be
displayed in its default color.
Result
While Applications Manager is killing a task, the task's status in the Backlog changes briefly to KILL. Once the task
is killed its status changes to KILLED, and an entry is made in History to show this (see image below). A record is
Applications Manager 9.4.1
written to the task's comment, noting that it was manually killed. The killed task stays in the Backlog until you delete
it or reset it.
When you kill a task in Applications Manager running in a UNIX environment, Applications Manager issues the
kill -15 UNIX command followed by the kill -9 UNIX command.
Procedure
To reset one or more tasks from the Backlog:
1. If appropriate, change the task details.
For more information on changing task details, see Viewing and Editing Task Details.
2. Select one or more tasks in the Backlog and right-click.
Applications Manager displays the pop-up menu shown above. The number to the right of the Hold, Kill, Reset,
and Delete options references the number of tasks you have selected that are eligible for that operation.
3. Select the Reset option.
Applications Manager displays the Reset confirmation window.
4. Click Yes to reset the task(s).
Applications Manager closes the confirmation window and displays a small animated window to show you that it
is taking the reset action on the task(s). Once the task(s) go into a LAUNCHED status, the Backlog label will be
displayed in its default color.
Result
Applications Manager 9.4.1
A record is written to the task's comment noting that it was manually reset. When a thread becomes available for
the Queue, Applications Manager will start the task(s).
Deleting Tasks
If a task in the Backlog is in a non-running status, you can delete it. For example, tasks with a status of
LAUNCHED, PRED WAIT, ABORTED or KILLED can be deleted. You can also delete Process Flows from the
Backlog. If you delete a Process Flow, all components in the Process Flow are deleted as well. When you have
deleted a task, you cannot reset it from the Explorer window.
Applications Manager 9.4.1
Procedure
To delete tasks:
1. Select one or more tasks in the Backlog and right-click.
Applications Manager displays the pop-up menu shown above. The number to the right of the Hold, Kill, Reset,
and Delete options references the number of tasks you have selected that are eligible for that operation.
2. Select the Delete option.
Applications Manager displays the Delete confirmation window.
3. Click Yes to delete the task(s).
Applications Manager closes the confirmation window and displays a small animated window to show you that it
is taking the delete action on the task(s). Once the task(s) go into a DELETED status, the Backlog label will be
displayed in its default color.
Result
Applications Manager 9.4.1
When you delete tasks, they are removed from the Backlog. A record of the task deleted from the Backlog is now
displayed in History with a DELETED status as shown below. An entry is also made in the task's comment, noting
that it was manually deleted. After deleting a task, you cannot reset it from the Explorer window.
To remove all predecessor links for a task in the Backlog, right-click the task and select Remove All Predecessors
from the pop-up menu as shown above. The task will then be eligible to run as shown below.
Applications Manager 9.4.1
If you wish to view and remove select predecessors for a task, you can do so on the Predecessors tab of the Task
Details window. For more information, see Pending Predecessor Links: Viewing and Removing.
When you remove predecessor links for a task in the Backlog, the changes are applied only to that instance of the
task. They do not affect the definition of the Job or Process Flow.
Removing External Predecessors by Queue
To remove a task's external predecessors on insert to the Backlog, assign it to the
REMOVE_EXT_PREDS_ON_INSERT Queue. You can create the REMOVE_EXT_PREDS_ON_INSERT Queue
by hand or by importing it. For more information, see Removing External Predecessors by Queue.
• Documentation: Information written by the person who created the Job or Process Flow. Documentation
provides relevant information about the processing of a task. It can be comments, suggestions, or instructions.
Documentation cannot be altered from the Explorer window.
• Output Files: Output files created on the Agent machine when the task is run. Output files include system and
application files for the task. Output files can be opened for viewing using the File Viewer window.
• Comments: Information about the running of a task. Applications Manager automatically creates comments that:
• Tell about condition actions that affect the running of a task.
• Detail DELETE, HOLD, RESET, and KILL actions taken by a User.
• Give details on tasks with a LAUNCH ERR status.
Additionally, you can include your own comments to provide relevant information about the processing of a task.
Comments are not files, and should not be confused with documentation or output files.
• Run ID
A unique number assigned to a task by Applications Manager at the time the task runs.
• Process Flow Name
The parent Process Flow, if this task is a Process Flow component.
• Process Flow Order No.
The order number of the task in its Process Flow, if the task is a Process Flow component.
• Request Date
The actual time that the task was placed into the Backlog. Corresponds to the so_request_date database field.
• Started
The actual time that the task was started by the Automation Engine and processed by the Agent. Corresponds
to the so_job_started database field.
• Ended
The actual time the task finished processing on the Agent. Corresponds to the so_job_ended database field.
• Status
The task status. For a description of the task status values, see Task Status Values.
• Process ID
A unique number assigned to a task by the operating system.
• Status Detail
Details that give additional information on the reason for a task's status.
• Other Details
When clicked displays a pop-up window with the application status and reference fields. These are used with
the PeopleSoft extension and some custom solutions.
• Notification, Output Scan, Environment Variables
Lists the Notification, Output Scan, and Environment Variable objects assigned to the task and where they are
assigned.
Editable fields
• Max Run Time
Used to prevent runaway programs. It determines how long the program can run before timing out
(DDD:HH:MI). A time of 0 lets the task run forever. If a task times out, it is given a status of TIMEOUT.
• Priority
Determines when a Job is run in relation to other tasks in the same Queue. A task with a lower priority number
will be run before tasks with higher numbers. The range is 1-99. The default priority is 50.
Tasks submitted with 0 priority will have the status of NO PRIORITY in the Backlog and will not run.
The execution order of tasks waiting to run in a QUEUED status is decided in the following order:
1. Queue priority
2. Job priority
3. Start date and time
Therefore, if two tasks are waiting to run in different Queues, and those Queues have the same priority, the
Jobs' priorities are checked. If Queue and Job priorities are the same, their start date and times are compared.
• Login
The Login the system will use when the task is executed. Logins allow operators and programmers to run
programs that access a database or host without having to know the login and password.
Primary and secondary Logins can be specified for Jobs. The primary Login can be overridden (if one is defined
for the Job) by:
• Jobs requested with the REQUEST JOB condition action.
• Process Flow components.
• Queue
The Applications Manager Queue the task will run through. Queues are assigned to Jobs and Process Flows.
If a schedule is defined for a Job or Process Flow, and the schedule is assigned to a Queue, the schedule's
Applications Manager 9.4.1
Queue will override the Jobs or Process Flow's Queue. The Queue setting for a Process Flow does not affect
its components, unless the Insert components into Process Flow's Queue Automation Engine option is
turned on.
The Process Flow's Queue is used for components only when the Insert components into process flow's
queue Automation Engine option is turned on.
Queues can be specified for requests (as long as the Request Queues User Option is assigned).
• Agent
The Agent where the program is stored and run.
• Start Date
The time that the task was scheduled to start. Corresponds to the so_start_date database field. Start dates for
tasks in the Backlog are determined by either:
• Requests (may be post-dated).
• Schedules for Jobs and Process Flows.
• The schedule of a component's Process Flow.
• Send To
Specifies the Output Device or set of devices where the output will be sent (for example: EMAIL, ACCOUNTING
LASER, ATLANTA LASER).
• Output Option
Used for specifying dynamic output options for the selected Output Device. This value or list of values is defined
by the Output Interface assigned to the Output Device.
• Output Function
Determines how output is handled. There are three choices:
• LOG: Legacy setting, should not be used unless you need to use the Output window rather than the
Explorer window.
• PRINT: The output is printed.
• STORE: The output is not printed.
• Copies
Sets the default number of copies to be printed.
• Restart once on abort
When selected, Applications Manager will automatically restart a task the first time it aborts, but will not restart it
if it aborts a second time.
When this option and the Stay in Queue on abort option are both set, and the task aborts, you will see three
listings for it in the Explorer window.
• The original listing for the Run ID <run_id> in History shows that the task ran.
• A second listing <run_id>.01 in History shows that it aborted.
• The current listing <run_id>.02 in the Backlog represents the restarted task.
The Restart once on abort setting is specified in each task's definition, and can be overridden with a condition.
To view the task details for a task in the table, right-click the task and select an option.
Understanding Predecessor Link Types
Descriptions for each link type are given below:
• Started: Predecessor must have started or been skipped. Represented by a solid yellow line.
• Success since last run: For external predecessors only. Predecessor must complete with a status of
FINISHED since the last time this Job ran. Represented by a dashed blue line.
• Success (default): Predecessor must complete with a status of FINISHED or be removed from the Backlog.
Represented by a solid green line.
• Success only when FINISHED: For external predecessors only. Predecessor must complete with a status of
FINISHED. Represented by a solid blue line.
• Success (skip on failure): Predecessor must complete with a status of FINISHED. If status is ABORTED,
DIED, or TIMEDOUT, the component is skipped. Represented by a dashed green line.
Applications Manager 9.4.1
• Failure: Predecessor must complete with a status of ABORTED, DIED, or TIMEDOUT. Represented by a solid
red line.
• Failure (skip on success): Predecessor must complete with a status of ABORTED, DIED, or TIMEDOUT. If
status is FINISHED, the component is skipped. Represented by a dashed red line.
• Complete: Predecessor completes with any status including FINISHED, DIED, or ABORTED. Represented by
a solid black line. Predecessor links to a Process Flow must use this predecessor link type or the Success link
type.
Removing Predecessor Links
To remove predecessor links from either pane of the Pending Predecessors window, check the box in the
Remove column for the task and click the Apply button. Applications Manager deletes the predecessor link. If
there are no other predecessor links, the task should run. This has the same effect as deleting a predecessor link
from the referenced task's Flow Diagram tab.
Deleting predecessor links from this tab does not delete tasks from the Backlog.
If you wish to remove all predecessor links for a task in the Backlog, you can do so by right-clicking and
selecting the Remove All Predecessors option from the pop-up menu. For more information, see Removing All
Predecessors for Tasks.
When you remove predecessor links for a task in the Backlog, the changes are applied only to that instance of the
task. They do not affect the definition of the Job or Process Flow.
Removing External Predecessors by Queue
To remove a task's external predecessor links on insert to the Backlog, assign it to the
REMOVE_EXT_PREDS_ON_INSERT Queue. You can create the REMOVE_EXT_PREDS_ON_INSERT Queue
by hand or by exporting it. For more information, see Removing External Predecessors by Queue.
To view the task details for a task in the table, right-click the task and select an option.
From the Flow Diagram tab, you can monitor and manage objects in much the same way as from Explorer. You
can edit predecessor links as well as take actions on tasks such as delete, hold, restart, and kill.
Viewing Predecessor Links in a Flow Diagram
To view the predecessor links for a task in a flow diagram, right-click the task and select Flow Diagram from the
pop-up menu. Applications Manager displays the Task Details window with the Flow Diagram tab selected.
External references to scheduled tasks that are not yet in the Backlog will have a dashed border.
Adding and Editing Predecessor Links in a Flow Diagram
You can add, edit, or delete internal and external predecessor links for non-running tasks in the Backlog. An
internal predecessor link is a link to a component within the parent Process Flow. An external predecessor is a
link to a component outside the parent Process Flow. When you edit a link, you can change the link type, redirect
the link to another component, or delete the link. You can also add external predecessor links for these tasks. You
cannot add components to a Process Flow from the Backlog.
Applications Manager 9.4.1
When you add, edit, or delete predecessor links for a task in the Backlog, the changes are applied only to that
instance of the task. They do not affect the definition of the Job or Process Flow.
You can select the other tabs to view and edit the task's general task details, prompts, documentation, output, and
more.
Disabling Pop-Up Tables
You can disable the pop-up tables by unchecking the Show status info option under the Options menu. The
Show status info setting can be saved for your workstation by selecting Save Preferences from the File menu.
Taking Actions on Tasks and Viewing or Editing Task Details
You can right-click tasks in the Flow Diagram tab to take actions on them or to view or edit their task details the
same way you would in the Explorer window. For more information on taking actions on tasks, see Taking Actions
on Tasks in the Backlog. For more information on viewing and editing task details, see Viewing and Editing Task
Details.
To add, edit, delete, or copy a condition for a task in the Backlog, select the appropriate button. When you make
changes to conditions for a task in the Backlog, the changes are applied only to that instance of the task. They do
not affect the definition of the Job or Process Flow. You can select the other tabs to view or edit the task's general
task details, prompts, documentation, output, and more.
Where Conditions Are Defined
Conditions can be defined for Jobs, Process Flows, and Process Flow components. The conditions are not
included when the Job/Process Flow is assigned to a Process Flow unless the Use Job Conditions option is
checked for the component.
If the task has HTML documentation, you can uncheck the HTML box to view the source HTML code.
2. In the top portion of the window, select the type of documentation you wish to view.
Applications Manager 9.4.1
Applications Manager displays the documentation you selected in the bottom portion of the window.
You can select the other tabs to view and/or edit additional details for the task.
3. Click OK to close the window.
When Job definitions include Program Types that ship with Applications Manager, standard output and error
file names begin with an 'o'. Output files generated by the task begin with a 'b'. If custom Program Types are
assigned to your Jobs, their output files may be named differently.
Applications Manager 9.4.1
The list for Process Flows will include the output files of all its components.
2. To print an output file without opening the File Viewer window, select a task and click the Print button or one of
the Print icons. For more information on printing output files, see Printing, FTPing, and Emailing Output Files.
3. To view a file, select the file and click View.
Applications Manager displays the File Viewer window. For information on using the File Viewer window and
printing output files, see Viewing Output Files with the File Viewer.
You can select the other tabs to view and/or edit additional details for the task.
After you have added an comment entry, you cannot change it. It becomes a permanent part of the task's history.
Querying Comments for Other Tasks
To view comments for another task:
1. From the Task Details window, select the Comment Query tab.
The table on the top of the screen displays all previous comments for the selected Job or Process Flow.
To disallow predecessor links to this task, you must unsatisfy it as a predecessor. Once a task is unsatisfied as a
predecessor, it is as if it did not run. All predecessor links to it will not be satisfied until the Job, Process Flow, or
Process Flow component runs again.
Procedure
To unsatisfy a task as a predecessor for all potential predecessor links, right-click the task listing in History and
select Unsatisfy for Predecessors from the pop-up menu. Applications Manager changes the task's status to
UNSAT-FINISH and unsatisfies this running of the task as a predecessor for all predecessor links which reference
it, as shown below. The predecessor links of other tasks will now need to be satisfied by another instance of this
Job, Process Flow, or Process Flow component.
Applications Manager 9.4.1
Applications Manager opens the History Gantt view window shown below.
Applications Manager 9.4.1
If you select Process Flows or Process Flow components, Applications Manager displays all tasks in the
corresponding Process Flow(s).
For detailed information on the features available in all Gantt windows, see chapter Monitoring and Managing
Tasks with the Gantt View.
3. If you wish, you can right-click a task and select Flow Diagram to view its predecessors in a flowchart view.
Procedure
To compare run times of tasks in History:
1. Select two or more records for Jobs and/or Process Flows in History that you want to compare.
You may want to run a History query of the tasks you wish to compare. For information on running History
queries, see Querying for Tasks in History.
In the image above, two instances of the INV_STATUS Job are selected.
2. Right-click the History Gantt view option from the pop-up window.
Applications Manager opens the History Gantt view window shown below.
Applications Manager 9.4.1
3. In the History Gantt view window, select Set start times to midnight from the Actions menu.
4. Applications Manager displays all start times as midnight so you can compare run times as shown below.
Applications Manager 9.4.1
Date Pending If the scheduled start date is still in the future, the status
will be DATE PENDING. If the start date has passed,
Applications Manager will launch the task as soon as
possible after the system is brought back online.
Applications Manager 9.4.1
When a task is running AND the machine AND the network THEN
and the Agent running the Agent
Jobs and Process Flows scheduled to run during the down time will run once when the system is brought back up.
They will then return to their normal schedule. It does not matter how many times the Job or Process Flow was
scheduled to run during the down time. Each Job or Process Flow will run only one time before returning to its
normal schedule, unless a date was entered in the Reschedule from field.
If the Oracle Tables Are Lost
If the Applications Manager Oracle tables are lost as a result of the system failure, all status information will be
lost. You will need to restore the Oracle database and let Applications Manager resume processing based on the
schedule information restored by the backup.
You can type the first few letters of an task from the Backlog's name in the Search field, and Applications Manager
will find it. The Search field accepts valid UNIX regular expressions. For example, to search for all Jobs starting
with the letters A and T, you would enter [at] in the Search field.
What Is History?
History is an audit trail including records for:
• All completed tasks and occurrences of task failure(s).
• RMI servers or Agents being started, stopped, or having errors.
• AgentService processes being stopped.
How long task history records are archived in the Applications Manager database is determined by the prompt
setting for the HISTORY_PURGE Job, which is part of the SYSTEM Process Flow. The default value is 60 days.
Your Applications Manager administrator is responsible for setting this value.
The Explorer window includes a partial view of History in its lower right pane.
The amount of History displayed when any user logs in to the client is determined by the HistoryRetentionTime
setting in the Options.properties file.
How long records are displayed in the History pane while you are logged into a Applications Manager session is
determined by:
• Your History Display Minutes desktop setting. For more information, see Editing General Desktop and ToolBar
Settings.
• Whether you have a History query activated.
You select search criteria for your query. You can query by one or more options by entering values in as many fields
as you like. Fill in the fields by doing one or both of the following:
• Typing in values
• Selecting values from a list
You may select a default sort order for the query by selecting a Sort option at the end of a field. The sort order can
be overridden from the History pane by selecting a different column name.
When you are through defining the query, click OK. Applications Manager displays a small animated window as it
processes the query. Once the query is processed, Applications Manager displays the results in the History pane of
the Explorer window.
Field descriptions for the History Query window are described below. Directions for the two methods of filling in the
fields follow.
• Jobs
Searches for any task assigned to the specified Job(s).
To query for a task run under an alias, enter the alias name.
• Process Flows
Searches for Process Flow(s) and components.
• Applications
Searches for any task assigned to the specified Application(s).
• Agents
Applications Manager 9.4.1
Use the Other filters field to type in comma-separated names. This field allows for wildcards and negative filters as
described in the "Typing in Values" section above.
Any text entered in the Other filters field will be included in the appropriate field on the Select filters window.
Adding the Queried Results to History
By default Applications Manager limits the records in the History pane to the results of the query. If you would rather
add the queried results to the current History display, click the Add to Current History box on the History Query
window.
When you add the queried results to the current History display, the records will be added to the History pane and
the Apply Query box on the Explorer window will not be checked. The records added from the query will remain
in History for the number of minutes you have defined in your History Display Minutes desktop setting. To see them
again, you can run another query. For more information on the History Display Minutes desktop setting, see Editing
General Desktop and ToolBar Settings.
Saving a Query
You may also optionally save a History query to use later by entering a name in the Filter name drop-down box
The History query will be saved when you click OK.
Saved History queries can be recalled from the Filter name drop-down box for History queries, Output queries, and
filters of the Backlog and History.
You can delete a saved query by selecting it and clicking Delete.
Viewing Query Results
When you run a query, the Apply Query checkbox will be selected and the column headers will be displayed with a
light orange background as shown below.
Applications Manager 9.4.1
Applications Manager will not refresh the query's results. If you want to view updated query results, you must re-run
the query.
To view the unqueried History, uncheck the Apply Query box. You can view the queried results again by
rechecking the Apply Query box. If you select the History Query menu item again, Applications Manager returns
you to the Query Definition window. Applications Manager displays the search criteria you defined on your last
query. To run a new query, select new data and click OK.
You select search criteria for your filter. You can filter by one or more options by entering values in as many fields
as you like. Fill in these fields by doing one or both of the following:
• Typing in values
• Selecting values from a list
You may select a default sort order for the query by selecting a Sort option at the end of a field. The sort order can
be overridden from the Backlog or History panes by selecting a different column name.
When you are through defining the filter, click OK. Applications Manager displays a small animated window as
it processes the filter. Once the filter is processed, Applications Manager displays the results in the Backlog and
History panes of the Explorer window.
Field descriptions for the Select filter window are described below. Directions for the two methods of filling in the
fields follow.
• Jobs
Searches for tasks assigned to the specified Job(s), including tasks running the Job under an alias name.
To query for a task run under an alias, enter the alias name.
• Process Flows
Searches for the selected Process Flow(s) and their components.
• Applications
Searches for any task assigned to the specified Application(s).
• Agents
Applications Manager 9.4.1
Use the Other filters field to type in comma-separated names. This field allows for wildcards and negative filters as
described in the "Typing in Values" section above.
Any text entered in the Other filters field will be included in the appropriate field on the Select filters window.
Viewing Filter Results
Applications Manager runs the search and displays the filtered results. The Apply Filter checkbox will be selected
and the column headers will be displayed with a orange background as shown in the image below. To view the
unfiltered Backlog and History, uncheck the Apply Filter box. You can view the filtered results again by rechecking
the Apply Filter box. If you select the Filter Backlog & History menu item again, Applications Manager returns
you to the Select filters window. Applications Manager displays the search criteria you defined on your last filter.
To run a new filter, select new data and click OK. To select a saved filter, select it from the drop-down box between
the two checkboxes in the History pane.
Applications Manager 9.4.1
Staging Tasks
Applications Manager staging allows you to edit tasks before they run. You tell Applications Manager which tasks
to stage by specifying prompt values and running either the STAGING or STAGING_BY_SCHEDULE Job. These
Jobs can be scheduled or requested on an ad hoc basis. Jobs and Process Flows should not be edited, and you
should not run exports or imports while these Jobs are running.
Applications Manager 9.4.1
• For STAGING: individual Jobs and Process Flows with schedules from the Application(s) selected in the first
prompt.
• For STAGING_BY_SCHEDULE: schedules from Jobs and Process Flows with schedules from the
Application(s) selected in the first prompt.
If one or more Applications are selected, but no Process Flows or Jobs, then all Process Flows/Jobs of the
selected Applications will be staged. Any scheduled Process Flows or Jobs not staged will be inserted in the
Backlog at their regularly scheduled time.
• Include Hour/Minute Schedules
Determine whether you wish to include Process Flows/Jobs with Hours or Minutes selected in their schedule's
Units box.
• Hours ahead to be staged
Determine the number of hours ahead you want to stage tasks.
By default, this prompt has a maximum value of 48 hours. This is so no one accidentally stages out too far. If
you wish to stage tasks out longer, you must edit the prompts in the Job's definition.
If the Use virtual day for Process Flow component days of week option is selected for the Automation
Engine, tasks cannot be staged beyond 24 hours from the start of the virtual day.
Warning: Staging tens of thousands of tasks can affect Backlog performance.
When you stage a task, the value in its schedule's Next run date field will be updated to its next run.
Creating Multiple Schedules
You can create multiple schedules for these Jobs that use different prompt values. For example, you might create
the following schedules:
• WORKDAY: Runs Monday through Friday at 9:00 A.M. and lists all Process Flows and Jobs for 8 hours without
including hour/minute schedules.
• EVERY_HOUR: Runs every hour and lists all Process Flows and Jobs including hour/minute schedules.
For a description of all task status values, see Task Status Values.
You can filter staged tasks in the Backlog using the Future Hours field for a Backlog & History filter. For more
information, see Filtering the Backlog and History.
Editing Staged Tasks
Staging tasks in the Backlog gives you the opportunity to alter a task's details before it runs. Editing staged tasks is
exactly the same as editing any other non-running task in the Backlog. For information on altering task details, see
Viewing and Editing Task Details.
Queues control the flow of tasks. All tasks must pass through an Applications Manager Queue to be executed. You
control Queue throughput by assigning a Queue to a Thread Schedule. You can define an unlimited number of
Queues.
Agents are instances of Applications Manager; an Agent is installed on each machine where tasks are executed.
An Agent can be an Automation Engine's Local Agent, or a Remote Agent. The Automation Engine is also listed
along with the Agents in the Explorer window. The Automation Engine schedules and controls task execution on all
the Agents assigned to it.
You monitor and manage Agents and Queues from the Explorer window.
Monitoring and Managing Agents
From the Explorer window, you can:
• View information in the Agent Summary including the status of the Automation Engine and Agent(s). An Agent
Summary is shown below.
Monitoring Agents
You can view an Agent Summary by clicking the Agents icon from the object tree.
Agents are installed on each machine where tasks are executed.
Applications Manager 9.4.1
Each Automation Engine has one Local Agent and can control numerous Remote Agents and application Agents.
Several Agents are defined and the Remote Agent TRUNK is selected in the image above. From the Explorer
window you can view:
• An Agent summary by clicking the Agents icon in the object tree.
• All Agents on a machine by clicking the machine name under the Machines icon in the object tree.
• Agent status based on icons in the Explorer tree and descriptions in the Agent Summary.
Column Descriptions for the Agent Summary
The Agent Summary displays the status of each Agent. The columns are described below.
• Agent
Name of the Agent, Agent Group, or Automation Engine.
• Status
Applications Manager 9.4.1
Current status of the Agent. For information on possible status values, see Automation Engine/Agent Status
Values .
• Type
Designates each listing as an Automation Engine or Agent type.
Although the Automation Engine and its Local Agent are defined as a single object in Applications Manager,
they are listed separately in the Agent Summary, and separate actions can be taken on them.
• Elapsed
Elapsed time of the Agent status.
• CPU
Percentage of CPU usage on the Agent machine. The CPU usage is updated about once every minute for each
Agent and the Automation Engine. CPU percentages are rounded to the nearest five percent.
• Max Tasks
Number of threads available for the Agent.
• Bklg
Number of tasks in the Backlog.
• Run
Number of tasks RUNNING.
• Hold
Number of tasks on HOLD.
• Abtd
Number of tasks ABORTED in the Backlog.
• Process Flow
Number of Process Flows in the Backlog.
You can customize many tables in Applications Manager, including the Agent Summary. When customizing tables,
you determine:
• Which columns are listed.
• What each column is named.
• How each column is displayed.
Your Applications Manager administrator can set default values for tables. Therefore, the columns in the Agent
Summary may be different from what is described above. For more information, see Customizing Tables .
Managing Agents
You manage the Automation Engine and its Agents in several ways. From the Explorer window you can:
• Take an action on a single Agent or Automation Engine by right-clicking an Agent's icon in the object tree or by
right-clicking a listing in the Agent Summary.
• Take an action on one or more Agents or the Automation Engine by highlighting them in the Agent Summary
and right-clicking.
• Take an action on all Agents and the Automation Engine by right-clicking the Agents icon in the object tree.
• Take an action on all Agents on a machine by right-clicking the machine name under the Machines icon in the
object tree.
• Change an Agent or Automation Engine's Thread Schedule by right-clicking the Agent or Automation Engine.
Actions you can take on Agents are start, stop, idle, resume, and reset. These actions can be taken on the
Automation Engine as well. Each action is described below.
Applications Manager 9.4.1
To manage Agents, you must have the Take Actions on Agents User Option assigned to you by your Applications
Manager administrator.
Idling and Resuming Agents or the Automation Engine
If you want to stop processing newly submitted tasks through an Agent you can idle it. The Agent will go to an Idled
status and the icon for the Agent will be displayed with a yellow triangle over it in the Explorer tree. Tasks in the
Backlog set to run on an Agent in an Idled status will have a task status of AGENT WAIT. To take the Agent out of
the idle status, you resume it.
Starting Agents or the Automation Engine
Starting an Agent will start processes on that Agent if they are stopped and change the Agent's status to Running.
The Agent may change to an interim Starting status before it moves to Running. Starting an Agent is equivalent to
issuing the startso <Agent name> command. It may take some time to update the status when starting Agents or
the Automation Engine.
Applications Manager 9.4.1
Thread Schedules are assigned to Automation Engines, Agents, and Queues. You can also specify a local or
Remote Agent's Thread Schedule in its definition. For information on defining Thread Schedules, see Defining
Thread Schedules.
The log will display in the File Viewer window. For detailed information using the File Viewer window, see
Viewing Output Files with the File Viewer.
Printing, FTPing, and Emailing Logs
To print, FTP, or email a log file without opening the file viewer, select a task and select an option from the Print
menu or one of the Print icons. For more information on printing output, see Printing, FTPing, and Emailing Output
Files.
Zipping Log Files
You can zip log files to compress them by selecting the file and clicking the Zip button. When the file is zipped, you
will still be able to view it from the Applications ManagerFile Viewer window.
You cannot zip current log files that are still receiving information.
Rolling Over AgentService.log and RmiServer.log Files
You can roll over the current file to create new AgentService.log files for Agents or the RmiServer.log files for the
Automation Engine. To rollover one of these logs, right-click on an Agent or Automation Engine and select Agent
Log Rollover or RmiServer Log Rollover. You might want to rollover a log file when debug is turned on and you
want to isolate what is written in a log.
Customizing the Agent Logs Table
You can customize many tables in Applications Manager, including the table in the Agent logs window. When
customizing tables, you determine:
• Which columns are listed.
• What each column is named.
• How each column is displayed.
Your Applications Manager administrator can set default values for tables. Therefore, the columns in the Agent
logs window may be different from what is shown above. For more information, see Customizing Tables.
Monitoring Queues
You can view the Queue Summary in Explorer.
Controlling the load on your system is critical. In Applications Manager, you control the workload by setting the
number of concurrent tasks that can pass through the Queues.
Applications Manager 9.4.1
Displays whether the Queue is active or inactive. Active Queues apply the thread settings. When you inactivate
a Queue, no tasks will be processed through it. The tasks will remain in the Backlog with a QUEUE WAIT status
until the Queue is activated.
The object tree icons for inactive Queues will be covered by a yellow triangle.
• Pri
The priority assigned to the Queue. Priority defines the order in which the Queue is scanned for task initiation.
Tasks in a higher priority Queue will be processed before tasks in a lower priority Queue. The lower the number
you assign to a Queue, the higher priority it will have to run tasks. If all threads in a high priority Queue are
being used, Applications Manager will process tasks in lower priority Queues until the maximum number
of threads is reached. You can control the load on your system and the availability of computing resources
by giving careful thought to how you prioritize Queues and set their thread limits. For information on Queue
priorities, see Administering Queues .
• Threads
Number of threads assigned to the Thread Schedule displayed in the Schedule column.
• Bklg
The number of tasks in the Backlog waiting to run on the Queue.
• Schedule
The Thread Schedule assigned to a Queue. Thread Schedules control the maximum number of concurrent
tasks that can run through the Queue at any given time. For information on defining Queues and Thread
Schedules, see Administering Queues .
You can customize many tables in Applications Manager, including the Agent Summary. When customizing tables,
you determine:
• Which columns are listed.
• What each column is named.
• How each column is displayed.
Your Applications Manager administrator can set default values for tables. Therefore, the columns in the Queue
Summary may be different from what is described above. For more information, see Customizing Tables.
Active Queues apply the thread settings. When you inactivate a Queue, no tasks will be processed through it.
The tasks will remain in the Backlog with a QUEUE WAIT status until the Queue is activated.
You can also activate or inactivate one or more Queues from the Queue Summary by highlighting the Queues,
right-clicking, and selecting the appropriate option. When you change Queue settings from the Queue Summary,
the Queue definition is altered in the database.
Applications Manager User Groups allow you to edit Queues. If you cannot edit them, see your Applications
Manager administrator.
Administering Queues
You control the flow of tasks to servers by using Applications Manager Queues. All tasks pass through an
Applications Manager Queue to get to a server. You control Queue throughput by assigning each Queue to a
Thread Schedule. You can define an unlimited number and type of Queues.
Thread Schedules control the number of concurrent tasks that can run through a Queue. When you define a
Thread Schedule, you specify the number of threads, the minimum threads, and the start and stop times for the
schedule. A Thread Schedule can be divided into sub schedules, letting you change the number of threads for
different times of the day.
For example, you might assign only one thread from midnight to 6:00 A.M., four threads from 6:00 A.M. to 5:00
P.M., and two threads from 5:00 P.M. to midnight. This gives you the ability to fine-tune workloads on your system.
The diagram below shows several different Queues.
Applications Manager 9.4.1
Queue 1 has zero threads from midnight to 8:00 A.M., three threads from 8:00 A.M. to 4:00 P.M., and one thread
from 4:00 P.M. to 23:59:59. Queue 2 has one thread from midnight to 8:00 A.M., and three threads for the rest of
the day.
When Threads Are Set to Zero
If the thread setting for a Queue is zero, any tasks scheduled to run through that Queue will not be launched. The
tasks will be displayed in the Backlog with a status of QUEUE WAIT.
For example, you can set threads to zero to prevent end-user submissions from overwhelming the system during
the working day. To do this, set up a Queue with a schedule that includes zero threads from 7 A.M. to 6 P.M., and
10 threads at all other times. End-users would be able to submit tasks into the Queue during the normal business
day, but the tasks would simply be held until 6 P.M. when the Queue opens up. This way, all tasks submitted during
one day could be run overnight and made available the following day.
Selecting Minimum Threads with Thread Schedules
You can assign a minimum thread value to a Thread Schedule. Any Queue assigned to a Thread Schedule will be
able to have at least that number of threads available in a 'standby' mode.
For example, QUEUE_A (shown below) is guaranteed to have two available threads regardless of any tasks
requested or scheduled in other Queues. If the total threads for the Agent is set to 10, that would mean a maximum
of 8 tasks could run at any time through all the other Queues.
QUEUE_A 1 6 2 2
QUEUE_B 1 7 1 3
QUEUE_C 2 8 3 6
QUEUE_D 2 8 1 7
QUEUE_E 3 10 0 7 3
QUEUE_F 3 10 0 7
Applications Manager 9.4.1
Queues are grouped and run by priority. For example, in the table above you have two Queues in each of the
three priority levels (1, 2, 3). If the Agent Thread limit is set to 10, and the minimum thread limit is set to 2 for
Queue_A and 1 for Queue_B, that leaves only seven threads available to Queues with other priorities. Based on
the Queues used in the example table above, if Queue_F were the only Queue running tasks, only three tasks
would be allowed to run because seven min threads with a higher priority level are already reserved.
Defining Queues
You control the flow of tasks to servers by using Applications Manager Queues. All tasks pass through an
Applications Manager Queue to get to a server. You control Queue throughput by assigning each Queue to a
Thread Schedule.
Applications Manager User Groups control access to Queues. If you do not have access to them, see your
Applications Manager administrator.
Procedure
To add a Queue:
1. From the Queues Selector window, click New.
Applications Manager opens the Queues window shown above.
2. Complete the fields using the information in the following table.
• Name
The name may be up to 30 characters long.
• Thread Schedule
The Thread Schedule controls the maximum number of concurrent tasks that can run through the Queue and
the number of threads that are reserved for the Queue at any given time. For more information, see Defining
Thread Schedules.
• Priority
Defines the order in which each Queue is scanned for task execution if the maximum number of threads for
an Agent is reached. Queues are scanned starting with the number 1 and ending with 99.
The execution order of tasks waiting to run in a QUEUED status is decided in the following order:
1.1 Queue priority
2.1 Job priority
3.1 Start date and time
Therefore, if two tasks are waiting to run in different Queues, and those Queues have the same priority, the
Jobs' priority is checked. If Queue and Job priorities are the same, their start date and times are compared.
• Active
Click the Active checkbox to activate the Queue.
Applications Manager 9.4.1
Active Queues apply the thread settings. When you inactivate a Queue, no tasks will be processed through
it. The tasks will remain in the Backlog with a QUEUE WAIT status until the Queue is activated.
Editing Queues in Explorer
Applications Manager operators with the necessary User Group access can alter Queue definitions from Explorer.
For more information, see Changing Queue Settings.
Applications Manager User Groups control access to Thread Schedules. If you do not have access to them, see
your Applications Manager administrator.
Procedure
To define a Thread Schedule:
1. From the Thread Schedules Selector window, click New.
Applications Manager opens the Thread Schedules window shown above.
2. Enter a name and description for the Thread Schedule on the General tab of the Thread Schedules window
shown in the image above.
Note that there is one entry in the table on the General tab.
Applications Manager 9.4.1
3. If you wish to specify times to set specific minimum and maximum threads, click New.
Applications Manager opens the Thread Schedule details window where you can specify the details for each
entry in your schedule.
4. Complete the fields on the Thread Schedule details window using the information in table below and click OK.
• Start Time
The start time for this entry (hh:mm).
• Stop Time
The stop time for this entry (hh:mm).
• Min Thread
The number of the Automation Engine's threads you wish to reserve for a Queue. The values can range
between 0 and the maximum number of threads available on the Automation Engine. If one or more
minimum threads are assigned to a Queue's Thread Schedule, then even higher priority Queues (Queues
with a lower number set in their Priority field) will have this many fewer threads available to them. This is
even true when no tasks are running in the Queue that is reserving the threads.
• Max Thread
The maximum number of tasks that can run concurrently in the Queue. The value can be between 0 and
9999. If you set the value to 0, the Queue will not accept any tasks during the time period specified. Tasks
assigned to this Queue will show a QUEUE WAIT status.
Only tasks in a RUNNING status count toward the Max thread setting.
Applications Manager adds a new entry to the table with the values you specified. You can add as many entries
to the table as needed to set different minimum and maximum values for different times of the day.
Updating and Deleting Thread Schedule Entries
To update or delete a Thread Schedule entry, select the entry in the table and select Edit or Delete.
Selecting Thread Schedules for Agents
You can select a Thread Schedule for an Agent to specify the maximum number of concurrent tasks that can run on
that Agent at one time in all Queues.
Using the Forecast feature, you can view a list of scheduled Jobs and Process Flows. An example forecast is
shown below.
You can view a graphical forecast of scheduled Jobs and Process Flows. Graphical forecasts are displayed in
the Forecasted Gantt view window shown in the image below. For more information on graphical forecasts, see
Viewing Graphical Forecasts.
The data displayed in forecasts is generated and loaded into Applications Manager by running the FORECAST
Job. When you create a schedule for the FORECAST Job, you determine the time frame of the forecast and how
often it is run. For more information on running the FORECAST Job, see Setting the FORECAST Job Parameters.
You can get a more detailed look at tasks that are scheduled to run by generating a production schedule. An
example production schedule is shown below.
Viewing Forecasts
The Forecast window shows you a list of scheduled Jobs and Process Flows.
Procedure
To open the Forecast window shown above, do one of the following:
• Open the Activities menu and select Forecast.
• Select the Forecast icon from the toolbar.
Applications Manager displays a list of forecasted Jobs and Process Flows shown below.
Each scheduled Job/Process Flow includes the start date and time and the Job or Process Flow's name. Process
Flows also include a key icon used to expand or collapse them.
To view the Jobs within a Process Flow, click the Process Flow's key. To expand all keys for a Process Flow and its
children, select the Process Flow, go to the View menu and select Expand Process Flows. To expand the keys in
all Process Flows, choose Expand All. To print or preview a forecast, use the print buttons.
Applications Manager 9.4.1
You can also select Predecessor Statement to only view the predecessor statement(s) for a Job, Process Flow, or
Process Flow component as shown below.
Data displayed in forecasts is generated and loaded into Applications Manager by running the FORECAST Job.
When you create a schedule for the FORECAST Job, you determine the time frame of the forecast and how often it
is run. For more information on running the FORECAST Job, see Setting the FORECAST Job Parameters.
Procedure
To open the Forecasted Gantt view window shown above.
1. Do one of the following:
• Open the Activities menu and select Graphical Forecast.
• Select the Graphical Forecast icon from the toolbar.
Applications Manager displays the Forecast filter window shown below.
2. If you wish to filter the tasks displayed in the Forecasted Gantt view window, edit the options described below.
Applications Manager 9.4.1
Include minute and hour Not include tasks that are scheduled by minutes or
hours (when unchecked).
Data displayed in the Forecasted Gantt view window is generated and loaded into Applications Manager by
running the FORECAST Job. When you create a schedule for the FORECAST Job, you determine the time
frame of the forecast and how often it is run. For more information on running the FORECAST Job, see Setting
the FORECAST Job Parameters.
By entering information into the fields on the Forecast filter window, you are filtering beginning with the next
scheduled task and ending with the last scheduled task loaded by running the FORECAST Job. You cannot
enter a date/time beyond the setting from the last run of the FORECAST Job.
The Forecasted Gantt view window will not include any tasks that are currently in the Backlog, even if the
tasks are staged. For more information on staging tasks, see chapter Staging Tasks in the Backlog.
3. Click OK.
Applications Manager displays a small animated window as the tasks are loaded for the Forecasted Gantt view
window.
Applications Manager displays the graphical forecast in the Forecasted Gantt view window. For information on
reading Gantt windows, see Reading the Gantt View Window.
4. If you wish, you can right-click a task and select Graphical Predecessors to view its predecessor links in a flow
diagram.
Gantt Legend
The legend describes the graphics used in the Gantt view windows. To display the legend, click the Legend button
in the menu bar. The Legend includes some symbols not used on the Forecasted Gantt view window. To close the
Gantt Legend window, click the X in the title bar.
Depending on your organization's needs, you can schedule this Job to run every day, or several times each day.
Additionally, if you want to set the forecast on an ad hoc basis, you can submit the Job as shown below.
Applications Manager 9.4.1
The levels of sub Process Flows you wish to show in the forecast.
• Minimum Schedule Units
Select whether you want to limit the forecast to list tasks by day, hour, or minute.
If selecting an interval other than -3, you should review your start and end dates because the shorter interval
settings will produce larger reports.
4. Submit the Job and view the output for the SCHPRINT Job.
Sample Production Schedule
{SALES_REPORTS}REGION_C
Abbreviation Definition
The Backlog Gantt view window displays an expandable task tree on the left, and the Gantt chart on the right. You
can change the size of the two panes by dragging the vertical splitter bar that divides the panes.
Each task (Job or Process Flow) is displayed on its own row. Rectangles represent the expected run times of the
tasks: black for Process Flows and blue for Jobs. Arrows drawn between the rectangles indicate predecessor links.
Applications Manager 9.4.1
Process Flows
Process Flows are represented by a rectangle with a black border. The rectangle extends from the scheduled start
time to the scheduled completion time based on the average run time for the Process Flow. The average run time is
based on the sum of the average run times of all tasks in the Process Flow.
When a Process Flow is initiated, a green bar is displayed in the rectangle. The green bar indicates the current
run time for the Process Flow. The green bar is displayed until the Process Flow completes or is killed. When a
Process Flow completes, the run time bar turns black.
If a task in a Process Flow aborts, a red X is placed over the Process Flow name in the task tree. Note a Process
Flow never aborts, only the components in a Process Flow.
From an operations standpoint, you can display only the unexpanded Process Flows in the Gantt chart and easily
monitor the system. If a problem arises with a Process Flow, or you want to see more details about individual
components in a Process Flow, you can expand the Process Flow.
Jobs
Jobs are represented by a rectangle with a blue border. The rectangle extends from the scheduled start time to the
completion time based on the average run time for the Job.
Actual run times for Process Flows and Jobs are represented by solid bars running through the center of the
rectangles. The color of the bar indicates the status of the task.
To help you interpret the start and end time symbols as they relate to Process Flows, several examples are given
below.
Running on schedule
Job Examples
To help you interpret the start and end time symbols as they relate to Jobs, several examples are given below.
Running on schedule
Procedure
To find a task in the Backlog Gantt view window:
1. Go to the Actions menu and select Find.
Applications Manager opens the Find component window shown above. The Find component window lists
all Jobs and Process Flows alphabetically. Process Flow components including sub Process Flows are listed
starting with their initial parent Process Flow.
You can enter a valid UNIX regular expression in the Search field to have Applications Manager filter the list of
tasks. In the image above, .*DAT is entered in the Search field to limit the list of tasks to ones with the letters
'DAT' in their name.
2. Select a task from the Find component window.
Applications Manager highlights the task in the Backlog Gantt view window.
Print Preview
The Print Preview command displays the dialog shown below. You can print directly from this dialog if you wish.
Applications Manager 9.4.1
Print Gantt
The Print Gantt command displays the standard Windows print window shown below where you can set various
output options.
Applications Manager 9.4.1
Status Description/Action
Status Description/Action
Status Description/Action
Status Description/Action
Status Description/Action
BAD TYPE Description: The data type specified for the task is
incorrect.
Action: Check the data type definition assigned to the
prompt.
Status Description/Action
DATE PENDING Description: This task is not yet ready to run. Tasks are
not ready to run if:
• They have been staged by running either the
STAGING or STAGING_BY_SCHEDULE Jobs and
selecting prompts.
• Someone post-dated the start date/time for a Job or
Process Flow when requesting it.
• A condition with a DELAY TASK action prohibits the
task from running.
Action: No action is required. The task will run when its
reaches its start date and time, or when its conditions
allow it to. You can edit the task details of the Job or
Process Flow in the Backlog.
Status Description/Action
HOLD PRED WT Description: The task is on hold and is waiting for one
or more predecessor requirements to be met.
Action: The task will not be eligible to run until both of
the following occur:
• The hold status is changed by an action associated
with another condition or by a User.
• The predecessor requirements for the task are met.
Status Description/Action
Status Description/Action
LAUNCHED Description: The task has been launched, but its status
has not yet been determined.
Action: No action required.
Min Run Time Description: The task finished more quickly than the
time specified in the Min run time field of the Job's
definition. Applications Manager developers specify a
min run time when they expect a Job to run for at least
the time they specify.
Action: Investigate why the task finished so quickly.
Applications Manager 9.4.1
Status Description/Action
Status Description/Action
SELF WAIT Description: The Single run option is set for the Job
or Process Flow, and there is another instance of the
task running. The first must complete before the second
instance will be initiated.
Action: No action required. If you want to allow two
instances of the task to run concurrently (even within
a Process Flow), uncheck the Single run option in the
Job/Process Flow definition.
Status Description/Action
Status Description/Action
7 Development Guide
The Development Guide is a comprehensive procedures manual that covers all aspects of
Applications Manager development.
The Development Guide is a comprehensive procedures manual that covers all aspects of Applications Manager
development. It is part of the complete Applications Manager documentation set which includes:
• Getting Started Guide
• Installation Guide
• User Guide
• Development Guide
• Administration Guide
• Oracle Applications Extension Guide
• PeopleSoft Extension Guide
Text Conventions
The following text conventions are used throughout this guide:
• User interface field names, menu items, and window names are written in bold.
• File names and text within scripts are written in bold.
• Variable text is written within <brackets>. In the example below <run ID number> represents the actual run ID
number of a requested Job.
If you submit a large Process Flow, the message will read, 'Task submission in progress: Run ID = <run ID
number>' until all components of the Process Flow have been placed into the Backlog.
You define Jobs once, but can assign them to multiple Process Flows.
Step 2: Define Objects
As you define Jobs, you use a variety of simple and compound objects. A compound object is made up of one
or more simple objects. You can define objects as needed. Examples of simple and compound objects are listed
below.
Applications Jobs
6. Add scheduling information to the Process Flow by choosing the time and days you want the Process Flow to
run.
If appropriate, add scheduling eligibility to each component in the Process Flow.
7. Save the Process Flow.
After saving the Process Flow, Applications Manager will begin running it on its defined schedule(s).
Only the objects assigned to you via User Groups will be displayed in the selector window. In the image above,
the Queues Selector window is open.
The Jobs and Process Flows selector windows include an Application box. Applications specify a group of
Jobs and Process Flows. The Application you select determines which Jobs and Process Flows are listed in the
table. For more information on Applications, see Defining Applications.
Selector windows are not displayed on the taskbar because they do not contain unique information. For more
information on using the Applications Manager desktop, see the User Guide.
2. To update an existing object, select the object and click Edit. To refresh the list of objects on the selector
window, click Refresh.
You can type the first few letters of an object's name in the Search field, and Applications Manager will find it.
The Search field accepts valid UNIX regular expressions. For example, to search for all Jobs starting with the
letters A and T, you would enter [at] in the Search field. For more information on syntax accepted by regular
expressions, see Appendix A: Regular Expression Tables.
3. To define a new object, click New.
Applications Manager opens an object definition window. If you are defining a new object, the fields will be
empty except where defaults come preselected.
Required fields are marked with a '*' symbol to their right.
4. Enter values for the fields on the various tabs of the object.
When you enter or change a field value, Applications Manager displays a blue triangle next to the current tab's
label to signify unsaved changes. A red triangle signifies unsaved changes made to a sub-element of a tab. For
more information, see Updating Unsaved Changes.
If a supporting object is selected in another object's field, and a User does not have access to the supporting
object, that field will be grayed out. For example, assume the MONITOR Thread Schedule is assigned to the
BATCH Queue. A User named Pat has the BATCH Queue in an edit User Group, but she doesn't have the
Applications Manager 9.4.1
MONITOR Thread Schedule in any User Groups. Pat can edit the BATCH Queue, but she cannot change its
Thread Schedule, because the field is grayed out for her (showing MONITOR as its selection).
5. If you wish, you can select the User Groups tab to assign the object to one or more User Groups. For more
information on assigning objects to User Groups, see the Administration Guide.
If you are assigned to a Maintenance user group, the object will automatically be assigned to your User
Group. You can view a list of objects that you have access to from the View menu by selecting View Assigned
Objects. If you do not have access to the object, see your Applications Manager administrator.
6. Select the appropriate button:
• To save the object's definition and close the window, click OK.
• To add/update the object's definition and keep the window open, click Apply.
• To close the window without updating the object's definition, click Cancel.
Deleting Objects
To delete an object, highlight the object in its selector window and click Delete. If the object you are deleting is
referenced by one or more objects, you must remove the references before it can be deleted. If you try to delete an
object without first removing the references, Applications Manager will display a message saying it is in use. For
information on viewing references for an object, see Viewing Object References.
If Jobs or Process Flows are in the Backlog, you cannot delete their definitions. You will need to wait until they
complete executing.
Prerequisites
Applications Manager 9.4.1
There are several prerequisites to keep in mind when copying Applications Manager objects:
• You must have edit access to the original object. This access is controlled by User Groups. If you created the
original object, you probably have edit access to it.
• You must have User Group access to all the User Groups that are assigned to the object.
• The object you want to copy must be displayed on its object type selector window.
If you are copying an object recently created by another User, it may not be displayed in the selector window. You
may need to refresh the display by clicking the Refresh button.
Copying Objects
To copy an Applications Manager object, select the object in its selector window and choose the Copy button.
For information on using selector windows, see Adding, Editing, and Deleting Applications Manager Objects.
The EXPRESS Queue is selected in the Queues Selector window above. After you choose the Copy button,
Applications Manager opens the new object definition. To save the new object, give it a name (and description, if
required).
Since they are only a name and description, you cannot copy Output Groups.
Copying Jobs and Process Flows
When you copy a Job or Process Flow, the prompts are always copied. You have the option of coping its
conditions, documentation, and schedules.
3. Enter the name and description for the new Job or Process Flow.
4. Select the appropriate checkboxes to copy conditions, documentation, or schedules.
5. To accept the information and close the window, click OK.
Applications Manager closes the Copy Job or Copy Process Flow window, adds the Job or Process Flow to
the selector window, and opens the new Job or Process Flow's window.
You can view Reports for each of the operations windows and selector windows.
Applications Manager 9.4.1
An object type Open that object's selector window and click Reports.
An operations window Open the operations window and choose the Report
type from the Reports menu.
This opens the Reports window and selects the Report type that corresponds to the window you opened it from. In
the image below, the Reports button is selected on the Jobs Selector window, opening the Reports window with
the Jobs type highlighted.
To view Reports for another object type, select that object type from the Type box. If an object is not listed in the
Type box, there are no Reports for it. To view a Report, select it and click the Show button.
Prompt Values
Some Reports require you to enter prompt values. If the Report you select requires prompt values, you must
respond to them in the Report Parameters window shown below. After entering the prompts, click OK and
Applications Manager will display the Report in its own window.
To view or edit the definition a referenced object, select the object and click Edit.
In the Jobs window shown above, unsaved changes have been made on the General tab.
If you click Cancel, Applications Manager displays the window shown below. From this window you can click Yes to
discard the pending changes for the tabs listed, or No to remain on the tab in the object's definition.
Creating Jobs
A Job is the basic building block in Applications Manager. For each program you want to run (such as FTP,
application, or database load), you must create a Job. A Job specifies all the information required to run a program
including:
• General information: the task that will be run and its program information
• Execution options and output settings
• Prompts: information that is passed to the program as variables
Applications Manager 9.4.1
Jobs can be run individually with a schedule or on an ad hoc basis from the Requests window. They also can
be run as a component of a Applications Manager Process Flow. The Jobs window is shown below with the
PROCESS_FLOW_REPORT Job displayed.
Keeping with the Applications Manager object-oriented approach to operations, you can use a Job in as many
different Process Flows as you wish. If you change a Job definition, the change is applied to every Process Flow
that includes the Job. You do not have to change the definition in each Process Flow. This saves you a great deal
of time maintaining your system.
Related Chapters
This chapter focuses on the basics of creating a Job. For additional information, see the following:
• Working with Predecessors
• Adding Prompts to Jobs and Process Flows
• Working with Substitution Variables and Replacement Values
• Working with Conditions
• Scheduling Jobs and Process Flows
Defining Jobs
To add a Job to Applications Manager, go to the Object Admin menu on the desktop and select Jobs.
Applications Manager 9.4.1
Applications Manager User Groups control access to Jobs. If you do not have access to them, see your
Applications Manager administrator.
Jobs and Process Flows should not be edited while running the STAGING Job or executing exports and imports.
For Rapid Automation Agent documentation including Agent-specific Login object tabs, see the the following.
• The Banner Rapid Automation Agent for Local Clients Documentation
• The Banner Rapid Automation Agent for the Automic Web Interface Documentation
• All other Rapid Automation Documentation
Procedure
To add a Job to Applications Manager:
1. From the desktop, open the Jobs Selector window in one of two ways:
• Select the Jobs icon from the toolbar.
• Go to the Object Admin menu and select Jobs.
For more information, see Adding, Editing, and Deleting Applications Manager Objects.
2. From the Jobs Selector window, click New.
Depending on your configuration, you may need to select a Job type from the Select job type window shown
above. The Job type you select will determine the default selections for certain fields, such as the Program Type
and Login.
Applications Manager opens the Jobs window.
To create OAE or PeopleSoft Jobs, go to the Agents Selector window, select the appropriate Agent and use
the Aux button.
3. Define the Job by assigning values to the fields on the General tab. For more information, see Entering General
Information for Jobs.
4. If you wish, you can edit the information on the other tabs in the Jobs window at this time. For information on
each of the tabs of the Jobs window, see Using the Tabs of the Jobs Window.
Applications Manager 9.4.1
5. Click Apply to add the Job definition to the list of Jobs, or OK to add the new definition to the list of Jobs and
close the Jobs window.
6. Applications Manager displays an error message to alert you to any required fields that have not been filled in.
Editing and Deleting Jobs
To edit or delete a Job, select the Job on the Jobs Selector window and select the appropriate button. For
information on using selector windows, see Adding, Editing, and Deleting Applications Manager Objects.
If a Job is used in one or more Process Flows, you must remove it before you can delete the Job. If a Job is used in
a Process Flow and you try to delete it, Applications Manager will display a message saying the Job is in use.
If a task for a Job is in the Backlog, you cannot delete it. You will need to wait until the task has completed
executing before you can delete its definition.
Some of the tabs are more commonly used than others. Additionally, the Process Flows window includes several
of the same tabs as the Jobs window. For these reasons, some tabs on the Jobs window are described in this
chapter and others are described in later chapters.
Job Tabs Discussed in this Chapter
The following tabs are discussed in this chapter:
• General: Specifies the name and description of the Job. It also tells Applications Manager where to find the
program or script the Job will run and how to run it. Many of the fields on this tab are required. For details, see
Entering General Information for Jobs.
• Execution Options: Determine what happens when a Job runs. For details, see Entering Execution Options for
Jobs.
• Output: Controls what happens to the output of the Job. For details, see Specifying Output Options for Jobs.
• Documentation: Provides a location to enter relevant information about the processing of a task. By selecting
an individual Job and choosing Documentation, operators can access these comments, suggestions, or
instructions for an individual task. For details, see Adding Job Documentation.
• User Groups: Controls access to the Job. User Groups can be added to a Job from the User Groups tab as
well as from the User Group itself. User Groups are usually defined by your Applications Manager Administrator.
For details, see Assigning User Groups to Jobs.
Job Tabs Discussed in Other Chapters
The following tabs are discussed in later chapters:
• Schedule: Creates schedules to run the Job. Schedules can be based on days of the week, specific days of
the month, and days in a Calendar. You create more than one schedule for a Job. For details, see chapter
Scheduling Jobs and Process Flows.
• Prompts: Pass arguments or parameters to a program or script. For more information, see chapter Adding
Prompts to Jobs and Process Flows.
• Predecessors: Specify external predecessor links for the Job. External predecessor links are dependencies
on other stand-alone Jobs, Process Flows, or Process Flow components. While predecessors are used in all
Process Flows, they are only defined for Jobs in special case scenarios. For details, see chapter Working with
Predecessors.
• Conditions: Conditions control the execution of tasks. They provide IF/THEN logic for your Job. Conditions
can be evaluated before, during, and after a task executes, or after a task is deleted. For details, see chapter
Working with Conditions.
Applications Manager 9.4.1
>cat employees.sql
set verify off
set feedback off
set termout off
spool &so_outfile
column ename heading 'Employee|Name'
column dname heading 'Dept|Name'
select emp.ename, dept.dname
from emp, dept
where dept.dname = '&dept_name'
and emp.deptno = dept.deptno;
spool off
When the variable dept_name is passed to the employees.sql script, it returns all the employees in that
department.
Creating the Job
The first step in creating a Job to run the employees.sql script is to define a new Job and fill in the information on
the Job's General tab. A sample Job named EMPLOYEES that runs the employees.sql script is shown below.
Applications Manager 9.4.1
The specifics of all the fields on the General tab are discussed in later topics. For now, note that there is a
Program box that tells Applications Manager what to run. The path in the Location field is based on selections
made in each of the fields in this box Note that AWSQLP is selected in the Type field. This designates the Job as a
SQL*Plus Job.
Assigning a Login to the Job
Because SQL tasks need to access a database, a Database Login must be assigned to the Job on the Execution
Options tab as shown below.
Applications Manager 9.4.1
Applications Manager Logins give users access to a database or Host Login without requiring that they know the
password.
Adding a Prompt to the Job
To allow users to pass a dept_name variable to the employees.sql script, you need to add a prompt to the Job as
shown below.
Applications Manager 9.4.1
The prompt above uses the Dept_Name data type to pass a value to the dept_name variable. The Dept_Name
data type includes a SQL statement that allows users to select a single entry from a list of departments.
Good to Go
With the required fields completed on the General, Login, and Execution Options tabs, the Job is ready to run
from the Requests window. It can also be added to a Process Flow object.
You can define certain objects by clicking the icon to the right of their field. Applications Manager will display the
selector window where you can define the new object. For example, you can click the Application icon to display
the Application selector window.
Entering Job Header Information
All values in the Job header are required. They are described below:
• Name
The name may be up to 30 characters long. Job names can include letters, numbers, periods, colons,
underscores, and hyphens. The first letter of a Job name must be a letter or number.
Do not name Jobs 'SCHED-<Process Flow name>', unless they are Process Flow requestor Jobs.
• Description
The description may be up to 100 characters long.
• Application
Applications are the general category to which Jobs and Process Flows belong (for example: inventory,
accounts payable). They are used on the Requests window to limit the list of Jobs and Process Flows. For
more information on defining Applications, see Defining Applications.
• Agent/Group
The Agent where the program will execute. This field allows you to select Agents and Agent Groups. To run the
Job on:
• A single machine defined as an Agent, select the Agent.
• Either of two or more Agents assigned to an Agent Group, select the regular Agent Group.
Applications Manager 9.4.1
• All Agents assigned to an Agent Group, select the multi-execution Agent Group.
For information on which Agents are assigned to what groups, or which Agent Groups are multi-execution, see
your Applications Manager administrator.
When Agent Groups are assigned to Jobs, particular Agents may be specified for Process Flows, Process Flow
components, requests, or in schedules. For more information, see How Agent Assignments Are Handled for
Process Flow Components.
• Queue
The Job will run on this Queue even when added to the Process Flow, unless the Insert components into
process flow's queue Automation Engine option is set. For more information on setting Automation Engine
options, see the Administration Guide.
If the Job is run using a schedule and that schedule includes a Queue, that setting overrides the Job's Queue.
If the Job is submitted on an ad hoc basis, the User may have the option to change the Queue on the Submit
window.
• Single run
When selected, two instances of the Job cannot run concurrently. The second instance will show a status of
SELF WAIT until the first completes..
• Active
When selected, the Job will run when scheduled or included in another Process Flow and be available from the
Request window. If not selected, the Job will not run when scheduled or included in another Process Flow, and
it cannot be run from the Requests window.
• Stay in queue on abort
When selected, the aborted Job remains in the Backlog so it can be examined, repaired, and reset. The Queue
is not blocked by this aborted Job, unless the Queue has only one thread and the Allow aborted task to block
single threaded queue Automation Engine option is checked.
When this option is not checked, and the Job aborts and leaves the Backlog, it will satisfy any Success
predecessors it may have with other tasks. Failure and Failure (skip on success) predecessors will not be
satisfied.
If this option is not selected and the Job aborts, it leaves the Backlog and a record is written to History. The
Job may be examined from History to determine why it aborted, but because there is no longer a record in the
Backlog, it cannot be repaired or reset.
When this option is selected, and the Restart once on abort option is not selected, and the Job aborts, you will
see the original Run ID <run_id> in History and the current listing <run_id>.01 in the Backlog.
This setting can be overridden with a condition. This is most commonly done for Process Flow components.
Entering Program Information
In order for a Job to execute a program or run a Process Flow, you must define its program information in the
Program box on the General tab. Jobs created for some Applications Manager extensions such as OAE and
PeopleSoft may have different fields in their Program box than what is shown in the image above for standard
Jobs. For more information, see your Applications Manager extension documentation.
The Program fields for standard Jobs are described below:
• Library
The path to the program source or executable. The Program Type defined in the Type field may supply a
subpath. For information on defining Libraries, see Defining Libraries.
• Library path
This non edit field displays the path of the Library selected in the Library field.
• Program Type
This defines which type of program the Job will run, such as shell scripts, host command, or SQL*Plus.
Applications Manager comes with several Program Types already defined. For more information on defining
Program Types, see Defining Program Types.
• Program name
The name of the program that will be executed by the Job. Program names can be typed into this field, or
selected based on the Job's Agent, Library, and Program Type using the Select button. When you click the
Select button, Applications Manager displays a list of valid file names in the path defined by the Agent, Library,
Applications Manager 9.4.1
and Program Type. If you use the Select button for a Job assigned to an Agent Group, you will be able to
search for the file on the Agent you select. If you type in a program name, Applications Manager does not verify
that it exists.
• Location
As you enter the program information, Applications Manager displays the path and file name in this non-editable
field.
Defining Applications
The Application field provides a way to assign Jobs as well as Process Flows to an organizational group. The
groups might be programs, machines, divisions, or some other characteristic. When editing or requesting Jobs and
Process Flows, you can select an Application and the Jobs and Process Flows displayed will be limited to those
that are assigned to the Application.
Applications Manager User Groups control access to Applications. If you do not have access to them, see your
Applications Manager administrator.
Procedure
To define a new Application:
1. From the Applications Selector window, click New.
Applications Manager opens the Applications window shown above.
For information on using selector windows, see Adding, Editing, and Deleting Applications Manager Objects.
2. Complete the fields in the Applications window using the information below.
• Name
The name may be up to 30 characters long.
• Description
The description may be up to 100 characters long.
• Notification
Optionally use Notifications to send messages and output files based on task status to email addresses or
any Output Device defined in Applications Manager. For information on defining Notifications, see Defining
Notifications.
• Environment Variables
Optionally specify one or more Environment Variables as a single Applications Manager object. For
information on defining Environment Variables, see Defining Environment Variables.
Applications Manager 9.4.1
Defining Libraries
When you create a Job, you specify the location of the program or script to run on a host. The Library defines a
path, which will be the first part of that location. A subdirectory of the Library path can be specified when you select
a Program Type for the Job. You can use the same Library for Jobs that run on different operating systems by
specifying a path for each.
Applications Manager User Groups control access to Libraries. If you do not have access to them, see your
Applications Manager administrator.
Procedure
To define a new Library:
1. From the Libraries Selector window, click New.
Applications Manager opens the Libraries window shown above.
For information on using selector windows, see Adding, Editing, and Deleting Applications Manager Objects.
2. Enter a Library name.
The name is a short identifier for the path.
3. Enter a path for one or more operating systems.
Library paths can be hard-coded or they can include Environment Variables. The advantages of using
Environment Variables are:
• The same variable can be defined with different paths on all Agents of a particular operating system.
• You can export and import Libraries and be assured that the Jobs using them will point to the right path in the
other Applications Manager instance.
When Environment Variables are used, you must define the variable for each Applications Manager Agent.
You cannot use Environment Variables that are defined with Applications Manager Environment Variable
objects.
For UNIX machines, define the variable at the end of the $AW_HOME/site/sosite file in Bourne Shell format. To
define a variable called INVERTORY_APP, you would enter:
For Windows machines, define the variable at the end of site/envvar.bat as follows:
set INVENTORY_APP=\inventory\program
If you wish to modify one of the Libraries that ships with Applications Manager, create a new Library using the
Copy function. The Libraries that ship with Applications Manager will be overwritten each time you upgrade.
Applications Manager User Groups control access to Program Types. If you do not have access to them, see your
Applications Manager administrator.
Multiple Operating Systems Supported
Each Program Type can support UNIX and Windows operating systems if the corresponding fields in the OS
portion of the General tab are completed. This eliminates the need to define separate Program Types for each
OS as required in previous versions of Applications Manager. In the example shown above, the same Program
Type script (host command) is used for all three operating systems, but the syntax used in the command paths are
different. Other interfaces might require different scripts for each OS, and therefore different host commands.
Procedure
To define a new Program Type:
1. From the Program Types Selector window, click New.
Applications Manager opens the Program Types window.
For information on using selector windows, see Adding, Editing, and Deleting Applications Manager Objects.
Applications Manager 9.4.1
Determines when this Job runs in relation to other Jobs waiting in the same Queue if the maximum number
of threads are occupied for the Queue. A Job with a lower numbered priority will run before Jobs with higher
numbers. The top priority setting is 1, and the bottom is 99. The default is 50. The Job will use this setting when
run by itself or when added to a Process Flow.
Jobs submitted with 0 priority will have the status of NO PRIORITY in the Backlog and will not run.
The execution order of tasks waiting to run in a QUEUED status is decided in the following order:
• Queue priority
• Job priority
• Start date and time
Therefore, if two Jobs are waiting to run in different Queues, and those Queues have the same priority, the Jobs'
priorities are checked. If Queue and Job priorities are the same, their start date and times are compared.
• Max run time
Used to prevent runaway programs. It determines how long the program can run before timing out
(DDD:HH:MI). If a task times out, Applications Manager aborts the task and gives it a status of TIMEDOUT. The
default time is 00:00:00, which lets the task run forever.
• Min run time
Used to flag tasks that run in a shorter time than expected (DDD:HH:MI). If a task completes in less than the
minimum run time, Applications Manager aborts the task and gives it a status of Min Run Time. The default time
is 00:00:00 which effectively inactivates this option.
• Ave run time
Stores the average run time for a Job (DDD:HH:MI). You can either manually enter a value in this field,
or run the AW_CALC_AVE_RUN_TIMES_1 Job to populate it. For more information, see Running the
CALC_AVE_RUN Job. This time will be displayed in the Gantt charts on the Backlog Gantt View, History
Gantt View, Graphical Forecast, and Process Flow Gantt View windows. For more information on the Gantt
chart, see chapter the Administration Guide.
• Keep system output
When selected, the system will store the system output from the Job. The output will be stored for the number of
days set in the Retention days field on the Job's Output tab. The output is useful for debugging tasks that have
aborted. If this option is not selected, only the report output file will be available.
• Restart once on abort
When selected, Applications Manager will automatically restart a Job the first time it aborts, but will not restart it
if it aborts a second time.
When this option and the Stay in queue on abort option are both set, and the Job aborts, you will see the
current listing <run_id>.02 in the Backlog to show the restarted Job. There will also be two records written in
History:
• The original listing for the Run ID <run_id> shows that the Job ran.
• The second listing <run_id>.01 shows that it aborted.
Login Settings
If Jobs will be running programs that require a login to a database, application, or host, you must assign Logins to
them. The primary and secondary Logins make it possible to supply two Logins to a Job. This is useful if a program
accesses two different databases. For example, a program might read from one database and write to another
database.
If the program run by a Job requires access to a database or server, you can set the Login the system will use
when the Job is executed.
The Logins available for a Job are limited to the type listed in the read-only Login type field. A Job's Login type is
determined by the Job's Program Type. The image below shows the Login tab for a Job named EMPLOYEES. On
the Login tab, ORACLE is listed in the Login type field. The Job gets the Login type from the AWSQLP Program
Type's Login type field. For information defining Program Types, see Defining Program Types.
Applications Manager 9.4.1
• User's Login: Uses the Login assigned to the User (if one is assigned). This option is useful if you want to run a
report based on the User's view of a database.
Applications Manager adds the rule to the Rules table on the Output Scan window.
Rules are evaluated in the order they are listed. If a rule for an Output Scan evaluates to true, all remaining rules
are not evaluated. If you wish to reorder the rules, use the arrow buttons to the right of the list.
Copying Output Scan Rules
You can copy one or more rules from other Output Scans using the Copy button on the Output Scan window.
Order of Precedence
Output Scans can be assigned to Program Types, Jobs, and Process Flow components. When a task runs,
Applications Manager looks at its Program Type, Job, and Process Flow component assignments—in that order.
If specified, each Output Scan assignment will override the entire set of Output Scan rules specified by a previous
object.
For example, assume that you have defined the following objects as shown below.
In this example:
• Output Scans S1, S2, and S3, each with its own set of rules.
• Program Type SHELLS with the Output Scan S1 assigned to it.
• JOB_A and JOB_B each with the SHELLS Program Type and the S2 Output Scan assigned to them.
• JOB_C and JOB_D each with the SHELLS Program Type and no Output Scans assigned to them.
• FLOW_1 with JOB_A, JOB_B, JOB_C, and JOB_D assigned to it, and with the S3 Output Scan specified for
JOB_A and JOB_B's Process Flow component override settings.
The following Output Scan settings would be used:
• JOB_A would use S2 when run as a stand-alone task or S3 when run in FLOW_1.
• JOB_B would use always use S2.
• JOB_C would use S1 when run as a stand-alone task or S3 when run in FLOW_1.
• JOB_D would use always use S1.
Defining Notifications
Use Notifications to create output files based on task statuses and send those output files to email addresses or
any Output Device defined in Applications Manager. To use Notifications, you:
Applications Manager 9.4.1
• Condition: Indicates that this Notification is one that is meant to be used in a SEND NOTIFICATION condition
action. For an example, see Checking and Notifying the Time Since Request.
• Message Text
Specifies the message sent to the email recipients and Applications Manager Output Devices you select. The
message text is also written to an output file named notif_<run_id>_<series> that you can view on the Output
Files tab of the Task Details window from the Backlog and History.
• Template: Uses a Message Template object to specify text. For more information, see Defining Message
Templates.
• Custom Text: Text to be used for this Notification only.
Either method allows the use of Substitution Variables and Replacement Values for variable text.
• Subject
Text written as the subject when sent as an email. Allows the use of Substitution Variables and Replacement
Values. The default subject, {status} {run_id} uses Replacement Values to alert the recipient(s) of the status
and run ID of the task.
• Email Recipients
List of one or more email addresses to receive email Notification. Separate multiple email addresses with a
space or semicolon. To select from emails assigned to Users, click the Select button. Applications Manager
opens a window where you can select the email addresses.
In order to send Notification emails, you must specify email settings for the Applications Manager Automation
Engine/Local Agent.
• Email Attachments (radio buttons)
Specifies the output files to attach to the emails specified above and the Output Device specified below (if
allowed in its definition):
• System Output: Attaches only the system output file.
• Other Output: Attaches all registered output files, except the system output file.
• All Output: Attaches all registered output files including the system output file.
• Pattern: Attaches files of a particular name. For wildcard pattern matching, use the % character or .*. For
example, enter report% to specify all output file names beginning with report. To attach two files, create two
Notification details.
• Normal
When selected, file contents are attached to the email.
• In Body
When selected, file contents are included in the email body rather than as attachments.
• Zip
When selected, files are attached in a zip file.
• Pdf
When selected, files are converted to a PDF file and attached.
• PDF Options: You can choose the PDF format to be generated. You can select Portrait or Landscape.
• Size Limit: You can provide the PDF size limit in KBs. For example, if you specify 2KB, the attachment will
contain a PDF of up to 2KB only. If the generated file exceeds the size limit, the PDF is not attached and
you will receive an email notification for the same. If you specify zero or if it is left empty, the file size can be
unlimited.
• System Output As
Renames the attached system output file to whatever name you select. To use the file name for the system file,
use the {file_name} Replacement Value. For example, {file_name}.txt.
• Other Output As
Renames the attached output file(s) to whatever name you select. To number multiple other output files, use the
special Subvar {#}. For example, assume you want to rename output for a program to finance{run_id}, and the
task creates two or more output files. You might enter finance{run_id}{#} in this field.
To use the file name for the other file(s), use the {file_name} Replacement Value. For example, {file_name}.txt.
• Output Device (On Output Device tab)
Applications Manager 9.4.1
Specifies the Output Device or set of devices where the output will be sent (for example: EMAIL, ACCOUNTING
LASER, ATLANTA LASER). Printing to Output Devices for Notifications will be done on the Automation Engine
machine rather than on Remote Agents.
• Output Option (OnOutput Devicetab)
Used for specifying dynamic output options for the selected Output Device. This field will be active if this value
or list of values is defined by the Output Interface assigned to the Output Device.
Deleting Notification Output Files
When you define a Job, you can set the number of days the output will be retained by Applications Manager in the
Retention days setting on each Job's Output tab. When a Notification is assigned to the Job, it will use that Job's
retention days to determine when to delete the Notification's log files.
The SODELETE Job (alias DELDEFAULT) deletes the output files that have exceeded their retention settings.
Applications Manager User Groups control access to Message Templates. If you do not have access to them, see
your Applications Manager administrator.
Procedure
To define a new Message Template:
1. From the Message Templates Selector window, click New.
Applications Manager opens the Message Templates window.
For information on using selector windows, see Adding, Editing, and Deleting Applications Manager Objects.
2. Enter a name and description for the Message Template.
3. Enter the message to include in your Notifications. To include Substitution Variables or Replacement Values in
the text search, click the { } button.
What Users See
Applications Manager 9.4.1
The Message Template shown below is assigned to a Notification. That Notification is assigned to a Job. When that
Job aborts, the text from the Message Template is written to an output file named notif_<run_id>_<series>. Note
that the values for the Substitution Variables and Replacement Values are displayed in the output file.
You can define and store values for one or more Environment Variables as a single Applications Manager object.
To use Environment Variables, you:
• Define a list of Environment Variables.
• Assign the Environment Variables to Agents, Applications, Program Types, Jobs, and Process Flow
components.
Creating Environment Variables
To add Environment Variables to the Applications Manager client:
1. From the Environment Variables Selector window, click New.
Applications Manager opens the Environment Variables window shown above.
For information on using selector windows, see Adding, Editing, and Deleting Applications Manager Objects.
2. Enter a name and description for the object.
3. After creating the Environment Variables object, you will add variables to it.
Adding Variables
To add variables to an Environment Variables object:
1. From the Environment Variables window, click the New button.
Applications Manager opens the Environment Variable window show above.
2. Complete the fields in the Environment Variable window using the information below.
• Name
The name of the Environment Variable. Names cannot start with numbers. To include Substitution Variables
or Replacement Values in the name, click the { } button.
• Value
The value of the Environment Variable. To include Substitution Variables or Replacement Values in the text,
click the { } button.
• OS
Specify the applicable operating system(s) you want to include this variable for.
3. To save the settings and add the variable, click OK.
Applications Manager adds the variable to the Variable table on the Environment Variables window.
Environment Variables are evaluated in the order they are listed. If you wish to reorder them, use the arrow
buttons to the right of the list.
Using Environment Variables in Prompts
You can include Environment Variables in prompt values. The Environment Variables must be enclosed in { } curly
brackets. When an Environment Variable is used in a prompt's value, its corresponding Environment Variable
object must be assigned to the Job via its Agent, Application, Program Type, or Job definition.
Order of Precedence for Environment Variables
These variables will be written to the .pm file after all other variables are set by the operating system, User, script,
etc. Be careful not to overwrite any variables unintentionally. Environment Variables can be assigned in five
places in the Applications Manager user interface: Agents, Applications, Program Types, Jobs and Process Flow
components. When a task runs, Applications Manager looks at each task's Agent, Application, Program Type, Job,
and Process Flow assignments—in that order. Each object can override any individual variables that are previously
set. For example, if variable X is defined as = '1' for an Agent and also defined for the Application as = '2' then the
program will see X=2 since Application follows Agent.
• Running the AW_CALC_AVE_RUN_TIMES_1 Job to populate it for all Jobs and Process Flow components. For
more information, see Running the CALC_AVE_RUN Job.
The value from this field will be displayed in the Gantt charts on the Backlog Gantt View, History Gantt View,
Graphical Forecast, and Process Flow Gantt View windows.
Using the Calculate Button
To calculate average run times based on History, click the Calculate button. Clicking the Calculate button opens
the window where you enter start and end times shown below. You can use the Calendar icons to select these
times from a Calendar window. Once you select dates and click OK, the window closes and Applications Manager
opens the window shown below.
Applications Manager 9.4.1
On that window select some or all of the historical listings for the Process Flow from the table, click Calculate, then
click OK.
In the example below, the CALC_AVE_RUN Job was run for an application named AVE. Its prompt values are
listed at the top of the output file. Below that its details are given when it is run as a Process Flow component, or a
stand-alone Job.
Applications included
AVE
Type =AVG
Days =60
Min Runs =1
Commit =Y
-----------------------------
-----------------------------
Chain (*) Average Runtime Method=AVG
-----------------------------
Chain Name/..Component Name Jobs Min Max Average ddd:hh:mm:ss
*TEST_AVE_PROCESS_FLOW 2 127 306 217 000:00:03:37
..TEST_AVE_01 2 122 301 212 000:00:03:32
..TEST_AVE_02 2 122 301 212 000:00:03:32
..TEST_AVE_03 2 122 301 212 000:00:03:32
-----------------------------
-----------------------------
Job Average Runtime Method=AVG
-----------------------------
Job Name Jobs Min Max Average ddd:hh:mm:ss
TEST_AVE 5 61 301 175 000:00:02:55
TEST_AVE_01 2 122 301 212 000:00:03:32
TEST_AVE_02 2 122 301 212 000:00:03:32
TEST_AVE_03 2 122 301 212 000:00:03:32
Types of Documentation
There are two types of customizable documentation: general and abort. General documentation usually contains
information on goals and requirements or existing security and access issues. Abort documentation usually
contains information on what action to take if a Job aborts or fails, who to contact if a Job aborts, or what
considerations exist when running a task.
Documentation Locations
There are three locations within Applications Manager where you can enter documentation. Suggested uses for
documentation are described below:
Location Description
Location Description
Process Flow component Can be used to provide specific information about one
component in a Process Flow.
Documentation Format
You can enter documentation in plain text or in HTML format. If you enter HTML code and select the HTML
checkbox the note will be displayed in HTML format.
Including Hyperlinks and Images in HTML Documentation
You can add hyperlinks and images in HTML documentation. The links will work when the client is launched via
Java Web Start. They will not work when you launch the client from the command line with the appworxj command
(or in Motif startso client). You create links using standard HTML tags.
An example HTML hyperlink is shown below:
You can link to images from the Applications Manager Automation Engine directory structure using the {codebase}
environment variable. In the example below, an image named splash.png includes a hyperlink to the Broadcom
Support site. The location of the image is the images directory under the directory specified by the {codebase}
environment variable.
You cannot have a slash after {codebase}. Notice in the example above that two dots follow the {codebase}
environment variable to go back one directory.
The default documentation for TEST_JOB includes example test and graphic links.
Procedure
To add documentation to a Job, Process Flow, or Process Flow component:
1. From the Documentation tab of the Job, Process Flow, or Process Flow component, select an option from the
Documentation type drop-down box
2. Type in comments, tips, suggestions, and precautions.
When entering documentation remember:
• Lines do not wrap. To start a new line, press Enter.
• You can cut and paste text.
3. If you wish, you can select the other tabs on the Jobs window to edit them at this time.
4. Click Apply to add the Job definition to the list of Jobs, or OK to add the new definition to the list of Jobs and
close the Jobs window.
Adding New Documentation Types
By default there are General and Abort documentation types for Jobs, Process Flow, and Process Flow
components. You may want to add an additional type. To do this log into the Applications Manager Oracle database
Applications Manager 9.4.1
and issue SQL such as the following. In this example, M specifies Jobs for the note type, and Change History is the
new note category.
SQL> insert into so_doc_types select 'M', 'Change History' from dual;
To create note types for Process Flows or Process Flow components you need to change the above M value
accordingly:
• M - Job
• C - Process Flow
• D - Process Flow component
Viewing Task Documentation
Users can view Job, Process Flow, and Process Flow component documentation from the Backlog, History, Submit
window, and Backlog Gantt View window. If a task aborts, an operator can view the specific abort documentation
and make more effective operational decisions.
If you are assigned to a maintenance User Group, all Jobs you create will automatically be assigned to your User
Group when you define them. You can view a list of objects that you have access to by going to the View menu
and selecting View Assigned Objects. If you do not have access to an object, see your Applications Manager
administrator.
Procedure
To assign User Groups to a Job:
1. From the User Groups tab, assign and unassign User Groups by double-clicking on the User Group names.
You can also highlight a User Group and select the arrow buttons to assign and unassign it. Use the double
arrow buttons to assign or unassign all User Groups to the Job.
2. Select a Job/Process Flow option for each User Group in the Usage column. The Job/Process Flow options are
described below:
Option Description
Both Users can submit these Jobs and view the output with
the file viewer.
Output only Users can view the output of these Jobs, but not
request them.
Request only Users can submit these Jobs, but not view their
output.
Applications Manager 9.4.1
3. If you wish, you can select the other tabs on the Jobs window to edit them at this time.
4. Click Apply to add the Job definition to the list of Jobs, or OK to add the new definition to the list of Jobs and
close the Jobs window.
For more information on User Groups, see the Administration Guide.
A Job may abort if the program or script it is supposed to run does not exist, or is defined incorrectly. Sample output
from a Job's system output file when a file name is incorrect is shown below:
A Job requiring a Login will abort if the correct Login is not selected. Sample output from a Job's system output file
when the wrong Login was set is shown below:
Troubleshooting Prompts
If the program called by a Job requires arguments, you use prompts to request data that will be passed to variables
in the program. Jobs abort, run incorrectly, or finish without generating output when bad prompt values are passed
to a program or script. Sample output from a Job's system output file when a character was passed when a
numeric argument was required is shown below:
Selecting the correct data type will prevent prompt values of the wrong format from being entered.
In the current version of Applications Manager, you can add Process Flows to other Process Flows and request
Process Flows from the Requests window. You can also add prompts to a Process Flow. When you run a Process
Flow that includes prompts, the values from these prompts can be passed to the components in the Process Flow
using numeric Substitution Variables. With these improvements, it is no longer necessary to create a Process Flow
requestor Job for your Process Flows. If you are new to Applications Manager, you will probably never use Process
Flow requestor Jobs. They only exist in Applications Manager today for 4.x and 5.0x customers and you cannot
create new ones.
Process Flow Requestor Jobs in the Backlog
Process Flow requestor Jobs behave exactly like Process Flows in the Backlog. When you request a Process Flow
requestor Job, it goes into an INITIATED status once the Process Flow components are inserted into a Queue. Like
a Process Flow, you can right-click the Process Flow requestor Job to change its status, which in turn will affect the
status of all eligible components.
Applications Manager 9.4.1
Applications Manager User Groups control access to Process Flows. If you do not have access to them, see your
Applications Manager administrator.
Running Process Flows
There are two ways to run a Process Flow:
• Enter scheduling information using the Schedule tab on the Process Flows window.
• Request and submit one or more Process Flows/Jobs by opening the Activities menu and selecting Requests.
• Request and submit a single Process Flow using the Request button in the Process Flow definition.
999 Components and 32 Levels in a Process Flow
A Process Flow may contain up to 999 components. A Process Flow can include a Process Flow, which in turn
includes another Process Flow. Process Flows nested within other Process Flows are called sub Process Flows.
You can have up to 32 levels of sub Process Flows. As a rough guide, four levels of sub Process Flows is sufficient
for most implementations.
Components in a Process Flow Point to Original
Process Flow components are Jobs and Process Flows assigned to the Process Flow. When you add a component
to a Process Flow, Applications Manager creates a pointer from the Process Flow to the Job or Process Flow
instead of adding a copy of it. This is in keeping with the Applications Manager object-oriented approach. If you edit
a Job or Process Flow definition, the update is effective immediately for all Process Flows that include it.
Basic Steps for Creating a Process Flow
To create a Process Flow you:
1. Add the Process Flow object (also called the Process Flow header).
2. Add components to the Process Flow.
3. Specify options for the components.
4. Schedule the Process Flow (if desired).
Steps one and two are described in this chapter, step three is described in chapter Editing Process Flow
Component Information, and step four is described in chapter Scheduling Jobs and Process Flows.
Adding Documentation to Process Flows and Process Flow Components
Documentation provides a place to enter relevant information about the processing of a task. By selecting an
individual task and choosing Documentation, operators can access these comments, suggestions, or instructions
for the individual task. There are two types of documentation: abort and general. Documentation can be formatted
in plain text or HTML.
Applications Manager 9.4.1
You can enter customizable general and abort documentation for Jobs, Process Flows, and Process Flow
components. For more information, see Adding Job Documentation.
You can define certain objects by clicking the icon to the right of their field. Applications Manager will display the
selector window where you can define the new object. For example, you can click the Application icon to display
the Application Selector window. Fields marked with an '*' on their right are required.
Jobs and Process Flows should not be edited while running the STAGING Job or executing exports and imports.
Procedure
To add an Applications Manager Process Flow:
1. From the Process Flows Selector window, click New.
Applications Manager opens the Process Flows window shown above.
For information on using selector windows, see Adding, Editing, and Deleting Applications Manager Objects.
2. Enter a name and description for the Process Flow on the General tab of the Process Flows window.
The name may be up to 30 characters long and the description may be up to 99 characters long. Process Flow
names can include letters, numbers, periods, colons, underscores, and hyphens. The first letter of a Process
Flow name must be a letter or number.
3. Select an Application.
Applications are the general category to which Jobs and Process Flows belong (such as inventory or accounts
payable). They are used on the Requests window to limit the list of Jobs and Process Flows. For information on
Applications, see Defining Applications.
4. If appropriate, select an Agent from the Default agent field. You can use this field to:
Applications Manager 9.4.1
• Select the default Agent for the Process Flow: The default Agent is only used for Process Flow
components whose Jobs are assigned to Agent Groups. For the Process Flow component to execute on the
default Agent, two conditions must be met:
• The default Agent must belong to the Agent Group assigned to the Job.
• The Agent field in the Execution group box on the General tab for the component must be set to 'No
Selection'.
• Assign the Process Flow to a multi-execution Agent Group: When a multi-execution Agent is assigned
to a Process Flow, the Process Flow and its component will run on every Agent in the Agent Group definition.
A Process Flow's Agent setting can be overridden on the Process Flow's Schedule tab or on the Submit
window when requesting the Process Flow on an ad hoc basis.
For more information on Agent assignments for Process Flow components, see How Agent Assignments Are
Handled for Process Flow Components.
5. Assign values to the fields in the Execution options box.
These fields are described in Entering Execution Options for Process Flows.
6. If you wish, you can edit the information on the other tabs in the Process Flows window at this time.
7. To add the Process Flow definition to the list of Process Flows, click Apply. Or to add the new definition to the
list of Process Flows and close the Process Flows window, click OK.
Applications Manager displays an error message to alert you to any required fields that have not been filled in.
Conditions: Controls the execution of tasks. Conditions provide IF/THEN logic for your Process Flow. They can be
evaluated before, during, and after a task executes, or after a task is deleted. For details, see chapter Working with
Conditions.
Documentation: Provides a location to enter relevant information about the processing of a task. By selecting an
individual task and choosing Documentation, operators can access the comments, suggestions, or instructions with
respect to an individual task. For details, see Adding Job Documentation.
User Groups: Controls access to Process Flow. User Groups can be added to a Process Flow from the User
Groups tab well as from the User Group itself. User Groups are usually defined by your Applications Manager
administrator. For details, see Assigning User Groups to Jobs.
Determines the priority for when this Process Flow gets initiated. This setting usually isn't crucial. Process Flows
are initiated as soon as they are inserted into the Backlog and their components' priorities are based on their
Job definitions.
A Process Flow's priority specifies when this Process Flow gets initiated in relation to:
• When other Process Flows submitted to this Queue at the exact same time get initiated.
• When stand-alone Jobs waiting in this Process Flow's Queue run.
The order that Process Flows initiate does not affect the order in which their components run. It does affect the
order in which their BEFORE conditions are evaluated (if they have any).
The top priority setting is 1, and the bottom is 99. The default is 50.
Process Flows submitted with 0 priority will have the status of NO PRIORITY in the Backlog and their
components will not run.
• Ave run time
This non-editable field specifies the average run time of the Process Flow (DDD:HH:MI). This time is displayed
in the Gantt charts on the Backlog Gantt View, History Gantt View, Graphical Forecast, and Process Flow
Gantt View windows. To recalculate the average run time, click the Calculate button.
• Single run
When selected, two instances of the Process Flow cannot run concurrently. The second instance of the Process
Flow will wait in a SELF_WAIT task status until the first completes.
• Active
When selected, the Process Flow will run when scheduled or included in another Process Flow and be available
from the Request window. If not selected, the Process Flow will not run when scheduled or included in another
Process Flow, and it cannot be run from the Requests window.
Overriding a Process Flow Component's Queue
If you wish to override the Queue for an individual component in a Process Flow, add a condition like the one
shown after below to the component. For more information on creating conditions, see chapter Working with
Conditions.
Applications Manager 9.4.1
There may be times when you wish to override the Retention days setting specified at the Job level for every Job
in a Process Flow. For more information on the Retention days setting for Jobs, see Specifying Output Options for
Jobs.
For example, assume the retention days are set to 7 in the definitions of every Job in a Process Flow named
QUARTERLY, but you wish to retain their output files for 90 days. You cannot simply edit the Retention days setting
at the Job level, because the Jobs run in several other Process Flows.
You override the Retention days setting for every Job in a Process Flow by adding the
RESET_FLOW_RETENTION_DATES Job as the last component of that Process Flow as shown above.
The RESET_FLOW_RETENTION_DATES Job is included in an import file named
reset_chain_retention_dates.exp. For information on importing, see Opening Imports and Mapping Objects.
The RESET_FLOW_RETENTION_DATES Job includes two prompts. The first prompt uses the {chain_id}
Replacement Value to uniquely identify the Process Flow. The second prompt overrides the retention days. Its
default value is 60 days.
When you create a new Process Flow and select the Components tab for the first time, Applications Manager
displays an empty box for the Process Flow, along with the floating Jobs/Process Flows window.
Predecessors Control How a Process Flow Runs
Applications Manager relies on predecessor links to determine execution order. By default, when you add a
component to a Process Flow, it is added with a success predecessor link. The arrows between the components
on the Components tab represent predecessor links. The components execute as you would expect from looking
at the diagram: execution starts at the top and works down to the bottom. Components in the same row are eligible
to execute at the same time. You can move components left and right within a row using the <and > buttons (for
esthetic purposes only).
To display all the predecessor links in a Process Flow, click the mouse on a blank area in the Process Flow. To
display the predecessor links for a specific component, select the component.
Applications Manager 9.4.1
In previous versions of Applications Manager, Process Flow execution order was determined by the sequence
of the components in the Process Flow and the components' single or multi-threading. Beginning with v6.0,
predecessors completely replaced those features.
Unlimited Predecessor Possibilities
Predecessors are used to graphically build Process Flows; you can also use them to create complex dependences
within and outside of Process Flows. The information in this chapter describes how to add components to a
Process Flow. When you add components, predecessor links are automatically added. Chapter Working with
Predecessors, details the predecessor execution rules and describes all predecessor features. To fully understand
how predecessors requirements are satisfied and how to set up complex predecessor scenarios, read that chapter.
Getting Started with Process Flows
To get started, select a Job or Process Flow from the Jobs/Process Flows window and drag it into the box on the
left that represents your Process Flow. When you add a second Job to the Process Flow, you decide whether you
want it to be run by itself in the Process Flow or be eligible to run with first Process Flow component.
To make a Job run by itself in the Process Flow, add it below the existing components on its own line. In the image
above, the FTP and REPORT_SUMMARY Jobs will run by themselves in the process flow.
To allow a component to run with other components, add it to the same row. In the image above, Jobs A and B are
allowed to run concurrently.
When dragging Job or Process Flows into a Process Flow, Applications Manager draws a blue border around all
components to which it will create a predecessor link, and a green border around all components to which it will
create a successor link.
When you add one or more components, a triangle is displayed on the Components tab to signify unsaved
changes. To save changes, click the Apply button. For more information on updating unsaved changes, see
Updating Unsaved Changes.
For more information on Process Flow building, see Adding Process Flow Components.
If for some reason a Process Flow contains invalid predecessor references, a pop-up window alerts you to which
predecessor links need to be updated.
Displaying Predecessor Links
To display all the predecessor links in a Process Flow, click the mouse on a blank area in the Process Flow. To
display the predecessor links for a specific component, select the component.
Undoing and Redoing Actions
To reverse one or more actions, go to the View menu of the Components tab and select Undo. To redo actions,
select Redo. If you rename a Process Flow component, the memory of all actions is reset for undoing and redoing.
Flow Diagram Legend
The legend describes the graphics used in the flow diagram. To display the legend, click the Legend button in the
menu bar. To close the Flow Diagram Legend window, click the X in the title bar.
Printing the Process Flow Diagram
The following four print options are available from the File menu on the Components tab:
• Print Setup
• Print Preview
• Print
• Print All of Flowchart
The Process Flow builder full screen window allows the maximum amount of working area.
When the Process Flow builder full screen window is open, you cannot access the other Component sub-tabs.
To access the other Component sub-tabs, open the View menu and choose the Shared screen command.
Fit to Size
The Fit to size command scales objects in the Process Flow so they fill the viewable space. Applications Manager
will continue to scale the Process Flow as additional components are added.
One Time Fit to Size
The Fit to size one time command scales objects in the Process Flow so they fill the viewable space without
resizing as additional components are added.
Show Horizontal/Show Vertical
The Show Horizontal/Show Vertical flip-flop command controls how a Process Flow is displayed.
The Show Vertical command displays Process Flow execution order from top to bottom. Components eligible to
execute at the same time are displayed in the same row as shown below.
Applications Manager 9.4.1
The Show Horizontal command displays Process Flow execution order from left to right, as shown below.
If you are creating relatively simple Process Flows, squared arrows may be your best choice. If you are creating
complex Process Flows with many components, the diagonal arrows are a better choice.
Show Arrows as Successors
When the Show arrows as successors option is selected, Applications Manager points the arrow heads towards
the successor. If the Show arrows as successors option is not selected, Applications Manager points the arrow
heads towards the predecessor. In the image below, the latter is the default setting.
The window gives you the opportunity to change the alias name of the component.
There are three settings for the Prompt for alias name option:
• Always: The window is always displayed. This is the default setting.
• Only for duplicates: The window is displayed only if the component is already included in the Process Flow.
The window gives you the opportunity to enter a unique alias name.
• Never: The window is never displayed. If the component already exists in the Process Flow, Applications
Manager will automatically add a "_01" type number to the end of the alias name to create a unique alias.
The option you select will be used for the current Process Flow only.
Shaded Background
The Shaded background option helps to set apart nested Process Flows as shown below. Applications Manager
cycles through three shades as needed to accommodate the nested levels.
Applications Manager 9.4.1
To display the Jobs/Process Flows window, click the Jobs/Process Flows selector window icon in the menu bar.
Using the Jobs/Process Flows Window
There are several features in the Jobs/Process Flows window that make adding components easier:
• You can select an Application from the Application field to display only components that belong to that
Application.
• If you want more or fewer items displayed in the Jobs/Process Flows window, you can resize the window by
dragging their borders.
• You can type letters into the Search field to filter the list.
• You can select multiple components using the Shift+click and Ctrl+click key-mouse combinations.
Applications Manager 9.4.1
When you drag a Job or Process Flow into a Process Flow, Applications Manager draws a blue border around
all components it will create a predecessor link from, and a green border around all components it will create a
successor link to.
It is useful to think of a Process Flow diagram as being divided into rows. Components that share a row are eligible
to run together. Components in separate rows will run by themselves within the process flow.
If you attempt to move a component outside the parent Process Flow, or to any other location where it cannot be
placed, the pointer changes to a "not allowed" symbol (circle with a line through it), indicating that you cannot drop
the component at that location.
When you nest a Process Flow inside another Process Flow, you cannot edit the nested Process Flow. However,
you can create predecessor links to and from the components within the process flow.
Procedure
To add a component using drag-and-drop:
Applications Manager 9.4.1
Multiple Selections
When you use drag-and-drop to add components to a Process Flow, you can generally add one component at a
time. An advantage to the add buttons is that you can easily add many components at one time.
Add Buttons
Applications Manager 9.4.1
The Jobs/Process Flows selector window includes four buttons that determine which type of predecessor link
Applications Manager will create when you add a component to the Process Flow. Initially, Applications Manager
creates success predecessor links. You can change these later if you wish.
Button Description
Procedure
To add one or more components to a Process Flow using the add buttons:
1. If appropriate, select one or more existing components in the Process Flow.
2. Select one or more components in the Jobs/Process Flows window.
For multiple selections, use the Shift+click and Ctrl+click key-mouse combinations.
3. Enter the number of copies (if more than one).
Multiple copies of a component are added in the same row.
4. Click the appropriate add button: Successor, Clone, No preds, or External.
Applications Manager adds the components to the Process Flow with default success predecessor links.
Component groups are logical groupings that exist only within a Process Flow. They can be expanded and
collapsed to simplify large diagrams.
Rules Governing Groups
The following are the key rules governing the behavior of groups:
• Any number of groups can be added to a Process Flow.
• Groups cannot be nested, however you can add a Process Flow that contains groups to another Process Flow.
• You can add and delete components from groups using the same procedures you use to add and delete
components from a Process Flow. For information on adding and deleting components from a Process Flow,
see Adding Process Flow Components.
• When you add a component to a group using the Jobs/Process Flows window, you must select a predecessor
within the group. You cannot select the group.
• You can drag Process Flow components into and out of a group.
Applications Manager 9.4.1
• Group position is determined by the predecessor links to components outside the group.
• You cannot assign predecessor links to groups, only to components within groups.
• Groups are saved with the Process Flow.
• You cannot drag and drop a group. If you want to move a group, you can redirect its predecessors.
Collecting Components into a Group
To collect components into a group:
1. Select the components by doing one of the following:
• Click and drag across the components.
• Hold down the Ctrl key and click on each component.
Selected components are highlighted with blue borders.
Deleting Groups
When you delete a group, the group is removed, but the components remain. To delete a component group:
• Right-click the group and choose Delete.
• Highlight the group, then from the Edit menu, choose Delete.
Procedure
Applications Manager 9.4.1
To display the Navigator window, click the Navigator button in the menu bar. From the Navigator window shown
above, select the handle with your mouse and move it to navigate through the Process Flow. When you move the
handle, the cyan box represents the part of the Process Flow currently displayed.
3. On the Replicate id window, enter a suffix for the replicated component and click OK. In the example above,
the suffix REV2 is entered.
The new component is added to the same level as the original component. It will be named <original alias>--
<suffix>. In the image below, the replicated component is named DATA_CLEANSE--REV2. By default,
Applications Manager 9.4.1
its Component active box will be unchecked. All other values from the General, Output, Prompts,
Predecessors, Conditions, and Documentation sub-tabs will be identical on the new Process Flow
component.
If you replicate additional components, the suffix entered for the first replicated component will automatically be
added in the Replicate id window.
External predecessor links from other Jobs and Process Flows to the original component will not be created
for the replicated component. However, predecessors from the replicated components to external Jobs and
Process Flows are copied.
4. Edit the Process Flow component's details. As long as the replicated component is inactive, the changes will not
affect the running of the Process Flow.
You can replicate and edit additional components in the Process Flow. If you wish to implement changes to two
or more components at once, use the same suffix.
Make sure you do not edit the alias name of the original or replicated Process Flow components. They must
match when you implement change revisions.
Implementing Change Revisions
When you are ready to implement change revisions do the following:
1. If you want to make a back-up of the Process Flow before implementing changes, export the Process Flow. For
information on exporting and importing, see chapter Exporting and Importing Objects.
2. Select Implement Change Revision from the Edit menu.
Applications Manager opens the Change Revision window shown below.
Applications Manager 9.4.1
3. In the Change Revision window, enter the suffix of the component(s) you wish to implement changes for and
click OK. In the image above, the suffix REV2 is entered.
Applications Manager removes the original components and replaces them with any replicated/edited Process
Flow components that include the specified suffix. The suffix is removed from the alias when this change is
made.
To view a Gantt chart of the Process Flow, click the Gantt view icon on the Components tab. The Gantt view
displays a tree view of the Process Flow in the left pane, and the Gantt chart in the right pane. To view a Gantt
chart of the Process Flow, click the Tree view icon on the Components tab.
Actions
You can take the following actions on the Gantt view:
• You can expand and collapse the elements in the tree by clicking the toggle icons.
• You can scroll the Gantt chart using the scroll bar at the bottom of the right pane.
• You can change the hours displayed in the Gantt chart by selecting a value from the Visible Hours field. The
range is 1 to 24 hours.
You cannot add, edit, or delete components from the Gantt view.
Options
There are several options available from the Options menu. They are described below.
• Print table/Print preview table/Print tree/Print preview tree
These four options are used to preview and print the tree and the Gantt chart.
• Expand/Collapse
These two options are used to expand and collapse a selected component in the tree.
• Base time on external references
If the Process Flow has external references, you can set the start times for the Gantt chart to them.
• Enter start time for Gantt chart
Applications Manager 9.4.1
The default start time for a Gantt chart is midnight of the current day. If the Process Flow is scheduled to start
at a specific time of the day, you can change the start time using this feature so it matches the scheduled start
time.
• Reset start time to midnight
Resets the start time for the Gantt chart to midnight.
To: Click:
Clicking the Calculate button opens a window where you enter start and end times. You can use the Calendar
icons to select these times from a Calendar window. Once you select dates and click OK, the window closes and
Applications Manager opens the window shown below.
Applications Manager 9.4.1
If you want, you can double-click a row to view details for the Process Flow's components for that run of the
Process Flow.
You can inactivate a Process Flow component by unchecking the Component active option in the upper right
corner of the pane. This can be useful if you are building a Process Flow and want to test some Jobs or Process
Flows but not others. An inactive Job/Process Flow will be displayed in gray in the Process Flow diagram.
When the Process Flow runs, the component will be inserted into the Backlog with a PW-SKIP status. Although the
component does not run, its predecessors are still evaluated and it can be a predecessor to other tasks. When the
task is removed from the Backlog, a record is written to History with an Skip!Active status.
Adding Documentation to Process Flows and Process Flow Components
Use the Documentation sub-tab to enter relevant information about the processing of a component. By selecting
an individual task in Explorer and choosing Documentation, operators can access the comments, suggestions, or
instructions for an individual task. Documentation includes general and abort categories and can be formatted in
plain text or HTML.
You can enter customizable general and abort documentation for Jobs, Process Flows, and Process Flow
components. For more information, see Adding Job Documentation.
Specifying Process Flow Component Options
Use the General, Output, and Prompts sub-tabs for the following tasks in this chapter:
• Specifying Calendars and Eligible Run Days
• Setting Execution Options
• How Agent Assignments Are Handled for Process Flow Components
• Specifying Output Devices
• Specifying Prompt Values
Tasks on the Predecessors, Conditions, and Documentation tabs are described topics outside of this chapter:
• Working with Predecessors
• Working with Conditions
• Adding Job Documentation
See Also
• Adding Process Flow Components
Using a Calendar
To use a Calendar to determine the eligibility of a component within a Process Flow:
1. From the General sub-tab, select a Calendar from the Calendar drop-down list box
2. Choose an option:
• Run: Allows the component to run on the days specified in the Calendar, provided the Calendar days fall on
one of the days of the week selected for the component.
• Skip: Prevents the component from running on the days specified in the Calendar.
3. If applicable, uncheck the days of the week that you do not want the component to be eligible to run.
Specifying Eligible Days of the Week
Applications Manager 9.4.1
Regardless of whether a Process Flow component is assigned to a Calendar, you can specify the days of the week
it is eligible to run. Uncheck the days of the week that you do not want this component to run. The component will
not run on these days when the Process Flow is scheduled or requested on an ad hoc basis.
If you do not want any of the components in a Process Flow to run on a particular day of the week when the
Process Flow is scheduled, remove that day from the Process Flow's schedule. For more information on setting
Process Flow schedules, see chapter Scheduling Jobs and Process Flows.
Determining Days by the Virtual Workday
The virtual workday is used to establish the reset time for all external predecessor links. For detailed information on
the virtual workday, see Understanding the Virtual Workday.
If the Use virtual day for Process Flow component days of week Automation Engine option is selected, all
component scheduling for skip Calendars and eligible days of week will be determined by the current virtual
day. For example, if the virtual day is set to 8:00 P.M., the current day will be considered Tuesday from 8:00
P.M. Tuesday until 7:59:59 on Wednesday. You might want to use this feature if you have Process Flows that
start running before midnight, but particular components might not start until the next Calendar day. For more
information on setting Automation Engine options, see the Administration Guide.
If the Use virtual day for Process Flow component days of week setting is selected for the Automation Engine,
tasks cannot be staged beyond 24 hours from the start of the virtual day.
Designates the Login to be used to access the server or database required by the program. This overrides the
Login set in the Job definition. You will only be able to select a Login if one was included in the Job definition.
• Output Scan
Scans output for text strings. Depending on the rules of the Output Scan, the Job will fail or succeed when it is
found. For information on defining the rules of an Output Scan, see Defining Output Scans.
• Notification
Optionally use Notifications to send messages and output files based on task status to email addresses or
any Output Device defined in Applications Manager. For information on defining Notifications, see Defining
Notifications.
• Environment Variables
Specifies one or more Environment Variables as a single Applications Manager object. For information on
defining Environment Variables, see Defining Environment Variables.
• Ave run time
Stores the average run time for the component (DDD:HH:MI). You can either manually enter a value in this
field, or run the AW_CALC_AVE_RUN_TIMES_1 Job to populate it. For more information, see Running the
CALC_AVE_RUN Job. This time will be displayed in the Gantt charts on the Backlog Gantt View, History
Gantt View, Graphical Forecast, and Process Flow Gantt View windows.
• Use Request Output Device
If this option is selected, Applications Manager overrides the print settings for the Process Flow component with
the settings specified on the Output tab of the Process Flow. For more information on the Output tab of the
Process Flow, see Specifying Output Options for Process Flows.
The Output sub-tab for the component in the Process Flow will be grayed and not available for selection.
If the Process Flow is requested on an ad hoc basis, you can override the print setting from the Submit window.
• Use Job Conditions
If this option is selected, the component will use the conditions defined in the component's (Job or Process
Flow) definition. The Conditions tab for the component in the Process Flow will be grayed and not available for
selection.
Specifying a Component's Queue
Unless the Insert components into process flow's queue Automation Engine option is selected, Process Flow
components will run on the Queue specified in their Job definition. For more information on setting Automation
Engine options, see the Administration Guide.
If you want to override the Queue for a particular Process Flow component, you can specify it using a BEFORE
condition with a CHANGE Q action. For an example, see Entering Execution Options for Process Flows.
The component's Agent: And the Process Flow's default The effect is:
Agent is:
Cannot be changed Any Agent or 'No Selection' The component runs on the Job's
selected Agent.
The component's Agent: And the Process Flow's default The effect is:
Agent is:
Is an Agent from the Job's Agent Any Agent or 'No Selection' The component runs on its selected
Group Agent.
Applications Manager 9.4.1
The component's Agent: And the Process Flow's default The effect is:
Agent is:
Is 'No Selection' An Agent from the Job's Agent The component runs on the Process
Group (can be overridden by an ad Flow's selected Agent.
hoc request or schedule)
The component's Agent: And the Process Flow's default The effect is:
Agent is:
Is an Agent from the Job's Agent Any Agent or 'No Selection' The component runs on its selected
Group Agent.
Is 'No Selection' An Agent from the Job's Agent The component runs on the Process
Group (can be overridden by an ad Flow's selected Agent.
hoc request or schedule)
The settings on this sub-tab can be overridden if the Use Request Output Device option on the Process Flow
components' General sub-tab is selected. When the Output Use Request Output Device option is selected, the
Output sub-tab is grayed out.
Adding Output Devices to a Component
To add an Output Device to a component:
1. Select the Output sub-tab for a component as shown above, and click the New button.
Applications Manager opens the Printer window shown above.
2. Complete the fields using the information below.
• Output Device
The Output Devices you can select here are limited to those in the Job's Output Group.
• Output Option
Applications Manager 9.4.1
Allows users to select a specific variable, setting, address, or orientation. This field appears only when a
variable output option has been defined for the selected Output Device.
• Output Function
Determines how output is handled. With any of these settings, the application output or report files and the
system output files are viewable from the Explorer window. There are three choices:
• LOG: Legacy setting, should not be used unless you need to use the Output window rather than the
Explorer window. Applications Manager loads all application output or report files for viewing in the
Output window for tasks with a LOG output function every time a User logs into the client. This can take
several seconds or minutes. If more than 500 files are loaded, an alert will be displayed. Therefore, if
users are not using the Output window (that is, they view output from History instead of the Output
window, or output is emailed to them), you should use the STORE setting.
• PRINT: The output is printed.
• STORE: The output is not printed.
• User
All user names are available for this field. The name you select will be displayed in the banner of reports if
the -t %USR% option was specified in the Title field in the Output Interfaces window.
• Copies
Specifies the number of copies to print if a printer is selected as the Output Device (1-99).
• Available On
Select the days you want the Output Device to be available. This can be useful if you want the output
generated by the component to be sent to one group of people on one day, and to another group of people
on another day. For example, you might want a sales report sent to an area office Output Device every day,
but to a regional office Output Device only on Fridays.
3. To save the settings and add the Output Device to the component, click OK.
Applications Manager adds the Output Device to the list displayed at the top of the Output sub-tab.
Updating and Deleting Output Devices
To update or delete an Output Device, select the Output Device from the list at the top of the Output sub-tab and
click Edit or Delete.
The Prompts sub-tab displays a table that lists the prompts defined for the Job or Process Flow. The table includes
the following columns:
• #: The order of the prompts in the Job or Process Flow.
• Default: The prompt value defined in the Job or Process Flow definition.
• Description: The description for the prompt defined in the Job or Process Flow definition.
• Value: You can edit in this column to override prompt values.
If the prompt's data type allows you to select a value, the Select button will be active. A value entered here will
override the default value. Values allow the use of static, dynamic and numeric Subvars.
If you use Subvar(s) here, the prompt's max length setting will be ignored.
You can use multiple Subvars in the same value. When you do, be sure to enclose them in { } braces. For
example, {#1}{#2} or {#today}{#1}. You can pick static and dynamic Subvars using the { } button. To specify
a null value for a Process Flow component's prompt that includes a default value, enter two single quote
characters.
If you do not specify a prompt value, the component will use the default prompt value.
Applications Manager 9.4.1
• Required: Indicates whether a prompt value (in either the Default or Value column) is required. If a value is
required for one or more Process Flow component prompts, and you do not provide them, a message will pop
up asking you to provide values or ignore them.
The components execute as you would expect from looking at the diagram: execution starts at the top and works
down to the bottom. Components in the same row are eligible to execute at the same time. Internal predecessors
that are added by building Process Flows are the most commonly used and easily understood predecessors.
Manually Adding Internal Predecessors to Process Flow Components
After adding components to a Process Flow, you may want to create additional links within the Process Flow. This
is done by manually adding internal predecessor links. For more information, see Adding Internal Predecessor
Links in Process Flows.
Manually Adding External Predecessors to Jobs and Process Flows
You can also add predecessor links to Jobs, Process Flows, and Process Flow components outside the Process
Flow. These are called external predecessor links. In the image above, there is an external predecessor link to a
Job. You can create external predecessor links for a standalone Job from the Jobs window and for non-running
tasks in the Backlog. When you add external predecessor links to tasks in the Backlog, the predecessors are only
Applications Manager 9.4.1
applied to that running of the task. They do not affect the Job or Process Flow definition. For more information on
external predecessor links, see Adding and Editing External Predecessor Links.
Specifying Predecessor Link Types
There are several types of predecessor links. The Success link is the default and is acceptable in the majority of
cases, but you may want to change the type. For example, you may want to change the link type to Failure to run a
task when another task fails.
Depending on the predecessor link type, the predecessor link will:
• Apply to tasks within a virtual day.
• Have no regard for the virtual day.
The only predecessor type that does not take the virtual day into consideration is the Success since last run type.
Since internal predecessors exist within the same Process Flow, they are by definition, within the same virtual day.
For this reason, the Success since last run link type is not available for internal predecessors. For more information
on predecessor link types, see Understanding Predecessor Execution Rules.
Predecessors are Evaluated Based on the Virtual Day
The virtual workday is a point in time each day that limits how far back Applications Manager will search in the
Backlog and History for a predecessor. A task's virtual day is determined by the original start time of that task, not
when the task is inserted into the Backlog.
Predecessors (other than Success since last run) are constraints within the same virtual day. A predecessor link is
considered met when the predecessor task is not scheduled to be run in that virtual day as long as the predecessor
has a schedule associated with it. When tasks are staged, their start time is set to their scheduled start time. For
more information on the virtual workday, see Understanding the Virtual Workday.
Integrating Multiple Predecessors
When a Job, Process Flow, or Process Flow component includes multiple predecessor links, you decide how they
work together. For more information on working with multiple predecessor links, see Using the Predecessor Editor
Box. An example of an advanced predecessor use case is described in Evaluating Predecessors on Select Days.
Predecessor link: The link from a Job, Process Flow, or Process Flow component to its predecessor. In the image
above, a green arrow represents the Success predecessor link from DATA_LOAD to FTP. The link type you select
for a predecessor dictates the requirements for when the task can run.
Successor: The task which runs based on its predecessor(s). In the image above, DATA_LOAD is the successor
of FTP.
Successor link: The link from a Job, Process Flow, or Process Flow component to its successor. In the image
above the same green arrow that represents the predecessor link from DATA_LOAD to FTP also represents the
successor link from FTP to DATA_LOAD. They are one and the same; the terms are just used in different contexts.
Applications Manager 9.4.1
The only difference between a Failure and Failure (skip on success) predecessor is what happens when a task
fails. Often used for branching logic.
If a task with a Failure (skip on success) predecessor meets Skip requirements, it will be skipped, even if it has
additional predecessors within an AND grouping.
• Complete
The predecessor runs and goes into an ineligible status, a failure status, or a FINISHED status.
Predecessor links will not be satisfied while the predecessor is still in the Backlog and the predecessor's status
goes to an interim status. This is because interim statuses in the Backlog may be changed by conditions. Once
a FINISHED task moves to History, the predecessor link will be satisfied.
Even after a task's predecessor links are met, one or more conditions may also need to be met before the task
can run. Or perhaps a condition may take an action that changes the way a task runs. For more information on
conditions, see chapter Working with Conditions.
Selecting Link Types for External Predecessors to Process Flows
Complete, Success, Success only when FINISHED, and Success Since Last Run are the only link types you use
when creating a predecessor to a Process Flow. Success and Complete predecessors are both satisfied based on
the Process Flow's completion (when the Process Flow is no longer in an INITIATED status). In neither case does
Applications Manager take the status of the components in the referenced Process Flow into consideration.
When a predecessor link type is: And the referenced task: The task's predecessor will:
Fails and stays in the Backlog Cause the task to wait in a PRED
WAIT status.
Success since last run Hasn't started yet Cause the task to wait in a PRED
WAIT status.
Applications Manager 9.4.1
When a predecessor link type is: And the referenced task: The task's predecessor will:
Fails and stays in the Backlog Cause the task to wait in a PRED
WAIT status.
Fails and leaves the Backlog Be eligible to run assuming the task
failed and left the backlog since
the last run of the task with the
predecessor.
Success only when FINISHED Hasn't started yet Cause the task to wait in a PRED
WAIT status.
Fails and stays in the Backlog Cause the task to wait in a PRED
WAIT status.
Fails and leaves the Backlog Cause the task to wait in a PRED
WAIT status.
Success (skip on failure) Hasn't started yet Cause the task to wait in a PRED
WAIT status.
When a predecessor link type is: And the referenced task: The task's predecessor will:
Fails and leaves the Backlog Cause the task to wait in a PRED
WAIT status.
Failure (skip on success) Hasn't started yet Cause the task to wait in a PRED
WAIT status.
When you add a new internal predecessor link, it can change the position of the parent component. For example, if
you add the link to a component that has no other link, the component will be moved to a position below the target
component for the link. This is illustrated above.
Creating Links with the Mouse
To create links with the mouse:
1. Select the source component for the predecessor link.
Predecessors can originate from and/or be assigned to components in sub Process Flows.
KIKI: You can create internal predecessors between components in nested Process Flows, but they will not
export/import to another Applications Manager instance. To work around this, you can either manually recreate
the predecessors on the target instance, or define External predecessors in the nested Process Flow definitions.
2. Select the predecessor link type by clicking on the parent component and doing one of the following:
• Press Ctrl+S (to add a Success predecessor).
• Right-click and select the type of predecessor.
• Open the Predecessor menu and select the type of predecessor.
Applications Manager 9.4.1
If you are creating a predecessor link to a Process Flow, you must select the Complete, Success, Success only
when FINISHED, or Success since last run type predecessor link. Success and Complete both mean that all of
the components in the Process Flow must finish with any status.
3. Move the mouse pointer to the target component.
As you move the mouse pointer, the link moves with the pointer.
4. Click on the target component.
Applications Manager draws the link.
If you want to cancel the add procedure, click on a blank spot in the Process Flow instead of a component or a
group.
Creating Links with the Predecessor Definer Window
If you are working with a large Process Flow, or you want to add more than one predecessor link at a time, you
can use the Predecessor Definer window. In the image below, the TEST_JOB component is selected in the From
Jobs box, and DAILY_REPORT is selected as the To Job box. When you click Create predecessors, Applications
Manager will draw predecessor links from the TEST_JOB component to the DAILY_REPORT component.
To display the Predecessor Definer window, click the Predecessor Definer icon in the menu bar.
To display only the component names in the To Jobs box, select the Use short name option. When not selected,
this column shows the names of all parent Process Flows for the component.
Applications Manager 9.4.1
• Only predecessors: Displays only the predecessor links for the selected object. In this image, the predecessor
links are shown for INV_UPDATE.
• Only successors: Displays only the successor links for the selected object. In this image, the successor links
are shown for INV_UPDATE.
Applications Manager 9.4.1
• Show All: Displays the predecessor and successor links for the selected object. In this image, the predecessor
and successor links are shown for INV_UPDATE.
Procedure
To run a Process Flow simulation:
1. If you want a component to fail during the simulation, select the component, right-click, select Completion code
for simulation, and select Failure.
Applications Manager draws a red box around the component.
2. Open the Simulation menu and choose the speed for the simulation: Fast or Slow.
The simulation speed can be saved for your workstation by selecting Save Preferences from the File menu.
For more information, see Saving Preferences for Creating Predecessors.
3. To start the simulation, open the Simulation menu and choose Start.
Managing a Simulation
Applications Manager 9.4.1
Internal Predecessors
Internal predecessors exist within the same Process Flow. Therefore, the start time for all components in the
Process Flow is always the same. For this reason:
• Success since last run and Success only when FINISHED link types are not available for internal predecessors.
• The virtual day never affects internal predecessors.
External Predecessors
Almost all external predecessors link types are subject to the virtual day. The only predecessor type that does not
take the virtual day into consideration is the Success since last run type. For more information on predecessor link
types, see Understanding Predecessor Execution Rules.
Setting the Virtual Workday Start Time
The virtual day start time is set when you install Applications Manager. To reset it to a different time, rerun the
install. For UNIX run the awinstall script. For Windows run setup.exe. The install script will show you the current
value for the virtual day and ask if it is correct. You can enter 'No' and update it.
The Success predecessor requirement for task B shown on the right would be satisfied on insert if task A includes
a schedule, but is not scheduled to run today.
Requiring Predecessor Requirements to be Satisfied Each Time in a Virtual Workday
There may be some tasks you wish to run several times in a virtual day. Each time they run, you want their
predecessor requirements to be re-evaluated. The diagram below shows that the predecessor's requirements
for the second run of task B are not met with a Success since last run predecessor. This is because task A did
not run again since the last time task B ran. With a Success predecessor from task B to task A, the predecessor
requirements for every instance of B in the current virtual day will be satisfied as soon as task A runs the first time.
Applications Manager 9.4.1
Example Use
External predecessor links can be useful in many situations, including the following: Two application groups in a
company have created their own nightly processing Process Flows. Each group's Process Flow depends on the
successful execution of Jobs within the other group's Process Flow. To keep the Process Flows in sync, they create
external predecessor links to the components in each others' Process Flows.
Procedure
To add an external predecessor link:
1. Open the Jobs/Process Flows window.
2. Select a Job, Process Flow, or one or more components (Shift+Click, Ctrl+Click) and do one of the following:
Applications Manager 9.4.1
Although the two are very similar, each option offers its own unique advantages.
Advantages of Predecessors
Predecessors have several distinct advantages. They:
• Are managed from memory. They use fewer system resources than conditions which run a SQL statement
every time they are evaluated.
• Check for the Job/Process Flow since the last virtual workday start time.
For more information on the virtual day, see Understanding the Virtual Workday.
• Can be evaluated based on some predecessor types that CHECK HISTORY conditions cannot. For a list of
predecessor types, see Understanding Predecessor Execution Rules.
Advantages of CHECK HISTORY Conditions
CHECK HISTORY conditions have several distinct advantages. They:
• Allow you to specify a particular number of days, hours, or minutes to check for.
For an example of a condition that checks for a Job in a set time period, see Checking for a Finished Task in
History.
• Can be assigned to different timings (before a task runs, during its execution, after it has run, or when it is
deleted).
• Can be assigned different actions (cancel a Process Flow, request a Job, set a Substitution Variables, etc.).
Recommendation
Generally, you should use predecessors when possible. If you are not able to satisfy your task execution
requirements with predecessors, then turn to CHECK HISTORY and other conditions.
Applications Manager 9.4.1
A message window is displayed informing you of this move and giving you the chance to cancel the action. The
message box includes a checkbox that prevents the message box from being displayed again during the current
session.
Redirecting Internal Predecessor Links
You can redirect a predecessor link to another component within the Process Flow. To redirect a link, select the link
and drag the predecessor end of the link to the new target component.
Jumping to Predecessors and Successors
If a predecessor or successor link connects to a component that is not in view, you can jump to the component by
selecting the source component, right-clicking, and selecting Jump to predecessors/successors. Applications
Manager opens the Jump to dialog window. You can jump to predecessors or successors and return to the initial
component by selecting the Go back to originator button.
Process Flows and Process Flow components Components tab on the Process Flows window as
shown in the image below.
Non-running tasks in the Backlog Predecessors tab on the Task Details window.
Applications Manager 9.4.1
If a component has more than one predecessor, you can apply AND/OR logic to the predecessor links. If you link
two or more predecessors with AND logic, all the predecessors must be satisfied before the component can run. If
you link the predecessors with OR logic, only one predecessor's requirements must be satisfied for the component
to run. You can also mix AND and OR logic for a component's predecessors.
Using the Predecessor Editor Box
Following are guidelines for using the Predecessor Editor box:
• All listings below a blue OR or red AND icon fall within that logical structure. In the image above, a blue OR
is the top level icon, below it are two pairs of tasks, each under a nested AND. This means that JOB_E in
PROCESS_FLOW_1 will be eligible to run if both tasks in either pair are successful.
• Predecessor links in the window are listed with the parent Process Flow name followed by component name.
• You can change AND headings to OR headings and vice versa by right-clicking the heading and selecting the
Change to command.
• You can create new AND and OR headings under existing headings by selecting the heading, right-clicking, and
selecting the appropriate Create nested command.
• You can drag a predecessor link from one heading to another.
• You can drag AND/OR headings to other headings.
Applications Manager 9.4.1
Action Steps
Change a predecessor link from AND to OR 1. Select the predecessor link and right-click.
2. Select Change to Or.
Applications Manager adds an OR heading with the
predecessor link indented under the heading.
Move a predecessor link from one AND/OR group to Click on the predecessor link in the Predecessor
another Editor box and drag it to the target AND or OR group
heading.
Delete a predecessor link Select the predecessor link in the Predecessor Editor
box, right-click, and select Delete.
Add a new Or group Select an AND group, right-click, and select Change to
Or.
To allow the Job to always run on select days, define predecessor requirements that are always met on those days.
To do this, create additional predecessors using OR logic to special dummy Jobs that run each day.
Applications Manager 9.4.1
In the image above, Job A will run if the TUESDAY, THURSDAY, or B Jobs complete successfully. The TUESDAY
Job is scheduled to run at the start of Tuesday's virtual day, and the THURSDAY Job is scheduled to run at
the start of Thursday's virtual day. Therefore, Job A runs on Monday, Wednesday, and Friday only after Job B
completes (assuming Job A is scheduled to run Monday through Friday), and it runs on Tuesday and Thursday
because the TUESDAY and THURSDAY Jobs run.
Procedure
To only evaluate a predecessor on select days:
1. Create a dummy Job for each day you do not wish to evaluate a predecessor.
A dummy Job is a Job that runs, but doesn't execute a meaningful program or script. An easy way to create
dummy Jobs is to copy the TEST_JOB that ships with Applications Manager. You can name the dummy Jobs
after the days of the week. For information on copying Jobs, see Copying Applications Manager Objects.
2. Add schedules to each dummy Jobs so they run immediately after the start of the virtual day.
For information on scheduling Jobs and Process Flows, see chapter Scheduling Jobs and Process Flows.
3. Add external predecessor links to the dummy Jobs.
4. Set the predecessor logic to OR for all predecessors.
For information on setting OR logic, see Using the Predecessor Editor Box.
The DATA_PROCESSING Process Flow shown below runs five components. First the DATA_LOAD Job runs.
Next, the MAJOR_UPDATE and SMALL_UPDATE Jobs run. Once the MAJOR_UPDATE Job finishes, the
REPORTING_01 and REPORTING_02 Jobs run.
Applications Manager 9.4.1
If the MAJOR_UPDATE Job aborts, several recovery scripts must run to restore the database. You can create Jobs
that run the recovery scripts and add the Jobs to the Process Flow.
Using Failure (skip on success) predecessors, you can automate the recovery Jobs to only execute when the
MAJOR_UPDATE Job completes with a status of ABORTED, DIED, or TIMEDOUT. In the first image above, the
CLEAR_PARTIAL_TRANSACTIONS, REINITIALIZE_COUNTERS, and RESTAURANTS components include
Failure (skip on success) predecessor links to MAJOR_UPDATE. They only run when MAJOR_UPDATE fails. If
MAJOR_UPDATE goes to History with a FINISHED status, they are skipped.
Notice that CLEAR_PARTIAL_TRANSACTIONS, REINITIALIZE_COUNTERS, and RESTAURANTS are included
in a group. This is done based on organizational preference. They just as easily could have been members of a
nested Process Flow. If they were members of a nested Process Flow, you would use a single Failure (skip on
success) predecessor from the Process Flow to the MAJOR_UPDATE component. You cannot add predecessor
links to components in a nested Process Flow.
This can be achieved by creating a Process Flow which includes JOB_A, JOB_B, and JOB_C. JOB_B would
include the predecessor link Success (skip on failure). JOB_C would include the predecessor link Failure (skip on
success). A sample Process Flow below named BRANCH shows this.
Applications Manager 9.4.1
In the image above, JOB_D includes predecessor links to run after JOB_B or JOB_C. JOB_D also includes a
condition which cancels the remaining components in the Process Flow after it runs. Now when JOB_A aborts the
following happens:
• JOB_A remains in the Backlog in an ABORTED status.
• JOB_B is skipped.
• JOB_C runs.
• JOB_D runs. When JOB_D finishes, its condition is executed. This cancels JOB_A and sends the BRANCH
Process Flow to History.
It is important that the dummy Job is the last Job in the Process Flow, because it would also cancel any additional
components which have not yet run.
Applications Manager 9.4.1
You would want to make sure the Stay in Queue on abort option was set for JOB_A. Otherwise, both JOB_B and
JOB_C would run when JOB_A aborted.
To best determine the prompts you will create for your Applications Manager Jobs, you should start by thinking
about the parameters that each program or script requires and where they come from. Parameters that a program
or script may require include:
• Selectable options in an application
• Options an application requires that never change, for example the name of a printer
• The number of records in a database table
• Values in a database that may continually change, such as account balances
• A list of items in a database, such as customer names
• A list of items which are not in a database, such as values in a daily run book
• Entirely open-ended user-defined parameters
• Dates and times
Planning Your Prompts
Before creating prompts for your Jobs, it's a good idea to think about how best to take advantage of all the features
they provide. Topic Deciding which Prompts to Use includes some of the key concepts you should take into
consideration to take full advantage of the powerful features Applications Manager prompts provide you.
Prompts Defined by Data Types
When you create a prompt, you assign it a data type. The data type defines the format of the data that will be used
in the prompt. There are several basic Data Types: Character, Date, Number, Multi (for combining two Data Types),
List (for selecting options from a list without using a SQL statement), and File (for selecting a file from a directory).
Character data type can incorporate a SQL statement that searches the database and returns a set of values that
can be selected for a prompt. For information on defining Data Types, see Defining Data Types.
Working Smarter by Copying Prompts
If you have defined prompts for a Job or Process Flow, you can use them in another Job or Process Flow using the
Copy button.
Passing Values Through a Process Flow
You also can create prompts for Process Flows to define values that will be used by the components added to the
Process Flows. You can pass prompts from a Process Flow to one or more component in the Process Flow using
numeric Substitution Variables. The values can be used in prompts, conditions, and aliases. The user can enter
values in one place and have them automatically used in one, several, or all of the components in a Process Flow.
This technique is described in Passing Values Through a Process Flow with Numeric Subvars.
• Dynamic Subvars can be used as default prompt values for Job and Process Flow prompts that will be
requested on an ad hoc basis. Consider this simple example: A user needs to supply the current date every time
they run a particular Job. With a dynamic Subvar, the date is filled in automatically when they request the Job,
saving time and eliminating the potential for error.
• Once defined, dynamic Subvars can be used in other parts of the Applications Manager product, including
Notifications, Output Scans, and conditions.
Other options, such as whether a prompt value is editable when requested, are determined by the prompt's details.
Using Static Prompt Values
When a prompt value is static, you should think about the best way to set the value. If it would be advantageous
for a developer creating the prompt, or the operator requesting a Job, to select a parameter value from a list, you
can create a prompt where users can select one or multiple prompt values from a list. Selecting values from lists
eliminates data entry errors. Usually you build lists for prompts with a SQL statement that pulls values from a
database table. Alternatively, you can build a list from the Applications Manager GUI, or specify a directory and
allow users to select file names as values. The way the list is built is determined by the prompt's data type.
If the value will not be included in a list, you can do either of the following, depending on your preference:
• Key in text as prompt values.
• Enter static Subvars. Values for static Subvars are stored in a database and retrieved at the time a Job is
requested. An advantage of using static Subvars for static prompt values instead of keyed-in values is that
changes can be made to the Subvar definition to update the value in all objects using the Subvar. Static Subvar
values can also be set by Applications Manager conditions.
Other options, such as whether a prompt value is required, editable, or has a default value are determined by the
prompt's details.
An example Job with six common types of prompts is shown above. The first prompt is a simple fill-in prompt. The
next five show the available formats for prompts users can select values for. With them you can select:
• A single value from a list of radio buttons.
• A single value from a list of values window by clicking a Select button or alternately by keying in text.
• A single value from a list of values window by clicking a Select button or alternately by selecting from a drop-
down list.
• Multiple values from checkboxes.
• Multiple values from a multiple selection window by clicking a Select button.
The image below shows the Prompts tab of the Jobs window for the requested EMPLOYEES Job.
Applications Manager 9.4.1
The prompt details from the Job's definition and its data type definition are shown above. Notice the following
settings that define the way the prompt will validate the data it passes to a program or script and how it will look:
• The Region data type includes a list of values. In its Type field, List is selected and the values are shown on the
List tab at the bottom of the window. You build a list of values with a List data type when you want to present
users with a list of options that are not already stored in a database.
• In the prompt definition, the Region data type is selected. Since Region has a List data type, the List of values
and Multi select radio buttons are active in the prompt definition. List of values is selected. Now when a user
submits this Job they will be able to select one of the values from the Region data type's list.
• On the Submit window shown below, there are six radio buttons, one for each of the five regions and one for
None. When None is selected, no value will be passed for this prompt. The None radio button exists because
the prompt doesn't require a value since the Value required box is not checked in the prompt definition.
Applications Manager 9.4.1
Additional Examples
For additional example prompts, see the PROMPT_EXAMPLE Job that ships with Applications Manager.
The variable name for the prompt. For example, if you want to ensure that the prompt is assigned to the
variable 'time' (used in a SQL script, say), put 'time' in the Variable Name field. Variable names are used
differently by different Program Types (up to 100 characters).
• Default value
The default value for the prompt. When prompt values are selected from a list, you can pick them by clicking
the Select button.
If Allow changes is checked, the user can enter their own value for this prompt when it is requested. If your
prompt values include spaces or special characters, such as & or %, enclose those values in double quotes.
For information on when Subvars and Replacement Values are evaluated in Job and Process Flow
component prompts, see Using Subvars and Replacement Values in Job and Component Prompts.
For information on when Subvars set in Process Flow prompts are evaluated, see Passing Values Through a
Process Flow with Numeric Subvars.
You can include Environment Variables in prompt values. The Environment Variables must be enclosed in { }
curly brackets. When an Environment Variable is used in a prompt's value, its corresponding Environment
Variable object must be assigned to the Job via its Agent, Application, Program Type, or Job definition. For
more information on environmental variables, see topic Defining Environment Variables.
• Minimum/Maximum
Sets the minimum and maximum value a user can enter in response to the prompt. If the data type selected
includes a SQL statement you can select values using the Select buttons. If a Min value and Max value have
been defined for the data type, they will be displayed in these fields. For more information on these fields,
see Setting Minimum and Maximum Values for Prompts.
Only applies to the Submit window, not to Process Flow component prompts, the awrun process, or the API
calls.
• Max length
Sets the maximum number of characters a user can enter in response to the prompt (up to 512).
Only applies to the Submit window, not to Process Flow component prompts, the awrun process, or the API
calls.
Max length is not enforced when Subvars are used in the Default value field.
• Value required
When selected, the prompt must have either a default or user-entered value when the Job/Process Flow is
executed.
Only applies to the Submit window, not to Process Flow component prompts, the awrun process, or the API
calls.
• Allow changes
When selected, the User can enter a value for the prompt. If you do not select this option, the User cannot
change the default value.
Only applies to the Submit window, not to Process Flow component prompts, the awrun process, or the API
calls.
• Upper case
When selected, text entered for the prompt will be forced to upper case at the time the Job is submitted. The
default setting is determined by the prompt's data type.
Only applies to the Submit window, not to Process Flow component prompts, the awrun process, or the API
calls.
• Quote char
The quote character is required for some Program Types if null values or space characters are allowed in the
prompt. The quote character is placed before and after the value entered for the prompt. Single and double
quote characters are common choices.
• ToolTip
Additional information you enter about the prompt. When a user mouses over this prompt on the Submit
window, text from this field will be displayed in a ToolTip.
• From Data Type
Applications Manager 9.4.1
When you select a data type with ToolTips, they are automatically entered in the ToolTip box and this non-
editable checkbox will be checked. If you edit the text in the ToolTip box, this checkbox will uncheck.
3. To save the settings and add the prompt to the Job or Process Flow, click OK.
Applications Manager adds the prompt to the list at the top of the Prompts tab.
4. To reorder the prompts in a Job or Process Flow, use the arrow buttons to the right of the list of prompts.
Updating and Deleting Prompts
To update or delete a prompt, select the prompt and click Edit or Delete.
The values serve as guidelines and can be changed. You can edit them by:
• Typing in new values.
• Entering Substitution Variables.
• Selecting from a list of values if the Select button is active. The Select button is active only when the data type
selected is a List data type or includes a SQL statement.
Applications Manager User Groups control access to Data Types. If you do not have access to them, see your
Applications Manager administrator.
Procedure
To define a data type:
1. From the Data Types Selector window, click New.
Applications Manager opens the Data Types window shown above.
For information on using selector windows, see Adding, Editing, and Deleting Applications Manager Objects.
2. Complete the fields using the information below.
• Name
A 100-character description for the data type.
• Type
General type-can be Character, Date, File, Number, Multi, List, or Password.
For example, a "Divisions" data type would use character, a "Product Count" data type would use number.
Multi, List, File, and Password Data Types are described in the subtopics that follow.
Applications Manager 9.4.1
• Display Type
Defines how prompts using this data type will be displayed on the Submit window. There are three options:
• Text Field: A box in which the requestor may enter text.
• List Box: A box including a down-arrow. When a requestor clicks on the down-arrow, a list of values
appears. With List Boxes containing a list of values, text will auto-fill as the requestor types, based on the
available values for the prompt.
• Radio Buttons: Small circles that, when selected, have a smaller, filled-in circle inside them.
When a data type is used as a multi select prompt that has List Box or Radio Buttons selected, and there are
few enough choices to fit on the Submit window, the values will be displayed with checkboxes.
• Min value/
Max value
These fields define the values for the Minimum and Maximum fields for the prompts. For more information
on these fields, see Setting Minimum and Maximum Values for Prompts.
• Max length
Defines the maximum length of the data in characters. The value may not exceed 512 characters.
• Result Format
Used with Data Types with SQL statements and Multi Data Types. Determines how the SQL results are
formatted. Column numbers in { } are replaced by the value of that column. Other characters are included
unchanged. If this field is empty. Applications Manager uses the default value of {1}, which means that
it passes the value from the first column. The result format does not change the view when you click the
Check SQL button.
• Date input format/
Date output format
These two drop-down list boxes are selectable only when the value in the Type field is Date. They define the
input format for a date entered in a prompt and the output format at the time the program is executed. They
are used for date format verification and conversion.
• Referential checking
This option only exists for legacy customers. Its functionality has been replaced by Multi Data Types with an
intersection operation. For more information, see Using Multi Data Types.
• Upper Case
When this option is selected, Applications Manager converts all values to upper case characters.
• Distinct
When this option is selected, Applications Manager ensures that no duplicate values are returned. This is
primarily for PeopleSoft where distinct is not allowed in their SQL statements.
3. Depending on the value you select from the Type field, you may fill in the fields on either the SQL, Multi, List,
or File tab.
Because SQL Data Types are the most common, the fields on the SQL tab are described in the following table.
• Login
The Login you wish to run the SQL statement against. You can select:
• Database Login objects to execute the statement against a database.
• Agent type Logins to request information from an Agent's application. Agent type Logins are written in { }
brackets. For example, you can select {PSE} and Applications Manager will run that SQL statement using
the API connection it has to PeopleSoft. If two of the selected Agent types are defined, a pop-up window
will appear where you can select the Agent to run against.
This field becomes active when you enter a SQL statement below. If the Login is set to 'No Selection',
Applications Manager will use the Oracle Database Login used to connect to the Applications Manager
database. If the Login you wish to use is not included in the drop-down list, have your Applications Manager
administrator check its definition.
To evaluate dynamic Substitution Variables, Data Types, or Reports in a database other than the Applications
Manager database, the Login object must be defined for JDBC use. For more information, see the
Administration Guide.
• Use Requestor's Login
Applications Manager 9.4.1
Uses the Login assigned to the User who requests an object that includes this data type. This option is
useful if you want to evaluate a data type's SQL statement based on either a User's view of a database or on
different databases depending upon the User. This checkbox is only active for Data Types where a Login is
specified. If a Login is not selected in the requestor's User definition, the Login set in the Login field on this
window will be used.
• SQL Statement
Contains a select statement which provides a list of values for a prompt. The SQL statement can be up to
2000 characters long. Each value can be no more than 100 characters long. The first value displays the
prompt's value. The second value provides additional information about the first value.
Although SQL statements can return values of various types, including numbers and dates, Applications
Manager evaluates them all as characters. Therefore, you must return your values as text. To convert a
number to text, use the to_char function. In the image above, the to_char(deptno) function converts the
department number to text.
The SQL allows the use of select Replacement Values to use with ad hoc requests. To insert Replacement
Values, click the { } button.
• Check SQL
Executes the SQL statement and displays the output in the SQL View window as shown below.
Applications Manager 9.4.1
4. Optionally enter text on the ToolTip tab to display additional information about prompts when a user mouses
over them on the Submit window.
To include: Select:
To include: Select:
Only the values which are in both the Data Types Intersection.
selected as Data Type 1 and Data Type 2
Only the values in Data Type 1 which are not also in Minus.
Data Type 2
Importing Objects with Multi Data Types Prompts that Select AM Objects
When you export and import objects that use Multi Data Types that reference AM objects, only the objects that exist
on the target instance will be referenced after the import. Note that the reference numbers will be different on the
target instance than they were on the source instance.
Procedure
To copy prompts from one Job or Process Flow to another:
1. From the Prompts tab for a Job or Process Flow, click the Copy button.
Applications Manager displays the Copy prompts window shown above.
2. Select the Job or Process Flow containing the prompts you want to copy.
You can filter the list by selecting an Application. Applications are groups to which Jobs are assigned. Only the
Applications, Jobs, and Process Flows assigned to you via User Groups will be displayed.
You can type the first few letters of a Job or Process Flow name in the Search field, and Applications Manager
will filter the list. If two Jobs or Process Flows start with the letter you type, Applications Manager highlights the
first one.
3. Click OK.
Applications Manager adds the prompts to the Job/Process Flow.
The reference number is passed to the script or application like any other prompt value. In order for a script or
application to use the values, it must retrieve the records from the database. You can retrieve records using a run-
time extension script, a Program Type script, or through the script or application called by the Job.
Example
When the JOB_RUN_REPORT Job shown above is requested, an end-user can select one or more Jobs to
see whether they have run within the last 24 hours. Once values are selected, Applications Manager assigns a
Applications Manager 9.4.1
reference number to them. The reference number and values are stored in the so_multiselect table. The reference
number is also passed to the Job's script.
The so_multiselect table fields are described below:
so_ms_source This field simply stores an R to show that the Job was
requested.
When the job executes, it runs the jobsrun.sql script shown below. The jobsrun.sql script accesses the
so_multiselect table and returns the reference number and its values.
When the Job completes, you can view its output with the File Viewer as shown below.
Applications Manager 9.4.1
For more information on awexe commands, see Common awexe Commands You Can Use in Your Scripts.
Applications Manager User Groups control access to Substitution Variables. If you do not have access to them, see
your Applications Manager administrator.
You can add Subvars to:
• Prompts
• Conditions
• Other Subvars
• Output Scan rules
• Notification text
• Message Template text
• Output paths in Job, User, and Agent definitions
The ability to include dynamic Substitution Variables in conditions lets you control operations based on the state of
your corporate database, and automate processes to an extent not possible in a traditional operations environment.
Static and Dynamic Substitution Variables
There are two types of Subvars: static and dynamic. Values for static Subvars can be set by a User or a condition
with a SET SUBVAR action and stored in the Applications Manager database. Values for dynamic Subvars are
generated by a SQL statement when the Subvar is evaluated. The SQL for dynamic Subvars can run against
the Applications Manager database or any database you define for JDBC use. Subvars that run against the
Applications Manager database do not require a Login and are referred to as plain Subvars.
For information on defining static Substitution Variables, see Defining Static Substitution Variables.
For information on defining dynamic Substitution Variables, see Defining Dynamic Substitution Variables.
Substitution Variables That Ship with Applications Manager
Applications Manager ships with a number of Substitution Variables already defined. Several examples are listed
below.
• #current_year
Applications Manager 9.4.1
• #day_of_week
• #first_of_month
• #first_of_last
• #last_of_last
• #last_of_month
• #next_monday
• #today
• #tomorrow
• #yesterday
Passing Values through a Process Flow with Numeric Substitution Variables
You also can create prompts for Process Flows to define values that will be used by the components added to the
Process Flows. You can pass prompts from a Process Flow to one or more components in the Process Flow using
numeric Substitution Variables. The values can be used in prompts, conditions, and aliases. The user can enter
values in one place and have them automatically used in one, several, or all of the components in a Process Flow.
This technique is described in Passing Values Through a Process Flow with Numeric Subvars.
Substitution Variables Evaluate as Strings or Numbers
Applications Manager evaluates Substitution Variables as strings or as numbers based on the qualifiers you specify
within your conditions. Dates can be evaluated as strings or numbers, but the data type selected in the Type field
will affect the Subvar's usage. To ensure proper evaluation of dates as numbers, use Julian dates (dates expressed
as the number of days elapsed since January 1, 4713 B.C.) or a YYYYMMDD format. The maximum return size for
a Substitution Variables is 512 characters.
Replacement Values
Replacement Values represent values assigned to Applications Manager objects that are stored in the Applications
Manager database. They come predefined when you install Applications Manager. Two frequently used
Replacement Values are {run_id} and {top_flow_id}. For a list of Replacement Values, see Replacement Value
Descriptions.
The { } brackets are used to evaluate Replacement Values within the SQL statement for a dynamic Substitution
Variables or in a condition that defines a Substitution Variables.
• For example: #task_number={run_id}
Warning: The { } brackets cannot be substituted with [ ] brackets. Substitution Variables written with [ ]
brackets will not be evaluated.
Static Substitution Variables can be defined in the Substitution Variables window or by using the SET SUBVAR
action in a condition.
Defining a Static Substitution Variable
To define a static Substitution Variables:
1. From the Substitution Variables Selector window, click New.
Applications Manager opens the Substitution Variables window shown above.
For information on using selector windows, see Adding, Editing, and Deleting Applications Manager Objects.
2. Complete the fields using the information in the following table.
• Name
The name must start with a '#' sign. Names cannot contain blanks or start with numbers. They can be up to
30 characters long.
• Type
The data type, used to validate entries when this Substitution Variables is used in prompts. When you include
a Date type Substitution Variables in a prompt, the following settings must match:
• The Date input format/Date output format in the data type selected for the Subvar
• The Date input format/Date output format in the data type selected for the prompt
For more information on Data Types, see Defining Data Types.
• Value
The value for the variable may be up to 100 characters long. This field allows the use of dynamic Substitution
Variables. When dynamic Substitution Variables are used here, the value of the this Substitution Variables
will always resolve to the value of the dynamic Substitution Variables.
• Login
This field is only used for dynamic Substitution Variables. For more information, see Defining Dynamic
Substitution Variables.
Applications Manager 9.4.1
The Login field, Use Requestor's Login box, SQL Statement box, Check SQL button, and Replacement
Values box are not used for static Substitution Variables. Dynamic Substitution Variables use SQL statements
to return values and perform activities such as retrieving sequences or logging a timestamp reference. For more
information, see Executing Procedures in Dynamic Substitution Variables.
Defining a Substitution Variable within a Condition
To define a Substitution Variables with a condition:
1. Choose the SET SUBVAR action as shown below.
2. Enter the name of the Substitution Variables, an '=' sign, and the value to be assigned to the variable. The name
must start with a '#' sign, cannot contain blanks, and can be up to 30 characters long. Do not put spaces around
the '=' sign.
The example shown above will create a Substitution Variables whose name will include a unique number
'{top_flow_id}' assigned to the Process Flow at run-time. The value of the Substitution Variables will be 'GO'.
Procedure
To define a dynamic Substitution Variables:
1. From the Substitution Variables Selector window, click New.
Applications Manager opens the Substitution Variables window shown above.
For information on using selector windows, see Adding, Editing, and Deleting Applications Manager Objects.
2. Complete the fields using the information in the following table.
• Name
The name must start with a '#' sign. Names cannot contain blanks or start with numbers. They can be up to
30 characters long.
• Type
The data type, used to validate entries when this Substitution Variables is used in prompts. When you include
a Date type Substitution Variables in a prompt, the Date output format in the data type selected for the
Subvar must match the Date input format in the data type selected for the prompt. For more information on
Data Types, see Defining Data Types.
• Value
Applications Manager ignores this field when you enter the SQL statement. For information on this field, see
Defining Static Substitution Variables.
• Login
The Login for the database you wish to run the SQL statement against. If the Login is set to 'No Selection',
Applications Manager will use the Oracle Database Login used to connect to the Applications Manager
database. Subvars that connect to the Applications Manager database are referred to as plain Subvars. If
the Login you wish to use is not included in the drop-down list, have your Applications Manager administrator
check its definition.
Applications Manager 9.4.1
To evaluate dynamic Substitution Variables, Data Types, or Reports on a database other than the
Applications Manager database, the Login object must be defined for JDBC use. For more information, see
the Administration Guide.
• Use Requestor's Login
Uses the Login assigned to the User who requests an object that includes this Subvar. This option is useful
if you want to evaluate the Subvar based on either a User's view of a database or on different databases
depending upon the User. This checkbox is only active for dynamic Substitution Variables where a Login is
specified. If a Login is not selected in the requestor's User definition, the Login set in the Login field on this
window will be used.
• Replacement Values
Replacement Values retrieve information about Applications Manager stored in the Applications Manager
database. You can add Replacement Values to your SQL statement by highlighting a value and clicking
Insert. For more information on Replacement Values, see Replacement Value Descriptions.
• SQL Statement
The statement should query a database and extract a single (character type) value that will be used for the
variable. If the value is a number, you must use the to_char function to convert it to a character. The value
returned by the SQL statement must be no longer than 100 characters. The SQL statement cannot be longer
than 2000 characters.
Warning: When the Applications Manager Automation Engine is processing conditions, it stops
in the cycle to evaluate each SQL statement. Therefore, it is important that you write concise SQL
statements.
• Check SQL
Applications Manager runs the SQL statement as the Applications Manager Oracle user. The value returned
by the SQL statement is displayed below the SQL statement. For more information on modifying data, see
Executing Procedures in Dynamic Substitution Variables.
Rules
Keep in mind the following rules when defining a procedure:
• A procedure must not contain more than one output field.
• If the procedure does not contain any output field, the dynamic Substitution Variables will return a NULL.
• A procedure may contain any number of input fields or none.
Applications Manager 9.4.1
prod.test_proc('log.{requestor}','{run_id}',:result)
To return a value, the output argument of the procedure must be called :result as shown above. The
example procedure uses two Replacement Values: the Requestor ID and the run ID. It will return a string
that concatenates (combines) the two. The result would return 'log.SQLOPER=4022.00' for a task that was
requested by SQLOPER and whose run ID was 4022.
6. To save the definition and close the window, click OK.
Applications Manager 9.4.1
In the image above, if the task does not complete successfully, the {condition1} Replacement Value is used to set
the value of the #task_status Substitution Variables to the status of the task. This Substitution Variables can then be
evaluated in other conditions.
Procedure
To add a Substitution Variables or replacement variable to a field with the Subvar Replacement Values window:
1. Click the { } button next to a field.
Applications Manager displays the Subvar Replacement Values window shown above.
2. Select one value from either list.
Applications Manager 9.4.1
{Agent} The name of the Agent that the task is running under.
If a condition calls a Job that uses the {Agent} variable,
{Agent} refers to the parent Job's Agent.
{command} The name of the program run by the Job. The program
name is selected when defining the Job.
{db_type} The database type for the Login assigned to the Job.
{file_line} The first line of the last file found by CHECK FILE. It
remains available until a CHECK FILE condition is run
for a different file.
1 MOD1 starts
2 MOD1 starts
At Time 1, MOD1-Run1 starts. At Time 2, MOD1-Run2 starts. At Time 3, MOD1-Run1 finishes and its 'After'
condition sets #flag to 'SUCCESS' because the Job finished successfully. At Time 4, MOD1-Run2 aborts and its
'After' condition sets #flag to 'FAILURE' because the Job aborted. At Times 5-8, the 'Before' conditions on the
remaining Jobs all force a skip because #flag is set to 'FAILURE.' This is not the desired result—MOD2 and MOD3
for Run 1 should have run because MOD1-Run1 finished.
Solution
To avoid this problem, you need a Substitution Variables that is specific or 'local' to each run of SVTEST. You can
create such a Substitution Variables using the {top_flow_id} Applications Manager Replacement Value.
For each run of a Process Flow, the {top_flow_id} Replacement Value is a unique number. You can use this unique
number as part of the Substitution Variables name. It also helps to remember that Applications Manager will
automatically create Substitution Variables used in conditions if they don't already exist.
Below are several examples of conditions and how they can be improved with the {top_flow_id} Replacement
Value:
In each case, the Substitution Variables (#flag, #result, #value) is augmented with the unique top_flow_id number
as part of its name. #flag might become #flag69, #result might become #result888, and #value might become
#value21107.
Making the Substitution Variables name unique for each run of the Process Flow eliminates any chance that
the Substitution Variables will be overwritten when a Process Flow runs concurrently with itself. There is one
caveat about using {top_flow_id} to uniquely name Substitution Variables. You must be sure to delete the unique
Substitution Variables when the Process Flow ends, otherwise you can end up with a large number of Substitution
Variables. For example, if a Process Flow that uses #flag{top_flow_id} in its conditions runs once an hour every
day, at the end of a week there would be 168 new Substitution Variables without a use. To delete a Substitution
Variables, add a DELETE SUBVAR condition at the end of the Process Flow at a position where the condition is
guaranteed to be evaluated. The condition must always evaluate true to guarantee the DELETE SUBVAR action is
taken. The table above contains an example of such a condition at the bottom of the With {top_flow_id} column.
For example, if you want: Make the first Process Flow And the component prompt's
prompt's value: value:
The 'numeric Substitution Variables' #1, #2, #3......#999 are the link between the Process Flow and its components.
As you add prompts to the Process Flow, Applications Manager numbers them sequentially. When you add Jobs
and nested Process Flows to the Process Flow, you use the numbers assigned to the prompts in the Process Flow
in the component prompt fields and conditions.
The diagram below shows an example of a Process Flow called ACCOUNTING_PROCESS_FLOW. The five
prompts in the Process Flow allow the user to enter an accounting period, the first and last days of the accounting
period, and a region and department. Applications Manager stores these values in Substitution Variables #1, #2,
#3, #4, and #5.
Applications Manager 9.4.1
Applications Manager 9.4.1
These values are passed to the components REPORT_A, REPORT_B, and REPORT_C which are Jobs in the
ACCOUNTING_PROCESS_FLOW by entering the appropriate Substitution Variables. In REPORT_A, the value for
the last day of the period is also used in a condition. The statement checks to make sure the current day is after the
last day of the period. If it is not, the report is aborted. REPORT_A also uses the date Substitution Variables from
the 'First day of period' prompt as its alias.
Prompt values can be used in any combination in any number of Jobs. For example, REPORT_C uses only
prompts #4 and #5. You also can mix numbered prompts with other types of prompts.
You can also use this method to pass values from a Process Flow to additional Process Flows nested within it.
Each report has been written to accept start date and end date values. When you create the Jobs, you will define
prompts for the start and end dates. You will use Substitution Variables to provide default values for the dates.
When you create the Process Flow, you will create matching prompts for the start and end dates. When a user runs
the Process Flow on an ad hoc basic, they will enter the start and end dates, and Applications Manager will pass
the dates down to each report Job in the Process Flow.
Step 1: Define the Data Types
For this example, you would use the Dates data type, which comes predefined with Applications Manager.
Therefore, you would move on to Step 2.
You can create new Data Types to suit your needs. For more information, see Defining Data Types.
Step 2: Create the Jobs and Define the Prompts
To create the report Jobs and define the prompts:
1. Create the REPORT_BATCH Job as shown below.
Applications Manager 9.4.1
2. On the Prompts tab, create two prompts, one for the start date and one for the end date, using the values
shown below.
Prompt # Value
1 #1
2 #2
The #1 and #2 tell Applications Manager to use the values from the first and second prompts of the Process Flow.
A variable name is not needed because the prompt values are passed to an Applications Manager Job, not a
program.
2. Select the Value required and Allow changes boxes.
Applications Manager 9.4.1
Procedure
To use the data a user enters from a prompt as an alias for a Process Flow component:
1. Create the Data Types, Jobs, and prompts for your Process Flow. For an example, see Example: Passing
Values Through a Process Flow with Prompts.
2. Enter the number in the Alias field on the General sub-tab of the Process Flow component for the prompt that
you would like to have displayed as the Job's name in the Backlog and History.
You must put curly braces around the prompt number to indicate that the alias includes a numeric Substitution
Variables. You can use the numeric Substitution Variables by:
• Just including the variable.
Example: {#3}
• Combining the Substitution Variables with text.
Applications Manager 9.4.1
Example: {#3}text
• Combining the Substitution Variables with other Substitution Variables.
Example: {#3}text{#today}
Notes
Consider the following when passing Process Flow prompts to component aliases:
• If the component alias is not enclosed in { } curly brackets, it will be evaluated as a string.
• Components with aliases including { } curly brackets should not be defined as external predecessors for other
Jobs, Process Flows, and Process Flow components. The reason is that predecessors reference task names
and these components' names by definition will change, causing the predecessors to not ever be met.
• The Always evaluate Subvars in Process Flow prompts at component run times when scheduled
Automation Engine option has no effect on component alias names. For Subvars, the value is always resolved
when the task runs. For Replacement Values, the value is always resolved when the Process Flow is inserted
into the Backlog.
• It is possible for component alias values to not match the component prompt value. For example, you might
have {#aw_now} set at the Process Flow level. In that case, it will get evaluated when inserted in the Backlog
alias name but will not be evaluated for the prompt until the component is initiated.
• If the prompt value is passed from a parent Process Flow all the way down to the alias name of a component
in a nested Process Flow the prompt value for the nested Process Flow must be enclosed in { } brackets (in the
parent Process Flow's definition), and the alias name in the nested Process Flow must also be enclosed in { }
curly brackets (in the nested Process Flow's definition).
When the Process Flow And the Process Flow is And the Automation The prompt value is
prompt value is a Subvar run: Engine option: determined:
that:
Includes { } curly brackets In any way Is checked or not When the component is
eligible to run.
Does not include { } curly With an ad hoc request Is checked or not On the Submit window.
brackets
With a schedule, awrun Is checked When the component is
request, or REQUEST JOB eligible to run.
condition
Is not checked When the Process Flow
goes to an INITIATED
status
KIKIs:
• Changing the Always evaluate Subvars in Process Flow prompts at component run times when
scheduled option requires you to stop and restart the RmiServer process. For directions on stopping and
starting the processes, see the Administration Guide.
• The use of { } curly brackets around numeric Subvars in component prompts results in the same behavior as
when there are no { } curly brackets around them. Therefore, entering #1 and #2 for your component prompt
values is exactly the same as entering {#1} and {#2}.
• The above behavior does not change for sub Process Flows and their components.
Examples
Applications Manager 9.4.1
The table below documents how Subvars are passed from a Process Flow to its components when the Always
evaluate Subvars in Process Flow prompts at component run times when scheduled Automation Engine
option is not checked. When the Always evaluate Subvars in Process Flow prompts at component run times
when scheduled Automation Engine option is checked, all Subvars passed to Process Flow components are
evaluated when each component runs for scheduled tasks, and on the Submit window for ad hoc requests.
If you want a component's prompt Make the first Process Flow's And the component prompt's
value to be: prompt value: value:
With a schedule, awrun request, or REQUEST JOB When the component is eligible to run. To have the
condition Subvar evaluated when the Process Flow goes into an
INITIATED status, see Passing Subvars with Logins as
Prompts for Scheduled Process Flows.
Assume you want to pass a value for the number of orders in a SQLSRVR database using a Subvar named
#orders, which has a SQLSRVR Login assigned to it that is specified for JDBC use. The Process Flow is scheduled
and includes one prompt. The prompt's value is #orders. You want to evaluate the Subvar based on the number of
orders in the database when the Process Flow goes into an INITIATED status rather than when each component
runs. To do this you would add a BEFORE condition to the Process Flow like the one shown below.
Before the Process Flow runs, this condition creates a static Substitution Variables named #prompt1_{chain_id}
that stores the value of the #orders Substitution Variables when the Process Flow is initiated. The {top_flow_id}
Replacement Value ensures that the Substitution Variables created by this Process Flow will have a unique name.
The second condition shown below deletes the Substitution Variables after all the Process Flow's components
leave the Backlog.
Applications Manager 9.4.1
On the component's Prompts sub-tab for the PROCESS_ORDERS Process Flow component shown below, the
static Subvar #prompt1_{chain_id} is included in the Value column.
You can use the conditions defined for Jobs or Process Flows when adding them to a Process Flow. To do
this, select the Use Job Conditions option for the Process Flow components. For more information, see Setting
Execution Options.
Bad Conditions
If Applications Manager evaluates a bad condition (for example a condition with a bad SQL statement), it will ignore
the condition and report it to the Automation Engine's log file. The Job's status will be set to BAD CONDITN.
Copying Condition Information from Tables
To copy condition text from a table in an Applications Manager window, click one or more rows and enter CTRL+C.
You must select the entire row. You can then paste the text into an email, word processor, etc.
An evaluation cycle consists of working through the flowchart above until the 'Run task' or 'End processing' step
is reached. Applications Manager runs through the evaluation cycle for a task until it completes executing and is
moved to History, or until it aborts. Applications Manager evaluates all conditions in the order they are listed with
the following exceptions:
• If a condition runs a task, Applications Manager ignores the remaining BEFORE conditions for that task.
• If a condition stops the evaluation cycle, all remaining conditions are ignored for the current cycle. For example
if a condition puts a Job on hold, all remaining conditions will be ignored until the next cycle.
• If you use the GOTO CONDITION action, the destination condition must come after the condition containing the
GOTO action.
Running BEFORE Conditions
When Applications Manager is ready to execute a task, it evaluates its BEFORE conditions. By default, a task will
run unless one of the BEFORE conditions modifies its eligibility.
Running DURING Conditions
While a task is running, Applications Manager evaluates its DURING conditions. The frequency that Applications
Manager evaluates DURING conditions is based on the DURING_WAIT variable setting.
When the Automation Engine has no processing to do, it sleeps for the number of seconds entered in the Sleep
time field for its Local Agent. At the end of each sleep cycle, the Automation Engine evaluates the DURING
conditions.
When the Automation Engine is processing, it checks the DURING conditions. The frequency that it checks them
is based on the setting for the DURING_WAIT variable in your awenv.ini file, located in the site directory. You can
modify the setting. The default is 60 seconds.
Setting a low DURING_WAIT value may impede performance without evaluating conditions more frequently.
If a task completes executing in a shorter amount of time than the setting for the DURING_WAIT variable, its
DURING conditions may not execute.
Running AFTER Conditions
After a task completes executing successfully or unsuccessfully, Applications Manager evaluates all AFTER
conditions. If a task is killed, AFTER conditions are still evaluated.
Running DELETED Conditions
If a task is deleted from the Backlog by a user, Applications Manager processes DELETED conditions and skips
any AFTER conditions associated with the given Job.
Adding Conditions
To add a condition to a Job, Process Flow, or Process Flow component:
1. From the Conditions tab for a Job, or Process Flow, or Process Flow component, click New.
Applications Manager displays the Condition Details window shown below.
Applications Manager 9.4.1
You can define only one action for each condition. If you want to take more than one action based on the same
event, create multiple conditions with different actions and set the condition order on the Condition tab. If one
condition takes an action that cancels the task or Process Flow, be sure it is the last one in the related group. For
an example, see Triggering Two or More Actions on the Same Event.
Using Subvars in Condition Tests and Actions
Fields in the Test box for conditions (the condition_1 and condition_2 values) only need { } curly brackets if the
Subvar is part of a bigger string. For example TEST_{#1} or MOD_{#today} require { } curly brackets, but #1 and
#today do not.
In the Action field { } curly brackets are needed:
• When the value if part of a bigger string.
• Around numeric Subvars.
All Subvars in conditions are evaluated when the conditions run.
• You can select a Replacement Value or Substitution Variables for any field that includes the { } button.
Replacement Values retrieve values stored for Applications Manager objects, while Substitution Variables
represent one of many possible dynamic or static values stored in any designated database.
• If the USER DEFINED condition is selected, you can enter a numbered Substitution Variables (#1 - #999)
to accept a value passed down from a Process Flow when it is requested on an ad hoc basis. For more
information on passing values through a Process Flow, see Passing Values Through a Process Flow with
Numeric Subvars.
Use the Timing field in the Condition Details window to control when Applications Manager checks for a
condition, and which conditions are available. Conditions with a common timing are often referred to by their group.
For example, a CHECK FILE condition with a BEFORE timing may be referred to as a BEFORE condition.
BEFORE Conditions
The condition is evaluated before the Job/Process Flow executes. The following are available as BEFORE
conditions:
• USER DEFINED
• ALWAYS TRUE
• CHECK CONNECTION
Applications Manager 9.4.1
• CHECK FILE
• CHECK FILE FTP
• CHECK HISTORY
• CHECK PROCESS
• CURRENT QUEUE
• CURRENT TIME
• MODULE REQUESTED
• MODULE RUNNING
• TIME SINCE REQUEST
DURING Conditions
The condition is evaluated every time the Automation Engine checks the Backlog Queue (about once a minute)
while the Job/Process Flow is executing. The following are available as DURING conditions:
• USER DEFINED
• ALWAYS TRUE
• CHECK CONNECTION
• CHECK FILE
• CHECK FILE FTP
• CHECK HISTORY
• CHECK PROCESS
• CURRENT TIME
• RUN TIME
• TIME SINCE REQUEST
AFTER Conditions
The condition is evaluated after the Job/Process Flow executes, even if it aborts or is killed. The following are
available as AFTER conditions:
• USER DEFINED
• ALWAYS TRUE
• CHECK CONNECTION
• CHECK FILE
• CHECK FILE FTP
• CHECK HISTORY
• CHECK PROCESS
• CURRENT TIME
• RETURN CODE
• STATUS
• TIME SINCE REQUEST
DELETED Conditions
If a Job/Process Flow is DELETED, the conditions on the DELETED Job will be evaluated. This differs from
an AFTER condition. AFTER conditions are not evaluated for a DELETED task. The following are available as
DELETED conditions:
• USER DEFINED
• ALWAYS TRUE
• CHECK CONNECTION
• CURRENT QUEUE
• CURRENT TIME
• TIME SINCE REQUEST
CHECK FILE FTP* BDA Checks if the file named in the File
Name field does or does not exist
on a remote host. You specify the
host by selecting a Host Login from
the at login field. Operating system-
specific wildcards are allowed.
Applications Manager 9.4.1
*System function
Qualifier Types
The qualifier you select determines the way the condition is evaluated. The two types of qualifiers are:
If you select the wrong type of qualifier, Applications Manager may not evaluate your condition the way you intend
it to. For example, Applications Manager evaluates '1000 GT 50' as true (because one thousand is more than fifty),
and '1000 > 50' as false (because 1 does not come after 5 alphabetically).
Qualifier Descriptions
Qualifier descriptions are listed below.
*Stops processing Job conditions for the current evaluation cycle and will not start the task this evaluation cycle.
Procedure
To copy conditions from one Job, Process Flow, or Process Flow component to another:
1. From the Conditions tab for a Job, Process Flow, or Process Flow component, click the Copy button.
Applications Manager displays the Copy conditions window shown above.
2. Select the Job or Process Flow containing the conditions you want to copy.
You can filter the list by selecting an Application. Applications are groups to which Jobs are assigned. Only the
Applications, Jobs, and Process Flows assigned to you via User Groups will be displayed.
You can type the first few letters of a Job or Process Flow name in the Search field, and Applications Manager
will filter the list. If two Jobs or Process Flows start with the letter you type, Applications Manager highlights the
first one.
If you want to copy conditions from a component in a Process Flow, select the Process Flow from the Jobs/
Process Flows table, then pick the component name from the Components drop-down list.
3. Once you select a Job or Process Flow (and possibly component), select the conditions you wish to add.
Applications Manager 9.4.1
To select multiple adjacent conditions, use Shift+click. To select multiple non-adjacent conditions, use Ctrl+click.
4. Click OK.
Applications Manager adds the conditions to the Job, Process Flow, or Process Flow component.
The Timing is set to BEFORE, so the check will be made before the Job is executed.
The first time the condition is true is selected because the Notification action only needs to be taken once.
You may additional or alternately wish to abort a task if it runs too long. This can be accomplished by defining a
condition with an ABORT TASK action.
Applications Manager 9.4.1
The CHECK FILE and CHECK PROCESS conditions are special in that they can evaluate as true based on
whether a file/process exists or does not exist.
A sample CHECK FILE condition is above. Every time the condition is true is selected, so the condition will be
checked, and if true delay five minutes and check again, even after it has already been delayed.
The condition shown above will evaluate to true when it does not find any single file in the $AW_HOME/out
directory that has a rep extension, has not changed for at least 180 seconds, is less than 1 day old, and is larger
than 10,000 bytes.
Double Quotes for Spaces and Wildcards
When using spaces and/or wildcards, the fully pathed file name should be enclosed in double quotes.
Applications Manager 9.4.1
When using wildcards, onlyone file needs to match the wildcard, age, size, and stability requirements for the
condition to evaluate to TRUE.
Using the {file_line} Replacement Value
The first line of the last file found by CHECK FILE is stored in the Replacement Value {file_line}. You might use the
{file_line} Replacement Value in a later condition to check whether the file included a particular text based error
code and set the task's status accordingly if it did.
Field Descriptions
The CHECK FILE fields are described below:
• File Name
The fully pathed file name you want to check for. This field allows the following:
• In the path: you can use environment variables and spaces.
• For the file name: you can use environment variables, spaces, and '*' wildcard characters.
Wildcards and spaces are allowed if the fully pathed file name is enclosed in double quotes. Environmental
variables are allowed. When additional text follows an environmental variable, the environment variable should
be enclosed in { } brackets.
• Exists/Does Not Exist
Determines whether to check if a file exists or does not exist. Choosing Exists will allow the use of the fields
listed below.
• Days/Hours/Minutes
These fields can be used to specify a maximum acceptable age for the file. The fields will accept values up to
99. If the last modification date/time of the file is older than this setting, the file is considered nonexistent and the
condition will evaluate as false.
• And has not changed for ______ seconds
Specify a minimum time (in seconds) for which the file must have been stable (unchanged). The field will accept
values up to 999. If the file has been modified more recently than the number of seconds specified, the file is not
stable. An unstable file is considered nonexistent and the condition will evaluate as false.
• And has a minimum size of ______ bytes
Specify a minimum acceptable size (in bytes) for the file. The field will accept values up to 9999999 (10
megabytes).
If the file is smaller than this setting, the file is considered nonexistent and the condition will evaluate as false.
The condition shown above will wait until it finds an FTP_TRANSFER task with a FINISHED status in History in the
last 45 minutes.
Field Descriptions
The CHECK HISTORY fields are described below:
• Job/View Name
The Job name or alias of the (most recent) task to check.
• Success/Failure
Determines whether the check is made for a successful task or a failed task.
Successful is defined as a task with a status of FINISHED; failed is defined as a task with a status of DIED,
ABORTED, KILLED, TIMEDOUT, or LAUNCH ERROR.
• Days/Hours/Minutes
These fields can be used to specify a maximum acceptable age for the task. The fields will accept values up to
99.
If the finish date and time of the task is older than this setting, the condition will evaluate to false.
CHECK HISTORY is available as a BEFORE, DURING and AFTER condition. Any of the available actions may be
used with CHECK HISTORY.
Applications Manager 9.4.1
Related Topic
Another way to abort a Job if it has run too long is by entering a value in the Max run time field on the Job's
General tab. For more information, see Entering Execution Options for Jobs.
The settings shown below check whether a task has completed with a FINISHED status, and requests the Job
NOTIFY_SMITH if it has not.
The first time the condition is true is selected because Smith only needs to be notified once.
The REQUEST JOB action has been expanded to provide the same capabilities as the expanded awrun utility.
The options and prompts for submitting a task are selectable in the Job Details window. To access the Job
Details window, click Details as shown above.
Field Descriptions
The field descriptions are listed below. When 'Default' is selected, Applications Manager uses the value from the
Job/Process Flow's definition.
• Job
The Job to request when the action is taken.
• Requestor
The requestor (User) for the Job.
• Agent
The Agent on which to run the Job.
• Alias
Alias for the Job. You can use Replacement Values and Substitution Variables in this field. Alias names need { }
curly brackets if part of a bigger string.
• Priority
Priority of the Job relative to other Jobs in the same Queue. If nothing is entered in this field, Applications
Manager will use the setting defined in the Job, or you can specify a value in the range 0-99. Lower numbers
are higher priority. Zero means no priority; the Job will not run.
• DB Login
Applications Manager 9.4.1
<xml name>=<value>
Row and prompt numbers start at 0. For example, to edit prompt 3 in the GURPDED Job shown below, you would
enter the following awrun command:
prompt_2_3=YOURUSER
Both conditions have the Timing set to AFTER, so Applications Manager will evaluate them after the task has
executed.
The action timing is set to The first time the condition is true for both conditions because the conditions are checked
after the Job runs.
The order of the two conditions is important because the CANCEL PROCESS FLOW action stops condition
processing. If the CANCEL PROCESS FLOW action comes before the RUN HOST COMMAND action, the latter
condition will not be executed and Pat will not be notified.
Applications Manager 9.4.1
If you select External files or Report files, you must specify the file name in the File filter field. If you select
System files, Applications Manager scans the first system output file Applications Manager creates for a task.
The File filter field allows the use of regular expressions.
You can use Subvars and Replacement Values in these fields. For example, b.{run_id}.
4. Optionally determine a number of lines to offset from the top or bottom of the file in the Start search at line
offset field to begin the search. Applications Manager offsets from the top of the file, unless you check the From
end of file box.
5. Select the text to search for the first instance of a string, or for the first instance of a string following another
defined text string. By default Applications Manager makes each search from the top to bottom of the file, but
you can choose to make any portion of the search go up instead. This allows for versatile searches.
Consider the following examples. Note that quotes are included to signify field values in these examples:
To: Do this:
Scan for the first instance of the word "Invoice" (with a Enter "Invoice" in the Primary search field and click
capital I) the Match case box.
Scan for the last instance of the word "total" Enter "total" in the Primary search field, and click the
Search Up box.
Scan for the first instance of the word "subtotal" Enter "total" in the Primary search field, "subtotal" in
coming before the word "total" the Secondary search field and click the Search Up
box to the right of the Secondary search line.
The Primary search and Secondary search fields allow the use of regular expressions.
Applications Manager 9.4.1
6. If the value you wish to set for the Subvar will be found on a different line than the text you scan for, enter a
number of lines to move down or up in the Line offset field. Applications Manager will move down unless you
check the Search Up box to the right of the Line offset field.
7. Next, in the Formatter selection box, you will select the text you wish to enter as the Subvar value.
Beginning and ending characters Delimiter formatter and enter the beginning and
ending characters. For example, you could enter "now
" and " orders" as delimiters.
8. If necessary, enter any characters you do not want included in the Subvar definition in the Remove characters
field.
For example, if you don't want semicolons to be include in the Subvar definition, you would enter a ";" in the
Remove characters field.
9. Enter the Subvar name in the Subvar name field.
To give it a unique name each time the Subvar is created, include the {run_id} or {top_flow_id} Replacement
Values in the Subvar name. Doing so will require you to delete the Subvars you create manually or with a
condition.
If Search Text is not Found
If the search text is not found, the Subvar will be created with a null value.
Testing Your Results
Applications Manager 9.4.1
If you are scanning an external file, you can test your results using the Test button. When testing, you specify
the Agent machine to search on, and Applications Manager displays the results in a Results window like the one
shown below.
You can also test the results on system or report files by selecting the External Files radio button and entering the
path to an output file for a completed Job in the File Filter field. After you are satisfied with the results of the test,
you can set the condition back to search system or report files.
Writing to the System Output File when Tasks Run Longer than Average
Using a custom Subvar and a condition with a RUN HOST COMMAND action, you can write to a task's system
output file when it runs longer than its average run time.
Creating a Subvar to Check Average Run Time
To get the average run time for a task, create a Subvar with the following SQL:
If a Job or Process Flow should have run during the outage, it will be eligible to run immediately. If a Job or Process
Flow should have run several times during an outage, Applications Manager runs it once and returns it to its current
schedule. If a Job or Process Flow is not eligible to run on a particular day after an outage, but it was scheduled to
run on a day during the outage, it will run immediately after the recovery.
There is an option to defer all scheduled tasks while the Automation Engine is stopped. For more information, see
Skipping Scheduled Tasks While the Automation Engine Is Stopped.
Eligibility
Before running a scheduled Job or Process Flow, Applications Manager checks its:
• Schedule
• Active Job/Process Flow setting
• Predecessor links
• Automation engine, Agent, and Queue capacity
• BEFORE conditions
All of these must be satisfied before the Job or Process Flow will run. For a full list of actions a task takes, see
Appendix C: Task Action Order.
2. Click New.
Applications Manager displays the schedule editing window shown below.
Applications Manager 9.4.1
3. Complete the fields on the General and Frequency schedule sub-tabs. If necessary, you may also specify one
or more schedule exceptions on the Exceptions sub-tab, and/or override prompt values on the Prompts sub-
tab.
Details on completing each of these tabs is provided in the next topics.
Also, Example Schedules shows several example schedules.
4. To save the settings and add the schedule to the Job or Process Flow, click OK.
Applications Manager adds the schedule to the list at the top of the Schedule tab. The schedule will be
highlighted to show that it is selected for the Job or Process Flow.
Editing and Deleting Schedules
Selecting a schedule from the list will show its detail in the Schedule tabs. To edit a schedule, click Edit. To delete
a schedule, click Delete.
To set a schedule's general options, complete the fields using the information below.
• Name
The name of the schedule. Can be up to 30 characters.
• Frequency
Displays the frequency type and scheduled days selected on the Frequency sub-tab.
• Scheduled start date
The earliest date on which the Job/Process Flow is eligible to run.
• Scheduled end date
The latest date on which the Job/Process Flow is eligible to run.
• Start times
One or more start times, in 24 hour format (HH:MM), when the Job or Process Flow will be submitted. These
times do not indicate exact start times—system load and conditions can affect start times. You can enter as
many comma-separated start times as you wish. All start times must be in chronological order.
• Next run date
The next date Applications Manager will evaluate the schedule to see if it is eligible to run. When the Job or
Process Flow runs, Applications Manager updates this field based on the information in the other scheduling
fields. You can update this field by clicking the Calculate button.
When you stage a task, this value will be updated to the Job or Process Flow's next run. For more information
on staging, see chapter Scheduling Jobs and Process Flows.
• Queue
Identifies the Queue to which the Job or Process Flow will be submitted. When applied to a Process Flow, this
setting overrides the Queue setting for the Process Flow's components.
• Requestor
Indicates the User that the Job or Process Flow components will run under. You must have the Select
Requestors User Option assigned to you by your Applications Manager administrator to select a different User
in this field.
• Agent
For Jobs: Specifies the Agent for the Job, if it has an Agent Group selected in the Agent/Group field of the
Job's definition. The Agent selected in this field will be ignored if the Job is not assigned to an Agent Group that
includes this Agent. If 'No selection' is selected, the Job will run on the Agent/group selected in its definition.
Applications Manager 9.4.1
For Process Flows: Specifies the Agent for all Jobs in this Process Flow that have an Agent Group selected in
the Agent/Group field of their Job definition. The Agent selected in this field will be ignored for any Jobs that are
not assigned to an Agent Group that includes this Agent. If 'No selection' is selected, the Jobs in this Process
Flow will run on the Agent/group selected in their Job definition.
For information on assigning Agents to Jobs, see Defining Jobs.
This setting can be overridden on the Submit window when requesting the Process Flow on an ad hoc basis.
OAE Jobs: You cannot change the Agent selection for OAE Jobs.
• Time zone
The time zone the schedule will run under. This field is only active if the time zone has been set for the
Automation Engine.
Select a standard time option if your computer does not adhere to daylight saving time. UTC refers to the
Universal Time Coordinate, which is used for the synchronization of computers on the Internet. If you do not
select a time zone, the Process Flow will run based on the Automation Engine's setting. For additional time zone
information, see the Administration Guide.
Warning: To assure that Jobs and Process Flows run at the correct time, make sure your OS and
database use the same time zones.
• Last submit time
This read-only field displays the date the Job or Process Flow last ran.
• Active
When selected, the Job or Process Flow will run on this schedule.
To set a schedule's frequency, select a unit of time from the Units box and its options on the Frequency sub-tab.
Unit descriptions and their details are listed below.
• Minutes/Hourly
• Enter a number of minutes or hours.
• Select the days of the week you wish to include.
• Enter the Run Between times. The task runs only between these times.
Applications Manager determines the task's initial start time based on the time specified in the Start times field
on the schedule's General tab.
• Daily
• Enter the number of days in the Every __ Days field. Applications Manager will schedule the task to run
every three days. If the task cannot run on the scheduled day, Applications Manager will run it on the next
available day.
• Select the days of the week you wish to include.
• Weekly
• Enter a number of weeks.
• Enter a date in the Reschedule from field. For a weekly schedule, this date determines the day of the week
to reschedule from. For example, if you enter 03-17-11, in the Reschedule from field, Applications Manager
will always reschedule from Thursday, since 03-17-11 is a Thursday. Keep in mind that an exception may
prohibit the schedule from running on the day of the week of your reschedule from date, when this happens,
the radio button you select in the Exception method box determines the schedule's behavior.
• Select the days of the week you wish to include.
• Select an Exception method. The Exception method box determines how Applications Manager will
handle days that are skipped by a skip Calendar or are included on the schedule's Exceptions tab. For more
information, see Setting Reschedule From and Exception Method Options.
• Monthly
• Enter a number of months.
• Enter a date in the Reschedule from field. For a monthly schedule, this date determines the day of the
month to reschedule from. For example, if you enter 03-17-11, in the Reschedule from field, Applications
Manager will always reschedule from the 17th day of the month. Keep in mind that an exception may prohibit
the schedule from running on the day of the month of your reschedule from date, when this happens, the
radio button you select in the Exception method box determines the schedule's behavior.
• Select Weekdays, Every day, or Selected days with the boxes checked for the days you wish to include.
• Select an Exception method. The Exception method box determines how Applications Manager will
handle days that are skipped by a skip Calendar or are included on the schedule's Exceptions tab. For more
information, see Setting Reschedule From and Exception Method Options.
When a schedule's frequency is Monthly, and the Next run date is the last day of the month, all following 'next
run dates' will be the last day of the month.
You can set the Next run date to a date greater than or equal to the 28th, but less than the last day of that
month. If you do so, when a month is reached that does not include that number of days (for example, the 30th
of February), the date will be set to the last day of that month. It will continue to be scheduled to the last day of
the month from that point forward.
• Workday
A special schedule used to identify a specific day of the month. For more information, see Creating Workday
Schedules.
• Fiscal
A special schedule used to build fiscal Calendars. For more information, see Creating Fiscal Calendar
Schedules.
• Calendar
Select a Calendar to run the Job or Process Flow on. Then select Weekdays, Every day, or Selected days
with the boxes checked for the days you wish to include.
Assigning Skip Calendars to Schedules
Skip Calendars are available for any schedule. They are used to specify days not to run, such as holidays, end of
month processing dates, and end of fiscal quarter processing dates. If you pick an Applications Manager Calendar
Applications Manager 9.4.1
as a schedule's skip Calendar, Applications Manager will not run the Job or Process Flow on the dates it includes.
For information on defining Calendars, see Defining Calendars.
Next checked day Run the next checked day of the week. You might want
to use this setting if you have a Job or Process Flow
that runs once a week on Tuesdays, and you want it to
run on Thursdays if it is skipped.
Next weekday Run the next weekday, whether the Job or Process
Flow is scheduled that day or not.
Next day Run the next day, whether the Job or Process Flow is
scheduled that day or not. It does not matter if the next
day is a weekday or a weekend day.
Prior day Run the previous day, whether the Job or Process Flow
is scheduled that day or not. It does not matter if the
previous day is a weekday or a weekend day.
Prior checked day Run the previous checked day of the week. You might
want to use this setting if you have a Job or Process
Flow that runs once a week on Thursdays, and you
want it to run on Tuesdays if it is skipped. To do this
you would check both Tuesday and Thursday, and use
the Reschedule From field to make sure the Job or
Process Flow usually runs on Thursday.
Prior weekday Run the previous weekday, whether the Job or Process
Flow is scheduled that day or not.
In the image above, the schedule will run SALES_REPORTS on the fourth Monday through Friday workday of each
month.
Procedure
To create a workday schedule:
1. On the Frequency tab, select Work Day from the Units group box
2. Enter a value in the ___ (st, nd, rd, th) Workday field.
The ___ (st, nd, rd, th) Workday field works differently than the field used for other schedule units. It runs once
a month based on this setting instead of every so many days.
If you need a Job or Process Flow to run on more than one workday in a month, you can create several workday
schedules for it. For example, if you wanted a Process Flow to run on the 5th and 20th workdays of each month,
you would create a workday schedule for the 5th and a second workday schedule for the 20th.
3. Select one of the following options: From the start of the month or Before the end of the month.
4. In the Workdays group box select the days of the week that will be considered work days.
Examples
Fiscal Calendar schedules are useful for the following types of scenarios:
• Run task XYZ on the last Friday of each fiscal month.
• Run task XYZ on the second and fourth Friday of each fiscal month.
• Run task XYZ on the last Friday of each fiscal quarter. If Friday is a holiday, run the task on the prior workday.
• Run task XYZ on the last Friday of each fiscal month, except for the dates included in a Holiday skip Calendar.
On skip days, run the task on the prior weekday.
Fields
When you select Fiscal in the Units group box on the Frequency tab, Applications Manager displays the fields
shown in the image above. The fields are described below.
• Name
The Name field is used to select a fiscal Calendar. Fiscal Calendars are created by running the
CREATE_FISCAL_CALENDARS Job. When you define a fiscal Calendar, you determine its:
• start date
• fiscal Calendar type (445, 454, 544, 444)
• start day of week
For more information on creating fiscal Calendars, see Creating Fiscal Calendars.
• Run days
The run days specify the days of the week (Mo, Tu, We, etc.) that the task is eligible to run.
• Exception method
The Exception method box determines how Applications Manager will handle days that are skipped by a skip
Calendar or are included on the schedule's Exceptions tab. For more information, see Setting Reschedule
From and Exception Method Options.
Applications Manager 9.4.1
• Period
The periods are the fiscal months. If the 444 fiscal Calendar is used, there will be a 13th period.
• Week
The cycles are the weeks in a month. If there is a fifth week, it is designated by the Last option. If you select
only the Last option, this designates the last week in the month, which will always be the forth or fifth week.
• Skip Calendar
Defines dates on which the task will not run.
This topic presents a brief discussion of prompts. For a detailed discussion of prompts, see chapter Adding
Prompts to Jobs and Process Flows.
The Prompts tab displays a table that lists the prompts defined on the Prompts tab of the Job or Process Flow.
The table includes the following columns:
• #: The order of the prompts in the Job or Process Flow.
• Default: The prompt value defined in the Job or Process Flow definition.
• Description: The description for the prompt defined in the Job or Process Flow definition.
• Value: You can edit in this column to override prompt values. If the prompt's data type allows you to select a
value, the Select button will be active. A value entered here will override the default value. Values allow the use
of static, dynamic and numeric Subvars. You can use multiple Subvars in the same value. When you do, be
sure to enclose them in { } braces. For example, {#1}{#2} or {#today}{#1}. You can select static and dynamic
Subvars using the { } button. To specify a null value for a Process Flow component's prompt that includes a
Applications Manager 9.4.1
default value, enter two single quote characters. If you do not specify a prompt value, the component will use
the default prompt value.
• Required: Indicates whether a prompt value (in either the Default or Value column) is required. If a value is
required for one or more Process Flow component prompts, and you do not provide them, a message will pop
up asking you to provide values or ignore them.
Defining Calendars
Sometimes there are days when information is handled in special ways. In Applications Manager, you can specify
days by creating Calendars. You can schedule Jobs and Process Flows to run or not run on the days specified by a
Calendar. Calendars are useful for specifying a set of dates such as holidays, end of month processing dates, and
end of fiscal quarter processing dates.
Applications Manager User Groups control access to Calendars. If you do not have access to them, see your
Applications Manager administrator.
Procedure
To define a Calendar:
1. From the Calendars Selector window, click New.
Applications Manager 9.4.1
2. Select a unit of time from the Units box and specify details.
Unit descriptions and their details are listed below.
• Daily
• Enter the number of days in the Every __ Days field. For example, if you enter 3, Applications Manager
will include every third date.
• Select the days of the week you wish to include.
• Weekly
• Enter a number of weeks.
• Enter a date in the Reschedule from field (see below).
• Select the days of the week you wish to include.
• Monthly
• Enter a number of months.
• Enter a date in the Reschedule from field (see below).
• Select Weekdays, Every day, or Selected days with the boxes checked for the days you wish to include.
• Workday
A special schedule for your Calendar used to identify a specific day of the month. For more information, see
Creating Workday Schedules.
• Fiscal
Applications Manager 9.4.1
A special schedule for your Calendar used to build fiscal Calendars. For more information, see Creating
Fiscal Calendar Schedules.
• Calendar
Select another Calendar to generate days from. Then select Weekdays, Every day, or Selected days with
the boxes checked for the days you wish to include.
• Start Date
The earliest date on which the Calendar will include days.
• End Date
The latest date on which the Calendar will include days.
• Reschedule From
Used to create schedules that run on days such as the first Friday after the 15th of every month. If left blank,
the Process Flow is rescheduled based on the day it ran, and you can get schedule creep (when the value
for the Next run date moves back or ahead several days each time the Process Flow runs).
3. When you have selected a unit of time and its details, select one of the following:
• Create Dates adds the days to the Calendar.
• Remove Dates removes the days from the Calendar.
The General tab for the Calendar is updated with the changes you made.
Selecting Schedules
If you have defined more than one schedule, you can choose to display the dates for any combination of the
schedules. To select one or more schedules, use the Shift+click and Ctrl+click keyboard/mouse combinations.
Viewing and Editing Days
Color codes for the 12 Month Schedule window are described below:
To change a single schedule day to an excluded day, or to change a non-scheduled day to an included exception
day, click that day. Double-clicking a day will change all eligible days in that day's week.
You cannot enter exceptions for a day if it is included in more than one schedule for the Job or Process Flow.
Printing the Run Date Calendar
Using the commands under the Print menu, you can set up the print page, preview the printed Calendar, and print
the Calendar.
Example Schedules
This topic shows example schedules that:
• Run a Process Flow on Monday, Wednesday, and Friday at 6 A.M.
• Run a Job Every Day, Except Holidays, at 9:30 P.M.
• Run a Job on Holidays Only, at 11:59 P.M. Eastern Standard Time .
• Run a Process Flow the First Wednesday After the Fifteenth of Each Month at 11 P.M.
• Run a Process Flow Monday, Wednesday, and Friday at 8 A.M., 9 A.M., 12 Noon, 5 P.M. and 11:45 P.M.
• Run a Process Flow on the First Day of each Fiscal Month .
• Run a Payroll Process Flow on the Fourth Workday from the End of the Month .
Some screen captures in this topic show sized down windows that do not show all fields. This is only done when
the fields that are not visible are not relevant to the example.
Run a Process Flow on Monday, Wednesday, and Friday at 6 A.M.
To run a Process Flow on Monday, Wednesday, and Friday at 6 A.M., you would use the settings shown above.
Applications Manager 9.4.1
The time 06:00 is entered in the Start times field. Daily is selected as the Units. Monday, Wednesday, and Friday
are checked as eligible run days.
Run a Job Every Day, Except Holidays, at 9:30 P.M.
To run a Job every day, except holidays, at 9:30 P.M., you would use the settings shown below.
Applications Manager 9.4.1
The time 21:30 is entered in the Start times field. Daily is selected as the Units. Every Day is selected, so that all
days of the week are checked as eligible run days. HOLIDAYS is designated in the Skip Calendar field.
Run a Job on Holidays Only, at 11:59 P.M. Eastern Standard Time
To run a Job on holidays only, at 11:59 P.M. Eastern Standard Time, you would use the settings shown below.
Applications Manager 9.4.1
The time 23:59 is entered in the Start times field. The time zone EST {GMT -5} is selected in the Time Zone field.
Calendar is selected as the Units and the HOLIDAYS Calendar is selected in the Calendar field. Every Day is
selected so that all days of the week are checked as eligible run days.
Run a Process Flow the First Wednesday After the Fifteenth of Each Month at 11 P.M.
Applications Manager 9.4.1
To run a Process Flow the first Wednesday after the fifteenth of each month at 11 P.M., you would use the settings
shown below.
Applications Manager 9.4.1
Applications Manager 9.4.1
The time 23:00 is entered in the Start times field. Monthly is selected as the Units. Wednesday is the only day
checked as an eligible run day. 5-15-2009 is entered in the Reschedule From field.
Run a Process Flow Monday, Wednesday, and Friday at 8 A.M., 9 A.M., 12 Noon, 5 P.M. and 11:45 P.M.
To run a Process Flow Monday, Wednesday, and Friday at 8 A.M., 9 A.M., 12 Noon, 5 P.M. and 11:45 P.M., you
would use the settings shown below.
Applications Manager 9.4.1
The times 08:00,09:00,12:00,17:00,23:45 are entered in the Start times field. Daily is selected as the Units.
Monday, Wednesday, and Friday are checked as eligible run days.
Run a Process Flow on the First Day of each Fiscal Month
To run a Process Flow on the first day of each fiscal month, you would use the settings shown below.
Fiscal is selected as the Units. The correct fiscal Calendar is selected from the Name field. Every day is selected
as a run day. All periods are checked. For Week, 1 is selected. Exception method only applies if a skip Calendar
is selected, or if a run date is selected on the Exceptions tab.
Run a Payroll Process Flow on the Fourth Workday from the End of the Month
To run a payroll Process Flow on the fourth workday from the end of the month, you would use the settings shown
below.
Applications Manager 9.4.1
Workday is selected as the Units. The number 4 is entered in the ___ (nth) Workday field, and the From End of
Month option is selected. Weekdays is selected, so that Monday through Friday are checked as eligible run days.
For example, assume a Job is scheduled daily at 2:20. If in the spring, if the time changes from 1:59 to 3:00, the
Job's next scheduled start time will be 3:00. The next day, it will be 2:20 again.
Be Aware of the Max Run Time Setting During the Spring Change
If you have done both of the following for one or more Jobs, those tasks will abort during the spring time change:
• Selected a Max run time of less than one hour in the Job definition.
• Scheduled the task to run during the daylight saving time transition.
If this happens, you can resubmit the task to run it to completion.
Evaluating Time-Relevant Conditions During the Spring Change
The conditions that reference time behave according to the time that the condition is executed. For example, if
a condition with a DELAY TASK action executes at 1:59 and delays for 5 minutes before the time change, the
condition will be evaluated again in 1 minute. The reason for this is that as soon as the hour ends, it becomes 3:00
and the action is eligible to be taken immediately.
The Fall Change
In the fall, clocks are set back one hour when DST ends. On that day, you gain an hour. The date and time
DST starts varies in different countries.
Below is some information about the fall time change:
• When the time zone of the Automation Engine exits DTS, all the Jobs, regardless of their Time Zone setting, will
not run for the repeated hour.
• Jobs and Process Flows scheduled to run during the transition time will not run twice.
• Whether a Job or Process Flow scheduled to run during the transition time runs in the first or repeated hour
depends on whether it is scheduled to run on the same time zone as the Automation Engine.
Most corporations maintain separate development, test, and production instances. These instances can be local
(residing on the same host) or remote. When you are ready to move Applications Manager objects from one
instance to another, you can use the Applications Manager Export and Import features.
Applications Manager 9.4.1
Applications Manager 9.4.1
You can export all Applications Manager objects except Agents, Agent Groups, Logins, and Users. These objects
must exist or be created on the target system.
When you export, you select Jobs, Process Flows, and support objects (the objects that are referenced by the Jobs
and Process Flows you select) that can be transferred from one instance to another. The export produces an .exp
file.
When you import, all objects in the .exp file must be one of the following:
• Included in the import.
• Mapped to an object with the same name in the target instance.
• Mapped to an object with a different name in the target instance.
• Created in the target instance.
With this functionality, Jobs, Data Types, User Groups, and other objects can be developed in one instance and
transferred throughout the Applications Manager environment. The source instance(s) (development and/or QA)
contain objects that will be used in one or more additional instances.
In many cases, the objects on the development system will be different than on a test or production system. For
example, an Output Device called DEV1 on the development machine may be replaced by TEST1 on the test
machine and PROD1 on the production machine. To accommodate the different support objects, you can map
objects when importing.
An initial export and import may require some effort to create the appropriate map. However, you can save the map
and use it each time you perform an export-import between the same two machines. Subsequent export-imports
may require few if any updates to the map.
In order to run exports and imports, users need to have the Export and Import User Authorities and the IMPEXP
Job assigned to their User Group(s).
The key steps for importing and exporting are described in Export/Import Flowchart.
Exports Do Not Include Scripts
When you export Jobs, Program Types, or Output Interfaces, you are exporting the Applications Manager object
only. If the accompanying script does not exist on the target system, you will need to FTP it over.
Single vs. Multiple Exports/Imports
The Applications Manager Import/Export utilities provide flexibility when it comes to managing objects. In some
cases, it may be practical to export only one object type at a time. In other cases it may be practical to export a
group of objects. These are organization-specific decisions.
Auditing Imports
To make sure you don't overwrite any object definitions by accident, you can turn on import auditing and run the
import. You can see all potential changes by viewing a report named AW_IMPORT_AUDIT. To accept the changes,
you simply run the import again without import auditing enabled. To run audit imports, auditing must be enabled for
the Automation Engine.
Copying Applications Manager Instances
The Applications Manager export and import utilities are designed to move Applications Manager objects. If
you want to move or copy an entire Applications Manager instance, you should use your database utilities. For
information on moving and copying Applications Manager instances, see chapter the Administration Guide.
Importing Objects with Multi Data Types Prompts that Select Applications Manager Objects
When you export and import objects that use Multi Data Types that reference AM objects, only the objects that exist
on the target instance will be referenced after the import. Note that the reference numbers will be different on the
target instance than they were on the source instance.
Exporting and Importing Process Flows with Predecessors Between Components in Nested Process Flows
You can create internal predecessors between components in nested Process Flows, but they will not export/import
to another Applications Manager instance. To work around this, you can either manually recreate the predecessors
on the target instance, or define External predecessors in the nested Process Flow definitions.
Export/Import Flowchart
The key steps in the export/import process are presented below and illustrated in the flowchart below:
• On the source instance, do the following:
Applications Manager 9.4.1
Export/Import Terms
The following terms are used in this guide when discussing exports and imports.
Export file: An .exp file which is created when an 'export list' is exported. Export files are written to the export
directory on the source instance.
Export list: The list of objects you select from the Export window. The objects in the export list are displayed on
the Objects to be exported tab. As you build an export list, Applications Manager determines the 'referenced
objects'. Export lists can be saved at any time. Export files are saved to the export directory and have a .dat
extension.
Import file: An 'export file' which has been copied or transferred from the export directory on the source instance
to the import directory on the target instance.
Map: A matching of imported objects to existing objects on a target system. Maps can be made on the Import or
Map File tab of the Import window.
Map file: A list of 'mapped' objects used when importing. The mapped objects are displayed on the Map File tab
when importing. Map files can be saved at any time. Map files are located in the map directory and have a .dat
extension.
Referenced objects: Unselected objects that are assigned to the objects you select when building an export list.
When exporting, you can select the References tab to view and add reference objects. Agents, Agent Groups,
Logins, and Users are displayed as referenced objects, but cannot be added to the export list. These objects must
exist or be created on the target instance.
Support objects: Objects that are assigned to the Jobs and Process Flows you select when building an export list.
The Export feature may not be available to you. If you need to use it, see your Applications Manager administrator.
As you build a list of export objects, Applications Manager determines the support objects (such as Data Types,
Output Devices, Logins, and User Groups) that must be present on the target system to run the Jobs and Process
Flows. You can review these items on the References tab and add them to the export list. Export lists can be
saved at any time.
Procedure
To select objects to export:
1. Open the Export window by doing one of the following:
• Open the Activities menu and select Export.
• Select the Export icon from the toolbar.
2. Choose the type of object you wish to export.
Applications Manager displays all objects of the selected type on the Objects tab. In the image above, Jobs is
selected, displaying all Job objects.
3. Move objects to the Objects to be exported tab (or back).
Warning: If an imported object does not exist on the target instance, it is added to the target instance's
database. Objects that already exist are overwritten. You do not get a warning message.
Exportable Objects
All objects can be exported except Agents, Agent Groups, Logins, and Users. You must uniquely specify any
object(s) to be exported. For example, if you export Jobs or Process Flows that use Substitution Variables, the
variables will not automatically be exported. You must export Substitution Variables explicitly as their own objects.
Applications Manager 9.4.1
When you export User Groups, only the User Group definitions are exported. Applications Manager does not
include the references to objects that have that User Group assigned to them.
Warning: Do not export the DBA User Group. Doing so will cause errors.
When you import, Applications Manager displays the referenced objects that are not included in the export. The
referenced objects can be:
• Included in the import.
• Mapped to an object with the same name in the target instance.
• Mapped to an object with a different name in the target instance.
• Created in the target instance.
Exporting Process Flow Components
Prompt override values for one or more Process Flow components can get attributed to the wrong prompt if you
import a Process Flow without also importing the Jobs it references as components.
When you are defining an export, you have the option to include the Jobs (and possibly other Process Flows) that
are components in the Process Flow. The reason Applications Manager doesn't automatically import all Jobs in
a Process Flow when the Process Flow itself is imported is so you won't overwrite a Job definition on the target
instance unless you intend to import it as well.
Reviewing References
As you add objects to the list, you can get a list of the referenced objects required by selecting the References tab
shown below. Use the arrow buttons to add these objects to the Objects to be exported tab. You can refresh the
Reference tab by going to the References menu and selecting Refresh.
Applications Manager 9.4.1
Next Step
After building your export list, you run the export. If you are doing a repetitive export you will want to save it first.
These actions are described in Saving Export Lists and Exporting Objects.
You can open an export list by going to the File menu and selecting Open.
Exporting Lists
To export a list of objects:
1. Click the Export button.
Applications Manager displays the Save Export File window shown below. If you have saved the export file,
that name will be displayed in the Name field.
After creating the export file on the source instance and moving it to the target instance, you are ready to import the
file. When you import, Applications Manager displays the objects referenced in the import that were not included in
the export.
The Import window is shown below.
Applications Manager 9.4.1
Procedure
To select an import file and assign a map:
1. Before importing data, make sure no one is working in Applications Manager and that no tasks are being
processed.
2. Open the Import window by doing one of the following:
• Open the Activities menu and select Import.
• Select the Import icon from the toolbar.
3. From the Import window, open the File menu and choose Open Import File.
Applications Manager opens the Files window shown below.
Applications Manager 9.4.1
In the Export utility, you created an .exp file in the export directory. When you move the file to the import
directory on the target machine, it is referred to as an import file. They are the same file.
4. Select a file and click OK.
When you open an import file, Applications Manager looks for matching resources in the target database. If
it finds a matching resource, it displays an entry in the map column for the object. If it doesn't find a matching
resource, it leaves the entry blank. In the first image in this topic, TASK_TITLE is not mapped.
5. If you want to use a map file that you have saved, open it by going to the File menu and selecting Open Map.
If you had the map file open before opening the import file, you must select Apply Map File from the Edit
menu to use it.
6. For each of the unmapped items, select an object from the list box in the map column.
All objects must be mapped before you can import. If a support object does not exist, you can create it on the
target instance. All objects you map are shown on the Map File tab, and will be saved when you save the map
file. For information on the Map File tab, see Adding, Editing, and Deleting Map File Entries.
7. Select new values from the MAP column for any objects you wish to reassign.
You may wish to reassign the default mappings between instances. For example, you may have defined
Queue TEST1 on the source machine. On the target machine, you may want Queue TEST1 reassigned to
Queue PROD1. You can use a map to specify the change. Jobs and Process Flows cannot be reassigned, by
default they have the same name on the source and target machines. All objects you map are shown on the
Map File tab, and will be saved when you save the map file. For information on the Map File tab, see Adding,
Editing, and Deleting Map File Entries.
8. If you want to save the map file, click the Save Map File box and enter a name in the Map File field.
Map files are located in the map directory and have a .dat extension.
9. If you wish to audit the import, check the Audit Changes Only box. For more information on import audits, see
Performing Import Audits.
10. To import the file after all objects have valid destination names, select the Import button.
The Import utility runs the IMPEXP Job under the alias IMPORT. You can check the status of the Job from
the Explorer window. The Job creates a log called IMPORT.log. You can view the log with the File Viewer
window.
The newly imported objects will show up approximately five minutes after the IMPORT Job runs. If you want to
see them sooner, go to the View menu and select Refresh Assigned Objects or click the Refresh button on any
object's selector window.
The person who creates an export on an Applications Manager source instance isn't always the one who runs the
import on the target instance. An unfortunate affect of this can be accidentally overwriting object definitions that
should not be touched.
The Import window includes the Audit Changes Only box shown above. When you check this box and run an
import, and the IMPORT Job (alias for IMPEXP) runs, it:
• Passes a prompt value that creates a report named AW_IMPORT_AUDIT detailing everything that is inserted
and deleted by the import.
• Writes text to the system output file that triggers an Output Scan to change the IMPORT task's status to AUDIT
ONLY.
• Rolls back all changes made by the import.
Prerequisite
To run audit imports, you must have the Enable Auditing box on the Audit tab checked for the Automation Engine
as shown below.
Applications Manager 9.4.1
If you approve the changes, simply re-run the import without the Audit Changes Only box checked.
You can save and open a map file using the Edit menu. When you save a map file, it is the items on the Map File
tab that are saved. The table includes:
• Objects that have been mapped on the Import tab.
• Objects that have been added using the Object Details box.
The map table can contain support objects that exist in both databases, but this is optional. The table does not
contain Jobs or Process Flows.
Maps are independent from import files and can be edited and saved without affecting them. Changes you make on
the Map File tab will be immediately reflected on the Import tab. The mappings do not alter the import file, but are
applied to it during the import process.
Adding Additional Map Entries
There may be times when you want to add an entry to a map file that was not included in the import file. You might
do this when objects do not exist at the time of the import, but will exist the next time you use the map file.
To add an entry:
1. In the Object Details box, select an object type from the Type list box
2. Enter the name of the object as you expect it to appear during an import.
3. Select the object on the target instance you want to map it to from the Map list box
4. Click Add.
Applications Manager adds the entry to the table and to the Import tab.
Updating Entries
To edit an entry:
1. Highlight the entry in the table that you wish to update.
Applications Manager displays the values for the entry in the Object Details box fields.
2. Edit the values of the fields and click Update.
Applications Manager 9.4.1
Applications Manager updates the entry in the table and on the Import tab.
Deleting Entries
To delete an entry:
1. Highlight the entry in the table that you wish to delete.
Applications Manager displays the values for the entry in the Object Details box fields.
2. Click Delete.
Applications Manager removes the entry from the table. If the entry was included in the import file, it will map
to its default value on the Import tab. If the entry was not included in the import file, it will be removed from the
Import tab.
When Pat adds the Job, the label for the References tab shows the references icon, indicating that the Job
includes support objects.
2. Pat selects the References tab, and sees two Data Types created for the Job, Job_Title and Dept_Name, and
adds them to the export list. Pat doesn't need to add support objects that are the same on the development and
production instances.
Applications Manager 9.4.1
3. To save the export file, Pat goes to the File menu and selects Save as, then enters EMP_MOD1. Applications
Manager saves the file EMP_MOD1.dat in the export directory of the development instance. Using the Export
utility, Pat can open the export list at a later time.
4. To export the file, Pat selects the Export button and is prompted to select a name for the export file. Pat can
export the file using the same or a different name than the export list. Pat uses the same name. Applications
Manager saves the EMP_MOD1.exp file in the export directory of the development instance and runs the
EXPORT Job in the Backlog.
5. Pat switches to the Explorer window to monitor the export Job and make sure it finishes.
Applications Manager 9.4.1
6. Pat transfers the export (.exp) file to the import directory on the target machine. Once the file is moved, it is
referred to as an import file. They are the same file.
7. Pat logs on to the target production instance and opens the Import utility. From the Import window, Pat opens
the File menu, selects Open Import File, and selects EMP_MOD1.exp file.
Applications Manager automatically maps the referenced objects. If a referenced object did not exist in the new
instance, Applications Manager would leave the object unmapped.
8. Pat accepts the default mappings and selects the Import button at the bottom of the window to import the file.
Applications Manager runs the IMPORT Job in the Backlog.
9. Next, Pat switches to the Explorer window to see that the Job has finished.
The Job and Data Types are now included on the production instance.
File Transferring
Applications Manager includes the following three FTP Jobs that prompt you for all the values required to transfer a
file between two networked machines:
• FTP_JAVA: This is an updated version of the FTP Job. It includes several prompts and prompt options not
available on the original FTP Job, such as mget and mput commands.
• SFTP_JAVA: This Job uses secure FTP with SSH to transfer files.
• FTP: This Job is the original Applications Manager FTP Job. It still works for customers who have upgraded or
wish to use a .netrc file to connect to a remote machine.
Applications Manager 9.4.1
FTP, FTP_JAVA, and SFTP_JAVA are legacy Jobs with limited functionality. For the latest full featured FTP Jobs,
use the RA FTP Agent Jobs.
Defining Host Logins
The scripts supporting the FTP_JAVA, SFTP_JAVA, and FTP Jobs use an Applications Manager Host Login to hold
the machine name, Login name, and password for the destination machine. To use a Login, you must first define it.
Running the LOADER Job
Use the LOADER Job to run Oracle's SQL*Loader program for loading data into a database. The Job often follows
the FTP Job in an Applications Manager Process Flow.
The LOADER Job as well as the AWLOADP Program Type that used to be installed with new installs are now
included in the LOADER.exp import file.
FTP_JAVA Job
The FTP_JAVA Job prompts you for all the values required to transfer a file between two networked machines. It
contains additional commands and prompts not found in the original FTP Job that can be used to manipulate files
and directories.
FTP, FTP_JAVA, and SFTP_JAVA are legacy Jobs with limited functionality. For the latest full featured FTP Jobs,
use the RA FTP Agent Jobs.
FTP_JAVA Job performs file transfers between two networked machines. The Job with example prompts is shown
below. The output from the Job is automatically scanned to ensure the transfer completed successfully.
Applications Manager 9.4.1
FTP_JAVA Prompts
The FTP_JAVA Job includes the following prompts shown above. The prompts are described below.
• Remote Machine UserId
The Host Login for the remote machine. Defining a Host Login is described in Defining Host Logins.
Applications Manager 9.4.1
The FTP_JAVA Job requires a Host Login. If you need to use a .netrc file to connect to a remote machine, use
the FTP Job.
• Remote Machine HostName or IP
The host name of the remote machine on which to issue the command. The Agent running the FTP Job is the
local machine. This entry must match the host IP for the Host Login in the Remote Machine UserId prompt.
• Command
The command issued for the FTP. Options include:
• Append: Appends the local file to the remote file.
• Rename: Renames a file on the remote machine.
• Delete: Deletes a file on the remote machine.
• Get: Copies one file from the remote machine to the local machine.
• Put: Copies one file from the local machine to the remote machine.
• Mget: Copies multiple files from the remote machine to the local machine.
• Mput: Copies multiple files from the local machine to the remote machine.
• Other: Performs only the commands for additional FTP prompts as described below. When 'Other' is
selected, values must still be entered for all required prompt values, even when they are not used.
• Local Path
The path to the file on the local machine. The path must include the closing delimiter (slash, backslash, or
bracket, depending on your OS).
• Local File or Pattern
The file(s) or pattern for the files on the local machine.
• Remote Path
The path to the file on the remote machine. The path must include the closing delimiter (slash, backslash, or
bracket, depending on your OS).
• Remote File or Pattern
The file(s) or pattern for the files on the remote machine.
• File type
The protocol you select for the file type:
• Binary
• ASCII
Adding Prompts for Additional FTP Commands
You can add prompts to include additional FTP commands to the FTP_JAVA Job. If 'Other' is selected as the FTP
command, these will be the only commands taken. In any other case, these prompts will be executed before the
command selected for the 'Command' prompt.
Additional prompts must contain all arguments to the command, for instance:
Usually FTP_JAVA and SFTP_JAVA Jobs are used in Process Flows where you set the prompt values for
their components. However, you may want to run them as stand alone Jobs. In this case, you can copy the
FTP_JAVA or SFTP_JAVA Job to a new name and edit the prompts of the new Job.
SFTP_JAVA Job
The SFTP_JAVA Job uses secure FTP with SSH to transfer files.
FTP, FTP_JAVA, and SFTP_JAVA are legacy Jobs with limited functionality. For the latest full featured FTP Jobs,
use the RA FTP Agent Jobs.
The SFTP_JAVA Job performs file transfers using secure FTP with SSH to transfer files between two networked
machines. For more information on setting up SSH Shared Keys, see topic the Administration Guide.
The Job with example prompts is shown below. The output from the task is automatically scanned to ensure the
transfer completed successfully.
SFTP_JAVA Prompts
The SFTP_JAVA Job includes the following prompts shown above. The prompts are described below.
• Remote Machine UserId
The Host Login for the remote machine. Defining a Host Login is described in Defining Host Logins.
• Remote Machine HostName or IP
The host name of the remote machine on which to issue the command. The Agent running the FTP Job is the
local machine. This entry must match the host IP for the Host Login in the Remote Machine UserId prompt.
• Command
The command issued for the FTP. Options include:
• Get: Gets one or more files
• Get-append: Gets and appends one or more files
• Put: Puts one or more files
• Put-append: Puts and appends one or more files
• Rm: Removes one or more files
• Rmdir: Removes a directory
• Mkdir: Creates a directory
• Local Path
The path to the file on the local machine. The path must include the closing delimiter (slash, backslash, or
bracket, depending on your OS).
• Local File or Pattern
The file(s) or pattern for the files on the local machine.
• Remote Path
The path to the file on the remote machine. The path must include the closing delimiter (slash, backslash, or
bracket, depending on your OS).
• Remote File or Pattern
The file(s) or pattern for the files on the remote machine.
• File type
The protocol you select for the file type:
• Binary
• ASCII
• Compress
No compression is the default.
Creating Custom Versions of FTP Jobs
Usually FTP_JAVA and SFTP_JAVA Jobs are used in Process Flows where you set the prompt values for
their components. However, you may want to run them as stand alone Jobs. In this case, you can copy the
FTP_JAVA or SFTP_JAVA Job to a new name and edit the prompts of the new Job.
Applications Manager 9.4.1
FTP Job
Applications Manager includes an FTP Job that prompts you for all the values required to transfer a file between
two networked machines. The FTP_JAVA Job ships with Applications Manager. It includes several prompts and
options not included in this Job such as mputs and mgets.
FTP, FTP_JAVA, and SFTP_JAVA are legacy Jobs with limited functionality. For the latest full featured FTP Jobs,
use the RA FTP Agent Jobs.
The FTP Job performs file transfers between two networked machines. The Job with example prompts is shown
below. The output from the Job is automatically scanned to ensure the transfer completed successfully.
Applications Manager 9.4.1
FTP Prompts
The FTP Job includes the seven prompts shown above. The seven prompts are described below.
• Destination Machine Name
The host name of the remote machine on which to 'put' the file or from which to 'get' the file. The machine
running the FTP Job is the local machine. When using a Host Login, this entry must match the host IP entry for
the login.
• Fully Pathed Local File
The fully pathed name for the file as it exists or will exist on the local machine.
• Fully Path Remote Machine
The fully pathed name for the file as it will exist or exists on the destination (remote) machine.
• Userid for Remote Machine
The OS login name for the remote machine.
• Fully Pathed Netrc Filename
When using an Applications Manager Login instead of a .netrc file (recommended), use 'dblogin' for the entry.
When using a .netrc file, enter the full path (including name) to the .netrc file that contains the connection
information for the remote machine.
• Transfer Mode ASCII/Binary
The mode to use for the transfer: ASCII or binary.
• Direction Get/Put
The direction for the transfer. 'Put' will transfer the file from the local machine to the remote machine. 'Get' will
transfer the file from the remote machine to the local machine.
FTP Host Login
The FTP.SH script supporting the FTP Job uses an Applications Manager Login to hold the machine name, login
name, and password for the destination machine. To use a Host Login with the FTP Job, you must define a Host
Login and assign it as the primary Login for the FTP Job as shown below. Defining a Host Login is described in
Defining Host Logins.
Applications Manager 9.4.1
Example:
The .netrc file may contain entries for more than one machine or login.
After creating the .netrc file, change the access on the file to Owner Read/Write only by issuing the chmod
600 .netrc command.
After creating the .netrc file, add the FTP Job to a Process Flow and fill in the prompt values appropriately for the
file you want to transfer. Because you are using a .netrc file, fill in the Fully Pathed Netrc File prompt. Also, ensure
that no Login is specified for the Job. An example set of prompts is shown below.
Prompt Value
1. open Host
2. verbose
3. prompt
4. direction type, Ascii or Binary
5. additional prompt values after Direction
6. Get or Put (or no value for Other)
7. quit
Sample Output for Sending a jcl File to JES
In this example, an additional prompt with the value quote site filetype=jes has been added to the FTP Job:
parameter file
200.1.1.229
$AW_HOME/jcl/job.jcl
job.jcl
adcdmst
$SQLOPER_HOME/.netrc
ascii
put
quote site filetype=jes
Sample Output for Sending a File to the Mainframe Using the FTP Job
In this example, four additional prompts with the values quote site blksize=6192200, quote site recfm=vba,
quote site recfm=fb, and quote site lrecl=80200 have been added to the FTP Job:
parameter file
200.1.1.229
$AW_HOME/data/net_conn.dat
testfile
adcdmst
$SQLOPER_HOME/.netrc
ascii
put
quote site blksize=6192200
quote site recfm=vba
quote site recfm=fb
quote site lrecl=80200
End of parameter file
job pid 27839
You will need separate Logins for each different login/machine combination you want to use with the FTP_JAVA,
SFTP_JAVA, and FTP Jobs. If the same Login name is needed on multiple machines, append a unique identifier to
the end of the Login name prefaced by an '@' (e.g.: am@sun2).
For Rapid Automation Agent documentation including Agent-specific Login object tabs, see the the following.
• The Banner Rapid Automation Agent for Local Clients Documentation
• The Banner Rapid Automation Agent for the Automic Web Interface Documentation
• All other Rapid Automation Documentation
Procedure
To create a Host Login:
1. From the Logins Selector window, click New.
For information on using selector windows, see topic Adding, Editing, and Deleting Applications Manager
Objects.
Applications Manager opens the Select Login Type window shown above.
2. Select the HOST Login type and click OK.
The Login type you select determines which fields are available on the Logins window.
3. Complete the fields using the information below.
• Name
Enter the Host Login name. If you need to create two or more Logins with the same name, you can append
an '@' character followed by any number of characters (up to 32 total) to the end of a Login name. The '@'
Applications Manager 9.4.1
and characters after it will be stripped off before the name is passed to a Job. For example, if two hosts
(sun1 and dg1) both use the same Login name, add '@sun1' and '@dg1' to the Login names in order to
distinguish them from one another: am@sun1 and am@dg1.
• Type
Identifies the Login type you selected on the Select Login Type window. In this case HOST.
• Password
Enter the host password.
• Host IP
Enter the machine name or IP address of the host.
• Encrypted
Applications Manager automatically encrypts the password and checks the Encrypted field when you click
OK. You cannot change the Encrypted setting.
Testing the Connection
When you specify a Name, Password, and Host IP for a Host Login, you can test the connection using the Check
button.
The Check button uses regular FTP (not SFTP) to test the connection. If your server requires SFTP, this may result
in a failed test connection.
Using the Host Login
To use the Host Login in the FTP_JAVA Job, select it from the Remote Machine UserId prompt. To use the Host
Login in the FTP Job enter dblogin in the Fully Pathed Netrc Filename prompt and assign the Host Login to the
Job on its Login tab.
LOADER Job
Use the LOADER Job to run Oracle's SQL*Loader program for loading data into a database. The Job often follows
the FTP Job in an Applications Manager Process Flow.
The LOADER Job as well as the AWLOADP Program Type that used to be installed with new installs are now
included in the LOADER.exp import file.
Applications Manager 9.4.1
Applications Manager 9.4.1
The image above shows the LOADER Job in the Submit window. The Job has a total of 12 prompts that let you
enter the standard parameters required to run the SQL*Loader program.
The prompt descriptions were taken from the Oracle7 Server Utility User's Guide published by Oracle Corporation.
For additional information about the SQL*Loader program, see your Oracle documentation.
Prompt Descriptions
The LOADER Job includes the prompts shown above. The prompts are described below.
• Control File Name
Enter a fully pathed control file name including the .ctl extension.
• Data File Name
Enter a fully pathed data file name. If the value for this prompt contains a regular expression wild card (i.e. *, %)
all matching files will be processed. These multiple input files will be concatenated first before running a single
SQL*Loader program. The individual input files will be stored in the Applications Manager output management
system.
• Abort on Bad Records
Select Yes or No from the list of values. When set to 'Yes,' the process aborts if the number of characters in the
SQL*Loader 'Max Size of Bad File' setting exceeds its defined limits.
• Max Size of Bad File
Sets the number of characters that defines a bad file. If the number of characters exceeds this number, the Data
File will be considered bad.
• Direct Load
Select Yes or No from the list of values. When set to 'Yes,' it enables the direct load option.
• Compress Data Files
Select Yes or No from the list of values. When set to 'Yes,' the data files are compressed prior to storing the
outputs.
• Use Extension Control
Select Yes or No from the list of values. When set to 'Yes,' only data files with completed transmission files
are processed. The completed transmission file must have the same path and file name, however it can have
different extensions. Prompts 08 and 09 define the different extensions.
• Data File Suffix
Enter the suffix of the file that will be loaded.
• Completed File Suffix
Enter the completed transmission file suffix.
• Log File Name
Create a file name that will be used for the log of the output. Do not include path information.
• Discard File Name
Create a file name that will be used to store the discarded records. Do not include path information.
• New Data File Name
Create a name for the new data file that is created. Do not include path information.
The Program Type script must perform all the main work of running the task. Specifically, the interface script must
accomplish six main tasks:
• Program execution
• Parameter passing
• Error determination
• Output registration
• Debug/administration
• Termination
How Applications Manager Uses Program Type Scripts
When a Job is submitted, the Agent creates the pm<seq_no>.sh file where <seq_no> is a unique sequence
number determined by the $seq_no variable for UNIX or %seq_no% for Windows. The Agent then launches the
BODY script. After any applicable SYSOUT and PREFIX scripts are run, the BODY script executes the Program
Type script named by the Applications Manager Environment Variable $host_command. This variable holds the
name of the Program Type script. For example, if the SHELLS Program Type script is used, then $host_command
will equal SHELLS. This is the section of the BODY script where the actual task is run. The Program Type script
passes the Job prompts contained in the pr<seq_no>.sh file to the program. All remaining lines of the BODY
script deal with evaluating execution requirements, updating statuses, and running COMPLETION, TROUBLE, and
SUCCESS scripts. The sequence of events is illustrated below.
The table below describes the processes that occur in each of the stages shown above.
For information on creating Program Type objects, see Defining Program Types.
This variable holds the name of the Program Type script. For example, if the SHELLS Program Type script is used,
then host_command will equal SHELLS. This is the section of the BODY script where the actual task is run. The
Program Type script passes the prompts contained in the pr file to the program. All remaining lines of the BODY
script deal with evaluating execution requirements, updating statuses, and running COMPLETION, TROUBLE, and
SUCCESS scripts.
1 :
2 #!/bin/sh
3 #copyright 2007 by Automic Software GmbH
4 # $Header:
/isa/devel/soport/so/dev/sostage/RCS/EXEC-EXECS,v
1.2 1998/02/24 19:06:46 billw Exp $
5 arg="$program `$SQLOPER_HOME/exec/ONELINE $par`"
6 eval $arg
7 err=$?
8 if [ -f $file ]; then
9 $AW_HOME/exec/FILESIZE $file $err
10 err=$?
11 fi
12 if [ -f $OUTPUT/$file ]; then
13 file=$OUTPUT/$file;export file
14 $AW_HOME/exec/FILESIZE $file $err
15 err=$?
16 fi
17 exit $err
The table below lists the key functions a Program Type script must perform, and the corresponding lines in the
EXEC program.
Error determination 7, 10, 15, 17 The code err=$? traps the exit status
of the last command executed.
1 @echo off
2 rem Copyright 2007 Automic Software GmbH
3 echo 'In EXECS'
4 echo 'calling'%program%
5 call %SQLOPER_HOME%\bin\oneline %SQLOPER_HOME%\run\%par%
6 call %SQLOPER_HOME%\c\ntspawn "%program% %args%"
7 if errorlevel 1 set err=%errorlevel%
The table below lists the key functions a Program Type script must perform, and the corresponding lines in the
EXEC program.
Program Execution
It is the Applications Manager Program Type script that actually runs the program selected in a Job definition. While
you can use any standard command to execute a program from within a Program Type script, the command used
by Applications Manager Program Type scripts is 'eval' in UNIX and 'call' in Windows. Eval evaluates parameters,
then executes the command.
For SQL*Plus scripts in UNIX, the pipe command is used to direct a string of commands to SQL*Plus.
UNIX Program Type Script Code
Applications Manager 9.4.1
In a typical UNIX Program Type script, the code that executes the program would look as follows (code in bold):
1 :
2 #!/bin/sh
3 #Copyright 2007 Automic Software GmbH
4 # $Header:
/isa/devel/soport/so/dev/sostage/RCS/EXEC-EXECS,v 1.2 1998/02/24 19:06:46 billw Exp $
5 arg="$program `$AW_HOME/exec/ONELINE $par`"
6 eval $arg
7 err=$?
8 if [ -f $file ]; then
9 $AW_HOME/exec/FILESIZE $file $err
10 err=$?
11 fi
12 if [ -f $OUTPUT/$file ]; then
13 file=$OUTPUT/$file;export file
14 $AW_HOME/exec/FILESIZE $file $err
15 err=$?
16 fi
17 exit $err
On the first pass, eval evaluates $program and $par. It then executes the program.
UNIX Pipes
Pipes are used by programs that accept inputs from the standard input device. Normally, standard input would be
the user's terminal and/or keyboard. If you pipe output from the Program Type into the program, then the program
is taking its standard input from the program type.
$program <$par
A more complex example used within the Applications Manager SQL*Plus (SQLP) Program Type script is shown
below.
UNIX SQL*Plus Program Type Script Code
In a typical UNIX SQL*Plus Program Type script, the code that executes the program would look as follows (code
in bold):
#!/bin/sh
fi
if [ -f $program.sql ]; then
err=0
else
echo "file $program.sql does not exist"
exit 1
fi
echo sqlp `date`
echo $ORACLE_PATH
echo sqlplus -s @$program A$seq_no.lis $argu
echo "define so_outfile=A$seq_no.lis" >> $par
echo start $program >> $par
logtest=login.$$
echo "$login
spool $logtest
prompt got it
spool off
start $par A$seq_no.lis $argu
"|sqlplus -s
err=$?
if [ -f $logtest ]; then
rm $logtest
else
echo Could not login to sqlplus
err=1
fi
echo sqlp `date`
if [ -f A$seq_no.lis ]; then
mv A$seq_no.lis $file
fi
$AW_HOME/exec/FILESIZE $file $err
err=$?
exit $err
The code is a series of SQL commands that are passed into SQL*Plus.
Windows Program Type Script Code
In a typical Windows Program Type script, the code that executes the program would look as follows (code in bold):
@echo off
rem Copyright 2007 Automic Software GmbH
echo 'In EXECS'
echo 'calling'%program%
call %SQLOPER_HOME%\bin\oneline %SQLOPER_HOME%\run\%par%
call %SQLOPER_HOME%\c\ntspawn "%program% %args%"
if errorlevel 1 set err=%errorlevel%
The "call" command executes the program using the values stored in the 'args' variable.
To be able to kill a process launched by a Windows task (Program Type script), the process must be launched by
the ntspawn executable as shown in the sample code above. Ntspawn launches the requested process and then
waits for the process to exit. If a kill task is issued while the process is running, ntspawn will kill the process and
Applications Manager 9.4.1
return an error code. If the requested process is not launched with ntspawn, the kill task request will kill the cmd
shell that launched the process, but most likely will not kill the launched process.
The syntax for ntspawn is:
Usage: ntspawn command [args]
Example: ntspawn c:\mydir\myexe.exe arg1 arg2 arg3
Option -l: Creates lockfile for Agent.
Option -t <seconds>: Time out value. If task runs longer than <seconds> task will be killed.
Option -i: Ignore DOS error file for exit code checking.
Option -s: Silent. Do not print process header information.
Windows SQL*Plus Program Type Script Code
In a typical Windows SQL*Plus Program Type script, the code that executes the program would look as follows
(code in bold):
@echo off
rem Copyright 2007 Automic Software GmbH
echo 'In EXECS'
echo 'calling'%program%
call %SQLOPER_HOME%\bin\oneline %SQLOPER_HOME%\run\%par%
call %SQLOPER_HOME%\c\ntspawn "%program% %args%"
if errorlevel 1 set err=%errorlevel%
E:\AM\46NT_on_Dell\Master\exec>type sqlp.bat
if Not "%DEBUG%" == "YES" goto notdebug
set
echo on
echo in %0
:notdebug
if exist %program%.sql goto exists
echo "output file %program%.sql does not exist"
set err=1
goto end_of_it
:exists
echo in %0
echo plus31 -s @%program% A%seq_no%.lis %argu%
set err=0
echo define so_outfile=A%seq_no%.lis >> %par%
echo start %program% >> %par%
echo quit >> %par%
SET awsqlplus=c:\orant\bin\plus80.exe
echo %SQLOPER_HOME%\c\ntspawn "%awsqlplus% -s %db_login%/ passwd @%PAR% A
%seq_no%.lis "
call %SQLOPER_HOME%\c\ntspawn "%awsqlplus% -s %LOGIN% @%PAR% A%seq_no
%.lis "
if errorlevel 1 set err=1
if exist %file% del %file%
if exist A%seq_no%.lis move A%seq_no%.lis %file%
if not exist %file% echo no output from %module%
if exist %file% call PRINTEM
Applications Manager 9.4.1
:end_of_it
The code is a series of SQL commands that are passed into SQL*Plus.
Parameter Passing
The format used to write prompts to the parameter (pr) file is defined in the Program Type window shown below.
However, the actual passing of the parameters is accomplished within the Program Type script.
UNIX:
Windows:
This executes identically to programs running on the command line. The output of the ONELINE script may then
be used as the arguments to be passed to the application to be run. The application may demand that specific
environment variables have values, and these values may need to be set by parsing the parameter file within the
Program Type script.
For example, assume the parameter file contains the following four values:
Jan
Feb
Mar
Apr
Windows:
Windows:
sh $program $AW_HOME/run/pr<seq_no>.sh
Windows:
%program% %AW_HOME\run\pr<seq_no>.sh
Windows:
set OUTFILE=%file%
Set INFILE=%par%
Call %program%
Output Registration
To register output in Applications Manager, you run FILESIZE as part of the Program Type script with the file name
and exit error value as arguments.
The code is:
UNIX:
Windows:
file=$jobid.log
$AW_HOME/exec/FILESIZE $file $err
Windows:
set file=%jobid%.log
If exist %file% call filesize %file% %err%
• If the variable file in the Program Type script contains a pathed file name, FILESIZE leaves the file in its original
directory. Example:
UNIX:
file=/accounting/reports/$jobid.log
$AW_HOME/exec/FILESIZE $file $err
Windows:
set file=\accouting\reports\%jobid%.log
if exist %file% call filesize %file% %err%
Either way, FILESIZE records the location of the program output file. FILESIZE does not register the standard out/
log file. Instead, the standard out/log file is placed in the default output directory (out) by the BODY script.
When you view the output from a task in the Backlog or History, you see the locations of the output files in the
Output Files tab. The image below shows an example of UNIX output files.
Applications Manager 9.4.1
file=$seq_no.log
OUTPUT=/accounting/reports
$AW_HOME/exec/FILESIZE $file $err
Windows:
set OUTFILE=%file%
set INFILE=%par%
call %program%
Applications Manager 9.4.1
Error Trapping
To update statuses of tasks correctly, Applications Manager must trap the exit values of the processes, and the
Program Type script must exit with this value. This is accomplished by including the appropriate error trapping code
in the Program Type script.
In addition to capturing the error code for a single process, you may want to capture cumulative errors for multiple
processes, ensuring the script exits with an error code even if one process fails but the next process succeeds.
Some processes such as FTP and Oracle may have errors, but still exit with a zero exit value. With these types
of processes, you may have to search for specific text strings in the log files to determine whether the process
completed successfully.
The code you use to trap errors is different for UNIX and Windows. Each is described separately in the following
subtopics.
err=$?
exit $err
$? represents the status of the last command not executed in the background. If the command executes
successfully, $? will equal zero. If it does not execute successfully, $? will equal a value other than zero. A task that
returns an exit status of zero is marked as FINISHED in the Backlog and History. A task that returns a value other
than zero is marked ABORTED.
Always put this code after the eval statement in a script, not after any echo statements. If you put the code after an
echo statement, it will capture the error value for the echo statement.
Capturing Cumulative Errors
You may want the script to exit with an error code even if one process fails but the next process succeeds. This is
accomplished with the following code:
err=`expr $? + $err`
The expression adds the error code from the current process to the error code of the previous process. This is
particularly useful after running FILESIZE in a Program Type script.
Searching for Text Strings
Some processes such as FTP and Oracle may have errors, but still exit with a zero exit value. With these types
of processes, you may have to search for specific text strings in the log files to determine whether the process
completed successfully. One example of this is illustrated within the FTP Program Type script by the following lines:
fi
%err% represents the status of the last command. A task that returns an exit status of zero is marked as
FINISHED in the Backlog and History. A task that returns a value other than zero is marked ABORTED.
Always put this code after the call statement in a script, not after any echo statements. If you put the code after an
echo statement, it will capture the error value for the echo statement.
Capturing Cumulative Errors
You may want the script to exit with an error code even if one process fails but the next process succeeds. This is
accomplished with the following code:
The expression adds the error code from the current process to the error code of the previous process. This is
particularly useful after running FILESIZE in a Program Type script.
Searching for Text Strings
Some processes such as FTP and Oracle may have errors, but still exit with a zero exit value. With these types
of processes, you may have to search for specific text strings in the log files to determine whether the process
completed successfully. One example of this is illustrated within the FTP Program Type script by the following lines:
close(FTPTMP);
}
print "done.\n";
Command/Structure Purpose/Function
UNIX: echo $0 `date` Writes the current command and current time.
Windows: date /t
UNIX: if [ -f $program.sql ]; Checks for the existence of the file program.sql and
sets the variable err equal to 0 if found.
then err=0
Windows: if exists %program%.sql
set err=0
You can control whether the above commands are active by including code that searches for the Applications
Manager DEBUG file as shown in the following script:
UNIX:
Windows:
There are a number of Applications Manager environment variables that can be used in shell scripts. The variables
provide information about the Applications Manager environment, Jobs, and Process Flows. For more information,
see Using Applications Manager System Environment Variables.
EXIT Commands Not Allowed
You should not include EXIT commands in your run-time extension scripts. If any run-time extension includes an
exit or syntax error, Applications Manager will not be able to complete processing the task and the task status will
be displayed as DIED.
Scanning Output, Sending Notifications, and Setting Environment Variables with Applications Manager Objects
You can scan text in output files with Applications Manager Output Scan objects to indicate whether a task has
failed or succeeded. Output Scans are assigned to Jobs and Program Types. Each Output Scan includes one or
more rules. For more information, see Defining Output Scans.
You can send output from Output Scans to one or more email addresses or Applications Manager Output Devices
by defining Applications Manager Notifications and assigning them to Applications, Program Types, and Jobs. For
more information, see Defining Notifications.
You can define and store values for one or more environment variables as a single Applications Manager object.
Environment variables are assigned to Agents, Applications, Program Types, and Jobs. Their values are written to
the .pm file after other environment variables are set. For more information, see Defining Environment Variables.
PREFIX.<Program Type> Runs before any Job that has been assigned the
specified Program Type.
You must use the name of the Program Type, not the
name of the interface script.
Example: PREFIX.AWSQLP would run before any Job
that has been assigned the AWSQLP Program Type.
PREFIX.<Job> Runs before the Job runs. Uses the alias name in the
Backlog.
Example: PREFIX.DELPRINT would run before the
DELPRINT Job is run.
PREFIX.<command> Runs before any Job that runs the specified program
command.
Example: PREFIX.test would run before any Job that
runs the TEST program.
The generic <Application>, <User>, <Program Type>, <Job>, and <command> file suffixes apply to all four types of
run-time extensions: PREFIX, COMPLETION, TROUBLE, and SUCCESS.
Execution Order
When using multiple run-time extensions, the order in which they run might be important for your implementation. If
multiple run-time extensions exist that could run for a particular task, the order in which they run is indicated by the
order in the table above, i.e. PREFIX runs first, PREFIX.<Application> runs next, and so on.
For example, Job ACCOUNTS in Application group FINANCIALS executes program REPORT. The Job is
requested by User SMITH. The following run-time extension scripts exist: TROUBLE, TROUBLE.ACCOUNTS,
TROUBLE.FINANCIALS and TROUBLE.SMITH. When Job ACCOUNTS finishes (with an error exit status), the
scripts run in the following order: TROUBLE, TROUBLE.FINANCIALS, TROUBLE.SMITH, TROUBLE.ACCOUNTS.
On Windows systems, you must add a .bat extension to the run-time extension scripts or they will not run.
errors. This script looks for these errors only in successful SQLP Program Types and returns a WARNING status
when Oracle errors are detected.
$ cat SUCCESS.SQLP
ck_err=`cat $stdout|grep 'ORA-'|grep -v '<Oracle errors to be excluded>'|wc -l`
echo 'Oracle Errors Detected: '$ck_err
if [ $ck_err -ne 0 ]; then
show_status='WARNING'
status='FINISHED'
fi
This run-time script executes after the SUCCESS of any Job that uses the SQLP Program Type. It checks the
standard output file, looks for ORA- errors, and counts the number. The output file echoes the number of 'Oracle
Errors Detected.' Finally, it will change the status from FINISHED to WARNING, thus allowing other tasks to
continue running.
Overriding Status
If errors exist, you can use a run-time extension script to change the status value in the Applications
Manager$status environment variable.
$ cat TROUBLE.FTP_TEST
#if ftp script fails and the user is SMITH it is only a warning
if [ $user = SMITH ]; then
show_status='WARNING'
status='FINISHED'
fi
$ cat COMPLETION.DATA_LOAD
if [ $status = ABORTD -a $results -eq 3 ]; then
show_status='BAD DATA'
fi
$ cat PREFIX.TEST_JOB
# This script should route output from standard output to <user>
OUTPUT1=/isa/users/
if [ $status = FINISHED ]; then
OUTPUT=$OUTPUT1
Echo 'This file was sent to output on ssmith'
Applications Manager 9.4.1
fi
$ cat COMPLETION.TEST_JOB
# This script sends an email message and task status for a specific
# job.
echo "Your output status for $module $jobid is $status"\
|mailx -s"Job $module Status $status" $user
Variable Description
db_login The Job's primary Database Login name taken from the
Database Login definition.
Variable Description
file A unique file name usually used as the output file name.
host_command The name of the Program Type interface shell script file.
module The Job name, or the view name if the Job is part of a
Process Flow.
Variable Description
par The file name of the parameter file (if any), commonly
pr<seq_no>.sh. See also the 'so_par' entry in this
table.
so_par The fully pathed file name for the par file, usually
$AW_HOME/run/pr<seq_no>.sh. See also the 'par'
entry in this table.
status The status of the task after it has run. Useful in run-time
extension scripts.
• BODY_PID
• chain_id
• chain_seq
• CLEAN
• COLLECTOR_PURGE_MINUTES
• COLLECTOR_SLEEP_TIME
• command
• command_dir
• CONC_DEBUG
• CONC_SHOW_LOG
• CONFLICTS
• copies
• db_login
• db_password
• db_type
• DEBUG
• DURING_WAIT
• file
• function
• host_command
• INITWAIT
• job_number
• jobid
• log_run
• login
• login_sid
• MASTER_STARTUP_SQL
• MAX_ACTIVITY_COUNT
• MAXFILES
• maxrows
• module
• MODULE_SETUP
• MODULE_SPAWN_PARMS
• MORAINIT
• MORANOINDEXINFO
• MORATOLOWER
• MSQLORDER
• MSYBNOINDEXINFO
• MYDBG
• net_connect
• NOTRANS
• NPCMD
• omgr_maxrows
• OPERATOR
• orig_log_run
• OUTPUT
• output_required
• par
• PARDIR
• PICTUREPATH
• printer
• printer_type
• program
• qblog_maxrows
• qhist_maxrows
• queue
Applications Manager 9.4.1
• REMOTE_AWRUN
• REQUEST_SHELL
• REQUEST_TYPES
• RESPAWN_SUFFIX
• rpf_options
• seq_no
• SNMASTER
• SO_COLL_PATH
• SO_CONCFILE
• SO_DATA_PATH
• SO_DISCONNECT
• SO_DIST_PATH
• SO_HOST
• SO_DIST_PATH
• SO_HOST
• SO_IDX_PATH
• SO_MAINT_HOUR
• SO_NO_RETRY
• SO_NOCONNECT
• SO_OPERATOR
• so_par
• so_password
• SO_PRINTMGR
• so_process_time
• SO_RUN_NOPASSWORD
• SO_WAIT
• sologin
• SORUN_WAIT
• SOSTOP
• source
• SPAWN_DIR
• SQLOP_CVIEWER
• SQLOP_DAYS
• SQLOP_HISTORY
• SQLOP_HOST
• SQLOP_MENU
• SQLOP_MODPOP
• SQLOP_MSHELP
• SQLOP_ONCE
• SQLOP_SUBVAR
• SQLOP_SYSOUT
• SQLOP_USER
• AW_HOME
• status
• stdout
• TEMP
• time_out_factor
• TMPDIR
• user
• WatchWorx_max_idle
• WINDOWBACKEND
• WINTYPE
Applications Manager 9.4.1
Overview
The diagram above demonstrates the design principle of SURUN. To use SURUN, create a Job specifying an
SURUN Program Type and the target program from the Program Name list. Set the Library equal to the location of
the target program you want to run.
During run-time, the SURUNP Program Type script determines which UNIX user owns the target program.
The Applications Manager UNIX user must have access to the target program. The SURUNP Program Type calls
the SURUN C program and passes the path, program name, and user information to the C program.
The C program switches to the owning user and runs the target program. SURUN checks the authoriz.lis file to
authorize the switch prior to executing the program.
If you are using SURUN to run a program that accepts arguments, you can define prompts for the Job, one prompt
for each argument. The prompt values will be passed to the program in the order they are listed in the Job.
Procedure
To create an SURUN Job:
1. Create a Job similar to the one shown above.
2. Create a Library and path that points to the location of the target program directory.
3. Select the AWSURUNP, AWSURUNP_REQ, or AWSUSQLP Program Type.
4. Select the program name.
Without permissions to view a User's directory or programs, the select list may be blank. Type in the target
program name (or assign read permissions to the UNIX account).
5. If the program requires parameters, create a prompt for each parameter.
6. Save the Job by clicking OK.
Choosing the Right Program Type
The AWSURUNP, AWSURUNP_REQ, and AWSUSQLP Program Types perform the 'handshaking' with the
SURUN program. Each Program Type provides different instructions for the SURUN program. All three interface
scripts ship with Applications Manager, however you must create the Program Types for AWSURUNP_REQ and
AWSUSQLP. A Program Type for AWSURUNP_REQ is shown below.
Applications Manager 9.4.1
The scripts are stored in the $AW_HOME/exec directory. The Program Types are described in the following table.
AWSURUNP Locates the target program file, finds its owner, checks
the authoriz.lis file, changes to the UNIX user account
of the program owner, and runs the task from there.
AWSUSQLP Locates the target program file, finds its owner, checks
the authoriz.lis file, connects to the SQL*Plus account,
logs in as the Applications Manager requestor, and runs
the program.
Name your SQL*Plus program without the .sql
extension. AWSUSQLP expects report output so you
need to define an Output Interface and device. Also
define the Database ID for the user connecting to
SQL*Plus. The requestor should be a valid UNIX user.
oracle /user/oracle/bin/dbshut
isa /user/am/exec/FILESIZE
* /user/am/exec/SUSQLP1
smith * 1
* /user/ryan/programs/myprog1
jones /user/jones/programs/myprog2 1
jones /user/jones/programs/myprog3
Paths used in the PROGRAM column must be fully and explicitly specified. You cannot use variables in the paths.
The columns should be TAB delineated.
An '*' in the USERID column authorizes any user to run the specified program. An '*' in the PROGRAM column
allows a user to run any program. As a security measure, you may NOT use an '*' in both the USERID and
PROGRAM columns for the same entry. Further, you may NOT use '*' in the PROGRAM column for any entry with
a USERID of 'root'.
SU_TYPE Explanation
The SU_TYPE column controls how SURUN switches to the specified user. If the column is blank, SURUN
switches to the user and leaves the Applications Manager environment intact (su). If the column has a '1', SURUN
switches to the specified user and makes that user's environment active. The Applications Manager environment
variables will NOT be available. The matrix below diagrams the possible options of an SURUN program.
Assign Ownership
After creating the authoriz.lis file, have your UNIX system administrator login as the Applications Manager
user. Issue the su command (retain the Applications Manager environment) and enter the root password when
prompted. Perform the following commands within the Applications Manager$AW_HOME/c directory:
mv c/surun c/SURUN
chmod 4711 c/SURUN
chown root c/SURUN
chown root exec/authoriz.lis
chmod 755 exec/authoriz.lis
This protects the SURUN program, allows only 'root' to modify the authoriz.lis file, and controls which commands
may execute.
Capturing Output
If the programs run by SURUN have output you want managed by Applications Manager, use the FILESIZE
command.
You can add the command directly to the program, or make it part of the SURUN Program Type script. If you will be
running more than one program, and they all handle output in the same way, it is best to put the FILESIZE code in
the Program Type script. By putting the code in the Program Type script, you only have to maintain it in one place.
If the Applications Manager Login does not have read access to the output files generated, include a chmod
statement to give it access. If Applications Manager does not have read access to the directory, the file may need
to be moved to a common area (/tmp) so it can be read.
When Applications Manager captures output, it writes a temporary file to the $SQLOPER_HOME/run/
<Agent_name> directory. The SURUN user must be given write access to the directory.
Usage: SURUN <userid> <program> <arguments> Correct syntax and retry task.
<userid> is not a valid userid. The userid entered is not found in the /etc/passwd file.
Error executing program <program> The program either could not be executed or it executed
and terminated with a non-zero status. The value
Error Number = <value>
received as the exit status is displayed on the second
line.
Applications Manager 9.4.1
Unable to change to uid of <userid>. SURUN could not change to the userid requested.
Change the owner to root and the access permissions
to 4711 on file SURUN.
User <userid> is not authorized to execute <program> The requested userid/program combination was not
found in the authoriz.lis file.
Cannot open authorization file. The authoriz.lis file is not located in the Applications
Manager exec directory or it was not accessible to
SURUN due to protection/ownership problems.
Debugging SURUN
To debug SURUN, add the following line to your SURUNP script:
When you re-run the SURUN task, debug information will be shown in the standard output file.
To turn SURUN debug off, remove or comment out the new line.
When you issue command line interface commands, Applications Manager actually runs awexe commands. The
command line interface provides a wrapper to make them more accessible. The code below shows the appworx a
command line interface command and awexe node command. Both provide the same information, but appworx a
includes column titles for better readability:
> appworx a
Agent Status Last Act M/A Thds Bk Run Hld Abt Sch
PROD6 Running 00:00:40 M 9999 1 0 0 0 0
PROD6 Running 00:00:15 A 9999 1 0 0 0 0
SOLARIS9 Stopped 88 Days A 2 1 0 0 0 0
WINXP Running 00:00:31 A 1 1 0 0 0 0
APPWORX_A G 0 1 0 0 0 0
> awexe node
PROD6 Running 00:00:47 M 9999 1 0 0 0 0
PROD6 Running 00:00:22 A 9999 1 0 0 0 0
SOLARIS9 Stopped 88 Days A 2 1 0 0 0 0
WINXP Running 00:00:38 A 1 1 0 0 0 0
APPWORX_A G 0 1 0 0 0 0
As a rule of thumb, use awrun and awexe to incorporate Applications Manager functionality into your scripts
or interface Applications Manager with other applications, and the command line interface to either run single
commands from the command line or go into command mode to run a series of commands.
Unless otherwise indicated below, any option not specified will default to the setting defined in the Job. The
keyword _NULL_ may be used as a missing argument placeholder.
Supported Options
The options supported by awrun are described below. You can also view this information online by entering awrun
-h at the command line.
Option Description
Option Description
-u <User> User/requestor name for the Job. If you use this option,
you must also specify the User's password using the -z
option.
If you do not specify a User, Applications Manager uses
the UNIX/Windows login name. However, the UNIX/
Windows user must exist as a valid User in order to
validate that the User's User Group will allow them to
run the Job.
-x <max run time> Maximum time Job can run. If not completed after
this much time, the task will abort. Format must be
DDD:HH:mm.
Notes on awrun
The '|' indicates 'and/or'. You can provide either the Job name or the Job number.
The <arguments> option is the same as 'parameters' or 'prompts'. Values entered for prompts on the Requests
window are the arguments.
The order of the awrun statements is important. You cannot specify an argument and then an option. Also, some
options and prompts can appear similar, but have uniquely different functions. For example, the date option -
d is different from the date specified in an argument. If you do not use the -m Job flag, the first value passed is
interpreted by Applications Manager to be the Job name.
For example:
EXAMPLE2 is interpreted as the Job name. For this to work, the Job name must come before any of the flagged
options.
Applications Manager 9.4.1
If you want to use a Substitution Variables for an argument to an awrun task from the command line, you must
protect the '#' sign. In a UNIX shell, the '#' sign indicates a comment line, and the line is ignored. To get UNIX to
recognize the '#' sign you can protect it using one of the following formats:
• \#Subvar
• "#Subvar"
• {#Subvar}
awrun Security
For security reasons, awrun requires a username and password by default.
You can include the awrun command in a script along with environment variables that control parameters such as
Queue, Output Devices, and number of copies.
For example, including the following command in a script would run the EMPLOYEES Job against the Accounting
department, run the task through the BATCH Queue, send the output to the TEST printer, and print three copies:
You might consider setting your password in a previous script, in an Applications Manager PREFIX script, or on
the command line immediately before issuing your awrun statement in order to prevent others from viewing your
password.
To set the password, you set the environment variable AWRUN_PASSWORD.
If the operating system user account is also a valid User, you do not need to enter the password.
Not Requiring Passwords for awrun
If you want to use awrun without a -z <password>, you can select the Do not require awrun passwords
Automation Engine option for the Automation Engine/Local Agent.
awrun Examples
Several examples of the awrun command are shown below.
Example 1. The command below will run the Job 'EXAMPLE1', use the 'sqloper' User and 's0pass' password,
connect to the database using Login 'ADMIN', and run in the 'BATCH' Queue. The task will appear in the Backlog
and History as 'MARCH' and the two dates will be passed as the first and second arguments.
Example 2. The command below will run the Job 'EXAMPLE2', in the 'BATCH' Queue. The -arg option tells awrun
to treat -c, -d and -e as arguments for Job 'EXAMPLE2' rather than as further options for sorun.
awrun will return an error if it is passed an object name that doesn't exist. For example, passing awrun a Job
name, Database Login name, operator name, etc. that is not already defined within Applications Manager will
cause an error (see awrun -e).
Example 3. The command below runs the EMPLOYEES Job with one argument (ACCOUNTING). The Job will
produce a report of all employees in the Accounting Department.
Example 4. The command below runs the INVOICE Job with one option (date) and three arguments. Notice that
the argument dates can be in any form (as specified by the program). However, the date option must be in mm/dd/
yyyy format.
Specifying Rapid Automation (RA) Field Values and Prompts for awrun Requests
You can specify an RA Job field value in the following format with as many space separated XML names and
values as you wish. You can get the XML field name for a field but resting the mouse over the field name in the
client and reading the ToolTip.
Row and prompt numbers start at 0. For example, to edit prompt 3 in the GURPDED Job shown in the image
below, you would enter the following awrun command:
The awserver_sql.dat file includes commands for Applications Manager background processes and general user
utilities. If you or Broadcom Consulting Services wish to add custom awexe commands, do so by creating the
awserver_sqlusr.dat file. If you add commands to the awserver_sql.dat file, they will be overwritten when you
upgrade Applications Manager.
Custom awexe calls are not supported by Broadcom Support. For help creating/maintaining them, contact
Broadcom Consulting Services.
Each awexe command begins with a security number to group it into one of the following categories:
• 1000-1999: Used for Applications Manager background processes.
• 2000-2999: Utilities for the general user.
• 3000-4999: Reserved for consulting.
• 5000-9999: Used for custom definitions.
The range of numbers entered in the Awexe range field for a User determines which awexe commands are
available for that login during a UNIX/Windows session. For more information on the Awexe range field, see the
Administration Guide.
The following awexe commands can be used in your scripts or from the command line. Example code follows each
command.
awexe Command Syntax
The command syntax for awexe is:
The '|' indicates 'and/or'. You can provide either the awexe command name or the awexe command number.
The number of arguments differs depending on the definition of the awexe call. When specifying argument values,
you can use singe quotes to specify a literal value or double quotes to specify a value to be evaluated.
Text from the awserver_sql.dat file for the awexe upd_var_value call used to update an existing static
Substitution Variables value is shown below:
In the example below, the value of the #success Substitution Variables is being set to Y. First awexe
upd_var_value specifies the upd_var_value command name. Next, the Subvar=#success argument specifies
the Substitution Variables to update. Finally, the var_value=Y argument specifies the Substitution Variables's new
value.
Some variables are required; others accept null values. See the awserver_sql.dat file for details.
Common awexe Commands
Common awexe commands that you may want to use in your scripts are described in the next topic.
in your scripts or to interface Applications Manager with other applications. These commands can help you with
actions such as:
• Activating Automation Engine and Agent Debug
• Updating a Substitution Variable or Creating a New Substitution Variable
• Retrieving a Substitution Variable
• Taking Actions on Tasks
• Retrieving a Multi Select Prompt Value
• Retrieving a Multi Select Prompt Description
• Requesting Jobs and Process Flows
• Getting Process Flow Names from Component Run IDs
• Viewing a Queue Summary
• View an Agent Summary
• Starting or Stopping the Automation Engine
• Viewing Tasks in the Backlog
• Viewing Tasks in History
• Viewing an RMI and Agent Connection Summary
• Viewing a Applications Manager User Report
Each command documented below includes a format, example, and command number. The command numbers
correlate with each call's definition in the awserver_sql.dat file. For more information on a particular call, see the
awserver_sql.dat file.
Activating Automation Engine and Agent Debug
To turn on Automation Engine and Agent debug, use the awexe SCHEDULE_DEBUG call.
Format
Example
In the example below, debug is turned on at 6:00 PM for 30 minutes.
Example
In the example below, the value of the #success Substitution Variables is being set to Y.
To create a new static Substitution Variables and set its value, use the awexe upd_var_value call with the flag=Y
argument.
Applications Manager 9.4.1
Format
Example
In the example below, the #success Substitution Variables is created with the value of Y.
Command Number
1900
Retrieving a Substitution Variable
To retrieve the value of a JDBC or Oracle SQL Substitution Variables, use the awexe get_var_value call.
Format
Example
In the example below, the value for the #today substitution is returned.
Command Number
1901
Taking Actions on Tasks
To take actions on one or more tasks, use the awexe aw_quemgr call.
Format
Command Number
2001
Retrieving a Multi Select Prompt Value
To return the value(s) from a multi select prompt, use the awexe multiselect_value call.
Format
Example
In the example below, a Job included a multi select prompt that allowed a User to select one or more Applications
Manager Jobs. When the Job was requested, the prompt's value was displayed as Ref=65772. The awexe
multiselect_value call below returns the Jobs selected for the prompt.
Command Number
2004
Retrieving a Multi Select Prompt Description
To return the description(s) from a multi select prompt, use the awexe multiselect_descr call.
Format
Example
The example below returns the descriptions of Jobs selected in a multi select prompt.
Command Number
2005
Requesting Jobs and Process Flows
To request a Job or Process Flow, use the awexe aw_run call.
Applications Manager 9.4.1
Format
You can type awrun -h and press Enter to view a list of awrun options.
The awexe aw_run call is equivalent to awrun. For more information, see awrun - The Command Line API for
Requesting Tasks.
Example
In the example, TEST_JOB is requested on the EXPRESS Queue with the alias TEST_JOB_VIA_AWRUN.
Command Number
2006
Getting Process Flow Names from Component Run IDs
To view a parent Process Flow's name when you provide a Process Flow component's run ID, use the awexe
get_chain_name call.
Format
Example
An example is shown below.
Command Number
2007
Viewing a Queue Summary
To view a Queue summary, use the awexe q call.
Example
An example is shown below.
awexe q
Applications Manager 9.4.1
BATCH #### 7 A 50 12
EXPRESS 7 0 A 10 9
JACK 9 0 A 50 11
MONITOR #### 0 A 50 12
PRIORITY 4 0 A 40 6
QUEUE00 8 0 A 50 10
RUTH 9 0 A 50 11
Total Qs #### 7 A 12
The awexe q call returns the following columns: Queue, max threads, tasks in the Backlog, active or inactive
status, priority, and Thread Schedule sequence.
Command Number
2010
View an Agent Summary
To view an Agent summary, use the awexe node call.
Example
An example is shown below.
The awexe node call returns the following columns: Agent, status, elapsed time, Automation Engine/Agent/group,
max threads, tasks in the Backlog, running tasks, tasks on hold, aborted tasks, running scheduled tasks.
Command Number
2011
Starting or Stopping the Automation Engine
To start or stop the Applications Manager Automation Engine, use the use the awexe master command=start and
awexe master command=stop calls.
Command Number
1028
Viewing Tasks in the Backlog
To view tasks in the Backlog, use the awexe jq call.
Example
An example is shown below.
> awexe jq
65712.00 BATCH SAMPLE 01/27 15:29 HOLD PROD6
65713.00 BATCH PROMPT_EXAMPLE 01/27 15:29 STAGED_PW PROD6 JACK SAMPLE
65714.00 BATCH TEST_JOB 01/27 15:29 STAGED PROD6 JACK SAMPLE
65715.00 BATCH TEST_JOB.2A 01/27 15:29 STAGED PROD6 JACK SAMPLE
65716.00 BATCH TEST_JOB.3 01/27 15:29 STAGED_PW PROD6 JACK SAMPLE
65717.00 BATCH TEST_JOB.4 01/27 15:29 STAGED_PW PROD6 JACK SAMPLE
Applications Manager 9.4.1
The awexe jq call returns the following columns: run ID, Queue, Job/Process Flow/component, start date and time,
task status, Agent, parent Process Flow.
You can use the syntax awexe jq module=<ABC>% to return Jobs, Process Flows, or components with names or
aliases starting with the text entered as <ABC>.
Command Number
2012
Viewing Tasks in History
To view tasks in History, use the awexe jh call. You can specify a number of minutes to look back using the format
awexe jh minutes=<number of minutes>.
Examples
An example is shown below.
> awexe jh
65771.00 BATCH TEST_JOB 01/28 09:20 00:00:05 FINISHED TECH6
The awexe jh call returns the following columns; run ID, Queue, Job/Process Flow/component, finished date and
time, elapsed time, task status, requestor, parent Process Flow.
Command Number
2013
Viewing an RMI and Agent Connection Summary
To view a server and Agent connection summary, use the awexe rmi_status call.
Example
An example is shown below.
The awexe jh call returns the following columns: run ID, Queue, Job/Process Flow/component, finished date and
time, elapsed time, task status, requestor, parent Process Flow.
Command Number
2020
Viewing an Applications Manager User Report
To view a report of User logins, use the awexe show_users call.
Example
An example is shown below.
The awexe show_users call returns the following columns; User, IP address, date, time, status.
Command Number
2109
> appworx
AppWorx> h
> appworx h
The help command displays a list of command line functions. The command line functions are shown below.
Generic Commands
Idle agentname [Agent] Idle an agent or master
RESume agentname [Agent] Resume an agent or master
RUN module_name [options] [args] Request a module to run
STARtso agent(ALL) [Agent] Start Applications Manager processes
(Default=ALL)
STATus Process status list
STOPso agent(ALL) [Agent] Stop Applications Manager processes
Applications Manager 9.4.1
(Default=ALL)
User Process Listing of user soport
Watchworx start|stop Start/Stop Local WatchWorx Process
Backlog Commands
Delete jobid(s) Delete selected jobids
Kill jobid(s) Kill selected jobids
HOld jobid(s) Hold selected jobids
Edit jobid Edit a jobid and its prompts
Release jobid(s) Release from Hold selected jobids
Getvar varname Retrieve Static Subvar
Setvar varname=value Set Subvar static value
JQ Job Queue Listing
JH [HISTORY=mins] Job History Listing
Agents Agent Summary
Queue Queue Summary
Palm Commands
PQ Shortened Job Queue Listing
PH [minutes] Shortened Job History Listing
PAgents Shortened Agents Summary
Other Commands
RMi Status of Rmi Server(s)
Load filename Loads file and extracts 1st field as jobids
Can be used by:
Delete, Kill, Hold, Release. (i.e. del jobids)
! {number} Re-execute command (i.e. !12)
! {command} Pipe Host Commands (i.e. !who)
{Appworxcommand} | {command} Pipe Host Commands (i.e. jq|grep BATCH)
{Appworxcommand} > {output file} Redirect output to file (i.e. user>x.dat)
HIstory Display command history
Help Display this help screen
eXit Exit command line utility
QUIt Quit command line utility
Notice that each of the command line functions is listed beginning with one to four capital letters. These are the
only required characters for the command. So, it is okay to enter Q (or Qu, Que, or Queu if you like) for Queue.
Functions are not case sensitive, so q, qu, que, queu, and queue will work just as well.
While in command mode, you can press Enter to execute the previous command again.
Assigning Users to an Exe Range
In order for Users to use the AppWorx command line interface, they must have been assigned the correct Awexe
range. If you enter 2000-2099, the User will have access to all the AppWorx command line interface functions.
However, to change any data, they will be required to supply a User name and password.
AppWorx> i PROD-HP
Running Jobs
To run a Job, type the following:
You can type 'run' and press Enter to view a list of options. The run function is equivalent to awrun. For more
information, see awrun - The Command Line API for Requesting Tasks.
Starting and Stopping Commands
Applications Manager 9.4.1
or:
AppWorx> start
Applications Manager 9.4.1
You will be prompted with the following question. You must type 'y' for yes.
AppWorx> stop
You will be prompted with the following question. You must type 'y' for yes.
STATus
Example
AppWorx> stat
PROD1 Program Status Sleep Last Act Pid
PROD1 awcomm Running 0 5 days 4454
PROD1 agentserv Running 0 2 minutes 6774
PROD1 rmiserver Running 0 97 seconds 6865
User
Example
In this example, the User is soport.
AppWorx>user
soport 10386 10384 0 Aug 17 ? 0:00 /isa/apache/bin/httpd -d /isa/devel/soport/dev/v
soport 22401 1 0 Aug 18 ? 34:24 /isa/j2re1_3_0/bin/../bin/sparc/native_threads/java -
soport 15194 1 0 Aug 12 ? 0:04 /isa/devel/soport/dev/c/awcomm PBROWN
Watchworx start
Watchworx stop
> so_user_name=SQLOPER
> AWEXE_PASSWORD=s0pass
> export so_user_name AWEXE_PASSWORD
> echo y|appworx delete 65885.00
Delete 65885.00
Are you sure? Success jobids processed
>
Delete <run_id(s)>
Example
You have requested a command which requires a user_id and password before execution
Userid (soport)>sqloper
Password ()>
Applications Manager 9.4.1
When you delete the run_id, you will see the following message:
Kill <run_id(s)>
HOld <run_id(s)>
Example
When you put the run_id on hold, you will see the following message:
Edit <run_id>
Applications Manager will display the task details for the Job/Process Flow. You can change the task's parameters
in the Backlog before the task runs, or if it aborts or is killed.
Example
To edit general task details:
1. Issue the edit command for the run_id you wish to edit. Be sure to enter the entire run_id, including the decimal
value.
> e 3141.01
2. Enter the number for the task detail you wish to edit, or enter P to edit a prompt.
The number 2 is entered in the example below to change the task's priority.
Enter item number or P - Prompts, Q - Quit, <cr> to exit with no changes >2
5. To edit prompts, enter P as shown below. Then select a prompt number and value. Pressing Enter again takes
you back to the Detail Summary.
Enter item number or P - Prompts, Q - Quit, <cr> to exit with no changes >p
6. Edit as many task details/prompt values as you wish. When you are done editing task details, enter an S to
save.
Release <run_id(s)>
Example
This example returns the value of the Subvar #company_name.
AppWorx> G #company_name
ABC Corporation
Setvar <varname>=<value>
Example
Applications Manager 9.4.1
This example sets the value of the #company_name Substitution Variables to ABC Inc.
JQ
Example
JH
Agents
Example
AppWorx> a
Agent Status Last Act M/A Thds Bk Run Hld Abt Sch
PROD-HP Stopped 00:40:04 M 99 34 0 11 0 27
APPS Running 00:00:50 A 99 0 0 0 0 0
PROD-HP Stopped 00:40:39 A 99 34 0 11 0 27
SUN27DEV Running 00:00:23 A 99 0 0 0 0 0
ALL G 0 0 0 0 0 0
OAEGROUP G 0 0 0 0 0 0
Queue
Example
AppWorx> q
Queue Thds Bk Stat Pri Sched
BATCH 999 72 A 50 59
BURT_AND_E 1 0 A 49 1
EXPRESS 0 0 I 10 99
GIANG 1 0 A 50 1
MONITOR 99 0 A 50 99
NEWQUEUE 999 0 A 59 59
PRIORITY 1 0 A 40 1
Total Qs 99 72 A 99
PQ
Example
AppWorx> PQ
Module Status Jobid
PREDECESSOR_DEMO INITIATED 148171
QA_DAYS INITIATED 154167
TIMING INITIATED 154007
TIMING INITIATED 154214
REPORT2 QUEUE WAIT 153928
REPORT8 PRED WAIT 153945
PH
Applications Manager 9.4.1
PA
Example
AppWorx> pa
Agent Status M/A Bk Run Hld Abt Sch
SUN26X Running M 36 0 10 5 12
SUN27DEV Running A 0 0 0 2 0
SUN26X Running A 32 0 9 1 12
OAE Stopped A 0 0 0 0 0
ALL G 2 0 0 1 0
AppWorx> rmi
Host IP Session Last Activity
Master 200.1.1.50 6044522 06/20/03 15:46:06
sun26.am.com 200.1.1.50 6044522 06/20/03 15:46:06
gnguyen 200.1.1.246 0 06/20/03 14:55:17
am-rwf40zl 200.1.1.242 0 06/20/03 14:14:06
the-udddpt6jhh9 12.229.157.166 0 06/07/03 12:09:57
rtalkov-lp 4.62.176.136 0 06/07/03 10:08:29
AppWorx>
Loading a File
To load a file from AppWorx command mode, type:
Example
This example shows how the Load command can store run IDs in a file. Below the jq|grep SHIP command is
used to find all the Jobs in the Backlog whose name contains 'SKIP'. The same command is entered again, this
time with >xx at the end to redirect the output to the file xx. Next, load xx is entered to retrieve the list of run IDs.
Then del jobids is entered to delete the run_ids. A user name and password must also be provided. If you want
to use something like this in a script, you can set so_user_name and AWEXE_PASSWORD variables. For more
information, see Entering Backlog Commands.
!<command>
Example
To identify Users currently logged in:
AppWorx> !who
hi
Applications Manager 9.4.1
Example
AppWorx> hi
1 jh
2 jq
3 jq|grep INIT
4 del 682255
5 hi
!<number>
Example
user>x.dat
AWSQLP
A Program Type launches a Program Type script that supports the Program Type. In the example below, the SQLP
Program Type script launches from the sql directory. The AWSQLP Program Type script ships with Applications
Manager and can be used as the basis for creating customized Program Types to meet the needs of your
organization.
UNIX Program Type Script
Below is a listing of the UNIX SQL*Plus Program Type script that ships with Applications Manager. Line numbers
have been added for reference purposes only, and do not appear in the actual script.
001| :
| #!/bin/sh
|
| #copyright 2007 by Automic Software GmbH
005| # $Header: EXEC-SQLP,v 1.1 96/01/22 09:42:26 soport Exp $
|#
| echo PATH Is
| echo $PATH
| if [ "$DEBUG" = "YES" ]; then
010| env
| set -x
| echo "in $0"
| fi
| if [ -f $program.sql ]; then
015| err=0
| else
| echo "file $program.sql does not exist"
| exit 1
| fi
020| echo sqlp `date`
| echo $ORACLE_PATH
| echo sqlplus -s @$program A$seq_no.lis $argu
| echo "define so_outfile=A$seq_no.lis" >> $par
Applications Manager 9.4.1
Lines Description
7-8 Echoes information into the system log (in this case
showing the PATH variable).
26-31 Logs into SQL*Plus, runs the program, and captures the
output.
| echo on
| echo in %0
5 |:notdebug
|if exist %program%.sql goto exists
|echo "output file %program%.sql does not exist"
|set err=1
|goto end_of_it
10|:exists
|echo in %0
|echo plus31 -s @%program% A%seq_no%.lis %argu%
|set err=0
|echo define so_outfile=A%seq_no%.lis >> %par%
15|echo start %program% >> %par%
|echo quit >> %par%
|SET sqlplus=d:\ORANT\BIN\plus80.exe
18|echo %AW_HOME%\c\ntspawn "%sqlplus% -s %db_login%/passwd
@%PAR% A%seq_no%.lis "
19|call %AW_HOME%\c\ntspawn "%sqlplus% -s %LOGIN% @%PAR%
A%seq_no%.lis "
20|if errorlevel 1 set err=1
|if exist %file% del %file%
|if exist A%seq_no%.lis move A%seq_no%.lis %file%
|if not exist %file% echo no output from %module%
|if exist %file% call PRINTEM
25|:end_of_it
Lines Description
Lines Description
SOCOBOL
The SOCOBOL UNIX Program Type is used to run COBOL programs. COBOL programs can have three
requirements. They can:
• Require environment variables to be set for output files.
• Require environment variables to be set for other values.
• Accept command line arguments.
The SOCOBOL Program Type allows for these three requirements by accepting a special set of prompts.
The SOCOBOL Program Type, however, is not initially defined within Applications Manager. You must set up the
Program Type yourself. The parameters for setting up the Program Type are listed below.
Parameter Value
Type SOCOBOL
Param format #d
$ cat -n SOCOBOL
1
2 :
3 #!/bin/sh
4 # Created by Automic Software GmbH
5 #Copyright 2007 Automic Software GmbH
6 # $Header: EXEC-SOCOBOL,v 1.1 96/01/22 09:41:25 soport Exp $
7 #
8 # General format for prompts for cobol job
9 # Prompt
10 # 1 (t) Total number of environment Variables to be set
11 # 2 (N) Number of Env Variables with output filenames
12 # 3..N+2 variable=output_file_name(s)
13 # N+3..t+2 variable=value
14 # t+3.. Standard input lines as required
15 #
16 # You will also need to setup a new command type
17 # generally the same name as this filename
18 # don't forget extension and user #v for format
19 i=0
Applications Manager 9.4.1
The Host command entry may need to be changed for certain COBOL environments—see the note on changing
the SOCOBOL Program Type script at the end of the Program Type Script section below.
Format for SOCOBOL Job Prompts
If you create an Applications Manager Job to run a COBOL program, you should use the format for the prompts
shown below. COBOL programs will not run correctly (or at all) if the prompts are not defined correctly.
Prompt Description
the appropriate command for your COBOL environment (e.g.: runcob). You may also want to add a path. In some
cases, rstora may need to be removed completely.
Do not modify the SOCOBOL script itself because it will be overwritten when you next upgrade, eliminating any
changes you have made. Modify a copy instead. Also note that if you use a script other than SOCOBOL to run your
COBOL tasks, you will need to change the Host command entry for your SOCOBOL Program Type definition to
match your new script (see the SOCOBOL Program Type Parameters section below).
When you create a Program Type script, be sure to give Applications Manager execute privileges for the script by
issuing the chmod 700 script_name command.
Program Type Parameters
The Program Type parameters for the SOCOBOL Program Type script are listed below.
Parameter Value
Type SOCOBOL
Param format #d
You can use the Command Path field to define the subdirectory containing COBOL programs. The Command
Path entry is combined with the directory specified in the Library to provide a full path where the Program Type will
look for COBOL programs. The Command Path field is optional.
Job Prompts Example
Imagine you have a COBOL program that:
• Generates two output files whose names should be found in the environment variables OUT1 and OUT2.
• Requires three environment variables to be set (Flag1, Flag2 and Flag3).
• Requires one command line argument (a start date in dd-MMM-yy format).
The eight prompts for the Job would be defined as follows:
There is no need or requirement to fill in the Variable Name field for any of the above prompts.
$par
The $par variable in the shell script is set by Applications Manager. It is the name of the file holding information
from the Job's prompts. The $par file would look as follows for the SOCOBOL Job in this example.
5
2
OUT1=file1.out
OUT2=file2.out
Flag1=yes
Flag2=no
Flag3=yes
01-JAN-96
The SOCOBOL Program Type script uses the first two prompt values to process the subsequent prompts correctly.
These values and the order of the remaining prompts are therefore very important.
System Output
The system output file (o4841 in this case) for the example 8-prompt COBOL Job is shown below.
The information about this run of the Job is presented at the beginning of the file and the contents of the parameter
file ($par) are shown under the heading 'parameter file'. Also note the PRINTEM statements at the bottom of
the output showing the two files file1.out and file2.out (the two output filenames specified in the third and fourth
prompts) being registered as output.
Started
Process Id is 2797 on Mon Sep 23 09:56:32 EDT 1996
source SOCOBOL program /apps/am/cobol/prog1
Operator DEFAULT
application COBOL module COBOL_1 job_number 57
jobid 27627
batch_home /apps/am output /apps/am/out
rpf_options printer TEST
app_path /apps/am
file b.4841 command_dir /cobol copies 1 user SQLOPER
function LOG log run Y output required N
db_type ORACLE net_connect
parameter file
5
2
OUT1=file1.out
OUT2=file2.out
Flag1=yes
Flag2=no
Applications Manager 9.4.1
Flag3=yes
01-JAN-96
PRINTEM Mon Sep 23 09:56:35 EDT 1996
file move and stored as file1.out in /apps/am/out
No printer type specified - using ANY
PRINTEM Mon Sep 23 09:56:37 EDT 1996
file move and stored as file2.out in /apps/am/out
No printer type specified - using ANY
end of /apps/am/exec/BODY status 0
Finished on Mon Sep 23 09:56:37 EDT 1996
SHUTDOWN
The SHUTDOWN UNIX Program Type was designed to let you run backups with Applications Manager. The
Program Type shuts down Applications Manager, runs the specified program, then restarts Applications Manager.
This sequence of events is illustrated below.
The table below describes what happens at each point in time shown above.
Parameter Value
Type SUSOSHUT
Param format #d
$ cat -n SUSOSHUT
1 #copyright 1993-2006 by Automic Software GmbH
2 # $Date: 2008-05-31 15:31:22 -0700 (Sat, 31 May 2008) $ $Author: kak $ $Rev: 20676 $
3 echo In $0
4 if [ -f $AW_HOME/c/callscript ]
5 then
6 $AW_HOME/c/callscript $SQLOPER_HOME/bin/stopso all
7 else
8 $SQLOPER_HOME/bin/stopso all
9 fi
10 arg=`$SQLOPER_HOME/exec/ONELINE $par`
11 echo Switching to user
12 echo Running $SQLOPER_HOME/c/SURUN -user $program $arg
13 $SQLOPER_HOME/c/SURUN -user $program $arg
14 err=$?
15 if [ -f $AW_HOME/c/callscript ]
16 then
17 $AW_HOME/c/callscript $SQLOPER_HOME/bin/startso all
18 else
19 $SQLOPER_HOME/bin/startso all
20 fi
21 exit $err
Lines Description
14 Captures errors
Applications Manager 9.4.1
Lines Description
AWJAVA
The AWJAVA Program Type is designed to run Java applications.
UNIX Program Type Script
1 if [ -f $SQLOPER_HOME/debug/AWJAVA ]; then
2 echo Debug On
3 set -x
4 fi
5 cd $app_path
6 if [ -f CLASSPATH ]; then
7 . ./CLASSPATH
8 else
9 . CLASSPATH
10 fi
11 if [ -f $SQLOPER_HOME/debug/AWJAVA ]; then
12 echo $CLASSPATH
13 fi
14 echo java $command `$SQLOPER_HOME/exec/ONELINE $so_par`
15 java $command `$SQLOPER_HOME/exec/ONELINE $so_par`
Lines Description
• Define Applications Manager conditions that use the JMS Login you create and detail the JMS command. For
more information, see Defining JMS Messages with Conditions.
Retrieving JMS Values as Subvar Values
To retrieve JMS messages with Applications Manager, you:
• Create a JMS Login object to accept messages from other applications. For more information, see Creating
JMS Logins.
• Assign the JMS Login to the Applications Manager Automation Engine. For more information, see Assigning the
JMS Login to the Automation Engine.
• Use the following message format in the applications you wish to set Applications Manager Subvars for:
<message>
<command>setsubvar</command>
<varname>#jmsvarname</varname>
<value>value set by external process</value>
</message>
If your implementation of JMS uses a different .jar file and class name than the one Applications Manager ships
with, enter it in the JMS factory class field and put the .jar file in the web/classes directory. You will need to stop
and restart the Automation Engine.
Before starting or stopping processes, you must set the correct environment by doing the following:
1. Go to the $AW_HOME/site directory (%AW_HOME%\site for Windows).
2. For UNIX, issue the following command:
. sosite
. ./sosite
sosite
After issuing the command, you should be returned to the command prompt.
3. Stop and restart the Automation Engine with the following commands:
stopso
startso
Procedure
To send a JMS message with a condition:
1. Define a condition with SEND JMS MESSAGE as its condition action.
2. Click the Details button to define the condition details.
Applications Manager 9.4.1
Applications Manager opens a window where you can define the JMS message details shown above.
3. Fill in fields in the Jms properties box on the left side of the window.
These JMS properties, along with any JMS User properties, will define the header for the JMS message.
The fields in the Jms properties box are standard JMS properties. For more information, see your JMS
documentation.
4. Optionally add one or more custom properties in the Jms user properties box on the right side of the window.
You add a JMS user property by entering values in the Jms user properties add box and clicking Add
property.
Applications Manager adds the user property to the table above. You can edit a user property by highlighting it
in the table and updating values. You can delete a JMS user property by highlighting it and clicking Delete.
5. Enter the message body in the JMS message field at the bottom of the screen. This field accepts:
• Plain text.
• XML tags.
• Applications Manager Subvars and Replacement Values.
6. Select the JMS Login for the message.
7. Click OK to save and close the window.
To set Applications Manager Subvars, you must also use the following message format in the applications:
<message>
<command>setsubvar</command>
Applications Manager 9.4.1
<varname>#jmsvarname</varname>
<value>value set by external process</value>
</message>
All objects which start with 'SET' or with 'PROD' set|^prod (same as typing ^set.*|^prod.*)
Characters
Character Description
Character Description
Character Classes
Class Description
Class Description
Class Description
Predefined Classes
Class Description
Class Description
Boundary Matchers
Match Description
Greedy Closures
Closure Description
Reluctant Closures
Closure Description
Logical Operators
Operator Description
AB Matches A followed by B
Backreferences
Applications Manager 9.4.1
Backreference Description
The command variable uses the same format as the command line awrun format. Examples of code from within
PL*SQL are shown below. The command variable uses the same format as the command line awrun format. For
details on the awrun command variables, see awrun - The Command Line API for Requesting Tasks.
Entering the Transaction Mode in API Calls
The transaction mode (tranmode) consists of two upper-case characters. The first character is the transaction type.
For the API awop_api.awrun package, the first character A is used to add. The second character controls the error
reporting method. For the API awop_api.awrun package, the second character F is the Oracle exception created
with error code and text. It will be fully rolled back.
Passing the Requestor and Password
The following code demonstrates passing the requestor and password with each request.
declare
results number;
error_text varchar2(80);
begin
awop_api.awrun('AF',results,error_text,'TEST_JOB -u SQLOPER -z s0pass -arg 5');
commit; end;
Applications Manager 9.4.1
8 Administration Guide
The Administration Guide is a comprehensive procedures manual that covers all aspects of
Applications Manager administration.
The Administration Guide is a comprehensive procedures manual that covers all aspects of Applications Manager
administration. It is part of the complete Applications Manager documentation set which includes:
• Getting Started Guide
• Installation Guide
• User Guide
• Development Guide
• Administration Guide
• Oracle Applications Extension Guide
• PeopleSoft Extension Guide
Text Conventions
The following text conventions are used throughout this guide:
• User interface field names, menu items, and window names are written in bold.
• File names and text within scripts are written in bold.
• Variable text is written <within brackets>. In the example below <run ID number> represents the actual run ID
number of a requested Job.
If you submit a large Process Flow, the message will read, 'Task submission in progress: Run ID = <run ID
number>' until all components of the Process Flow have been placed into the Backlog.
Applications Manager 9.4.1
Port Yes The port that the SMTP server uses for SMTP communication.
Sender Yes The email ID that is configured on the SMTP server to identify the email
sender.
Applications Manager 9.4.1
The Connections window is limited to Users who have the DBA User Group. If you do not have access to it, see
your Applications Manager administrator.
Viewing the AW_CLIENT_LOGINS_REPORT
Additionally, the AW_CLIENT_LOGINS_REPORT Report object allows you to select a time period, list of Users,
and list of statuses to see who has (or is) logged into a client session. An example is shown below.
Applications Manager 9.4.1
Broadcasting Messages
You can send a message to everyone who is logged into the Applications Manager instance. To send a message,
you enter the text in the box at the bottom of the Users tab as shown below and click the Broadcast button.
Applications Manager displays the message in a Broadcast Message window shown below for all Users who are
logged into the system.
Applications Manager 9.4.1
The Connections window is limited to Users who have the DBA User Group. If you do not have access to it, see
your Applications Manager administrator.
The Agent column identifies the type of component.
• The Automation Engine is indicated by a blank in the column.
• RMI servers are indicated by the entry "RmiServer".
• Agents have their name displayed.
RMI Server Information
Applications Manager 9.4.1
In the image above, the Automation Engine is shown at the top of the table. Its session ID is 3025715. Its
corresponding RMI server (RmiServer) has the same session ID. The Automation Engine's Local Agent is named
V9AM01 and displays the same IP address as the Automation Engine's RMI server.
The last column in the table, Master, applies only to the RMI servers. If "Ok" is displayed in the column, it indicates
that the RMI server can support the Automation Engine. There are two scenarios where you might want more than
one RMI server supporting an Automation Engine:
• Failover. If the primary RMI server is unavailable, Applications Manager will automatically switch to the
secondary RMI server.
• Client load. If you have a large number of clients connecting to Applications Manager, you may wish to use a
second RMI server to handle the client transactions.
To activate an RMI server to serve the Automation Engine, double-click the entry in the table. This will toggle the
entry from "No" to "Ok". To toggle the entry back to "No", double-click it again.
Agent Information
The Agents are listed in the table for information purposes only. Each entry provides an Agent's IP address, port
number, session ID if active, and a date stamp for the last activity. This information can be useful if you are having
network communication problems. The Automation Engine column does not apply to Agents.
The window shows the name of the object, its description, the type of object, the User Group the object is assigned
to, and other information.
This information is designed primarily as a troubleshooting tool. Note the Copy button at the bottom of the window.
You can use it to copy the information to the clipboard and paste it into an email message that you would send to
Broadcom Support.
Refreshing Assigned Objects
If you feel the information in the Assigned objects window may be out of date, you can select Refresh Assigned
Objects from the View menu. This updates the information displayed in the Assigned objects window and in all
selector windows.
In the selector windows, the Refresh button performs the same function as Refresh Assigned Objects.
The directories used most often during Applications Manager operation and troubleshooting are listed below. The
directories are located in the AW_HOME directory.
Directory Contains
There are some important files in the Applications Manager home directory on a UNIX system. They are described
below.
File Description
release notes Shows the new and updated changes in the current
Applications Manager version.
For information on defining single devices, see Defining Single Output Devices.
For information on defining distribution lists, see Defining Distribution Lists.
Applications Manager 9.4.1
Output Groups
Output Groups are used to define organizational classes of Output Devices. When you define an Output Device,
you assign the Output Device to one or more Output Groups. When you assign an Output Group to a Job, output
from the Job can be sent only to the devices included in the Output Group.
Output Interfaces Objects and Interface Scripts
In Applications Manager, an Output Interface object is the interface to an Output Device. Associated with the
Output Interface object is an interface script on each Agent. The interface script builds the correctly formatted
print command that actually sends the output to the Output Device. An Output Interface can define any device
that processes output such as a printer, fax, and email. An Output Interface can be assigned to one or more
Applications Manager Output Devices.
How a Task Prints to an Output Device
The diagram below shows how output is sent from an Applications Manager task to a printer. In the Job's definition,
its output function is set to PRINT, and PRINTER_A is specified as the Output Device. In the Output Device
definition for PRINTER_A, the LP Output Interface object is assigned. The LP Output Interface specifies the LLP
interface script. The LLP interface script sends the print command to Printer A.
Troubleshooting Output Device Problems
For a table of symptoms, causes and actions for troubleshooting Output Device problems, see Troubleshooting
Output Device Problems.
Applications Manager User Groups control access to Output Devices. If you do not have access to them, see your
Applications Manager administrator.
If you want the Output Device definition to define multiple Output Devices, you can create a distribution list.
Instructions for creating a distribution list are described in Defining Distribution Lists.
Procedure
To add a new Output Device definition:
1. From the Output Devices Selector window, click New.
Applications Manager Displays the Select Type window shown below.
Applications Manager 9.4.1
For example, if a distribution list is selected for a Job, that Job's output will be printed to all Output Devices listed
in the distribution list, even if the Job's requestor does not normally have access to one or more of the Output
Devices.
If you create a distribution list for an Output Device definition, you cannot assign an Output Interface to the
definition. Instead, each Output Device added to the distribution list uses its own Output Interface definition. This
allows the distribution list to include a variety of different Output Devices. If a distribution list is selected in the
Submit window, the LOG, PRINT, or STORE output function is overridden by the contents of the distribution list,
since the distribution list may contain Output Devices with different output function settings.
Procedure
To create a distribution list:
1. From the Output Devices Selector window, click New.
Applications Manager displays the Select Type window shown below.
Applications Manager User Groups control access to Output Groups. If you do not have access to them, see your
Applications Manager administrator.
Output Groups are different from Output Device definitions. Output Groups are used to group similar Output
Devices together into useful sets-they are basically a classification mechanism. Single Output Device definitions
contain the specific Output Device attributes for a single Output Device. A distribution list is a special case printer
definition that contains the Output Device attributes for several Output Devices.
Applications Manager ships with the ANY and SYSOUT Output Groups already defined. Applications Manager
will use the ANY Output Group as a default if no other Output Group is defined. You will probably want to define
additional Output Groups based on security issues (for example: a payroll check printer), printer capabilities (for
example: line, dot matrix, laser), location (for example: first floor, accounting) or some other useful classification.
Procedure
To add a new Output Group:
1. From the Output Groups Selector window, click New.
Applications Manager opens the Output Groups window shown above.
2. Enter a name and description for the Output Group.
The name can be up to 25 characters long. The description can be up to 30 characters long.
No Output Devices will be displayed in the Output Devices list when you first create the Output Group.
3. To accept the information for the new Output Group, click OK.
Assigning Output Groups to an Output Device
You assign Output Groups to single Output Devices and distribution lists using the Output Devices window shown
below. When an Output Device has an Output Group assigned to it, it is included the Output Devices box for that
Output Group. There is one Output Device assigned to the Output Group in this example.
Applications Manager 9.4.1
Applications Manager comes with an lp Output Interface defined for the standard UNIX lp command and the
Windows print command. An LPP interface script supports the lp Output Interface. The script is located in the
exec directory. The Output Interface must pass the correct information to the interface script to enable it to run the
appropriate command. For more information on the lp Output Interface, see LP Print Output Interface.
Applications Manager User Groups control access to Output Interfaces. If you do not have access to them, see
your Applications Manager administrator.
Procedure
To add a new Output Interface:
1. Make sure that you can print from the command line with the settings you intend on defining for the Output
Interface.
2. From the Output Interfaces Selector window, click New.
Applications Manager opens the Output Interfaces window shown above.
3. Complete the fields using the information below.
• Name
Name for the Output Interface. We recommend using the name of the printing command, for example lp for
the lp UNIX command.
• Command
The command that will be sent as the first element in the interface command. Each Output Interface
command calls a shell script in the exec directory of each Agent you run/print tasks from.
Applications Manager 9.4.1
If the shell script does not exist on any or all of the Agents, you must create it. The LPP shell script for the
default lp Output Interface is shown below.
file=$1
shift
eval "lp $* $file"
This shell script takes the information passed to it by Applications Manager and builds an lp command with
the correct syntax (in this case, it reads the file name as the first argument and moves it to the end of the
UNIX lp command).
Be sure to make your scripts executable.
• Title
Passes a variable to the shell script for the Output Interface; often used to add a title to the banner page of
the printout. In the image above, Applications Manager substitutes the Applications Manager requestor name
for the variable " '%USR%' ".
• Space character
The character you would like to use as a placeholder for the space character. Instead of using the spacebar
on your computer, type the character in this field. The default is the '#' character.
• Copies
Specifies the number of copies to print when you submit a Job with the Submit window. Enter the
appropriate prep value character sequence in the Copies field. For UNIX lp, this is '-n'. If you do not enter a
flag in this field, any number entered into the Copies field in the Submit window is ignored.
• Static Options
Fields 1-3 are used to define parameters for a Job. These static option labels are displayed on the Output
Devices window. In the image above, the Dest, Form, and Queue options are entered.
The fields to the right of the 1-3 fields allow you to specify the format of each static option. If you leave these
fields blank, they will not populate their respective fields on the Output Devices window and Applications
Manager will not insert their flag value in the command.
• Output option
Allows you to request a specific variable, setting, address, or orientation. Determined by the output options
defined for the Output Interface. For information on defining output options, see Adding Output Options to
Output Interface Definitions.
• Command line
This field is read-only. As you fill in the fields, it displays the actual line executed by the Agent.
Using Environment Variables and Replacement Values
You can use Environment Variables and Applications Manager Replacement Values in Output Interface and printer
definitions. For example, the %USR% Environment Variable is used in the Title field for many Output Interfaces.
Applications Manager Replacement Values, such as {REQUESTOR} might be used in a To field defined for an
email Output Interface.
The list below shows the Applications Manager replacement variables and environment values that can be used in
Output Interface and Output Device definitions:
'{REQUESTOR}' - requestor
'%USR%' - requestor
'{SO_USER_NAME}' - requestor
'{SO_PRINTER}' - printer
'{SO_OUT_FUNCTION}' - out_function
'{SO_COPIES}' - copies
'{SO_MODULE}' - job
'{SO_OPERATOR}' - operator
Applications Manager 9.4.1
'{SO_APPLICATION}' - application
'{SO_CHAIN_NAME}' - chain_name
'{SO_SEQ_NO}' - seq_no
'{SO_RPF_OPTIONS}' - rpf_options
'{SO_JOBID}' - jobid
'{SO_REF1}' - ref1
'{USR}' - requestor
'{REQUESTOR}' - requestor
'%usr%' - requestor
'{so_user_name}' - requestor
'{so_printer}' - printer
'{so_out_function}' - out_function
'{so_copies}' - copies
'{so_module}' - job
'{so_operator}' - operator
'{so_application}' - application
'{so_chain_name}' - chain_name
'{so_seq_no}' - seq_no
'{so_rpf_options}' - rpf_options
'{so_jobid}' - jobid
'{so_ref1}' - ref1
'{usr}' - requestor
'{requestor}' - requestor
An alternate way of passing a variable to the title for the Output Interface is to edit the interface script to something
like the following:
file=$1
shift
eval "lp $* -t 'a $jobid b $module' $file"
exit $?
The option -t allows you to use any Environment Variable. The down side to this is that it will only work during the
print from a task run. Then environment will be set up for the Replacement Values such as run_id and chain_id. If
you do a print from the File Viewer, those Replacement Values do not have a value.
The Output Option field only appears in other Applications Manager windows if an output option has been defined
for the Output Interface assigned to the Output Device.
file=$1
Applications Manager 9.4.1
shift
eval "lp $* $file"
exit $?
LPP.BAT script:
@echo off
set file=%1
shift
print %1 %2 %3 %4 %5 %6 %file%
The scripts take arguments passed by the Applications Manager Output Interface object and build the appropriate
print command. The first argument passed is the file to be printed, so the scripts move the file name to the end of
the command line so it conforms to the syntax of the lp and lpp commands.
Arguments Determined by Output Device Definition
The arguments sent to the LPP interface script originate from the Output Device definition in Applications Manager.
The image below shows the definition for an Output Device called TEST.
Applications Manager 9.4.1
In the example above, the lp Output Interface is assigned to the Output Device. The Output Interface (as shown
below) defines the optional fields Dest, Form, and Queue, as well as basic command design.
The Output Interface Command line field shows that the LPP interface script runs using the following arguments:
• <file>: the output file
<copies>: number of copies
<%USR%>: the requestor name
Applications Manager 9.4.1
The first argument in the command line is always the file name. The command line can include four additional
arguments (in addition to the number of copies and a title string). You can specify the format for the arguments in
the Output Interface command.
The first of the four possible arguments is known as the output option. It's specified in the Output Option group
box You can create a drop down, fill-in list box or free text field. In the image below, the values 'Landscape' and
'Portrait' are part of a drop down list with the value 'Portrait' set as the default value. The output option argument is
represented in the command line by the <option text> entry.
Applications Manager 9.4.1
The output option allows users to dynamically modify one of the Output Interface arguments. This feature can
eliminate the need to create two Output Device definitions for each printer in your network, for example one
portrait and one landscape. Instead, you can create a single Output Interface with a portrait/landscape option. An
Applications Manager User can select the appropriate option when they select the Output Device.
Notice that the three arguments shown in the Static options group box in the image above are named Dest,
Form, and Queue, and that the flags for each appear in the Output Interface Command line shown at the bottom of
the window.
Specifying the Arguments for the lp Output Interface
The (partial) syntax for the UNIX lp command is as follows:
The prep values used by each argument and value are listed below.
Applications Manager 9.4.1
-d <dest> #-d#
-f <form-name> #-f#
-q <queue> #-q#
-n <copies> #-n#
-t <title> #-t#
To minimize the work that has to be done by the LPP interface script, the arguments specified in the Output
Interface definition should closely match the syntax of the lp command.
Notice that each argument in the Output Interface requires a flag in its Format field, (in Windows, referred to as a
switch). After each flag is an optional string or value appropriate to the argument. Include spaces by inserting the
designated Space character field (# in these examples). For the lp command, each flag begins and ends with a
space.
Emailing Output
Applications Manager ships with an email Output Interface object and an Output Device both named AW_EMAIL.
You can use the AW_EMAIL Output Device to send email on any supported operating system.
Setting Up the AW_EMAIL Output Interface
In the AW_EMAIL Output Interface object definition (as shown below), add any email addresses you want Users
to be able to select as output options to the Option List. You can add individual email addresses using the Add
button, or select email addresses specified in for Applications Manager Users with the Select button.
Applications Manager 9.4.1
Do not copy the AW_EMAIL Output Interface. It will only work when named AW_EMAIL.
Setting Up the AW_EMAIL Output Device
In the AW_EMAIL Output Device object definition, optionally select values for the following fields:
• Output Option
A default email address.
• Subject
The subject for the email.
• From
A required valid email address that emails will say they are from. You can enter a static value or you can use the
Replacement Value {email} to pick up the Users as requestors email address.
• Attach, ZIP, PDF, In Body
Pick an option to either send the output file as an attachment, include it in an attached zip file, attach it as a PDF
file, or include it in the message body.
Applications Manager 9.4.1
Remember, for a task to send output to any Output Device including an email address, its output function must be
set to PRINT.
If there is an error printing to the AW_EMAIL Output Device, Applications Manager will write error messages to the
task's comment (not its task log file).
Specifying Email Body Text with the AW_EMAIL Message Template
When output files are attached to an email, the task's run_id Replacement Value will be entered as the email body.
To use custom text as the email body, create a Message Template named AW_EMAIL. You don't need to assign
the AW_EMAIL Message Template to the Job. Message Templates can include Replacement Values and Subvars.
A sample Message Template is shown below.
Applications Manager 9.4.1
Faxing Output
You can create a fax Output Interface that has arguments for file name, fax number, sender, and recipient.
In addition to printing and email, you can also send output to a fax. To send output to a fax, a fax modem must be
set up as a UNIX device and be accessible from the command line.
The command for faxing output might be sendfax with the following syntax:
KIKI: The Title field is used to capture the name of the requestor and add it to the fax as the sender.
Output Interface Script
The Output Interface script for the fax Output Interface might look like the following:
file=$1
number=$2
recipient=$3
organization=$4
sender=$5
eval "sendfax $number $file $sender $recipient $organization"
An example fax Output Device definition is shown below. The fax will go to the Technical Support group at ABC
Company.
Printing to most Output Devices is The Inactive radio button is selected Make sure the Active radio button is
successful. However, one or more in the Output Device's Auto Output selected in the Output Device's Auto
devices do not print, and don't give Options box. Output Options box.
any error messages.
The interface script assigned to the 1. Verify that the interface script
Output Device's Output Interface is has execute permissions for
not defined correctly. Applications Manager.
2. After the interface script to
echo its command line to a log
file rather than executing the
command.
For example changeeval "lp
$* $file" toecho "lp $* $file" >
$AW_HOME/exec/LPP.log.
3. Look at the log file (for example,
LPP.log) to check that the syntax
of the command is correct.
4. Execute the log file to see if it
prints the document.
If it prints, then the problem may
be with Applications Manager.
Call Broadcom Support.
If the file does not print, then the
problem is with your system.
Output files are not being created. Permissions on the output directory Verify that Applications Manager
may not be set correctly. has write permission in the output
directory.
New files cannot be written to the Verify that Applications Manager can
output directory because: write a file to the output directory.
Free some disk space or clean out
• There is no free disk space
unneeded files as necessary.
• There are too many files already
in the directory.
The task failed before it could Check the Backlog or History to see
generate any output. if the task aborted. Determine why
the task aborted.
Output files can be viewed from the The output was generated with an To view the output, query the Output
Explorer window, but they do not output function of PRINT or STORE. window for status codes of PRINT
appear on the Output window. and/or STORE.
To make the output files viewable
by default on the Output window,
set the output function for the Job to
LOG.
Output Interface's (spooler's) print command works from the command line. Check the configuration settings before
getting debug.
To turn on printing debug, create the following 0-byte files in the debug directory (notice that here AWMAIL and
SYS_PRINT are listed to cover both AWMAIL printing problems and system printing problems):
• PRINTEM
• PRINTEM2
• AWMAIL
• SYS_PRINT
Then run the task and look for a awprint*log file in the log directory.
Defining Users
When you add a User to Applications Manager, you define the User's name, password, Login group, maintenance
User Group, and default output directory. You can assign Applications Manager Users specific options such as
View Other Users' Output for the Output window. For more information on Users, see Defining Users.
Defining User Groups
You control access to Applications Manager windows and objects using User Groups. Think of User Groups as
containers to which you add objects and Users. Users have access to all objects with which they share a container.
Users and other Applications Manager objects can be placed in more than one container. You can further restrict
access by designating Edit authorization to some User Groups and not to others. The number of objects and Users
you can assign to a User Group is unlimited. Objects and Users can be assigned to more than one User Group.
Users have access to all the objects in all the User Groups to which they are assigned. For more information on
User Groups, see Defining User Groups.
Defining Logins
Use an Applications Manager Login to give Users access to a database, application, or host without their having
to know a password. The Login object includes a name, password, Login type, and other Login-specific options.
Login passwords are encrypted using AES (Advanced Encryption Standard also known as Rijndael, which is a
block cipher adopted as an encryption standard by the US government) instead of a proprietary algorithm. After
you create a Login, other Users can assign the Login to Jobs and Process Flow components. For information
on defining Database Logins, see Defining Database Logins. For information on defining Host Logins, see the
Applications Manager 9.4.1
Development Guide. For information on specific Application Login types, see your related Applications Manager
interface or extension documentation.
Defining Users
User objects control access to Applications Manager. They:
• Allow users to log into the Applications Manager client.
• Specify settings and User Options while the User is logged into an Applications Manager client session.
• Specify settings and User Options when the User is specified as the requestor for an ad hoc request or in a
schedule.
To edit or delete existing Users, you must have the Select Requestors User Option and the necessary User Group
access. If you do not have access to them, see your Applications Manager administrator.
Procedure
To add a new User:
1. From the Users Selector window, click New.
Applications Manager opens the Users window shown below.
Warning: While special characters are allowed in these fields, they can cause Jobs to go into
a Launch Error status, unless the values are surrounded by quotes. The syntax for the quote
characters differs depending on your operating system. Therefore, using special characters in these
fields is done at your own risk.
• Active
Designates the User as active or inactive. An inactive User cannot log in to Applications Manager. However,
scheduled tasks can run with an inactive User in their Requestor field.
• LDAP Authorization
Applications Manager passes the User to an LDAP server for authentication when this User logs into
Applications Manager. With LDAP authorization, the User's password is stored on the LDAP server instead
of in the Applications Manager database (the Password field on this window is still required when this box
is checked, even though it is not used). If the LDAP server successfully verifies the User name, it returns an
authentication allowing the User to log into Applications Manager.
To use LDAP authorization for an Applications Manager User:
• A User must exist on the LDAP server with the same name as this Applications Manager User.
• The LDAP settings must be correctly specified for the Automation Engine.
For more information on LDAP settings for the Automation Engine, see Setting Automation Engine Options.
• Password
The case sensitive password for the User. Entry can be 30 characters long. To increase User security you
can add User audits. User audits enforce rules for selecting User passwords. For more information, see
Adding User Password Audits.
• Expire interval
The number of days until the User's password will expire (forcing them to specify a new one). You can set the
expire interval to 0 and the Login password will not expire in the future.
• Last modified
This non-edit field displays the date and time the password was last changed.
• Awexe range
Correlates to a range of options listed in the awserver_sql.dat file located in the data directory. Users will
have access to the functions assigned to them from the command line. Ranges are listed below:
• 1000-1999: Used for Applications Manager background processes.
• 2000-2999: Utilities for the general User.
• 3000-4999: Reserved for consulting.
• 5000-9999: Used for custom definitions.
If you enter 2000-2099, the User will have access to all the Applications Manager command line interface
functions. However to change any data, they will be required to supply an Applications Manager user name
and password. For more information on the command line interface, see the Development Guide.
The awexe range can be a comma separated list of multiple ranges.
For example: 1000-1999,3000-3999
Users assigned to a Remote Agent require an awexe range of 1000-9999 for the Agent to start. For more
information on assigning a User to an Agent, see Defining Remote Agents.
• Login
Applications Manager uses this field to specify the database or host Login for the User. This Login is only
used when Jobs have User's Login selected on their Job's Execution Options tab.
• Maintenance User Group
This option lets you specify a User Group that will automatically be assigned to all objects created by the
User. To select a User Group from the drop-down list, it must be assigned to the User. For more information,
see Assigning Objects to a User Group.
With the objects and the User assigned to the same User Group, the User can edit the objects he creates.
If you do not assign a maintenance User Group to a User, and the User creates an object such as a Job or
Process Flow, he will not be able to edit the object after he creates it.
Applications Manager 9.4.1
When an object is assigned to a User's maintenance User Group, that User cannot remove the object from
that User Group. If you need to remove an object from a User's maintenance User Group, you must be
logged in as a different User.
Whenever a User creates a new object, the object is automatically assigned to the DBA User Group even if
the User does not have DBA authority. This ensures that the Applications Manager administrator can get to
the object to edit or delete it.
• Output Device
This Output Device will be used for ad hoc requests under this User's name. The Output Device must be
included in an Output Group assigned to the Job or Process Flow. This setting has no effect on scheduled
tasks.
• Output Option
Sets a specific variable, setting, address, or orientation for the Output Device. This field appears only when
an auto output option has been defined for the selected Output Device.
• Output Directory
Applications Manager normally sends output to the directory specified for the Agent. Entering a directory in
this field overrides the Agent directory and the Job directory. This field may be up to 32 characters long. If
you enter a directory here, be sure it exists and that Applications Manager has read/write permissions to it.
You can use Substitution Variables in this field.
If an output directory is specified for both the Job and the User, the output directory of the User will override
the Job setting.
• Email
The User's email address. This value can be retrieved for a User as a requestor using the {email}
Replacement Value.
• Fax
The User's fax number. This value can be resolved for a User as a requesto using the {fax_no} Replacement
Value.
• Phone
The User's telephone number. This value can be retrieved for a User as a requesto using the {phone_no}
Replacement Value.
• Text Message Email
The User's text message email address. This value can be retrieved for a User as a requesto using the
{text_msg} Replacement Value.
Automation Engine Options That Affect Applications Manager Users
The settings for the following Automation Engine options affect all Applications Manager Users:
• Disable user after 3 consecutive failed login attempts: Unchecks the Active box for a User if they enter the
wrong password three consecutive times when logging into the Applications Manager client.
• Force password change on new users: Forces Users to change their password the first time they log into
Applications Manager.
• Force password to contain both alpha and numeric characters: Forces Users to include both alpha and
numeric characters in their User password.
• Require password length of 6 characters: Forces Users to include at least six characters in their password.
For information on setting Automation Engine options, see Setting Automation Engine Options.
When you initially install Applications Manager, the script automatically creates the following Applications Manager
Users.
• SQLOPER (the default User), Applications Manager automatically assigns several User Options to this Login.
• A User named after the Login you are using to install Applications Manager. This User will have no default User
Options.
Assigning Options to a User
To assign options to a User:
1. From the Options tab of the Users window, select the values you want to use.
• Select Requestors
Allows the User to:
• Select all currently defined Users from the Requestor list box on the on the Requests window.
• Select all currently defined Users from the Requestor list box on the Schedule tab for Jobs and Process
Flows.
• Edit and delete User definitions (if the User has the necessary User Group access).
• Query for Users as requestors for History Queries. To query for requestors, you must have the Users you
are querying for in a User Group with Edit authority.
• Edit Other Users' Tasks
Allows the User to:
• Take actions (KILL, DELETE, etc.) on tasks in the Backlog run by other Users. To take an action on a
task, Users also need the task's Job/Process Flow definition in one of their User Groups (with or without
Edit authorization).
• Edit tasks in the Backlog run by other Users. To edit all the details for tasks in the Backlog, Users also
need access to the objects assigned to the Job/Process Flow.
• View all tasks in History, regardless of who submitted them.
• Create Procedure SubVars
Allows the User to use database procedures when defining Substitution Variables.
• FTP Output Files
Applications Manager 9.4.1
When assigned, the User will have access to the File Transfer option when printing from the File Viewer
window.
• Hide Files on the Output Window
When assigned, the User will have access to the Hide button on the Output window.
• Show Read-Only Prompts
When assigned, the User will be shown read-only prompts on the Submit and Task Details windows.
Without this option, prompts without Allow Changes set will be read-only.
• Take Actions on Agents
Allows the User to start, stop, idle, resume, or reset the Automation Engine or any Agent from the Explorer
window. The User does not need User Group access to the Agents.
• Set Task Name Suffixes
Allows the User to add a suffix to Job/Process Flow names when requesting them. This will prevent the
requests from satisfying any predecessors since the name is changed.
• Receive RmiServer Error Broadcasts
When this User is logged into Applications Manager, any RMI errors will be displayed in a pop-up window as
they occur. Additionally, if any RMI errors occurred since the last time the RMI server was started, the last ten
errors will be displayed in a pop-up window each time the User logs on.
If you have the DBA User Group, you can clear the RMI errors without stopping the RMI server by selecting
Clear RMI Errors from the View menu on the Applications Manager Desktop.
• Select Queues For Requests
The User can select a different Queue when submitting tasks on an ad hoc basis.
• View SYSOUT Device Output Files
Displays output that is assigned to the SYSOUT Output Device on the Output window if the User does not
have the View Other Users' Output User Option described below.
• View Other Users' Tasks
Allows the User to view all tasks in the Backlog and History, but not edit them.
• View Other Users' Output
Output from all Users will be listed in the Output window for this User.
2. To accept the values, click OK.
Assigning Users to User Options
In additions to being part of User objects, User Options are a special object type that you can add to User Groups
like any other object to give all Users in the User Group those User Options. You cannot add, edit, or delete User
Option objects like other Applications Manager objects.
The language you select from the Language drop-down list determines the default language for all Users that
have 'Default' selected in this field. The User can override the default language when logging into the Applications
Manager client. In the image above, the default language is English.
Setting Custom Defaults
Once you create the DEFAULT _USER, you can log into Applications Manager as DEFAULT_USER and customize
table displays and status colors as explained in the User Guide. Each setting specified for the DEFAULT _USER is
applied to any User who does not select a different option for that setting.
For example, if you select the color pink to represent tasks in an INACTIVE status, but a User selects the color
blue, INACTIVE tasks would be displayed in blue for that User, but they would be pink for all Users who have not
selected a color.
Setting Default Date/Time Formats
In the Explorer window, Applications Manager displays task start and end times, as well as virtual workday and
database times, and refresh time. As the Applications Manager administrator, you can control the format of these
times by editing the Options.properties file.
The location for the Options.properties file is:
UNIX:
$AW_HOME/web/classes
Applications Manager 9.4.1
Windows:
%AW_HOME%\web\classes
The section of the file you edit is shown below in bold text:
# Date formats
#
# j: Java / db: Database
# Macro: larger time segments / Micro: small time segments
# Ex: Java 'MM-dd-yyyy' == Oracle 'mm-dd-yyyy'
jDateFormatMacro=MM-dd-yyyy
jDateFormatMicro=HH:mm:ss z
Applications Manager will display the time zone when a z is included in the jDateFormatMicro line as shown
above.
custom_password_audit
(:new.so_user_name,:new.so_db_passwd,:new.so_passwd_chg);
You can add audits to the User passwords using the custom_password_audits.sql file in the sql directory.
The custom_password_audits.sql script that comes by default in the sql directory does not perform any audit
functions. To implement audit functions do the following:
• Copy the unwrapped custom_password_audits.example file in the sql directory to
custom_password_audits.sql.
• Modify the custom_password_audits.sql file as desired.
• Log into SQL*Plus as the Applications Manager Oracle user and execute the custom_password_audits.sql
script.
Since custom_password_audits.sql is a user-customizable script, it will not get overwritten on upgrades. You will
get a new custom_password_audits.example file when upgrading, but not a custom_password_audits.sql file.
Applications Manager 9.4.1
<<no_edits>>
null;
END;
/
Note that this example doesn't actually do any checks because of the goto no_edits; line shown is bold above. To
do anything, that line would have to be removed or commented out.
Applications Manager 9.4.1
After replacing the procedure, either run awinstall and choose the recreate triggers install option (this can be done
with the back end running), or recompile the trigger manually with this:
• Execute so_add_user for each Applications Manager User you wish to add. Be sure to commit afterward.
These Users will have no User Options assigned to them. To create multiple similar Users with the same User
Options, create one User and use the Copy feature for the others.
Users and other Applications Manager objects can be placed in more than one container. You can further restrict
access by designating Edit authorization to some User Groups and not to others.
Organizing User Groups
User Groups give you unlimited flexibility in assigning access to Applications Manager objects. However, you may
want to start with some standard User Groups until you have worked with Applications Manager and have had time
to think through a more elaborate set of User Groups. The top row in the image below illustrates three typical User
Groups: programmer, operator, and end-user.
The image above also shows two additional programmer User Groups: edit and non-edit. The two User Groups
make it possible to give programmers read-only access to some objects, and edit access to other objects.
The programmers would be assigned to both User Groups. For example, you might give programmers read-only
access to:
• Objects that ship with the product (for example: system Jobs and Process Flows).
• Objects that might be created by an Applications Manager administrator (for example: Output Devices).
• Objects that might be created by a database administrator (for example: Logins).
• Certain objects such as Queues (to give access to the Explorer window).
On the other hand, you would give programmers edit access to the Jobs and Process Flows they create.
By having two User Groups, you have the flexibility to give a group of Users the access they require to accomplish
their Job. You would most likely want an edit and non-edit User Group for operators as well. End-users may only
require a single non-edit User Group because they would not be creating objects.
If you assign an object to an edit User Group and a non-edit User Group, the edit User Group will take precedence
and the User will be able to edit the object.
User Group Access not Inherited
User Group access is not inherited when you assign one User Group to another User Group. That means if you
assign USER_GROUP_A to USER_GROUP_B, and assign a User to USER_GROUP_B, the User will not have
access to the object in USER_GROUP_A.
Procedure
To add a User Group:
1. From the User Groups Selector window, click New.
Applications Manager opens the User Groups window.
Applications Manager 9.4.1
Procedure
Applications Manager 9.4.1
We highly recommend that you change the default password of the SQLOPER User, otherwise anyone can log
in as that User and have access to all the Applications Manager windows. Just make sure that your Applications
Manager administrators know the current password.
Adding Objects
User Authorities for Applications Manager objects must be assigned to an edit User Group if you want the Users
who are also assigned to that User Group to be able to add those objects to Applications Manager. For example,
Users that have the Jobs User Authority in an edit User Group will be able to add Jobs to Applications Manager. An
edit User Group (a User Group with the Edit box checked) is shown below.
Applications Manager 9.4.1
Procedure
To assign User Groups to an object:
1. From any object's definition window select the User Groups tab
In the image above the User Groups tab is selected for a Queue.
2. Select the User Groups you want to assign to the object.
Removing Objects from a User's Maintenance User Group
When an object is assigned to a User's Maintenance user group, that User cannot remove the object from that
User Group. If you need to remove an object from a User's maintenance User Group, you must be logged in as a
different User. For more information on Users and maintenance User Groups, see Defining Users.
Add new Jobs and Process Flows to Applications One or more User Groups with Edit authorization
Manager. including the Jobs and Process Flows User Authorities.
One of these User Groups should be their maintenance
User Group.
One or more User Groups with or without Edit
authorization including all the objects that they will
assign to the Jobs and Process Flows they will add.
Applications Manager 9.4.1
View, edit, and delete select Job and Process Flow One or more User Groups with Edit authorization
definitions. including the Jobs and Process Flows they can edit and
delete. One or more User Groups with or without Edit
authorization including:
• The Jobs and Process Flows User Authorities.
• If Jobs will be created from an auxiliary window
for an Agent type such as OAE or PeopleSoft, the
Agents User Authority and the Agent object.
• Any objects assigned to the Jobs and Process Flows
that you want them to be able to select.
If a supporting object is selected in a Job or Process
Flow's field, and a User does not have access to
the supporting object, that field will be grayed out.
For example, assume the AWSQLP Program Type
is assigned to TEST_JOB. A User named Pat has
TEST_JOB in an edit User Group, but he doesn't have
the AWSQLP Program Type in any User Groups. Pat
can edit TEST_JOB, but he cannot change its Program
Type, because the field is grayed out for him (showing
AWSQLP as its selection).
View select Job and Process Flow definitions without One or more User Groups without Edit authorization
the ability to edit them or add new Jobs. including:
• The Jobs and Process Flows User Authorities.
• Jobs and Process Flows that these Users can view.
Additionally, these Users would need to not be assigned
to any User Groups with Edit authorization that includes
the items listed above.
Assign Jobs and Process Flows as Process Flow One or more User Groups with or without Edit
components. authorization including the Jobs and Process Flows
they can assign to Process Flows.
One or more User Groups with Edit authorization
including the Process Flows User Authority.
Request Jobs and Process Flows. One or more User Groups with or without Edit
authorization including:
• The Jobs and Process Flows they can request.
• The Requests User Authority.
Each of the Jobs and Process Flows that they can
request needs to have the Request or the Both Job/
Process Flow option checked in one or more User
Groups.
Applications Manager 9.4.1
View Job output. One or more User Groups with or without Edit
authorization, including:
• The Explorer or Output User Authority.
Each of the Jobs that they can view output for needs to
have the Output or the Both Job/Process Flow option
checked in one or more User Groups.
To view output on the Output window for tasks run by
other Users, they will also need the View Other Users'
Output User Option.
To view details in Explorer for tasks run by other Users,
they will also need the View Other Users' Tasks User
Option.
View task details in the Backlog without the ability to One or more User Groups with or without Edit
edit the task details. authorization, including the Explorer User Authority.
To view details for tasks run by other Users, they will
also need the View Other Users' Tasks User Option.
Edit tasks in the Backlog One or more User Groups with or without Edit
authorization, including the Explorer User Authority.
To edit tasks run by other Users, they will also need the
Edit Other Users' Tasks User Option.
Take actions on tasks in the Backlog One or more User Groups with Edit authorization,
including the Explorer User Authority.
Add new objects to Applications Manager. One or more User Groups with Edit authorization
including the User Authority for each type of object you
want the Users to be able to add.
One of these User Groups should be their maintenance
User Group.
One or more User Groups with or without Edit
authorization including all the objects that they will
assign to the objects they will add.
Applications Manager 9.4.1
View, edit, and delete select object definitions. One or more User Groups with Edit authorization
including the objects they can edit and delete.
One or more User Groups with or without Edit
authorization including:
• The User Authorities for each type of object you
want them to be able to edit and delete.
• All the supporting objects that are assigned to the
objects that you want them to be able to select.
If a supporting object is selected in another object's
field, and a User does not have access to the
supporting object, that field will be grayed out. For
example, assume the MONITOR Thread Schedule
is assigned to the BATCH Queue. A User named Pat
has the BATCH Queue in an edit User Group, but she
doesn't have the MONITOR Thread Schedule in any
User Groups. Pat can edit the BATCH Queue, but she
cannot change its Thread Schedule, because the field is
grayed out for her (showing MONITOR as its selection).
View select object definitions without the ability to edit One or more User Groups without Edit authorization
them or add new objects. including:
• The User Authorities of each object type you want
them to view.
• The objects you want these Users to view.
Additionally, these Users would need to not be assigned
to any User Groups with Edit authorization that includes
the items listed above.
Assign objects to other objects. One or more User Groups with or without Edit
authorization including the objects they can assign to
other objects.
One or more User Groups with Edit authorization
including:
• The User Authorities of each object type they will be
adding the objects to.
• The objects they will be adding these objects to.
The User Group with Edit authorization would include objects you want the User to be able to edit. For example,
you might include the Jobs User Authority and several Jobs that programmers use. This would allow the
programmers to edit some existing Jobs, and create new ones. The User Group with Edit authorization would also
be assigned as the Maintenance User Group for the User. This would let the programmers edit any of the Jobs
they create.
The User Group without Edit authorization would include objects you want the User to view, but not edit. Using the
programmer User Group as an example, you would include the Jobs you want the programmer to view.
• Agent Groups
• Queues
• Logins
• Output Devices
• Agents
• Output Groups
Next, you would assign the existing objects that you wish to allow these Users to view and assign to other
objects. For example, a programmer will need to assign an Agent to a Job to complete the Job definition, but the
programmer does not have to create or edit Agents. Creating and editing Agents will probably be done by the
Applications Manager administrator.
Creating Programmer Users
You will need to create an Applications Manager User for each programmer. Once you create the Users,
you assign User Groups to them. In this example, you would assign the PROGRAMMER_EDIT and
PROGRAMMER_NO_EDIT User Groups to each User. The edit User Group which the programmers are assigned
to should be selected as the maintenance User Group for the Users. In this example, the maintenance User Group
will be PROGRAMMER_EDIT.
Next, you will assign User Options to each User. Sample User Options for programmers are listed below:
• Select Requestors
• Edit Other Users' Tasks
• Create Procedure SubVars
• Take Actions on Agents
• Set Task Name Suffixes
• Select Queues For Requests
• View Other Users' Output
• Receive RmiServer Error Broadcasts
For more information on User Options, see Setting User Options.
with that User Authority). Sample User Authorities that you may wish to assign to a non-edit User Group for your
operators include Jobs, Process Flows, and Reports. Next, you would assign all Jobs and Process Flows.
Creating Operator Users
You will need to create an Applications Manager User for each operator. Once you create the Users, you assign
User Groups to them. In this example, you would assign the OPERATOR_EDIT and OPERATOR_NO_EDIT
User Groups to each User. The edit User Group which the operators are assigned to should be selected as the
maintenance User Group for the Users. In this example, the maintenance User Group will be OPERATOR_EDIT.
Next, you assign User Options to each User. Sample User Options for operators are listed below:
• Edit Other Users' Tasks
• Take Actions on Agents
• Set Task Name Suffixes
• Select Queues For Requests
• View Other Users' Output
• Receive RmiServer Error Broadcasts
For more information on User Options, see Setting User Options.
• The Banner Rapid Automation Agent for the Automic Web Interface Documentation
• All other Rapid Automation Documentation
Creating an Oracle Database Login
The procedure for creating Logins is different for each Login type. This example describes how to add an Oracle
Database Login:
1. From the Logins Selector window, click New.
Applications Manager opens the Select Login Type window shown below.
both use the same Login name, add '@sun1' and '@dg1' to the Login names in order to distinguish them
from one another: sqloper@sun1 and sqloper@dg1.
• Type
Specifies the type of Login that was selected on the Select Login Type window. ORACLE will be displayed
for Oracle Logins.
• Password
The password.
Warning: You cannot edit the password for the Oracle Database Login created when you installed
Applications Manager on this screen. For information on changing the password for the default Oracle
Database Login, see Changing the Default Oracle Login and Password in Applications Manager .
If you change the password for any other Logins, you do not need to stop and restart processes.
• Service Name
The Oracle service name. Used only with a local database residing on the same machine as the Applications
Manager database or a JDBC connection.
• Network Alias
You must enter a Network alias if the database resides on a different machine than Applications Manager.
You can also use a Network alias to identify a local database. For example, a SQL*Net Network alias for an
Oracle database.
• Host
The IP address of the Login. Used to define the Login for JDBC use.
• Port
The port number used if this Login will evaluate dynamic Substitution Variables, Data Types, or Reports in its
database. To evaluate dynamic Substitution Variables, Data Types, or Reports on an Oracle database other
than the Applications Manager database, the Oracle Sid, Host name, and Port must be defined.
You do not need to define a port for the default Database Login created when you install Applications
Manager.
• Encrypted
Applications Manager automatically encrypts the password and checks the Encrypted field when you click
OK. You cannot change the Encrypted setting.
Testing the Connection
When you specify a Name, Password, Oracle Sid, and Host for an Oracle Login, you can test the connection
using the Check button.
The Check button uses regular FTP (not SFTP) to test the connection. If your server requires SFTP, this may result
in a failed test connection.
Host Oracle.internal.com
Port 1521
Applications Manager 9.4.1
jdbc:oracle:thin:@<Host>:<Port>:<Oracle Sid>
ORACLE
Required fields for ORACLE Logins.
Host Peoplesoft.internal.com
Port 1521
jdbc:oracle:thin:@<Host>:<Port>:<Oracle Sid>
ORACLE RAC
Required fields for ORACLE RAC Logins
Name testrac
RAC String RAC String (you should be able to copy the tns entry
starting with the following:
"(DESCRIPTION"):
(DESCRIPTION_LIST = (FAILOVER = TRUE)
(LOAD_BALANCE = FALSE)
(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)
(HOST = vip-linux1) (PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = awrac.am.com)
(INSTANCE_NAME = awrac1) ) )
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)
(HOST = vip-linux2)
(PORT = 1521)) (CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = awrac.am.com)
(INSTANCE_NAME = awrac2) )
SQLSRVR
Required fields for SQLSRVR Logins.
Host sales.internal.com
Port 1344
jdbc:jtds:sqlserver://<Host>:<Port>/<SQLSRVR Sid>
SYBASE
Required fields for SYBASE Logins.
Host Sun.internal.com
Port 1700
jdbc:jtds:sqlserver://<Host>:<Port>/<SYBASE Sid>
N~NODE~<Agent name>
Awexe id_recrypt
ORCLFAILOVER =
(DESCRIPTION_LIST =
(FAILOVER = TRUE)
(LOAD_BALANCE = FALSE)
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)
(HOST = vip-linux1)
(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = awrac.automic.com)
Applications Manager 9.4.1
(INSTANCE_NAME = awrac1) ) )
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)
(HOST = vip-linux2)
(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = awrac.automic.com)
(INSTANCE_NAME = awrac2) ) ) )
$AW_HOME/web/classes
Windows:
%AW_HOME%\web\classes
The entry is OracleRAC and it is nearly identical in content to the tnsnames.ora entry. It should contain all the
information for the database instances that Applications Manager can connect to. Here is an example of the same
connection above as it would appear in the Option.properties:
OracleRAC= (DESCRIPTION = \
(load_balance=off) \
(failover=on) \
(ADDRESS_LIST = \
(ADDRESS = (PROTOCOL = TCP)(HOST = vip-linux1)(PORT = 1521)) \
(ADDRESS = (PROTOCOL = TCP)(HOST = vip-linux2)(PORT = 1521)) \
)\
(CONNECT_DATA = (SERVICE_NAME = awrac.appworx.com)))
Note that the slashes at the end of each line are required so the entry is interpreted by the RMI Server as one
continuous line. Also use on and off rather than true and false for load_balance and failover.
Also, setting this the OracleRAC line will override the DB_IP, DB_PORT, and DB_SID in the awenv.ini file.
Load Balancing
When using Applications Manager on RAC, your DBA will need to disable load balancing on both the client side (in
tnsnames.ora) and server side. To turn off load balancing for the server, you can use one of these methods:
Applications Manager 9.4.1
• Use the ALTER SYSTEM statement to dynamically alter your Oracle Database instance. For example:
After you do this you will need to restart Applications Manager processes with stopso and startso commands
so that connections will go to only one RAC node.
• Back up and edit the init.ora file for each instance in the RAC setup and remove only the REMOTE_LISTENER
lines. Do not remove any other lines. This will require a restart of Oracle instances and Applications Manager
processes.
The reason why we need load balancing to be off is that there are known issues with DBMS pipes. Our processes
'sleep' and 'wake up' on DMBS Pipes. Pipes are instance-specific, so if Applications Manager processes are
balanced across multiple instances, then wake-ups issued by one process might not activate the target process.
For example, the master might sleep on one of the RAC nodes, but the wake-up happens on another node and so
the master continues to sleep. Processes will wake up eventually, but this is not ideal because of performance.
Failover
RAC failover will still work when load balancing is off (when remote_listener is set to nothing). The
remote_listener parameter is used mainly for load balance situations. When remote_listener is set to nothing,
failover will still work provided you have a LOCAL_LISTENER for each instance in the RAC setup and the
tnsnames.ora RAC entry on the clients have two addresses in an ADDRESS_LIST.
Because some of the database processes might have been issuing a database transaction at the time of the
failure, it is possible to lose a transaction or two during this switch. This might result in a Job going into a DIED
status or a node going into BUSY status. Clients should be connected immediately, but there will be an error and a
time delay in Automation Engine processing. You might see these errors during the switch:
After these errors everything should switch over. If you'd like, you can check connections for sessions like this:
from gv$session
where username='APPWORXSCHEMANAME';
"(DESCRIPTION"):
(DESCRIPTION_LIST = (FAILOVER TRUE)(LOAD_BALANCE = FALSE)
(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)
(HOST = vip-linux1) (PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = awrac.am.com)
(INSTANCE_NAME = awrac1) ) )
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)
(HOST = vip-linux2)
(PORT = 1521)) (CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = awrac.am.com)
(INSTANCE_NAME = awrac2) ) )
The Applications Manager Automation Engine resides on a server and launches local tasks via its Local Agent.
Remote Agents reside on other servers but receive commands via the Automation Engine. For the Automation
Engine/Agent relationship to work, Applications Manager Agent software must be installed on all the machines you
wish to control. The Applications Manager database must reside on a single machine.
How Applications Manager Runs Tasks
When the Automation Engine determines that a task should be executed, it submits it to an Applications Manager
Queue. The Agents poll the Queue. When an Agent finds a task that it should run, it pulls that information from the
Queue and runs the task. When the task completes, it sends status information back to the Automation Engine.
What to Consider When Planning Automation Engine/Agent Installations
An Automation Engine controls and monitors the execution of tasks on its Agents. This gives you centralized
control over several machines. You can have any combination of Automation Engines and Agents. For example, an
Agent reporting to one Automation Engine can reside on a machine containing another Automation Engine.
When determining the number of Automation Engines and the number of Agents assigned to each Automation
Engine, you should consider the reliability of your machines and network. If the Automation Engine machine goes
down, tasks will not be launched on any of the Automation Engine's Agents. If an Automation Engine loses network
communication with an Agent, tasks will not be launched on the Agent. However, when the Automation Engine is
operational again, or network communications are restored, Applications Manager will resume operations at the
point they were interrupted.
SSL Encryption Between Automation Engine, Agents, and Clients
There is now SSL encryption between Applications Manager Automation Engines, Agents, and clients.
Basic Steps for Installing an Applications Manager Remote Agent
The basic steps for installing a Remote Agent are:
1. Define the Remote Agent object in Applications Manager.
Applications Manager 9.4.1
You specify an Agent or Agent Group when you define a Job. When you specify an Agent or Agent Group for a Job,
you are telling Applications Manager where the program is located and where it will be run. Applications Manager
will run the program on the first available Agent in an Agent Group.
Turning on Audit
If you have the DBA User Group assigned to you, you will see an Audit tab on the Agents window for the
Automation Engine/Remote Agent. From it you can turn on Applications Manager auditing. Applications Manager
auditing allows you to see who has edited objects. For more information, see Enabling Applications Manager
Auditing.
Applications Manager User Groups control access to Agents. If you do not have access to them, see your
Applications Manager administrator.
For Rapid Automation Agent documentation including Agent-specific Login object tabs, see the the following.
• The Banner Rapid Automation Agent for Local Clients Documentation
• The Banner Rapid Automation Agent for the Automic Web Interface Documentation
• All other Rapid Automation Documentation
Adding Remote Agents
To add a Remote Agent object:
1. From the Agents Selector window, click New.
Applications Manager opens the Select agent type window shown above.
2. Select STANDARD to define an Applications Manager Remote Agent and click OK.
3. Complete the fields using the information below.
• Name
The name can be up to 30 characters long. If you install two or more Remote Agents on a machine, do not
give them the same name (even if they report to different Automation Engine instances). The following are
reserved words that cannot be used for Automation Engine or Agent names; ALL, APPWORX, AWCOMM,
AGENTSERVICE, AWAPI, RMI, RMISERVER, AGENT, and MASTER.
• Description
A description of an Agent can be up to 30 characters long.
• IP address
The IP address or DNS name.
• Sleep time
Applications Manager 9.4.1
Defines how many seconds (10 to 1,000) Applications Manager will wait between processing cycles. It also
controls how often conditions are evaluated.
• CPU Limit
Defines the percentage of CPU usage at which Applications Manager will spawn no new tasks. When an
Agent reaches its CPU limit it will go into a CPU WAIT Agent status. Tasks waiting to run on an Agent that
has reached its CPU limit will go to an AGENT WAIT status. The default it 80% for newly created Agents
or 99% for Agents that were upgraded from a version of Applications Manager before this feature existed.
You can see actual CPU usage percentages for Agents in the Cpu column on the Agent SUMMARY on the
Explorer window. The CPU usage is updated about once every minute for each Agent and the Automation
Engine.
• Type
This non-edit field specifies the type of Agent you are defining (Oracle Applications, PeopleSoft, Standard,
etc.).
• Thread Schedule
Sets the maximum number of concurrent tasks that can run on the Agent at one time in all Queues. For
information on defining Thread Schedules, see the User Guide.
Editing the Thread Schedule of the Automation Engine/Local Agent from this field will change the setting for
only the Local Agent.
Thread Schedules can be changed for the Automation Engine and Agents from the Explorer window.
• Environment Variables
Optionally specify one or more Environment Variables as a single Applications Manager object. For
information on defining Environment Variables, see the Development Guide.
• OS type
Indicates whether the operating system used on the Agent. The OS types are UNIX and Windows
• Output directory
Specifies the directory Applications Manager writes output files to for Jobs run on this Agent. The default
value for this field is automatically filled in when you select an operating system from the OS type field.
This field may be up to 32 characters long. If you enter a new directory here, be sure it exists and that
Applications Manager has read/write permissions to it.
The directory specified here can be overridden for Jobs if a directory is entered in the Output Directory field
on:
• A Job's Output tab.
• The Users window.
If an output directory is specified for both the Job and the User, the output directory of the User will override
the Job setting.
• User
The operating system User for the Agent. The User selected determines the Awexe range assigned to the
Agent. Be sure your Agents are assigned to a User with the full Awexe range, which is 1000-9999. For
information on setting the Awexe range, see Defining Users. Users assigned to a Remote Agent require an
Awexe range for the Agent to start.
This User should never be SQLOPER.
• Active
When unchecked, the status of the Agent will be INACTIVE. All tasks in the Backlog and newly submitted
tasks to the Agent will go to History with a status of INACTIVE.
• Agent debug
When checked, Applications Manager creates an AgentService.debug file in the Agent's debug directory.
The AgentService.debug file is also created when debug=true is set in the Agent's awenv.ini file. You
can also turn on debug for all Agents by clicking the Agent check box under the Debug menu on the About
Applications Manager window. For more information on the debug settings on the About Applications
Manager window, see Setting Client, Server, Oracle Trace, and All Agent Debug.
• Use Task Count Load Balancing vs. CPU%
When checked, this Agent will consider the number of tasks in the Backlog compared with it's Thread
Schedule's max threads rather than the actual CPU usage for load balancing when this Agent is included in
Applications Manager 9.4.1
an Agent Group. We recommend you keep this box unchecked. By load balancing based on CPU usage,
Applications Manager takes into consideration processing of all Applications on the Agent machine, including
things run outside of Applications Manager.
Editing Agents
You can edit Remote Agents from the Applications Manager GUI. You can also edit the Automation Engine and
its Local Agent. The Automation Engine and its Local Agent are represented as a single object in the Applications
Manager GUI. When editing the Automation Engine and it Local Agent, you can set Automation Engine options. For
more information, see Setting Automation Engine Options.
Defining Multiple Agents on the Same Instance
To define multiple Agents on the same instance, simply create additional Agent objects with the same IP address
and User name. You will only need to run the Agent install the first time. The additional Agents will run under the
original Agent's processes.
If you choose to run an install for a second Agents on a machine, the user name and IP address cannot both be the
same as the first Agent.
Configure Applications Manager Main Window Color
You can define a specific color for different deployments of the Applications Manager. This will help you identify
which server you have logged in. For example, you might want to set different colors for development and
production environments.
To define a color for the Applications Manager main window:
1. In the Applications Manager, go to Object Admin > Administration > Agents.
2. Select Master's Agent.
3. Click Edit.
4. Go to Automation Engine Options > Theme.
5. Select the desired color.
6. Click Apply.
7. Click OK.
[default]
SYSTEM_OUTPUT_NAME=$AW_HOME/training/out/{run_id}_{task}.txt
Once entered, the SYSTEM_OUTPUT_NAME setting will not take effect until you stop and re-start the
AgentService process. To stop and restart processes, you must start by setting the new environment. To set the
environment:
1. Go to the $AW_HOME/site directory (%AW_HOME%\site for Windows).
Applications Manager 9.4.1
. sosite
. ./sosite
After issuing the command, you should be returned to the command prompt where you can stop and re-start the
AgentService process with the following commands:
stopso agentservice
startso agentservice
UNIX
file=$module.$jobid
stdout=$AW_HOME/training/out/$module.$jobid.log
Windows
set file=%module%.%jobid%
set stdout=%AW_HOME%\training\out\%module%.%jobid%.log
In previous versions of Applications Manager, the seq_no variable was used to rename output files. The seq_no
variable is no longer valid for renaming output. Be sure to use jobid.
With the above SYSOUT script in place, output file names for a Job called EMPLOYEES would look like the
following:
UNIX
b.3256.00 EMPLOYEES.3256.00
o3256.00 EMPLOYEES.3256.00.log
Windows
o3256.00.lis EMPLOYEES.3256.00.lis
o3256.00.log EMPLOYEES.3256.00.log
Applications Manager 9.4.1
TZ=EST
3. Run awinstall from the home directory and choose option 3 to upgrade (or re-run the Windows install and select
upgrade). When you are prompted for your time zone, put in the correct time zone number.
Applications Manager 9.4.1
4. After the install finishes, check the awenv.ini file. There will be a new time zone line like the example below:
TZ=CST
Warning: If you change the Automation Engine's time zone from a value to 'No selection', any Process
Flows with time zones set will lose their time zone settings.
If a Queue has a Thread Schedule with 1 set in its Max Threads field, you will only be able to run one task at
a time through that Queue. When a Queue includes a Thread Schedule with 1 max thread, it is referred to as a
single-threaded Queue.
If this option is selected, an aborted task with the Stay in Queue on Abort option set will occupy the Queue's
only thread. No other tasks will be allowed to run through the Queue until one of the following occurs:
• The aborted task is deleted.
• The aborted task is reset and run to completion.
This option only applies to single-threaded Queues. It does not allow aborted tasks in the Backlog to occupy a
thread for Queues with a Thread Schedule that has more than one max thread.
• Allow deleted status to satisfy Success since last run
The Success since last run predecessor link type requires that a predecessor succeeds since the last time a
task ran. With this option checked, a deleted predecessor also satisfies the requirement.
• Schedules submitted as a group
Prevents all scheduled tasks from running when a task has Subvar problems. The default behavior when this
option is not checked is to raise an exception for the task with Subvar problems, but run all other scheduled
tasks.
• Disable initial predecessor inheritance
Disables predecessor links from Process Flow components to their successor Process Flow components when
the predecessor components are skipped. The successor tasks will be eligible to run when the Process Flow is
initiated, unless they have predecessor links to other tasks.
If the Enable LDAP box on the LDAP tab is checked, the Applications Manager will use the LDAP authentication
settings described below.
• Java JNDI Factory class
Java JNDI Initial Context Factory class.
• URL
The URL of the LDAP server.
• Distinguished name (dn)
The distinguished name. For example: dn:uid={uid},ou=people,dc=am,dc=com
• Authentication mechanism
Value queryServer causes LDAP to be queried for authentication mechanisms.
• SSL Enabled
Enables SSL.
• Keystore path
Sets an LDAP keystore path.
• Keystore password
Specifies the LDAP keystore password.
To test the LDAP settings, click the Test LDAP Connection button.
For detailed descriptions of these fields, see your LDAP documentation.
com.appworx.server.ldap.LDAPAppworxAuthentication
{ com.sun.security.auth.module.Krb5LoginModule required client=TRUE useTicketCache=TRUE; }
;
If you have the Applications Manager installed on Windows, and you use an authentication method of GSSAPI,
you may need to add javax.security.auth.useSubjectCredsOnly to your AM_GSSAPI.conf file to ensure full
credentials are passed as shown below:
com.appworx.server.ldap.LDAPAppworxAuthentication
Applications Manager 9.4.1
[logging]
default = FILE:/var/log/krb5libs.log
kdc = FILE:/var/log/krb5kdc.log
admin_server = FILE:/var/log/kadmind.log
[libdefaults]
ticket_lifetime = 24000
default_realm = AUTOMIC.COM
default_tgs_enctypes=des-cbc-crc
default_ktk_enctypes=des_cbc-crc
dns_lookup_realm = false
dns_lookup_kdc = false
[realms]
AUTOMIC.COM = {
kdc = adserver.automic.com
admin_server = adserver.automic.com
kpasswd_server = adserver.automic.com
default_domain = AUTOMIC.COM
}
[domain_realm]
.kerberos.server = AUTOMIC.COM
.automic.com = AUTOMIC.COM
automic.com = AUTOMIC.COM
[kdc]
profile = /var/kerberos/krb5kdc/kdc.conf
[appdefaults]
pam = {
debug = false
ticket_lifetime = 36000
renew_lifetime = 36000
forwardable = true
krb4_convert = false
}
3. In the sosite file, set the variable Java_mb to indicate the location of the files created in step 1 and 2. The
sosite file should then be sourced and the RMI server restarted.
Applications Manager 9.4.1
The variable must start out with "2048m". In a UNIX sosite file this would be:
If you are on a Windows or UNIX operating system with less memory available, substitute "2048m" with
"1024m".
4. Source in the sosite file by typing . sosite.
5. Start the Applications Manager processes by typing startso.
6. Launch Applications Manager client and the open the Automation Engine/Local Agent object and configure the
LDAP tab:
7. Launch a new client session and log in with a valid account from GSSAPI directory to test the LDAP integration.
From it you can turn on Applications Manager auditing. Applications Manager auditing allows you to see who has
edited objects. When auditing is turned on you should regularly schedule the PURGE_AUDIT_HISTORY Job
described below.
The Audit tab also includes fields that tell you when the first object was changed and the total number of objects
that have been changed. To break this information down by database table, click the Details button.
Auditing Backlog Changes
To audit Backlog changes, select the Enable auditing of backlog changes Automation Engine option. For more
information on setting Automation Engine options, see Setting Automation Engine Options.
Purging the Audit Tables
The PURGE_AUDIT_HISTORY Job purges the tables used for Applications Manager auditing. It includes a
single prompt where you specify how long you keep audit changes. This purges both object and Backlog audit
information. The default value is 60 days. If you are using Applications Manager auditing, you should set the
prompt value and create a schedule for this Job.
To specify email settings for the Automation Engine, select the Email tab of the Automation Engine/Local Agent
object and specify a host, open port, and sender. After defining the email settings, you can send a test email to the
sender by clicking the Test button.
DBA User Group Required
The Email tab is limited to Users who have the DBA User Group. If you do not have access to it, see your
Applications Manager administrator.
For information on creating Notifications, see the Development Guide.
Applications Manager User Groups control access to Agent Groups. If you do not have access to them, see your
Applications Manager administrator.
Procedure
To create an Agent Group:
1. From the Agent Groups Selector window, click New.
Applications Manager opens the Select agent type window.
2. Select the Standard Agent Group type and click OK.
The Agent type you select determines which Agents can be included in the Agent Group. For information on
non-standard Agent types, see your related Applications Manager interface or extension documentation.
3. Enter a name and description for the Agent Group.
4. If you want to run the tasks assigned to this Agent Group on every listed Agent, select the Multi-Execution box.
When you run a Job, Process Flow, or Process Flow component through a multi-execution Agent Group,
Applications Manager automatically creates copies of the task and runs them on every Agent in the group. Each
task shows up in the Backlog so you can track execution.
5. Assign one or more Agents to the Agent Group.
You can assign Agent Groups to Jobs, the only Agent Groups you can assign to Process Flows are multi-execution
Agent Groups.
Applications Manager 9.4.1
Setting the Priorities and Load Factors for Agents in a Regular Agent Group
Load balancing with Agent Groups provides the means to dynamically balance the computing load among several
machines. The methodology used by Applications Manager provides the flexibility to manage load distribution to
suit the needs of almost any site.
A 50 50
B 50 50
C 50 50
Example 2. You want to evenly distribute your workload over the three machines below.
Machine A has twice the capacity of Machine B and Machine C. By setting the factors below, the workload will be
distributed based on the capacity of the machines.
Applications Manager 9.4.1
A 50 20
B 50 40
C 50 40
Example 3. You want to evenly distribute the workload over two machines, and use a third machine as a backup
when the first two machines reach capacity.
Machine A and Machine B will carry the primary workload of the three machines. Machine A has three times more
capacity than Machine B. You use Machine C when Machine A and B reach capacity.
A 40 10
B 40 30
C 50 50
Example 4. All General Ledger tasks will run with Machine A as the primary machine, but use Machine B when
Machine A reaches capacity or is unavailable. All MRP tasks will run with Machine B and C as the primary
machines, but use Machine A for overflow. Machines A, B, and C have the same capacity.
In this case, we define two Agent Groups: One for General Ledger tasks and one for MRP tasks. Then all General
Ledger Jobs should be assigned to the GL Agent Group and all the MRP tasks assigned to the MRP Agent Group.
General Ledger Agent Group
A 40 50
B 50 50
A 50 50
B 40 50
C 40 50
On a new install, the start time for the SYSTEM Process Flow is set to run at 00:00 (12:00 midnight). You may wish
to change this setting to a different time when processing is light.
Usually, you rely on the SYSTEM Process Flow to maintain history records and output files. However, if you want to
override the Process Flow, you can submit each Job on an ad hoc basis.
Deleting Output Files
When you define a Job, you can set the number of days the output will be retained by Applications Manager in the
Retention days setting on each Job's Output tab. When a Notification is assigned to the Job, it will use that Job's
retention days to determine when to delete the Notification's log files.
The SODELETE Job (alias DELDEFAULT) deletes the output files that have exceeded their retention settings.
The SODELETE Job also deletes log files created by Applications Manager processes. By default, they are deleted
after seven days. You can change this setting to a different number of days. To do so, add the following line under
[default] in the awenv.ini file located in the site directory as shown below:
LOG_RETENTION_DAYS=3
The example above will delete log files older than three days. This setting only applies to log files that are created
after you add the line to the awenv.ini file. Also, the LOG_RETENTION_DAYS setting doesn't change retention
days for output files, which is controlled by the Retention days setting on each Job's Output tab.
SODELETE also deletes in any files in the tmp directory that are older than seven days.
The SODELETE Job does not run a script like most Jobs, Applications Manager executes Java every time it runs.
Therefore you should not copy this Job and edit its script.
Deleting History Records
Applications Manager 9.4.1
The HISTORY_PURGE Job deletes all history records that are older than the number of days you specify in the
Job's prompt. The default is 60 days.
To satisfy Success since last run predecessor links, there must be a reference to the predecessor task in the
database. These references are removed by running the HISTORY_PURGE Job. In most cases this would never
be a concern because History is saved for many more days than a predecessor would need to check for. If a
situation like this occurs, use conditions instead of Success since last run predecessors.
Creating Reports
Applications Manager Reports are based on SQL statements. To create a Report, you either start with an existing
SQL statement and customize it, or create a Report from scratch. You can add database tables and views to a
Report. Once database tables and views are added to a Report, you can add columns from them. Each column can
be customized in the Report. The object definition for the Report above is shown below. For more information on
creating Reports, see Steps for Creating Reports.
Applications Manager 9.4.1
You can browse database tables, views, triggers, and procedures in the Applications Manager database by
selecting Applications Manager DB Browser from the Tools menu of the Applications Manager desktop. For
more information, see Browsing the Applications Manager Database.
To create a Report:
1. From the Reports Selector window, click New.
Applications Manager opens the Reports window.
2. Enter a name and title for the Report.
Applications Manager 9.4.1
The title will be displayed in the title bar of the Report's window when it is run.
You can enter &<column number> in the title to display the current value from that column when viewing the
Report.
3. Select a Report type to determine the window where the Report can be viewed from by default. For example, if
the Report you are defining makes the most sense to be opened while defining Jobs, you would select the Jobs
type.
4. Specify the database for the Report by doing one of the following:
• If the Report will be run against the Applications Manager database, leave 'No Selection' as the value of the
Login field. This will use the Oracle Database Login used to connect to the Applications Manager database.
• If the Report will not be run against the Applications Manager database, select the Login for the database
you wish to run the SQL statement against.
To evaluate dynamic Substitution Variables, Data Types, or Reports on a database other than the
Applications Manager database, the Login object must be defined for JDBC use. For more information, see
Specifying JDBC Requirements for Logins.
5. Specify the SQL for the Report by doing one of the following:
• If you are starting with an existing SQL statement, cut and paste or type the SQL statement in the SQL
box. Even if you are creating a Report with existing SQL, you will need to add the columns using the Select
Columns window as described in the next step. For an example, see Example: Creating a Report from
Existing SQL.
• If you are creating the Report from scratch, select tables/views for the Report. For more information, see
Selecting Tables and Views.
6. Click New to open the Select Columns window (not shown in this topic). From the Select Columns window, do
one or both of the following and click OK:
• Assign columns by moving them from the Unassigned to the Assigned boxes.
• Add any columns specified in the SQL box on the Report window to the Report.
For more information on the Select Columns window, see Adding Report Columns.
7. Customize the Reports by editing the Report columns. This includes adding prompts to Reports. For more
information, see Editing Report Columns.
8. Join/order columns as necessary by entering the appropriate code in the SSQL statement. Note you cannot
order the columns from the GUI. If the Report was created by entering a SQL statement, this step may have
already been done. This requires a knowledge of SQL.
Select one or more tables and/or views from the Select Tables/Views window. To make multiple contiguous
selections, hold down the Shift key and click the first and last values. To make multiple nonadjacent selections, hold
down the Control key and click on the values. To show tables for all database users, click the Show All Tables/
Views box.
Use the Search field to quickly find objects. The Search field accepts valid UNIX regular expressions. In the image
above, %LIB is entered in the Search field to quickly find the SO_LIBRARIES view.
If you use multiple tables or view names in your Report, you should use pseudonyms to differentiate which table
each column belongs to. To add a pseudonym to the tables/view names, add a single character to the Pseudonym
field. You can use the pseudonym as an alias for the table or view in your SQL statement.
When you have selected your tables and/or views, click OK. Applications Manager adds the tables and/or views to
the SQL box on the Reports window. In the image below, the SO_LIBRARIES table is added to the SQL box.
Applications Manager 9.4.1
Select one or more columns from the Select Columns window. To write the columns in <table name>.<column
name> format, click the Use Table Names box.
If you defined pseudonyms for your tables/views, the pseudonym names will be displayed in the
Unassigned/Assigned boxes for each column name. Pseudonyms allow you to differentiate between columns in
different tables/views with the same name.
When you add columns to a Report, they are displayed in the Columns box on the Reports window shown below.
For information on editing columns, see Editing Report Columns.
This field will only be active if a value is entered in the Width field.
In this example a SQL statement already exists, and has been cut and pasted into the SQL field. By creating an
Applications Manager Report object for it, users can run the Report from the Applications Manager client. The SQL
statement for the JOB_INFO Report shown in the example above is only partially visible. The entire SQL statement
is shown below:
When you originally create a new Report from an existing SQL statement, Applications Manager displays the select
portion of the SQL statement in the Fields box.
Warning: If you close this window by clicking either the X in the title bar or the Cancel button, any
information in the Fields box will be lost from this window and from the SQL box on the Reports window.
All available fields from the SQL statement are displayed in the Unassigned column. If you wish to assign any of
these columns to the Report, you may do so now or later. The only fields added for this example are the fields in
the Fields box.
To close the Select Columns window, click OK.
Applications Manager closes the Select Columns window, and lists each column from the Fields and Assigned
boxes in the Columns table on the Reports window.
Applications Manager 9.4.1
The Report will be available on the selector window for the object type or operations window you selected in the
Type field. To show the Report from this window, click the Show button. For more information on viewing Reports,
see the Development Guide.
select emp.ename,dept.dname
from emp, dept
where emp.deptno = dept.deptno
order by 2
You can view the SQL used to generate a Report by clicking the Show SQL button.
By adding a prompt to the column that selects a department, you can have the Report list only the employees in a
single department. To accommodate the prompt, the SQL is modified as shown below:
select emp.ename,dept.dname
from emp, dept
where emp.deptno = dept.deptno AND dept.dname
='SALES'
order by 2
In the image below, the Prompt box is checked and the Dept_Name data type is selected. The Dept_Name data
type uses the following SQL statement to allow users to select a department name from the DEPT table:
When a user runs the Report now, they are prompted to select a department as shown below.
The output for the Report now lists only the employees in the selected department as shown below.
Applications Manager 9.4.1
select emp.ename,dept.dname
from emp, dept
where emp.deptno = dept.deptno AND dept.dname
='SALES'
order by 2
This should only be done with no_sql columns or columns which are defined as page break columns.
When the SQL is executed, its value will only be used in the statement's whereby statement substituting its value.
The column was:
select
SEGMENT_TYPE,SEGMENT_NAME,a.TABLESPACE_NAME,to_char(BYTES,'999,999,999,999'),
to_char( NEXT_EXTENT,'999,999,999,999'),to_char(c.tb_bytes,'999,999,999,999'),EXTENTS,MAX_EXTENTS,
from user_segments a,( select b.tablespace_name,sum(bytes) tb_bytes
from user_free_space b
group by b.tablespace_name) c
where c.tablespace_name = a.tablespace_name
AND a.TABLESPACE_NAME='USERS'
AND 2 *next_extent > c.tb_bytes
order by 1,2
7. To prompt for an alias name, edit the COMPONENT_NAME column as shown in the example above. In the
example above, the following edits were set:
• The text in the Description field was edited to make a better prompt description.
• The Prompt box was checked.
• Character was selected in the Data Type field.
Applications Manager 9.4.1
8. You can now test the Report by clicking the Show button on the Jobs window.
In the image below, DELDEFAULT is entered as the prompt value. DELDEFAULT is an alias name for the
SODELETE Job when used in the SYSTEM Process Flow that ships with Applications Manager.
Some Reports require you to enter prompt values. If the Report you select requires prompt values, you must
respond to them in the Report Parameters window shown below. Once prompts are provided (if necessary),
Applications Manager displays the Report.
Applications Manager 9.4.1
Applications Manager opens the Create Jobs window and lists the Jobs selected. You cannot change the Job's
name when creating it. If you don't like the name, you can copy the Job to a new name and delete the original. To
add the Job(s), click OK. Applications Manager creates the new Jobs. Jobs created from Reports will have the
AW_REPORTS Application assigned to them as shown below.
Applications Manager 9.4.1
The CALC_HISTORY_STATISTICS Job includes prompts to specify start and end dates.
Running CALC_HISTORY_STATISTICS for the First Time After an Upgrade
If you have upgraded from a previous version of Applications Manager that did not include the
CALC_HISTORY_STATISTICS Job, it could take a long time to complete the first time it runs.
The first time you run CALC_HISTORY_STATISTICS without prompt values specified, it evaluates History starting
with its oldest record and runs the calculation up to the current day. This is can take a long time to run, depending
on how much History you have.
After that, every time you run CALC_HISTORY_STATISTICS without prompts specified, it starts its calculation from
the most recent date it finds in the aw_reports_history database table.
Importing the CALC_HISTORY_STATISTICS Job and AHA Reports
To bring the CALC_HISTORY_STATISTICS Job and AHA Reports into Applications Manager, You must run an
Applications Manager import by doing the following:
1. Select Import from the Activities menu on the Applications Manager desktop to open the Import window.
2. From the File menu on the Import window, choose Open Import File.
Applications Manager displays the Import Files window.
3. Choose import file AppWorx_History_Stats from the list and click OK.
A list of mappable objects appears in the Import window. You should not have to re-map any of these objects.
Applications Manager 9.4.1
The Applications Manager Database Browser window is limited to Users who have the DBA User Group. If you
do not have access to it, see your Applications Manager administrator.
Selecting a tab on the left side of the screen will bring up different sub-tabs on the right side of the screen.
By default, the database browser Login is configured for the Applications Manager database defined during
installation. If you move the Applications Manager database, you will need to reconfigure the Login. To reconfigure
your database Login, select Change Database Login from the Login menu.
Searching for Table Data
Use the Data tab on the right side of the screen when the Table tab is selected to view table data. The Tables and
Data tabs are selected below.
Applications Manager 9.4.1
By default the Data tab lists the first 100 rows of data in a table. Use the features described below to find rows:
Search for a table Enter text in the Search field on the Table tab on the
left side of the screen. You can type the first few letters
of a table's name in the Search field, and Applications
Manager will find it. The Search field accepts valid
UNIX regular expressions.
Refresh the list of tables Click the Refresh button on the left side of the screen.
To query data with a where statement Enter a Where statement in the field on the right side
of the screen and click Query. Applications Manager
will return a list of the first 100 rows using the Where
statement.
View the next 100 rows Click the Next Fetch button to fetch the next hundred
rows. Applications Manager will add these rows to the
current list.
Event Logging
Applications Manager can log status changes for tasks, Agents, and the Automation Engine.
Many companies use tools such as HP OpenView, SNMP, Patrol, Tivoli, and Unicenter to continually monitor all
operations activities. Applications Manager can log status changes for tasks, Agents, and the Automation Engine.
Applications Manager 9.4.1
You can use a monitoring tool to query the output files and report Applications Manager statuses. Sample output
from an event log for tasks, Agents, and the Automation Engine is shown below.
The Task Events and Agent Events tabs on the Setting window are limited to Users who have the DBA User
Group. If you do not have access to it, see your Applications Manager administrator.
The Task Event settings are described below.
• Task event file
The path and file name of the log file you want to write to.
• Maximum file bytes
The number of bytes before the file gets copied to a different name and a new file gets created using the current
task event file name. The copied file will be named the same as the original task event file with a number
appended to it. If no file named <file name>1.log exists, it will be copied to that name. If <file name>1.log
exists, Applications Manager will increment the number by one until a file name does not exist. Otherwise it will
replace the oldest file.
• File retention days
The number of days before the task event file will be deleted.
• Maximum number of files
The number of event files to keep. This includes the current task event file and all copied files.
• Task event logging on
The name says it all, if this box isn't checked, you aren't logging task events.
Applications Manager 9.4.1
The Task Events and Agent Events tabs on the Setting window are limited to Users who have the DBA User
Group. If you do not have access to it, see your Applications Manager administrator.
The Agent Event settings are described below.
• Agent event file
The path and file name of the log file you want to write to. If the Write to task event file option is selected, this
and the following three settings will be grayed out.
• Maximum file bytes
The number of bytes before the file gets copied to a different name and a new file gets created using the
current event file name. The copied file will be named the same as the original task event file with a number
appended to it. If no file named <file name>1.log exists, it will be copied to that name. If <file name>1.log
exists, Applications Manager will increment the number by one until a file name does not exist.
• File retention days
The number of days before the event file will be deleted.
• Maximum number of files
The number of event files to keep. This includes the current event file and all copied files.
• Write to task event file
When checked, all control of where and how the Agent events are logged is switched to the Task Events tab's
settings and therefore requires task event logging to be enabled in order to track Agent events.
• Task event logging on
The name says it all, if this box isn't checked, you aren't logging Automation Engine and Agent events.
• Write column headers
Writes headers in the event log for the selected columns.
• Write on/off messages
Writes a message to the event log when Agent event logging is turned off or on.
To move statuses between the Unassigned and Assigned columns, double-click or use the arrow keys.
Warning: In order to log the CPU WAIT status, you must also assign the RUNNING status.
The top of the window shows an example log file. The bottom of the window displays a list of the columns that can
be displayed.
Making Changes
The table below describes how to customize Applications Manager tables.
To: Do this:
Change the name of a column Edit the entry in the Name column.
Control the width of a column Enter a number of characters in the WIDTH column.
Format date columns Select a date format from the FORMAT column.
Change the order of the columns Select the title of a column in the top window and drag it
to a new location.
Return the table to its last saved setting Click the Reset button at the bottom of the window.
Applications Manager 9.4.1
The awexe process allows you to issue various Applications Manager functions from the operating system
command line or from scripts. Functions can include such things as updating Substitution Variables values,
retrieving values from multi-select prompts, and taking actions on tasks in the Backlog.
The previous awprint is replaced by "awexe awprint line="xxxxxxxxx":
The awrun process allows you to submit tasks from the command line or in scripts.
Program execution processes are discussed further in Task and Program Execution.
. sosite
. ./sosite
sosite
After issuing the command, you should be returned to the command prompt.
Starting and Stopping Processes with startso and stopso
When issued with no parameters, the startso command starts:
1. awcomm
2. AgentService
3. RmiServer
The stopso command stops only the AgentService process.
Starting Processes, but not Backlog Tasks
Applications Manager 9.4.1
If you are starting Applications Manager as part of a boot sequence, you may want to start Applications Manager
processes, but not allow the Automation Engine to execute tasks until you have had a chance to view the contents
of the Backlog. You can set this up with the following series of commands.
startso
stopso master
In this series of commands, the startso command starts the awcomm, AgentService, and RmiServer processes
on the Automation Engine (the Automation Engine will go into a Stopped status).
The stopso master command doesn't stop any actual processes, because those elements are performed on
threads of the RmiServer process.
Starting and Stopping Processes Individually when Troubleshooting
To start processes individually when troubleshooting, issue the start commands in the following order.
The corresponding stop commands can be issued in the reverse order to stop the processes individually.
Overriding Process Startup Wait Times
If processes don't startup within their default times the start process is aborted. You can override the wait times by
adding entries in awenv.ini file located in the site directory for the Automation Engine or an Agent. The defaults
values are:
AgentWait=60
AgentScan=60
RmiWait=60
RmiScan=60
Awcomm_wait=10
The values of the AgentScan and RmiScan variables are the numbers of seconds after which the log is scanned
for a successful start. AgentScan should be set to the same value as AgentWait and RmiScan should be set to
the same value as RmiWait. For example if you set RmiWait to 90, you should also set RmiScan to 90.
Stopping Processes Immediately
If necessary, you can eliminate the default 30 second wait for processes to stop after issuing a stop command them
by issuing the stopso -now <process name> command. For example:
table. Parameters are passed in the format <command> <parameter>. For example, to pass the rmi parameter to
the startso command, you would enter:
>startso rmi
The table below describes which processes the startso and stopso commands start and stop when passed with
parameters.
<Agent name> The startso <Agent name> The stopso <Agent name>
command starts the following command doesn't stop any actual
-or-
processes for a local or Remote processes, but it does put the Agent
agent <Agent name> Agent where <Agent name> is the into a Stopped status and stop
name of the Agent: the Agent from processing newly
submitted tasks.
• awcomm
• AgentService (which starts
awapi)
It also enables the specified Agent to
start if stopped previously.
agent local The startso agent local or startso The stopso agent local or stopso
agents commands start the agents commands don't stop any
-or-
following processes for all Local actual processes, but it does put
agents Agents: the Agent(s) into a Stopped status
and stop the Agent from processing
• awcomm
newly submitted tasks.
• AgentService
• awapi
They also enables the local
Applications Manager Agent(s) to
start if stopped previously.
agent all For all Agents assigned to the The stopso agent all command
Automation Engine: doesn't stop any actual processes,
but it does put the Agents into a
• awcomm
Stopped status and stop the Agent
• AgentService from processing newly submitted
• awapi tasks.
It also enables the local Applications
Manager Agent to start if stopped
previously.
Applications Manager processes write to the watchstatus.log file in the log directory once every sleep cycle.
Sample entries from a watchstatus.log file are shown below:
initial_sleep The initial time WatchWorx waits for UNIX: 120 seconds
all processes to start.
Windows: 20 seconds
$cat WatchWorx.notify
The results from this script would look something like the following if they were sent in an email:
Fri Mar 22 16:39:14 PST 2002 Applications Manager process MYNODE of type AgentService.
WatchWorx message: Last updated 421 seconds ago and will be restarted immediately.
Applications Manager 9.4.1
startso rmi
Use care when adding additional modifications. Incorrect modifications may cause the Applications Manager
processes to fail to start properly. Also, long running tasks must be avoided as they could cause the service start/
stop to report a Windows error that the service is not responding.
Since watchstart.bat is a user-customizable script, it will not get overwritten on upgrades. You will get a new
watchstart.hold file when upgrading, but not a watchstart.bat file.
Setting-up the watchstop.bat Script
There is a watchstop.bat script that the WatchWorx service runs when the service stops. There is a template
%AW_HOME%/bin/watchstop.hold script you can copy and customize to meet your needs as well.
The watchstop.bat script will be run as the WatchWorx service is stopping. However, if the machine is being
shutdown there is no guarantee that all the Applications Manager services will have time to cleanly exit before the
machine shuts down.
WatchWorx in Action
WatchWorx checks to see if the Applications Manager processes are running, and restarts them if necessary. If
all processes are writing regularly to the WatchWorx status files, WatchWorx sleeps for 60 seconds, then checks
again. WatchWorx continually monitors processes as explained below.
WatchWorx Actions
WatchWorx takes actions based on the type of process and the time difference between the current time and
the time in the status file. There are two groups of processes, and WatchWorx handles the RmiServer process
differently than the other processes.
WatchWorx acts on the RmiServer process as follows:
If RmiServer is: And the process (PID): And the time difference Then WatchWorx:
is:
If RmiServer is: And the process (PID): And the time difference Then WatchWorx:
is:
If a process status is: And the tIme difference is: Then WatchWorx:
AWCOMM_PORT=<port number>
Dependencies
The port that awcomm uses must not be in use by another process.
Variable Description
Troubleshooting
If the Applications Manager database is not running or the RmiServer process is not available, the AgentService
process will report errors.
AgentService Can Use any RMI Server for Database Connections
When the AgentService process starts, it attempts to connect to the IP address for the RmiServer process
specified in the master_ip_address setting in the awenv.ini file.
If it cannot connect to the primary RmiServer process, set with master_ip_address, it will then try to get an IP
addresses for an alternate RmiServer process from its local file RmiServers.dat located in the data directory.
While the AgentService process is running, it checks once per sleep time (by default 60 seconds) for any new
RmiServer processes that have started running, and will add these to the RmiServers.dat file.
If connection is lost to the primary RmiServer process, AgentService will connect to the first available alternate
and make it the new primary.
$AW_HOME/web/classes
Applications Manager 9.4.1
Windows:
%AW_HOME%\web\classes
The Applications Manager RMI server gets the database connect information from the awcomm process (DB_IP,
DB_SID) and tests out its database connection.
After connecting with awcomm, the RmiServer process will try to connect to the Applications Manager database.
It will continue trying until the connection is made. The RMI Server cannot come up successfully if the database
information is not correct.
Dependencies
For the RmiServer process to work correctly, the following conditions must be met:
• The awcomm and Automation Engine's AgentService process must be up and running to get the database
SID (or PDB service name for Oracle 12c and above) connection information.
• Net8 (SQL*Net) must be running for the RMI server target database.
Configuring the RMI Server
There are two configuration files associated with the RMI Server: Options.properties and Masters.properties.
the Options.properties and Masters.properties files are located in the following directories:
UNIX:
$AW_HOME/web/classes/Options.properties
$AW_HOME/data/Masters.properties
Windows:
%AW_HOME%\web\classes\Options.properties
%AW_HOME%\data\Masters.properties
The Options.properties file is a series of parameters similar to the awenv.ini. It is not divided into sections. If a
value is set twice, the last entry listed in the file will be used.
Variable Description
Variable Description
ServerLog The log where all the normal log information and debug
information is set.
ExitPage Page that clients will be sent to after they leave the
client.
The Masters.properties file provides Automation Engine names for the Applications Manager Automation
Engines. The Masters.properties file includes one required line for this Automation Engine with optional lines for
additional Automation Engines. When additional Automation Engines are listed they are:
• Added to this Automation Engine's RMI server.
• Selectable from the Automation Engine drop-down list on the Login window of for this Automation Engine.
Troubleshooting
The following can cause problems for the RMI Server:
• Net8 (SQL*Net) is not running or the database connection is not running.
• Java is not installed or the patch level of the OS is incorrect.
• There are firewall problems between the client and the RMI server.
• Incorrect values for any of the following variables in the awenv.ini file, MasterServerPort, DB_SID, DB_IP,
DB_PORT.
1. The Automation Engine launches the pm script through the AgentService process that runs the BODY script.
The BODY script runs any prefix run-time extension scripts and runs the Program Type script. It also notifies
the AWAGENT process that a task has been submitted. For more information on the BODY script and Program
Type script, see BODY.
2. BODY calls the awexe awprint command to log the system output.
3. BODY calls the awexe process to update the task's status to running.
4. The AgentService process monitors the task process for maximum run time and completion.
• If the maximum run time assigned to the Applications Manager Job for the task is exceeded, AgentService
will try to kill the task.
• If the task process disappears before AgentService has received a completion status, AgentService
changes the status of the task to DIED.
5. Task outputs are logged and/or printed by Applications Manager Program Type scripts or customer User scripts.
6. BODY calls awexe to report the task's final status.
7. BODY exits.
The submittal stages (down arrows) set the initial status, create the run-time environment, and pass information.
The return stages (upward arrows) handle registration of task output, post-processing, and conditions. Each stage
is explained in detail in this chapter.
Overview of the Diagram
The process starts when a task is set to run by being scheduled or requested waking up the Automation Engine.
The Automation Engine passes tasks eligible for execution to the appropriate Agent. The Agent processes the task
by creating and executing a script. The script establishes the task's environment, executes any run-time scripts,
and launches the Program Type script.
The Program Type script launches the application and performs the handshaking between Applications Manager,
the program, and the running application. All the while, the Automation Engine performs any DURING conditions.
After program execution, the outputs are (optionally) registered. When the output is registered, a link between the
output file and the running task is created and stored in the Applications Manager database. After registration,
run-time extensions execute before reporting the tasks completion status. The Automation Engine performs any
AFTER or DELETED conditions. A record of the finished task is written to History. These stages are described in
detail in the remaining topics in this chapter.
Stage Bar
Each topic contains a stage bar that summarizes the key component for each stage of a task's execution. The
arrow indicates the execution direction. This is important since the stages are bi-directional, meaning stages are
executed before, during, and after the program executes. Think of a task's execution as a series of scripts that
call sub-scripts that pass in parameters and pass out results. An example stage bar for the Automation Engine is
shown below.
The task running process starts when a task is set to run by being scheduled or requested waking up the
Automation Engine. Tasks can be requested from when:
• Ad hoc requests are made from the Requests window.
• The the awrun command is issued from the command line or a script.
• An API call is made.
• Tasks are inserted into the database.
When a task is submitted, an entry is made into the SO_JOB_QUEUE in the Applications Manager database. The
Backlog shown in the Explorer window is a graphical representation of the SO_JOB_QUEUE in the Applications
Manager database.
Before a task starts, the Applications Manager Automation Engine analyzes a task's characteristics for eligibility to
run. The characteristics include predecessor requirements, single run, priority, start time, Queue threading, Agent
Groups/load balancing, Agent threading, and Agent availability.
If a task is eligible to run, the Automation Engine evaluates any BEFORE conditions and determines if the task may
run. True conditions using the actions WAIT UNTIL MET, DELAY TASK, RESCHEDULE TASK, SKIP TASK, and
HOLD TASK may potentially delay or preclude a task from running.
If the conditions do not preclude the task from running, the Automation Engine locates the Agent based on the
Agent or Agent Group assigned to the task and notifies the Agent. The Applications Manager Automation Engine
then changes the task's status to STARTING.
The Automation Engine creates two files: pm and pr. The pm file creates a new environment and launches the
BODY script. The pr file contains the values supplied for each task prompt, which may be used in the Program
Type interface script or program.
pm File
Before the Automation Engine has the Agent execute the pm script, it directly sets two Environment Variables:
db_login2 and db_password2. These are set directly so that they never exist in a file on the operating system.
Applications Manager 9.4.1
The Agent launches the pm file which sets the environment and exports the environment settings to the new
environment. Then the pm file launches the BODY script.
pr File
The pr file contains the arguments from the task prompts. The filename of the pr file (pr.<seq_no>) is exported
by the pm file under the system Environment Variable par. The full path name for the file is stored the variable
so_par. The par file is always in the run subdirectory under AW_HOME and can be (optionally) used in your
program or Program Type scripts.
Both the pm and pr files are deleted by the BODY script after a task executes, but all information pertaining to a
task is displayed in the task's corresponding SYSOUT file.
Setting and Exporting Environment Variables
You can set Environment Variables and export them (make them available) for a program in four places:
• The sosite file located in the site directory.
• PREFIX run-time extensions
• Program Type interface scripts
• Environment Variable objects defined in the Applications Manager client. For more information, see the
Development Guide.
Applications Manager defines approximately 40 environment variables at run time and writes their values to the pm
file. When creating an environment variable in sosite, keep in mind that the Applications Managerpm file creates
and exports the values for these 40 variables. A listing of all Applications Manager environment variables can be
found in the Development Guide.
Therefore, if you define an environment variable in the sosite file such as OUTPUT, it is automatically overwritten
by the pm file at run-time. You may alter the value of OUTPUT after the pm file executes using a PREFIX script or
Program Type script.
pm File
The pm file sets environment variables for the task and its related sub-objects.
The pm file sets environment variables for the task and its related sub-objects (Database Logins, Program Types,
output specifications). After setting the sub-shell's environment, it launches the BODY script.
To modify Applications Manager environment settings, you can add or delete environment variables from the site/
sosite file in UNIX or the site\envvar.bat file in Windows. You can also create PREFIX scripts that can add, modify,
or remove environment variables. These occasionally include Oracle specific variables such as ORACLE_SID,
ORACLE_HOME, and TWO_TASK.
pm Script
BODY deletes the pm file after the task completes. A portion of a UNIX pm script is shown below.
$ cat pm790.sh
module='CHUCK_SCR2'
par=pr790.sh
so_par=$AW_HOME/run/pr420.sh
jobid=292.00
#(more environment variables)…
log_run=Y
login_sid=''
full_login='';export full_login
user='SQLOPER'
printer_type=ANY
export runfile par host_command so_par
export module source app_path command_dir
Applications Manager 9.4.1
BODY
The BODY script sets the task status to RUNNING, registers system output, executes any PREFIX scripts, and
launches the Program Type script.
The BODY script initially sets the task status to RUNNING, logs the task's process ID (pid), notifies the Agent of the
task so it can monitor the task to completion, registers system output, executes any PREFIX scripts, and launches
the Program Type script. BODY creates the system output file immediately so that you are able to view it as a task
executes. BODY creates a print registration file that contains the information required for Applications Manager to
register the system output.
On Windows, there are three BODY scripts, body.bat, body2.bat, and body3.bat.
Viewing Output
You can view system output from History in the Explorer window or the Output window by right-clicking on the
selected task.
Run-time Extension Scripts
The BODY script also runs User-defined scripts at various times in a task's execution. These are referred to as run-
time extensions. Any valid shell or batch script can be used as a run-time extension as long as the script is stored
in the exec subdirectory under the AW_HOME directory and named appropriately.
The first run-time extension script executed is the SYSOUT script. Before a task runs, Applications Manager
executes appropriate PREFIX scripts if found. The remaining scripts (COMPLETION, SUCCESS, and TROUBLE)
execute after the program executes. The image below indicates the location of these scripts. For a detailed
explanation of run-time extensions, see the Development Guide.
Applications Manager 9.4.1
Warning: SYSOUT, PREFIX, COMPLETION, TROUBLE, and SUCCESS scripts are invoked in-line. Poor
or improper code in these scripts can adversely affect the ability of Applications Manager to properly control
and monitor the task's execution. For example, an 'exit' in these scripts can cause task status to change to
DIED.
The Program Type and its matching script generally pass the par file's content to the program. Program Types
are objects that optimize development and maintenance efficiency when a family of programs are consistent in
the way they accept input and produce output. The Program Type object specifies the Program Type script. The
Program Type script performs the handshaking between Applications Manager and the program to be executed,
and processes any program outputs. You can define as many Program Types as needed.
Program Type scripts are located in the exec subdirectory under the AW_HOME directory. In the image below, the
SQLP Program Type calls the SQLP Program Type script.
For information on Program Types, see the Development Guide.
Applications Manager 9.4.1
Program
The program executes and returns its exit status to the Program Type script and may create output.
The program executes and returns its exit status to the Program Type interface script and may create output. The
program passes the status value to the Program Type script and performs (optional) error checking and output
processing. Generally, the Program Type is responsible for registering the output. This is explained in Program
Type (after program execution).
Standard Output File
The program's standard output is normally redirected into the task's log file. However, some Program Type scripts
may redirect the output to a file and register it.
Program Output File
Applications Manager 9.4.1
The program output file contains the actual information from the program. A program can generate any number of
program output files. The default location for program output is the out subdirectory on the Agent.
After the program completes execution, the Program Type script captures output and ensures that files are properly
registered. Notice that execution in the diagram above is now moving from right to left.
The interaction between your program and Program Type affect where a specific task is executed. Generally, the
program generates and returns the exit status to the Program Type script. Either the program or Program Type
script may generate output depending on how these are set up.
Any output from a program that is written to standard out will be captured in the system output file. If the program
creates any additional output that needs to be registered with Applications Manager, the Program Type script can
call FILESIZE.
FILESIZE
FILESIZE creates a file that contains the information required for Applications Manager to register the output file(s).
By default, the output goes to $file or %file%. The default paths for file are given below.
After the Program Type completes, BODY tests the 'Minimum-Run-Time' as defined in its Job definition. If the
elapsed time is less than the minimum run time, then the task aborts and Applications Manager sets the error
status equal to 1.
BODY runs any defined run-time extension scripts (COMPLETION, TROUBLE, and SUCCESS) if they exist.
You can create a TROUBLE script that resets the error status before passing the results back to the Agent. For a
detailed explanation of run-time extensions, see the Development Guide.
BODY updates the tasks completion time, return code, and completion status. After checking that all files have
been successfully moved, BODY deletes the pr and pm files.
Finally, BODY deletes any other temporary files created.
The Automation Engine performs the next stage in task processing.
Automation Engine
The Automation Engine performs any AFTER or DELETED conditions. A record of the finished task is written to
History.
The Automation Engine performs any AFTER or DELETED conditions. A record of the finished task is written to
History.
For more information on condition statements, see the Development Guide.
Applications Manager 9.4.1
parameter file
5
End of parameter file
starting at Tue Feb 5 06:18:06 PST 2002
complete at Tue Feb 5 06:18:11 PST 2002
return code = 0
*****************************
* Finished on Tue Feb 5 06:18:11 PST 2002 with status FINISHED (FINISHED)
*****************************
awprint PRINTSIZE -j 2000033.00 -n o2000033.00 -d /appworx/out
Tue Feb 5 06:18:14 PST 2002 Done with BODY
o<run_id>.log
• JOB_COMPLETION
• KILLJOBS
• PRINTEM
• PRINTEM2
• PRINTRECOV
• REGISTER_LOGS
• SQLP
• KILLSERVER
• SYS_PRINT
• cat_dir
• startoper
• stopoper
• stopso
For example, to turn on debug (which will show up in the task's output) for PRINTEM on a UNIX system, you would
create a $AW_HOME/debug/PRINTEM file.
Creating a JAVA file on the Automation Engine machine turns on RmiServer and AgentService debug in the
same file. You can also turn on AgentService debug for a particular Agent by checking the Agent debug box in
that Agent's definition. For more information, see Defining Remote Agents.
<process>_<timestamp>.err
The log files are named using one of the two following conventions:
<process>_<timestamp>.log
<process>.<timestamp>.log
AgentService_0511201552.log
RmiServer.0511211056.log
watchworx_051118155234.err
watchworx_051118155234.log
Applications Manager 9.4.1
For example, 0511201552 represents the 20th of November 2005 at 3:52 P.M.
Automatic Log Rollover and Zip
When log files grow above 50 megabytes, Applications Manager automatically rolls them over. When Applications
Manager finishes writing to a log, it auto-zips it to save disc space.
How Long Logs are Retained
By default, process log files are retained for seven days, then deleted. New process log files are started every 24
hours. You can modify these settings by defining two variables in the [default] section of the awenv.ini file to apply
to the log files for all the background processes or you can define the variable under one of the process sections to
apply it to that process only.
Variable Description
ROLLOVER_INTERVAL Sets how often a new log file will be created. The value
is expressed in minutes. The default value is 1,440 (24
hours).
These settings don't change retention days for output files. Job retention is controlled by the Retention days
setting on each Job's Output tab.
Logging the Purging of Log Files
Applications Manager logs the purges RmiServer and AgentService log files. This is because log files
can be deleted because of total size as well as age. A purge log is created each day. Its name format is
RmiServer_purgeLog_<timestamp>.log or AgentService_purgeLog_<timestamp>.log. Each entry contains a
timestamp followed by the file name. The purge logs themselves get purged when they are older than the setting
specified in the ServerLogRetentionDays setting in the awenv.ini file (default of 7).
You can do a Java garbage collection to free up heap memory that is no longer needed by clicking Java Garbage
Collection under the Debug menu on the About Applications Manager window. This will only send a hint to
Java, so it doesn’t force it to collect everything.
#debug=true
Debug=true
UNIX:
$AW_HOME/web/classes
Windows:
%AW_HOME%\web\classes
2. After making any changes to the Options.properties file, you must stop and restart the RMI process going to
the site directory and issuing the following commands:
For UNIX:
. sosite
stopso rmi
startso rmi
For Windows:
sosite
stopso rmi
startso rmi
Now the output is written to the Java Console. To turn debug off when you finish troubleshooting, deselect the
Show console option on the Java Control Panel window, set Debug to false in Options.properties, and stop
and restart the RMI process.
When client debug is activated from the About Applications Manager window, it overrides the
Options.properties setting.
Writing to a Log File
To write client debug information to a log file:
1. Open the Windows Control Panel on the client machine.
2. From the Control Panel, select the Java.
This will open the Java Control Panel window.
3. From the Java Control Panel window, select the Advanced tab.
4. On the Advanced tab, select the Enable tracking checkbox under the Debugging group.
You have now enabled Java trace. Now you must activate client debug in Applications Manager. To activate client
debug, do the following:
1. From the Applications Manager client, open the About Applications Manager window by selecting About
Applications Manager from the Help menu.
2. Check the Client box under the Debug menu on the About Applications Manager window.
The trace files are written to the following directory where <OS user name> is your OS user name:
To turn debug off when you finish troubleshooting, simply uncheck the Debug setting on the About Applications
Manager window.
Writing to a Log File
To write client debug information to a log file:
1. Navigate to and edit the following file, where <OS user name> is your OS user name:
deployment.javaws.traceFileName=c\:\\AM\\java.log
Debug=true
$AW_HOME/web/classes
Windows:
%AW_HOME%\web\classes
4. After making any changes to the Options.properties file, you must stop and restart the RMI process going to
the site directory and issuing the following commands:
For UNIX:
. sosite
stopso rmi
startso rmi
For Windows:
sosite
stopso rmi
startso rmi
Now the output is written to the file. When new output is written, it is appended to the existing file which does not
roll over. Therefore, you should create a new file to isolate current data. If you cannot delete the existing file, you
can edit the file, delete its contents and save it.
Applications Manager 9.4.1
To turn debug off when you finish troubleshooting, remove the line you added to the deployment.properties file,
set Debug to false in Options.properties, and stop and restart the RMI process. When client debug is activated
from the About Applications Manager window, it overrides the Options.properties setting.
[default]
Debug=true
Debug information is written to the RmiServer.log at startup, and stops once the bind to the RMI port is finished.
The debug stream then switches to the RmiServer.<timestamp>.log file. The RmiServer log with the timestamp
then records setup information. After startup, only exceptions are written to RmiServer.log.
To turn debug off when you finish troubleshooting, set Debug to false in the awenv.ini file as shown in the example
below.
[default]
Debug=false
When server debug is activated from the About Applications Manager window, it overrides the awenv.ini setting.
Enabling/Disabling RMI Server Debug with the RMI_DEBUG Job
You can enable or disable RMI server debug by running the RMI_DEBUG Job shown in the Submit window below.
Like all Applications Manager Jobs, you can request and submit RMI_DEBUG to run it ad hoc, or schedule it.
Activate or deactivate RMI server debug by setting the Enable prompt to Yes or No.
Applications Manager 9.4.1
Normally you shouldn't need to turn on general SQL trace for the whole product, because you can determine which
SQL statements or procedures are having problems and trace only those statements or procedures. For example, if
the problem is the SQL in one task, you can add this line to the beginning of that task's script:
To set Oracle trace, check the SQL box under the Debug menu on the About Applications Manager window.
Debug information will be written to the trace files in the $ORACLE_HOME/rdbms/log directory.
You have to log in to the client to toggle the SQL debugging for Oracle-it won't be available if you get to the About
Applications Manager window from the Login screen.
To turn off Oracle trace, uncheck the SQL box under the Debug menu on the About Applications Manager
window.
2. Create a 0-byte file named startso in the $AW_HOME/debugdirectory. If you don't have a debug directory,
create one.
3. Issue the commands below that are appropriate for your situation (wait for them to return to the command
prompt):
[default]
debug_mask=T|ALL|L4
It is not necessary to restart of the Applications Manager processes after editing the awenv.ini file.
Optionally Setting Up Debug Rollover
Applications Manager 9.4.1
Debug files are started by default every 24 hours. To create more manageable debug files, you can set your debug
files to rollover more often by adding the rollover_interval setting in the [default] section of the awenv.ini file. The
rollover_interval setting is based on a number of minutes as shown below:
[default]
rollover_interval=120
debug_mask=T|ALL|L4
Once you start writing to a new debug file, you can edit, remove, or compress the old file.
Recreating the Problem and Sending Files to Support
After you set debug for an Applications Manager process, try to recreate the problem that you are troubleshooting.
When you see the problem appear again, go immediately to the Applications Manager log directory and look for the
files with a .debug extension. They are the files created by the debug utility for processes. They are also the files
most frequently requested by Broadcom Support.
We recommend that you zip your .debug files before sending them to Broadcom Support.
Warning: When the debug utilities are activated, log files can balloon in size. You should activate debug
only when you are troubleshooting, then deactivate it when you are done troubleshooting. If you leave
debug active, you may run out of disk space.
Deactivating Debug for the awcomm and awnetex C Processes
After the problem or error is captured, remove the text to the right of the debug_mask= line in the [default] section
of the awenv.ini file as shown below:
[default]
debug_mask=
Key Words
The following key words are used in the procedures presented in this chapter.
• Source: Refers to the existing Applications Manager instance (the one you want to copy or move).
• Target: Refers to the instance you will be creating.
• Copy: Implies that the source is NOT deleted. You will need to change the new Agent name and Database
Login if the accounts reside in the same database instance.
• Move: Implies that the original source will be deleted after copying files to a new target account. Changing the
Agent and Database Login names is not required.
Manual Control
The procedures described in this chapter for copying, moving, and renaming your Applications Manager instances
use the Applications Manager installation program. If you have customized settings within your Applications
Manager files, you can manually alter many of the files Applications Manager recreates within these procedures.
Three-tiered Methodology
The Applications Manager application-centric philosophy ensures that development, testing, and production occur
simultaneously while minimizing downtime to your mission-critical production instance. The Applications Manager
three-tiered methodology, when used effectively, ensures that modifications and enhancements occur quickly and
safely in your application environment.
IT personnel realize the importance of compartmentalizing development, testing, and production environments.
The key mission of all database applications is to get them up and running and keep them running. Yet in attaining
this goal, IT departments must contend with constantly changing requirements and requests to improve database
performance, flexibility, and functionality. IT departments, which must keep enterprise applications running 24/7,
need a solution that ensures modifications and enhancements occur quickly and safely in their production instance.
The Applications Manager three-tiered methodology provides this solution.
Although this methodology (as shown above) may appear obvious, this is often not the case for many
organizations. The three-tiered approach encourages organizations to maintain separate development, testing, and
production instances. The advantages of this approach are many:
• Separating production from development and testing decreases the chance of an untested program going awry
and tying up mission-critical resources and personnel.
• Most decisions can be made 'up front' with already established requirements and goals.
• All applications are managed to a single design standard. Cross-platform, cross-application, and cross-phase
conflicts are avoided since any change made in one instance can be passed onto another.
In other words, no matter where you are, you can anticipate and develop your specific components independently
and in advance of other components. Many organizations take a system-level approach, where each database
instance is administered independently. Incompatibilities arise when developers design for one instance only to
discover that the production instance was modified to accommodate the request of yet another developer. Since
each phase is 'blind' to each other, decisions in one instance can directly conflict with requirements in another
instance.
Applications Manager addresses these concerns through its application-centric, three-tiered design philosophy.
Export and Import windows make this happen.
Definitions and Terms
Term Description
Term Description
Notice that the arrows are bi-directional for Applications Manager. This is because it is possible, and in fact likely,
that Applications Manager objects will be transferred between different instances. For example, if a production
Process Flow has been modified in the production instance and produces an error, the Process Flow can be
duplicated in the QA instance for additional testing.
The Oracle Export/Import utility handles bulk transfers of an entire database. Applications Manager is much more
'surgical,' allowing administrators to pick and choose individual objects for export.
A typical scenario for organizations running enterprise applications may look like this:
1. Create two additional instances of currently existing database (enterprise).
2. Install Applications Manager development, testing, and production instances on each of the mirrored
applications.
3. Develop new objects and application in the development instance.
4. Export the objects.
5. Import the objects into the testing instance. If the objects fail testing, allow Development to make changes and
resubmit the objects. If the objects pass testing, import the objects into the production instance.
The location of the various Applications Manager instances is irrelevant when using the Applications
ManagerExport and Import windows. The export utility creates a flat file that can be copied or sent via FTP to the
import directory of any Applications Manager instance.
2. To stop all the Applications Manager processes, issue the following commands:
stopso
Windows Processes
To stop all Applications Manager Windows processes:
1. Make sure no tasks are running.
2. For the instances, stop all Applications Manager processes, including any Remote Agent processes, by
selecting Start>Programs>Applications Manager>Stop Applications Manager Processes><Agentname>.
3. Stop the awcomm process from the Windows Task Manager.
4. Stop the WatchWorx service by opening the Services applet from the Windows Control Panel, selecting the
WatchWorx service AWW-<Agentname>, and clicking Stop.
Starting Applications Manager Windows Processes
To start the Applications Manager Windows processes:
1. To start the WatchWorx service, go to the Control Panel Services applet, select the WatchWorx service, and
click Start. This will automatically launch the aw processes.
2. Start your Automation Engine and Agent processes from the Explorer window.
Applications Manager 9.4.1
5. If the values in your data do not match, you will receive a prompt similar to the following:
The old and new values will be listed. Verify the changes are correct.. Enter 'Y' at the prompt shown below and
the install will update the values in the database:
Windows
To rerun the database portion of the Applications Manager installation:
1. Open a command prompt, switch to the site directory, and issue the sosite command.
2. Switch back to the Applications Manager home directory and issue the awinstall command.
3. When prompted, select option 1: Initial Install/Upgrade from Prior Version.
4. Follow the onscreen prompts.
5. If the values in your data do not match, you will receive a prompt similar to the following:
The old and new values will be listed. Verify the changes are correct.. Enter 'Y' at the prompt shown below and
the install will update the values in the database:
1. Log into the database where you will be creating the Oracle account for Applications Manager and issue the
following command:
2. To give the Applications Manager account the privileges required to create tables, views, indexes, procedures,
triggers and sequences, issue the following commands:
In the commands above, replace <am>, <tspace>, and <tmpspace> with appropriate values for your system.
Warning: If you do not set the default and temporary tablespaces for the Applications
Manager account, all the Applications Manager database objects will be created in the system
tablespace.
3. To prevent the Applications Manager installation script from prompting for the Oracle sys password, you
can grant the appropriate privilege to a system table ahead of time. Make the following grants from the
Oracle sys account:
If you have multiple Automation Engines running in the same database, and you try installing a new Automation
Engine in the same database, you may have trouble granting access to dbms_pipe. If you have trouble, try
stopping the other Automation Engines.
Import the data to the target machine
To move the data to the target machine:
1. On the source system, perform an Oracle export of the Applications Manager user.
Using the Oracle export utility (EXP), perform a full user export of the source instance's Oracle account. Export
everything-all data and objects. Move the resulting .DMP file to the target's home directory.
2. On the target system, import the Oracle export.
Using the Oracle import utility (IMP), perform a full user import of the .DMP file into the target instance's Oracle
account. Import everything-all data and objects.
Run the SQL updates
After importing the data to the target system, you must check the Automation Engine's name, IP address, and login
information to make sure they are correct.
1. Log into SQL*Plus as the Applications Manager Oracle user on the target machine.
2. Reset the database privileges by doing the following:
1.1 Copy the sysdba.sql in the sql directory on the source machine to the sql directory on the target machine.
2.1 Log into SQL*Plus as the Applications Manager user and run sysdba.sql.
Applications Manager 9.4.1
You will need the sys account password to execute this step.
Run the Applications Manager installation procedure
After importing the data and running the SQL updates, you need to run the Applications Manager installation.
UNIX
To run the Applications Manager installation:
1. Log into UNIX as the Applications Manager user, switch to the Applications Manager home directory, and run
the CDINST.SH program.
2. When prompted, select option 1: Initial Install/Upgrade from Prior Version.
3. Follow the onscreen prompts.
4. If the values in your data do not match, you will receive a prompt similar to the following:
The old and new values will be listed. Verify the changes are correct.. Enter 'Y' at the prompt shown below and
the install will update the values in the database:
Windows
To run the Applications Manager installation:
1. Run the installation executable
If you are installing from a CD, use cdinstall.bat. If not, then open a command prompt, go to the site directory,
call sosite.bat, then awinstall.
2. When prompted, select option 1: Initial Install/Upgrade from Prior Version.
3. When prompted to select an Automation Engine/Agent upgrade, select 'Automation Engine OTHER'.
4. Follow the onscreen prompts.
5. If the values in your data do not match, you will receive a prompt similar to the following:
The old and new values will be listed. Verify the changes are correct. Enter 'Y' at the prompt shown below and
the install will update the values in the database:
sqlplus <user>/<password>
sqlplus <user>/<password>@<connect string>
truncate table so_users_log;
truncate table so_job_history;
commit;
The old and new values will be listed. Verify the changes are correct.. Enter 'Y' at the prompt shown below and
the install will update the values in the database:
Windows
To run the Applications Manager installation:
1. Run the installation executable
If you are installing from a CD, use cdinstall.bat. If not, then open a command prompt, go to the site directory,
call sosite.bat, then awinstall.
2. When prompted, select option 1: Initial Install/Upgrade from Prior Version.
3. When prompted to select an Automation Engine/Agent upgrade, select 'Automation Engine OTHER'.
4. Follow the onscreen prompts.
5. If the values in your data do not match, you will receive a prompt similar to the following:
The old and new values will be listed. Verify the changes are correct.. Enter 'Y' at the prompt shown below and
the install will update the values in the database:
%AW_HOME%\site\sosite.bat
instsrv -remove AWW-<Agent name>
Connected.
old 1: grant select on v_$session to &login with grant option
new 1: grant select on v_$session to AM with grant option
Grant succeeded.
4. Using the Oracle import utility (IMP), perform a full user import of the source instance's .DMP file into the target
database account. Import everything-all data and objects.
5. Recreate the target database account's sys grants by logging into SQL Plus as the target Applications Manager
Oracle user ID and running the sysdba.sql script located in the sql subdirectory in the AW_HOME directory.
You will be prompted for the Oracle sys password.
SQL>@sys
6. Reconcile the target sosite file by adding environment variables from the source sosite file.
7. Run the appropriate Applications Manager installation as described below.
UNIX
To run the Applications Manager installation:
1.1 Switch to the site directory and run .sosite.
2.1 From the Applications Manager home directory, run the awinstall program.
3.1 When prompted, select option 1: 'Initial Install/Upgrade from Prior Version'.
The install will list the current values (i.e.: Automation Engine name, IP address, Oracle ID.) and display the
following prompt:
4.1 If the above information is correct, go to step 7f below. If you changed the connect string, Database Login,
database IP, or database password, you must answer 'No' to the prompt.
5.1 Enter each new value, pressing the Enter key to go to the next value.
After you enter the last value, Applications Manager will check the values against the database. If the
values in your database do not match the new values you entered above, you will receive a prompt similar
to the following:
If the values are incorrect, enter 'N'. Applications Manager will exit the install. You can then rerun the install
and enter the correct values.
7.1 Follow the onscreen prompts.
Windows
To run the Applications Manager installation:
Applications Manager 9.4.1
1.1 Open a command prompt, switch to the site directory, and run sosite.
2.1 From the Applications Manager home directory, run awinstall.
3.1 When prompted, select option 1: 'Initial Install/Upgrade from Prior Version'.
The install will list the current values (i.e.: Automation Engine name, IP address, Oracle ID.) and display the
following prompt:
4.1 If the above information is correct, go to step 7f below. If you changed the connect string, Database Login,
database IP, or database password, you must answer 'No' to the prompt.
5.1 Enter each new value, pressing the Enter key to go to the next value.
After you enter the last value, Applications Manager will check the values against the database. If the
values in your database do not match the new values you entered above, you will receive a prompt similar
to the following:
If the values are incorrect, enter 'N'. Applications Manager will exit the install. You can then rerun the install
and enter the correct values.
7.1 Follow the onscreen prompts.
8. If you are copying the instance, then leave the source instance in place. If you are moving the instance, then
delete the source database user.
To delete the source database user:
1.1 Remove the database user pipe by logging into SQL*Plus as the Applications Manager database user and
issuing the following commands:
declare
ret number;
begin
dbms_pipe.purge(<user name>||'pipe_master');
ret:=dbms_pipe.remove_pipe(<user name>||'pipe_master');
end;
Where <user name> is the name of the Oracle user and is not SYS or SYSTEM.
2.1 Drop the Applications Manager Oracle user by logging into SQL*Plus as sys and issuing the following
command:
Variable/Syntax Description
WatchWorx Variables
WatchWorx is an Applications Manager program that monitors the Automation Engine's processes and restarts
them if they go down. The following environment variables are used with WatchWorx.
Variable/Syntax Description
Variable/Syntax Description
[default]
AGENT=PROD71
MASTER=PROD71
MASTER_IP_ADDRESS=222.3.4.21
DB_SID=804
DB_IP=222.3.3.64
TZ=America/Los_Angeles
RMI=Yes
debug=true
UseNetworkTime=true
[awoae]
<program>.<pid>.log
Applications Manager 9.4.1
<program>.<pid>.err
The log and error files are created by default. If a debug mask is defined (see below), a .debug file is also created.
Debug Masks
A debug mask controls the amount of detail written to the .debug log file. The syntax for the debug mask is:
Debug_mask=T|INI|NET|DB|PRT|UTIL|ALL|L1
Option Description
INI = Initialization
NET = Network
DB = Database
UTIL = Utility
CON = Conditions
TRN = Translate
For more information on DEBUG masks, see Debugging the awcomm and awnetex C Processes.
Applications Manager 9.4.1
{/} UNIX= /
Windows = \
Replacement Values as well as parameters defined in the awenv.ini file are not case sensitive. The C programs
interpret the parameters, which uppercase them automatically. Therefore, case is not a factor.
Variables
The variables for processes and clients in general, are set by the awenv.ini environment initialization file. The
variables are described below for information purposes only.
We strongly recommend not altering the awenv.ini file without first consulting with Broadcom Support.
Options.properties File
The Options.properties file controls many of the client behaviors.
The location for the Options.properties file is:
UNIX:
$AW_HOME/web/classes
Windows:
%AW_HOME%\web\classes
. sosite
stopso rmi
startso rmi
For Windows:
sosite
stopso rmi
startso rmi
FileViewerFont Not set by default Sets the default font for the File
Viewer window.
UpdateIntv 3 seconds
Applications Manager 9.4.1
Masters.properties File
When you install Applications Manager, IP address information is written to the Masters.propertes file located in
the data directory. You can edit the Masters.properties file to update the database password.
Text from a sample Masters.properties file is shown below.
CollectorMaster=PROD
PROD=222.4.4.60 v90 1521 AE102 Y ENC\:HqRZc2Gu5JNRwPHgtadjCw\=\= ENC
\:8kD3K2Cj5twSdOPhbKDkSw\=\=
Collectors=222.4.4.60:7099
Masters.properties Options
Each of the possible lines in the Masters.properties file are described below.
Option Description
<Automation Engine name> One required line for this Automation Engine in the
format <Automation Engine name>=<IP address>
<Login name> <port> <service name or PDB service
name for Oracle 12c and above> <Encrypted Y/N>
ENC:<encrypted User name>\=\= ENC:<encrypted
password>\=\=. You may need to edit this file change
the default Oracle login and password, for more
information, see Changing the Default Oracle Login and
Password in Applications Manager .
. sosite
Applications Manager 9.4.1
stopso rmi
startso rmi
For Windows:
sosite
stopso rmi
startso rmi
If these files are created on a source host (A) and properly installed on a remote host (B) for a specific User
account, ssh will not prompt for a password when connecting from A to B. Note that the public key file must match
the id file, so these files will not work without each other. Also, if the public key does not match the id file, or if the
connecting User has not distributed a key file, ssh will default back to an interactive login and will prompt for a
password.
The remainder of this document consists of a series of steps on how to generate and install these key files for most
unix systems. Please note that UNIX configurations vary from system to system, therefore these steps might not
work on all systems and configurations.
Generating the Shared Key Files on the Source Host
On the source host machine (A), while logged in as the User that will be connecting to the remote host, issue the
following command:
ssh-keygen -t rsa
Applications Manager 9.4.1
The system will then prompt you for a filename for the key file. Just hit enter without specifying a filename.
The system will then prompt you for a passphrase. Just hit enter without specifying a passphrase to leave it blank.
If the system prompts you for the "same passphrase again" to verify what was typed above, just hit enter.
After processing for a second or two, the system should come back with some information about the key file pair
that was just generated. The public key file must now be installed on the target remote host and the remote host
must be told to use this key for the given User.
Transfer the generated public key file to the target remote host. For instance:
mkdir /etc/sshd/authorized_keys
You will then need to modify the sshd_config file located in /etc/sshd/. Inside that file, you should see a line that
looks like this:
#AuthorizedKeysFile .ssh/authorized_keys
Change it to:
AuthorizedKeysFile /etc/ssh/authorized_keys/%u
/etc/init.d/sshd restart
After the restart is complete, move the public key file that was generated on the source host system (A) to the
appropriate location on the target remote system (B). If the file was copied to the remote host using the command
listed in the previous section above, this command will move the file into the correct location:
Where <local user accountname> is the account name that will be used for logging into the target remote host (B)
when connecting via ssh. This should be the account name of the User account created on the target remote host
(B).
Applications Manager 9.4.1
This completes the installation of SSH shared keys. Test this configuration by logging into the correct User account
on the source host machine (A) and issuing an ssh command as follows:
If this command comes back and informs you that the host key is not cached, just type yes to store the host key
identity. If the shared keys are functioning properly, you should be immediately placed at a command prompt on the
remote host.
If the command prompts you to enter a password during the connection, then the shared keys installation is not
functioning properly and should be re-configured.
AGENT_LOG_ROLLOVER Job Controls the Agent service log's rollover interval. Agent
service logs are retained in the log directory for seven
days. They are named AgentService.<data and
time>.log.
HISTORY_PURGE Job Deletes History records that are older than the number
of days you specify in a prompt. The Job is included
in the SYSTEM Process Flow with a default value of
60 days. For more information, see Managing System
Records.
JOB_REPORT Job Runs a report that lists all currently defined Jobs, their
descriptions, the programs they run, their Program
Types, and Applications.
Applications Manager 9.4.1
OLDPRTS Job Changes all completed tasks that have a LOG output
function to STORE.
RMI_LOG_ROLLOVER Job Controls the RMI server log's rollover interval. RMI logs
are retained in the log directory for seven days. They
are named rmiserver.<data and time>.log.
SCHCREATE Job This Job runs a program that generates the production
schedule information into the database table
future_temp. The Job is part of the PRODSCH
Process Flow. After the schedule is created, the
SCHPRINT Job prints the schedule from the
future_temp table.
SCHPRINT Job This Job runs a program that formats and prints the
production schedule stored in the future_temp table
produced by the last SCHCREATE Job. The Job is part
of the PRODSCH Process Flow.
SODELETE Job Deletes output files that have exceeded their retention
days or the maximum number of revisions. This Job
is included in the SYSTEM Process Flow with a view
name of DELDEFAULT.
The SODELETE Job does not run a script like most
Jobs, Applications Manager executes Java every time it
runs. Therefore you should not copy this Job and edit its
script.
For more information, see Managing System Records.
STAGING Job Stages Jobs and Process Flows in the Backlog based
on all of their schedules.
STAGING_BY_SCHEDULE Job Stages Jobs and Process Flows in the Backlog based
on select schedules. For example, you may want to
stage a Job that includes two schedules that run with
different prompt values for different departments.
TEST_JOB Job Runs a program called test_module that runs for the
number of seconds specified in a prompt. The Job is
useful for testing scheduling strategies. If a non-numeric
value is supplied for the prompt, the Job will abort.
Applications Manager 9.4.1
Customizable Columns
From the Options window on the Applications Manager desktop, you can select Tables and customize the
columns in the many Applications Manager windows. For procedure instructions, see the User Guide. In the series
of tables below, the default columns are displayed in bold.
Backlog Columns
SO_QUEUE The Queue each task is running on, or will run on.
SO_MODULE Displays the name of each Job rather than its alias.
JOB_STARTED The date, time and time zone each task started.
SO_JOB_FINISHED The date, time and time zone each task finished
SO_REQUEST_DATE The date, time and time zone each task was requested
or scheduled.
History Columns
SO_QUEUE The Queue each task is running on, or will run on.
SO_MODULE Displays the name of each Job rather than its alias.
JOB_STARTED The date, time and time zone each task started.
SO_REQUEST_DATE The date, time and time zone each task was requested
or scheduled.
SO_CREATE_DATE The date and time each output file was created.
SO_FULL_PATHNAME Displays the full path and file name for each output file.
PRINT_LOG_CREATE_DATE The date, time and time zone when each log file was
created.
PRINT_LOG_DELETE_DATE The date, time and time zone when each log file will be
eligible for deletion by the SODELETE Job.
LAST_STATUS Gives the date and time when each Agent data was last
updated.
SO_LAST_ACTIVITY The date, time and time zone of the last activity on each
Automation Engine or Agent.
SO_MODULE Displays the name of each Job rather than its alias.
SO_FULL_PATHNAME Displays the full path and file name for each output file.
SO_CREATE_DATE The date and time each Agent log file was created.
SO_FULL_PATHNAME Displays the full path and file name for each output file.
SO_DELETE_DATE The date each log file will be eligible for deletion by the
SODELETE Job.
Applications Manager 9.4.1
MODULE Displays the name of each Job rather than its alias.
SO_QUEUE The Queue each task is running on, or will run on.
SO_MODULE Displays the name of each Job rather than its alias.
JOB_STARTED The date, time and time zone each task started.
SO_JOB_FINISHED The date, time and time zone each task finished
Applications Manager 9.4.1
SO_REQUEST_DATE The date, time and time zone each task was requested
or scheduled.
MODULE Displays the name of each Job rather than its alias.
Applications Manager 9.4.1
SO_QUEUE The Queue each task is running on, or will run on.
SO_MODULE Displays the name of each Job rather than its alias.
JOB_STARTED The date, time and time zone each task started.
SO_REQUEST_DATE The date, time and time zone each task was requested
or scheduled.
• User interface field names, menu items, and window names are written in bold.
• File names and text within scripts are written in bold.
• Variable text is written <within brackets>. In the example below <run ID number> represents the actual run ID
number of a requested Job.
If you submit a large Process Flow, the message will read, 'Task submission in progress: Run ID = <run ID
number>' until all components of the Process Flow have been placed into the Backlog.
To accomplish this, Applications Manager created a generic Applications Manager Job called CONCSUB.
CONCSUB runs a PL*SQL procedure to request OEBS programs through Concurrent Manager. Jobs based on
CONCSUB can be added to a Process Flow to take advantage of the full range of Applications Manager scheduling
features and conditions. Also, by initiating OEBS programs from Applications Manager, you can take advantage
of Job monitoring, dynamic parameter passing, and automated output distribution. You also can view the program
output and logs online through the Applications Manager viewer.
We refer to the ability of Applications Manager to initiate OEBS programs as the Applications Manager-Initiated
Interface.
Creating Jobs and Process Flows for Oracle E-Business Suite Programs
Applications Manager includes a utilities that automatically create Applications Manager Jobs for your existing
OEBS programs and Process Flows for your report sets. You can then use the Jobs and Process Flows as you
would any other Applications Manager Job or Process Flow. The utilities allows you to choose one or more
Application Short Names, then reads the necessary information about each program from the Oracle E-Business
Suite tables (e.g.: FND_CONCURRENT_PROGRAMS), and builds the Applications Manager Jobs and Process
Flows for each program.
In prior versions of the OAE, you may have seen references to the MKCONC and MKPA Jobs that were used
to create Applications Manager Jobs for Oracle E-Business Suite programs. MKCONC and MKPA have been
replaced with a custom utility available from the Applications Manager main menu.
Intercepting and Managing Oracle E-Business Suite Programs
Applications Manager also can intercept and manage OEBS programs initiated directly from Concurrent
Manager. Within Applications Manager, you can specify sets of OEBS programs that should be managed through
Applications Manager. When the specified OEBS programs are initiated by whatever mechanism you normally use
to get them into Concurrent Manager (e.g.: a Foundation screen, CONCSUB command, or Windows application),
the sets of programs are 'gated' through Applications Manager. You then can use the Applications Manager
workload balancing and conditions features to control the Jobs, including non-OEBS programs, running on the
system.
Managing and Deleting Output for OAE Jobs
Applications Manager registers the OAE output files where they reside on the Oracle E-Business Suite server.
Once we do that Applications Manager manages the output. Each Job's definition specifies the number of days the
output will be retained by Applications Manager. The SODELETE Job runs nightly in the SYSTEM Process Flow
(under the alias DELDEFAULT). It deletes output files that have exceeded their retention settings.
1. Create an AQ admin am_aq_admin account on the same database where Oracle E-Business Suite (OEBS) is
installed.
For Oracle 12c and above, it is likely on a pluggable DB (pdb). Login the SYS account or the SYS account of the
pdb (12c and above) with sql*plus and entering the following, substituting the text in < > with the appropriate text
for your database:
2. Create a working directory on the host machine where the database for OEBS resides (/home/oae_install/sql
for example).
3. Copy or FTP the following scripts from the sql directory under the Applications Manager home (for example, C:
\am\sql).
am_aq_admin_setup.sql
4. Create AQ roles and objects. Go to the working directory and login in OEBS's Oracle database as SYS (SYS for
the pdb in 12c and above), run the following script:
@am_aq_admin_setup.sql
This will prompt you for the password for the newly created am_aq_admin account. Provide the password when
prompted.
For Oracle 12c and above with pluggable db (pdb), a SQL*NET tnsname has to be created. Check with your
Oracle DBA for the tnsname connecting to the pdb.
Use the tnsname as part of the password, for example, password@pdb1.
This script will create AQ objects am_oae_message_queue and am_oae_queue_table and the roles to grant
to the AQ user. It starts the queue at the end of the script.
To manually start the queue, from the am_aq_admin user, enter:
For example:
For example:
SQL> @ OAE_DROP.sql
Upgrading from an existing OAE/AM system less than 1. Navigate to the working directory described in
v9.2 and you want to continue using the APPS account Setting Up an OAE Oracle User Account, login to the
SYS account and run the following script:
SQL> @am_aq_user_setup.sql
connecting to a separate Oracle account, other than APPS. In that case, The existing Login to APPS account can
be dropped.
You create the object using the Logins window shown below. If you have more than one database, you must
create a Login for each database.
Procedure
To create an OAE Login:
1. Open the Logins Selector window and click New.
Applications Manager displays the Select Login Type window shown above.
2. From the Select Login Type window, select OAE and click OK.
Applications Manager displays the Logins window shown above.
3. In the Name field, enter the Database Login name for the Oracle E-Business Suite instance.
If you are linking Applications Manager to more than one Concurrent Manager database account, and the
database accounts have the same names (e.g. two database accounts with the username apps), use the
Login <username>@<comment> feature to differentiate the two database account names. Applications
Manager ignores the @<comment> portion of the account name when it connects. For information on creating
a Database Login or using <username>@<comment>.
For example, if Oracle databases running on two hosts (sun1 and dg1) both use the same Database Login
name (sqloper), you could add @sun1 and @dg1 to the Database Login names in order to distinguish them
from one another (sqloper@sun1 and sqloper@dg1).
4. Enter the database password.
5. Enter the Oracle service name.
6. If required, enter a network alias.
You must enter a Network alias if the database resides on a different machine than Applications Manager. You
can also use a Network alias to identify a local database. For example, a SQL*Net Network alias for an Oracle
database.
7. Enter the host IP address of the machine where the database resides. This is used to define the Login for JDBC
use.
8. Enter the database port number.
Applications Manager 9.4.1
Applications Manager displays the Select agent type window shown above.
2. From the Select agent type window, select OAE and click OK.
Applications Manager displays the Agents window shown above.
3. Complete the standard Agent fields on the General tab.
These are the same fields used to define a standard Applications Manager Agent.
Applications Manager Environment Variable objects do not apply to OAE Agents. Therefore the Environmental
Variables field is grayed out.
4. If you are using run time extensions, check the Runtime Extension box.
Checking this box will cause extra overhead while running Jobs. Most features of run time extensions can be
performed with Output Scans, Notifications, and Environment Variables.
5. In the Login field, select an Applications Manager Login object that contains the information to connect to the
Oracle E-Business Suite instance (typically an apps database account).
6. In the Intercept Jobs box, select whether you want to intercept included Jobs, all but excluded Jobs, or no
Jobs. For more information on included and excluded Jobs, see Intercepting OAE Jobs.
The next step will be to update the Applications Manager triggers and database tables. When updating the
Applications Manager triggers and database tables, submitting and processing of OEBS programs within the
Oracle E-Business Suite instance(s) should be suspended. Stop or pause the corresponding OEBS Concurrent
Manager component(s).
7. Click the Update button to update the OAE database tables and triggers.
8. Restart the component(s) after successfully updating.
9. Click OK to save the Agent.
Next Step
After creating the OAE Agent, the next step is to run an Applications Manager import of OAE objects.
Procedure
To import the Oracle Applications Extension objects into Applications Manager:
1. Log into Applications Manager and select Import from the Operations window to open the Import window
shown above.
2. From the File menu, choose Open Import File.
Applications Manager displays the Import Files dialog box
3. Choose import file OAE_OBJS from the list and click OK.
A list of mappable objects appears in the Import window.
4. Select the Map File tab.
5. Open the File menu, select Open Map File, and choose ISAIMPORT.
All objects should now be mapped and the dialog box should look similar to the example above. If any objects
are not mapped, you will need to map them manually.
6. To start the import, click Import.
7. Open the Explorer window and check that the IMPORT task is running.
It will return a FINISHED status when complete.
The Automation Engine and Agent must be running for the IMPORT task to run.
Now You're Ready!
Applications Manager 9.4.1
That completes the basic OAE installation. You now can create Applications Manager Jobs to run OEBS programs,
and define the OEBS programs Applications Manager will control. These topic are covered in Using OAE Auxiliary
Agent Functions.
Installing a new OAE Agent or updating an existing Create a new Login, connecting to the new dedicated
OAE Agent from less than Applications Manager v9.2 OAE account. The AgentService process needs to be
and you want to use a create an Oracle account to restarted to use the new connection. To stop and restart
deploy OAE objects to separate from the APPS account the AgentService processes, you must start by setting
(recommended) the new environment. To set the environment:
1. Go to the $AW_HOME/site directory (%AW_HOME
%\site for Windows).
2. Issue the following command:
. sosite
. ./sosite
stopso agentservice
startso agentservice
Updating an existing OAE Agent from less than Continue to use your existing Login for the APPS user.
Applications Manager v9.2 and you want to continue to
use the Login connecting to the APPS account
Applications Manager 9.4.1
If the you currently have the OAE Agent installed in the APPS account or another account, your need to log into
that account and run the script OAE_DROP.sql to clean-up all the related objects.
SQL> @OAE_DROP.sql
It may take a few minutes for the update to complete. To view the log file from the update, click the View Log
button. The log file in named OAECOPY_update.log and is located in the log directory of the OAE Agent.
Restart the component(s) after successfully updating.
Creating Jobs and Process Flows is the most useful because you can bring to bear all the Applications Manager
scheduling and integration features.
Marking Programs for Interception
Applications Manager 9.4.1
When a program is marked, Applications Manager manages it whenever it is initiated from Concurrent Manager.
Applications Manager intercepts these Jobs, automatically creates matching CONCSUB Jobs in Applications
Manager, runs the Jobs, and (with a standard Agent installed) captures their output.
The Auxiliary Agent Functions window for the OAE Agent includes the following tabs:
• Query: Allows you to query for Oracle E-Business Suite programs using a variety of criteria. Query results
are informational only, and cannot be used to modify the settings on the other tabs. For more information, see
Querying Oracle E-Business Suite Programs.
• Create Jobs: Allows you to generate Jobs for your OAE Jobs. For more information, see Creating OAE Jobs.
• Create Process Flows: Allows you to generate Process Flows for your OAE report sets. For more information,
see Creating OAE Process Flows.
• Intercept Jobs: Allows you to mark OAE Jobs to be included or excluded for interception. For more information,
see Intercepting OAE Jobs.
To open the Auxiliary Agent Functions window for the OAE, Users need to have the OAE Agent and the Agents
User Authority in one of their User Groups. Users will only be able to edit the OAE Agent, if the OAE Agent is in
one of their User Groups with Edit authorization.
You access the OAE Auxiliary Agent Functions window for an OAE Agent from the Agents Selector window by
selecting an OAE Agent and clicking the Aux button.
In the image above, query results are returned for programs with the FND application short name.
Query results are informational only, and cannot be used to modify the settings on the other tabs on the Auxiliary
Agent Functions window.
Field Descriptions
The list below describes the fields on the Query Programs tab.
• Application Short Name
Searches for programs in the selected application.
• Program
Searches for OEBS program name(s). Wildcards % and _ are allowed. The field is case sensitive.
• Program Description
Searches for OEBS program description(s). Wildcards % and _ are allowed.
• Applications Manager Job
Checks Job settings and searches for programs:
• That are already Applications Manager Jobs, when you select Yes.
• That are not yet Applications Manager Jobs, when you select No.
• Without regard to whether they are already Applications Manager Jobs, when you select All.
• SRS
Checks for Standard Report Submission programs and searches for programs:
• That are SRS programs, when you select Yes.
• That are not SRS programs, when you select No.
• Without regard to whether they are SRS programs, when you select All.
• Marked
Choose an entry from the list to specify the option for which to query:
• All. Query for All OEBS programs, regardless of Include/Exclude setting.
• Excludes. Query only for OEBS programs that have been marked Excluded.
• Includes. Query only for OEBS programs that have been marked Included.
• Both. Query for OEBS programs that have been marked (either Included or Excluded).
• Neither. Query for OEBS programs that have not been marked.
You access the OAE Auxiliary Agent Functions window for an OAE Agent from the Agents Selector window by
selecting an OAE Agent and clicking the Aux button.
Field Descriptions
The list below describes the fields on the Create Jobs tab.
• Application Short Name
Searches for programs in the selected application. From the list of OEBS programs you can select one or
more programs from which to create Applications Manager Jobs. The creation utility combines data from
the Applications Manager views APPWORX_FND_APPLICATIONS, APPWORX_FND_PROGRAMS, and
APPWORX_FND_FLEX_COL_USAGE with the foundation Job information and the Oracle E-Business Suite
link object to build the new Jobs in Applications Manager.
• Program Name
Searches for OEBS program name(s). Wildcards % and _ are allowed. The field is case sensitive.
• Agent/Group
Select the OAE Agent or Agent Group you want assigned to the Jobs you create.
You cannot change the Agent selection for OAE Jobs and Process Flows in schedules.
• Template Job
Using the Job creation utility involves picking a template Job upon which all the new Jobs will be based.
When creating the new Jobs, the template's program parameters are copied to the new Job(s). This forms the
foundation for all new Jobs. Before creating Jobs, you should edit the template Job to assign the desired default
values.
When you installed OAE, the CONCSUB template Job was created.
You access the OAE Auxiliary Agent Functions window for an OAE Agent from the Agents Selector window by
selecting an OAE Agent and clicking the Aux button.
Field Descriptions
The list below describes the fields on the Create Process Flows tab.
• Application Short Name
Searches for programs in the selected application. From the list of OEBS programs you can select one or
more programs from which to create Applications Manager Jobs. The creation utility combines data from the
FND_CONCURRENT_PROGRAMS, FND_APPLICATION, and FND_FLEX_COLUMN_USAGES tables with
the foundation Job information and the Oracle E-Business Suite link object to build the new Jobs in Applications
Manager
• Request Set Name(s)
Searches for OEBS request set name(s). Wildcards % and _ are allowed. The field is case sensitive.
• Template Job
Using the Process Flow creation utility involves picking a template Job upon which all the new Jobs will be
based. When creating the new Process Flow, the template's parameters are copied to each component in the
Process Flow.
• Application/Queue/Priority/Single Run
The values you pick in these setting will be set for the Process Flow.
• Create Process Flow Prompts
Applications Manager 9.4.1
Allows you to specify prompt values for Process Flow components at the Process Flow level. When checked,
Applications Manager creates prompts at the Process Flow level for the component prompts.
The Process Flow prompts will be given the description <Job name>: <prompt description>. For example,
FNDCPRT_SQLLOAD: data.
The value of the component prompts will be #<Process Flow prompt number>. For example, if the value of a
Process Flow component prompt is #3, it will resolve to the value of the third Process Flow prompt each time the
Process Flow is run. For more information of passing prompt values from a Process Flow to its components, see
the Development Guide.
• Consolidate Process Flow Prompts
When checked, components which have prompts with the same description and variable name will be combined
into the same prompt at the Process Flow level. Prompts used in multiple components will have the description
Component: <description>. For example, Component: duration.
This field works in conjunction with the Create Process Flow Prompts option. If this box is checked and that
one is not, nothing will happen.
You access the OAE Auxiliary Agent Functions window for an OAE Agent from the Agents Selector window by
selecting an OAE Agent and clicking the Aux button.
Procedure
To mark OEBS programs as included or excluded on the Intercept Jobs tab:
1. Select the Include or Exclude radio button to specify the mode for either including or excluding the Jobs you
select.
2. Select the Jobs using the arrow icons.
3. Save the changes you make by clicking either the Apply or OK button. Apply keeps the window open, whereas
OK closes it.
Changing the Include/Exclude Mode for Selected Jobs
To change the include/exclude mode a selected Job, click that the MODE column for that Job's row and select
Include or Exclude.
Suggested Excludes
When managing OEBS programs through Applications Manager, we recommend that you start small. For example,
selecting the All but Excluded processing option and no excludes will intercept all OEBS programs, which could
be many more programs than you are prepared to manage through Applications Manager. It would be better to
start smaller by using the Included Only processing option and include a small number of OEBS programs. You can
include additional OEBS programs as your needs and experience grow.
If you get to a point where you want to use the All but Excludes option, you should be aware of the suggested
excludes for certain OEBS programs, most of which exercise control over Concurrent Manager itself. The
suggested excludes include the following FND programs:
• ABORT
• ACTIVATE
• DEACTIVATE
• FDRSTE
• FNDCPBWV
• FNDREPRINT
• RESTART
• SHUTDOWN
• STARTUP
• VERIFY
As the OEBS program is processed through Concurrent Manager, it can take on various Concurrent Manager
status codes (Standby, Error, Waiting etc.). These statuses are monitored by Applications Manager and reported as
the status of each OEBS task in the Applications Manager Backlog when you add the Application Status column
to it. For more information, see Monitoring OAE Jobs.
The Generic CONCSUB Job
The single generic CONCSUB Job, imported as part of the Oracle Applications Extension, lets you quickly set up
and run OEBS programs from Applications Manager. Use the Applications Manager creation utility to automatically
create Applications Manager Jobs from OEBS programs. You are free to modify the Applications Manager Job after
it is created by the utility.
Warning: Because the generic CONCSUB Job is the foundation upon which all OEBS programs are run in
Applications Manager, Broadcom strongly recommends that you not make any modifications to it.
The application short name under which the OEBS program runs.
• Responsibility*
The responsibility under which the OEBS program runs.
• Program App Short Name
The application short name assigned to the program in Oracle E-Business Suite.
• Job to Run
The name of the OEBS program to run. Programs are sometimes referred to by a longer, plain English name
like 'Active Responsibilities and Users' but this prompt requires the shorter program name, for example
'FNDSCARU'.
• Printer
The OAE printer.
• Printer Style
The OAE printer style.
• Copies
The number of copies to print.
• Save output
Y/N to specify whether to save output in Oracle.
• Print Together
Y/N to specify whether to print together.
*The User Name, Application Short Name, and Responsibility prompts together form a security triple for logging
in to Oracle E-Business Suite and granting privileges. The triple you specify in these prompts must be valid within
the OEBS security system, otherwise the program will not be allowed to run.
If the User that runs the Oracle E-Business Suite initiated Job is inactive, the OAE Agent will fail. If you want to
allow inactive Users to be the requestor of Oracle E-Business Suite initiated Jobs, be sure to check the Allow
requests from non active users Automation Engine option located on the Passwords tab in the Automation
Engine's definition.
Controlling Job Execution
You can manage OEBS-initiated Jobs from Applications Manager by using a number of Applications Manager
features. Some possibilities are outlined below:
• Limit the threads for the Applications Manager Queue(s) through which OAE Jobs execute. For example, if you
are running OAE Jobs through a particular Queue, set the number of threads for the Queue to prevent too many
OAE Jobs from running at the same time.
• Limit the threads for the Applications Manager Agent(s) on which the OAE Jobs execute. For example, if you
are running OAE Jobs on a particular Agent, set the number of threads for the Agent to prevent too many OAE
Jobs from running at the same time.
• Limit the CPU limit for the OAE Agent. You can specify CPU limit for the OAE Agents (or any Agent) be entering
a number in the CPU limit field on the General tab of the OAE Agent. The CPU limit defines the percentage of
CPU usage where Applications Manager will spawn no new Jobs. The default it 99%. You can see actual CPU
usage percentages for Agents in the Cpu column on the Agent Summary on the Explorer window.
• If there is a matching OAE Job for the OEBS program, you can set the priority within the Job definition. The
priority will be taken into account when Applications Manager runs the OAE Job (1=highest priority, 99=lowest).
• If there is a matching OAE Job for the OEBS program, you can add conditions to the Job definition. The Job
conditions will be evaluated when Applications Manager runs the OAE Job.
Task Status
When an OAE task runs in Applications Manager, the Status column in the Backlog shows the Applications
Manager status. Typical statuses included STAGED, QUEUED, RUNNING, FINISHED, and ABORTED.
OAE Statuses
The Concurrent Manager statuses and corresponding Operations Client display names are listed below:
Applications Manager 9.4.1
Cancelled C-Cancelle[d]
Disabled C-Disabled
Error C-Error
Paused C-Paused
Resuming C-Resuming
Scheduled C-Schedule[d]
Standby C-Standby
Suspended C-Suspende[d]
Terminated C-Terminat[ed]
Terminating C-Terminat[ing]
Waiting C-Waiting
Warning C-Warning
The Applications Manager statuses can be 10 characters maximum. Square brackets [ ] show any characters
that will be lost. Note also that there is no modification or interpretation of the Concurrent Manager
statuses-Applications Manager Reports the Concurrent Manager statuses directly. For information on the meaning
of each of these statuses, refer to your Oracle E-Business Suite Concurrent Manager documentation.
Adding OAE-Specific Status Columns to the Backlog
There are two OAE columns you can add to the Backlog:
• APPLICATION STATUS: shows real-time status of the OAE Jobs in the OAE application.
• REF1: shows the OAE Job count number for a Job.
To add the Application Status and Ref1 columns to the Backlog:
1. In Applications Manager desktop, open the Options menu and select Tables.
Applications Manager displays the Setup: Backlog window shown below.
Applications Manager 9.4.1
2. Locate the SO_APPLICATION and SO_REF1 entries in the DB_NAME column in the lower pane and click the
boxes in the VISIBLE column.
3. Optionally rename the Ref1 column name to Job Count.
4. To save the changes, click OK.
Default User
The procedure described above adds the columns for one particular User. If you want to add the OAE status
columns to Explorer for all Users, you can create a User named DEFAULT_USER, and make the changes outlined
above for that User. For more information on creating a DEFAULT USER, see the Administration Guide.
To store values in OUTPUT_FILE, add the following type of command to the run-time extension script:
echo STATUS_NAME=`WARNING´>$OUTPUT_FILE
Option Description
PREFIX.OAE.<OEBS user> The Oracle E-Business Suite user for the task.
Example:PREFIX.OAE.SYSADMIN
The OAE.Job is usually the same as the task name, so to avoid duplicate calls if the OAE.JOB is called and the
OAE.OEBS_program is the same, it will not call OEBS_program.
Adding Extension Type Environment Variables
There is an environment variable "extension_type" available to the run-time scripts. Its value will be the type of
run-time script i.e. "JOB", "OA_APPLICATION", etc. This environment variable will be available to any run-time
extension.
The value of this variable can be checked to determine if any action should be taken within the script. This would
be useful if you have more than one extension that could get called.
For example, assume you have an OEBS application called FND and an Applications Manager Application called
FND. You create a PREFIX.OAE.OA_FND and a PREFIX.OAE.AW_FND.
If you don't want them both to execute you can check the value of the extension_type variable from within the script
to make decisions.
Possible values for the "extension_type" variable are:
• OAE
• JOB
Applications Manager 9.4.1
• PROGRAM
• AW_APPLICATION
• AW_USER
• OA_APPLICATION
• OA_USER
Values Available for the OUTPUT_FILE Environment Variable
The dynamic, per-task environment variables that will be available within any runtime script are listed in Values
Available for the OUTPUT_FILE Environment Variable.
Variable Description
Variable Description
Variable Description
covers all aspects of the Applications Manager PeopleSoft Extension. It is part of the complete Applications
Manager documentation set which includes:
• Getting Started Guide
• Installation Guide
• User Guide
• Development Guide
• Administration Guide
• Oracle Applications Extension Guide
• PeopleSoft Extension Guide
Text Conventions
The following text conventions are used throughout this guide:
• User interface field names, menu items, and window names are written in bold.
• File names and text within scripts are written in bold.
• Variable text is written <within brackets>. In the example below <run ID number> represents the actual run ID
number of a requested Job.
If you submit a large Process Flow, the message will read, 'Task submission in progress: Run ID = <run ID
number>' until all components of the Process Flow have been placed into the Backlog.
If a PeopleSoft program run by an Applications Manager Job requires access to PeopleSoft, you must create an
Applications Manager Login. The Applications Manager Login protects your actual password while giving users
access to programs they need to use.
If you will be running Jobs on more than one PeopleSoft server, you should create a separate Login for each
server. If you want to use the same Login for each Agent, for example PSAM, you can create unique names for
the Logins by appending an `@´ character followed by unique identifying characters. The `@´ and characters
after it will be stripped off at the time of execution. For example, you could use the following naming convention:
PSAM@<server>_<system>. In the image above, the extension "orange_fs" has been added to indicate the Login
is for the "orange" PeopleSoft server and "fs" system.
Creating a PeopleSoft Login in Applications Manager
From the Logins window, fill in the Name, Type, and Password fields described below. Usually this Login will be
for a PeopleSoft batch scheduling user. The user needs to have the ability to run processes.
• Name
PeopleSoft Login name for the batch scheduling user.
• Type
PSE
• Password
PeopleSoft password for the batch scheduling user.
Creating an Applications Manager User
Along with the Login, you must also create a matching User. An example is shown below. The user controls access
to the PeopleSoft Jobs defined in Applications Manager.
Applications Manager 9.4.1
The User Name must match the name assigned to the Applications Manager Login. The user password entered
here is not used, because the PeopleSoft signon will be used instead.
The Database Login with the correct password is required for the super user.
This user will have User Group access to PeopleSoft through Applications Manager.
For more information on defining Users, see the Administration Guide.
Running Jobs as Other PeopleSoft Users
An User is required for each PeopleSoft user you wish to run Jobs as. User passwords entered here are not used,
because the PeopleSoft signon will be used instead.
Running Jobs as other users in not an option for PeopleTools v8.22. On an v8.22 Agent, all Jobs will run as the
batch user assigned to the PeopleSoft Agent.
Next Step
After defining the Applications Manager Login and User for PeopleSoft, the next step is to install the Applications
Manager PeopleSoft Agent.
$PS_HOME/appserv/classes
Windows:
%PS_HOME%\appserv\classes
$AW_HOME/web/classes
Windows:
%AW_HOME%\web\classes
Be sure to select the User and Login you defined earlier. For field descriptions, click the Help button.
Applications Manager Environment Variable objects do not apply to PeopleSoft Agents. Therefore the
Environmental Variables field is grayed out.
Running Multiple PeopleSoft Agents on the Same Server
If you have multiple PeopleSoft Agents on the same server running the same version of PeopleTools, you can
combine them under one AgentService process (use one psjoa.jar file).
If you have multiple versions you will need to have a separate AgentService process for each PeopleSoft Agent
version. That means a separate Applications Manager Remote Agent for each different version.
Something to be aware of when running multiple AgentService is that when AgentService starts it looks at the
IP address of each Agent to determine if it is one if the Agents that it's responsible for. Therefore if you have more
then one AgentService running on one machine you will have to use an alias for one and an IP address for the
other so each AgentService knows which Agent it is responsible for. This is not necessary if they are on different
machines.
Next Step
After defining the general parameters for the PeopleSoft Agent, the next step is to specify the PeopleSoft
parameters for the Agent on the PSE tab.
Applications Manager 9.4.1
PeopleSoft Information
The fields on the PSE tab are described below.
• PeopleSoft Server IP
The IP address of the PeopleSoft server. This may be different from the IP address you defined for the
Applications Manager PeopleSoft Agent if the Agent resides on a different server than PeopleSoft.
• PeopleSoft Server Port
The port number on the PeopleSoft server. This should be the JOLT listener port. The JOLT listener port is
specified in the PeopleSoft psappsrv.cfg file on the PeopleSoft server.
• Language
The language selected for the PeopleSoft server.
• Output Stable Seconds
The number of seconds the size of an output file must be stable before Applications Manager considers it
complete. For example, in the image above, a file would have to be stable for 2 seconds.
• Output Timeout
The time in seconds Applications Manager will search for output before timing out the search. The location of
output files for PeopleSoft Jobs are specified in the System Output Path and Report Output Path fields on the
General tab of the Job's Job definition. For more information, see Defining PeopleSoft Reports.
• Use momentary inline bind variable replacement method
An inline bind variable is a dynamic value that is referenced in the PeopleSoft process override options. For
more information, see Using the Inline Bind Variables or your PeopleSoft documentation.
After defining the PeopleSoft Agent, you can test the connection with the Test Connection button.
Applications Manager 9.4.1
Next Step
After defining the PeopleSoft parameters, the next step is to import the PSE_TEMPLATE Job.
4. In the Import window, map "Replace_With_PS_Agent" with the Agent you created.
5. Run the import by clicking the Import button.
6. From the View menu, select Refresh Assigned Objects.
Required Edits for PeopleTools 8.22
PeopleTools 8.22 uses different tables than 8.4x, which the PSE_OBJS import is made for. Therefore, if you are
running 8.22, you will need to edit two of Data Types. They are:
• aw_PSE_Output_formats
• aw_PSE_Output_types
• aw_PSE_users
For the aw_PSE_Output_formats data type, change the SQL to:
To:
If you have mixed 8.4x and 8.22 Agents in the same Applications Manager instance, you should just leave the
SQL blank for these Data Types. You won't get a list of values for those items, but the values can still be manually
entered.
Next Step
After importing the PeopleSoft objects, the next step is to import the Applications Manager Component Interface.
For more information, see Importing the Component Interface for PeopleTools 8.43 - 8.48.
5. Browse to the directory where you placed the APWRX01.ini file and choose the file.
PeopleSoft displays the Copy From File window shown below.
6. Ensure that all the Definition Type(s) are selected. If they are not, click the Select All button.
7. With all the Definition Types selected, click Copy.
PeopleSoft copies the Common Objects project into PeopleSoft. Note that the copy operation might take up to a
minute or so to complete.
If this step does not work, then make sure that both the APWRX01.ini and APWRX01.XML files are writable.
When the copy is complete, you should be returned to the Application Designer window.
Next Step
You have imported the Applications Manager component interface. The next step is to define permissions for the
Applications Manager PeopleSoft User.
6. Ensure that all the Definition Type(s) are selected. If they are not, click the Select All button.
7. With all the Definition Types selected, click Copy.
PeopleSoft copies the Common Objects project into PeopleSoft. Note that the copy operation might take up to
a minute or so to complete.
If this step does not work, then make sure that both the APWRX02.ini and APWRX02.XML files are writable.
When the copy is complete, you should be returned to the Application Designer window.
8. From the Build menu, select Project.
PeopleSoft displays the Build window shown below.
Applications Manager 9.4.1
9. Make sure that the Create Tables and Create Views boxes are checked, and that the Execute and build
script radio button is selected.
10. Click the Build button.
Check the lower output window to make sure it built successfully.
Next Step
You have imported the Applications Manager component interface. The next step is to define permissions for the
Applications Manager PeopleSoft User.
5. Click the "+" button at the end of a row and type "APWRX_SELECT" in the new row.
6. Click Edit.
PeopleTools displays the window shown above.
7. Select the Method Access settings.
8. To save the settings, click OK.
PeopleTools displays the list of component interfaces.
9. Click Save in the lower left corner of the window.
10. Repeat steps 5 - 9, but select "APWRX_PRCSDEFN" instead of "APWRX_SELECT" in step 5.
11. If you are going to install the Applications Manager Component Interface, you also need to give that user
access to the APWRX_PRCSRQSTBC component interface. To do so, repeat steps 5 - 9 again, but this time
select "APWRX_PRCSRQSTBC".
For more information on whether you would install the Applications Manager Component Interface, see topic
Using the Inline Bind Variables.
Next Step
You have now completed installing the basic Applications Manager PeopleSoft Extension. This installation allows
you to run PeopleSoft Jobs as the PeopleSoft batch scheduling user. If you want to use Inline bind variables or run
PeopleSoft Jobs as other users, you must perform the additional steps defined in the next topics.
:run_cntl_wf.run_cntl_id.
Due to limitations in the PeopleSoft Processrequest API, there are errors when processes containing bind variables
are submitted. When these Jobs are submitted via Applications Manager you will see an error similar to the
following in the Applications Manager Job's system output file.
Error submiting:PeopleSoft:(65,23) : Inline bind variable for :run_cntl_wf.run_cntl_id not found in the
component buffer. (65,23)
There are two solutions for this problem, each with pros and cons.
Method 1 (Preferred)
If you did not install all the component interfaces described in Importing the Component Interface for PeopleTools
8.43 - 8.48, import the Applications Manager Component Interface APWRX_PRCSDEFN. This interface
temporarily modifies the process override options, substituting hard-coded values before the Job is submitted by
Applications Manager then restoring the original after the Job is submitted.
Pros of Method 1:
• There are no duplication of processes.
• It is easier to implement and maintain.
Con of Method 1:
• It might cause slightly less throughput for Jobs which contain bind variables as those processes are submitted
single threaded.
Method 2
Install the Applications Manager Component Interface APWRX_PRCSRQSTBC. This interface allows passing
of known fields to the PeopleSoft process. To implement the user creates copies of the processes which require
inline bind variables, and modifies the variable names in the copies to reference fields recognized and passed as
prompts by Applications Manager.
Method 2 is not an option for PeopleTools v8.22.
Applications Manager 9.4.1
Pros of Method 2:
• It does not affect existing process definitions.
• It allows for slightly higher volume since the same process can be submitted at the same time.
Cons of Method 2:
• It requires users to create duplicates of all processes requiring inline bind variables and associated scripts.
• Maintenance is more difficult. If the PeopleSoft process definition changes the Applications Manager Job must
be synchronized.
• If a process script changes, you must remember to change the copied script as well.
Implementing Method 1
APWRX_PRCSDEFN: the "Use momentary inline bind variable replacement method"
Import the project file as described in Importing the PeopleSoft Objects.
Create a Job in Applications Manager. For each bind variable, create a prompt with the variable name equal to the
bind variable name. For example:
:run_cntl_wf.run_cntl_id
Implementing Method 2
APWRX_PRCSRQSTBC:
Import the project file as described in Importing the PeopleSoft Objects.
Applications Manager 9.4.1
Create copies in PeopleSoft of any processes containing inline bind variables that will be run via Applications
Manager. See notes below for an example of how to copy a process in PeopleSoft.
Replace current inline bind variables with fields recognized by Applications Manager. For example:
:APWRX_WRK.APWRX_FIELD1
If it's entered in the form :APWRX_WRK.APWRX_FIELD1Applications Manager will strip off the :APWRX_WRK.
Copying a Process in PeopleSoft
Copying a process in PeopleSoft is a two part process:
• Part 1: Cloning the Process definition.
• Part 2: Cloning the SQR, Crystal Report, or other script you are trying to run.
For example, to run process AR32000- you would do the following:
Part 1: Cloning the Process definition
To clone the Process definition:
1. Copy the process definition AR32000- found online at PeopleTools -> Process Scheduler -> Process ->
Advanced search tab.
Applications Manager 9.4.1
1. In Windows Explorer navigate to the peoplesoft home directory, and the to the CRW or Crystal report folder.
Example C:\psoft\FSCM88\crw\ENG
2. Find report AR32000-.RPT and clone as APWRX001.RPT
3. The process name has to match the RPT name.
$AW_HOME/web/classes
Windows:
%AW_HOME%\web\classes
$PS_HOME/appserv/classes
Windows:
%PS_HOME%\appserv\classes
Next Step
Applications Manager 9.4.1
After enabling Signon PeopleCode, the next step is to assign the PROCESSREQUEST component interface to a
permission list.
Procedure
To assign the PROCESSREQUEST C.I. to a permission list:
1. From PeopleTools, select Security, then Permissions & Roles.
2. Select Permission Lists.
3. Click Search and select a permission list.
4. Scroll the tabs running across the top of the display until you can see the Component Interfaces tab. Select the
Component Interfaces tab.
5. Click the "+" button at the end of a row and type "PROCESSREQUEST" in the new row
6. Click Edit.
PeopleTools displays the window shown above.
7. Select the Method Access settings.
8. To save the settings, click OK.
PeopleTools displays the list of component interfaces.
9. Click Save in the lower right corner of the window.
Next Step
After assigning the PROCESSREQUEST component interface to a permission list, the next step is to create the
Users.
After creating the Users, the next step will be to restart the Applications Manager PeopleSoft Agent and PeopleSoft
server. See the next topic for the correct sequence.
The following topic describes how to create Applications Manager Jobs to run a PeopleSoft processes. For
information on creating Process Flows, see the Development Guide.
Applications Manager Jobs
A Job is the basic building block in Applications Manager. For each program you want to run (PeopleSoft , FTP,
database load, etc.), you create a Job. A Job specifies all the information required to run a program including:
• The program name: the task that will be run.
• Parameters: run time defaults, execution options, output options.
• Prompts: information that is passed to the program as variables.
Assumptions
This chapter assumes that you are already knowledgeable about creating Applications Manager Jobs and
PeopleSoft Jobs. For example, we assume you know how to complete the general information required for all
Applications Manager Jobs. For detailed information, we reference the appropriate chapter in the Development
Guide.
We assume that you know how to define a PeopleSoft Job and its parameters. We provide brief descriptions of the
PeopleSoft fields, but then reference you to the PeopleSoft documentation.
Accessing PeopleSoft Auxiliary Agent Functions
You access the PeopleSoft Auxiliary Agent Functions window for a PeopleSoft Agent from the Agents Selector
window by selecting a PeopleSoft Agent and clicking the Aux button as shown below.
Applications Manager 9.4.1
The Auxiliary Agent Functions window for the PeopleSoft Agent includes the following tabs:
• Query: Allows you to query for PeopleSoft programs using a variety of criteria. Query results are informational
only, and cannot be used to modify the settings on the Create Jobs tab. For more information, see Querying
PeopleSoft Programs.
• Create Jobs: Allows you to generate Jobs for your PeopleSoft Jobs. For more information, see Creating
PeopleSoft Jobs.
To open the Auxiliary Agent Functions window for the PeopleSoft, Users need to have the PeopleSoft Agent and
the Agents User Authority in one of their User Groups. Users will only be able to edit the PeopleSoft Agent, if the
PeopleSoft Agent is in one of their User Groups with Edit authorization.
In the image above, query results are returned for programs with the SQR Process Program Type.
You access the PeopleSoft Auxiliary Agent Functions window for a PeopleSoft Agent from the Agents Selector
window by selecting a PeopleSoft Agent and clicking the Aux button.
Query results are informational only, and cannot be used to modify the settings on the Create Jobs tab.
Field Descriptions
The list below describes the fields on the Query tab.
• Program
Searches for a PSE program name.
• Program Type
Searches for a PSE Program Types.
• Server
Searches for PSE programs limited by a server.
• Applications Manager Job
Checks Job settings and searches for programs:
• That are already Applications Manager Jobs, when you select Yes.
• That are not yet Applications Manager Jobs, when you select No.
• Without regard to whether they are already Applications Manager Jobs, when you select All.
You access the PeopleSoft Auxiliary Agent Functions window for a PeopleSoft Agent from the Agents Selector
window by selecting a PeopleSoft Agent and clicking the Aux button.
Field Descriptions
The list below describes the fields on the Create Jobs tab.
• Program Name
Searches for PeopleSoft programs. Wildcards % and _ are allowed. The field is case sensitive.
• Agent/Group
Select the PSE Agent or Agent Group you want assigned to the Jobs you create.
• Template Job
Using the Job creation utility involves picking a template Job upon which all the new Jobs will be based.
When creating the new Jobs, the template's program parameters are copied to the new Job(s). This forms the
foundation for all new Jobs. Before creating Jobs, you should edit the template Job to assign the desired default
values.
When you ran the PSE_TEMPLATE import, the PSE_TEMPLATE Job was brought into Applications Manager.
Use it as your template Job. For information on importing PSE_TEMPLATE, see Importing the PeopleSoft
Objects.
For information on editing PeopleSoft Jobs, see Editing PeopleSoft Jobs.
The fields in the PeopleSoft Program group box are described below.
• Process or Job
Select the name of a Job or a process.
If you select the name of a Job, the format is:
<job name>-|-PSJob
• Requestor
This is the PeopleSoft user name that will be used to run the Job or process. The PeopleSoft User must have
access to the PeopleSoft Process Request Component Interface to support Applications Manager submitting
Jobs through the PeopleSoft API.
Applications Manager 9.4.1
There must be a matching User name defined as well. The User is needed to control access to objects within
Applications Manager. If no requestor is specified, the Agent's User will be used.
• Run Control ID
In PeopleSoft, a run control ID stores a set of parameters used to run a process or Job. Select or enter the
required ID. The run control ID replaces prompts in a regular Applications Manager Job.
• PeopleSoft server name
Enter or select the server on which you want the Job to execute. If blank, PeopleSoft will determine the server.
• Output Format
The PeopleSoft output format to be used with this Job. Enter a format, or click the Select button to choose a
format from a list.
• Output Type
Enter or select a PeopleSoft output type.
• Destination
This is the PeopleSoft destination.
If the output type you selected is FILE, enter a fully defined path.
If the output type you selected is EMAIL or WEB, you can enter:
• a specific destination such as sales@abc_company.com.
• U:<user name> to specify the email address of a PeopleSoft User.
• R:<role name> to specify the email address of a PeopleSoft role.
You can enter multiple destinations by separating them with semicolons.
• System Output Path*
Enter the fully-pathed location of the system output file generated by the PeopleSoft process. This field allows
for regular expressions.
• Report Output Path*
Enter the fully-pathed location of the report output file generated by the PeopleSoft process. This field allows for
regular expressions.
*Applications Manager searches all subdirectories in the path, which can be resource intensive. You should make
the paths as specific as possible. Also, you can use Applications Manager PSE variables in the System and Report
Output paths. For information on using variables, see Using Applications Manager PSE Variables in Output Paths.
The Select buttons next to the fields display values drawn from the PeopleSoft application. The checkboxes next to
the fields determine if the values can be changed when the Job is run from the Requests window.
/users/PeopleSoft/log_output/.*{PROCESSNAME}_{PROCESSINSTANCE}.*
The expression will register all the files that contain the regular expression <processname>_<processinstance>
anywhere in their name.
Example 2 - Searching for Files Named <process_name>_<process_instance>.PDF in a Directory
Assume the report output is going to a directory called /users/PeopleSoft/reports. The naming convention for the
file is <process_name>_<process_instance>.PDF.
You can use the regular expression:
/users/PeopleSoft/reports/.*{PROCESSNAME}_{PROCESSINSTANCE}\.PDF
Note the back-slash before PDF. That is a regular expression matching function. Since '.' is a special character, the
'\' escapes the '.' to mean the actual '.' and not the special character for a regular expression.
Since back-slash is an escape character for regular expressions, if the output resides on a Windows machine the
paths must still be entered with forward slashes. For example, assume the output is on c:\PeopleSoft\reports. The
regular expression should be entered as:
c:/PeopleSoft/reports/.*{PROCESSNAME}_{PROCESSINSTANCE}\.PDF
/users/PeopleSoft/.*{PROCESSNAME}_{PROCESSINSTANCE}\.PDF
Applications Manager will search for the XRFWIN_123.PDF file starting at the /users/PeopleSoft directory and
search recursively down each sub-directory looking for the file. This is a resource intensive and time consuming
search, so the more specific you can be about the directory, the more efficient the processing will be.
To create a PeopleSoft report, select the PeopleSoft Database Login from the Login field as shown above. The
Applications Manager component interface restricts SQL statements to one table and five columns. If you need to
access more than one table in a SQL statement, you must use unions.
Note that when creating PeopleSoft reports, if the table name starts with PS_, omit the PS_.
Applications Manager 9.4.1
Enterprise Integration
Applications Manager PeopleSoft Jobs and Process Flows work seamlessly with the Applications Manager
environment. Each individual Applications Manager Job calls a PeopleSoft process or Job. By using Applications
Manager schedules, you gain advanced scheduling capability. In addition to using Applications Manager as a
single-point of control for your entire PeopleSoft environment, Applications Manager can also use Process Flows to
run a multitude of Program Types including SQL*Plus, Cobol, Shell, Perl, or C.
Monitoring Jobs
Applications Manager monitors all PeopleSoft Jobs submitted from Applications Manager. The Jobs are displayed
in the Applications Manager Backlog. Two new PeopleSoft columns display PeopleSoft status and run ID number.
Taking Actions on Jobs
From the Backlog, you can take a number of actions on Jobs including putting them on hold, killing them, and
resetting them.
On the Submit window shown below, you may have the opportunity to specify various options depending on how
the PeopleSoft Job was defined. However, the first two prompts, "Process or Job" and "Requestor" are read only. If
the Hide RO (Read-only) Prompts option is assigned to your user ID, you will not see these prompts.
Applications Manager 9.4.1
When you submit a Job request, the Job/Process Flow is passed through an Applications Manager Queue. The
Applications Manager Automation Engine examines the Job and routes it to the appropriate Agent for execution.
Job Status
When a PeopleSoft Job runs in Applications Manager, the Status column in the Backlog shows the Applications
Manager status. Typical statuses include STAGED, QUEUED, RUNNING, FINISHED, and ABORTED.
PeopleSoft Statuses
The PeopleSoft statuses displayed in the Application Status column are described briefly below They are taken
from the PeopleSoft documentation. For a more detailed description, see the PeopleSoft documentation.
Status Definition
Status Definition
2. Locate the SO_APPLICATION_STATUS and SO_REF1 entries in the DB_NAME column in the lower pane and
click the boxes in the VISIBLE column.
Applications Manager adds the columns to the display in the upper part of the window.
3. If you wish to change the names of the columns, click in the Name field and enter a new name. For example, in
the image above, the SO_REF1 column name was changed to PS Inst #.
4. To save the changes, click OK.
Default User
The procedure described above adds the columns for one particular User. If you want to add the PeopleSoft status
columns to Explorer for all Users, you can create a User called DEFAULT_USER, and make the changes outlined
above for that User. For more information on creating a DEFAULT USER, see the Administration Guide.
The Prompts tab shown below displays PeopleSoft-specific information about the task.
Applications Manager 9.4.1
Some of the most common actions you can take are described below.
• If the Job is not yet in RUNNING status, you can take the standard Applications Manager actions on the Job
including HOLD and DELETE.
• If the Job is in RUNNING status, you can KILL the Job, which is equivalent to canceling the Job in PeopleSoft.
• If an action generates an ALERT status on a PeopleSoft Job, you can select Clear Alert.
PeopleSoft Actions
There are several commands displayed at the bottom of the pop-up menu that are specific to PeopleSoft Jobs.
Applications Manager 9.4.1
Command Description
Hold PeopleSoft Job Puts a PeopleSoft Job on hold. This status will be
reflected in Explorer.
Restart Job at PeopleSoft Restarts Job in PeopleSoft. Selecting this menu item
will restart the existing PeopleSoft process rather then
resubmitting a new one. This status will be reflected in
Explorer.
java.lang.NoClassDefFoundError: psft/pt8/joa/JOAException
Cause 1
The most common cause of this error is that the psjoa.jar file can not be found.
Solution 1
Copy the psjoa.jar file from the PeopleSoft server to the $AW_HOME/web/classes (%AW_HOME%\web\classes)
directory.
Symptom 2
Applications Manager 9.4.1
The Applications Manager PeopleSoft Agent displays an ERROR status. The following message is contained in the
AgentService.log file for the PeopleSoft Agent:
5504 : (0,0) : PeopleTools release (8.46) for web server '' is not
the same as Application Server PeopleTools release (8.44). Access
denied. : null
Cause 2
The wrong version of the psjoa.jar file was installed.
Solution 2
Use the version that matches the PeopleSoft server tools version.
When done, stop and restart the AgentService process. Before starting or stopping processes, you must set the
correct environment by doing the following:
1. Go to the $AW_HOME/site directory (%AW_HOME%\site for Windows).
2. Issue the following command:
. sosite
. ./sosite
After issuing the command, you should be returned to the command prompt where you can enter the stopso
agentservice and startso agentservice commands to stop and restart the AgentService process.
Cause
The PeopleSoft API displays this message. It is not an error.
Solution
You can ignore the message. If you want to prevent the message from being generated, you can copy the
pstools.properties file from the PeopleSoft server to the Applications Managerclasses directory under the web
subdirectory.
When you are defining an Applications Manager PeopleSoft Job, you get an error message when you open one of
the drop-down lists in the Program group box The following text is displayed in the details of the error message:
Cause
The Applications Manager Component Interface has not been installed or permissions to the Component Interface
have not been granted to the PeopleSoft super user.
Solution
Follow the instructions to install the Applications Manager Component Interface. See Importing the Component
Interface for PeopleTools 8.43 - 8.48.
Job Aborts
Symptoms
After completing the installation, a Job aborts when running as a user other then the primary PeopleSoft user (the
User that the Agent runs under). The log file contains an error similar to the following:
Cause 1
The AwPSE.jar file is not loaded for the PeopleSoft server.
Solution 1
Check to make sure:
• The AwPSE.jar file has been installed in the Applications Manager PeopleSoft Agent's classes directory.
• The PeopleSoft server was stopped and re-started at the end of the installation procedure.
• The Applications Manager PSE Agent has been stopped and re-started at the end of the installation procedure.
Cause 2
Signon PeopleCode has not been enabled, or is not properly configured.
Solution 2
Follow the instructions to enable Signon security and re-start the PeopleSoft server and the Applications Manager
PSE Agent.
Test the Applications Manager signon jar file by:
1. Navigating to the PeopleSoft server directory where the AwPSE.jar file exists.
2. Issue the following command:
Encoding:testname
awdecoded:testname
Cause
The PeopleSoft server may not be accessible.
Solution
Check to make sure the PeopleSoft server is accessible. Ping the server IP. Make sure you can connect to the
PeopleSoft application via a browser using the same IP and port.
Cause 1
Permissions are missing for the PROCESSREQUEST Component Interface.
To verify this, try submitting the process via the PeopleSoft interface. This will validate that the user has
permissions to submit the process.
Solution 1
Grant permissions to the CI for the user that is running the Job. Be sure to stop and restart the PeopleSoft server
and Applications Manager Agent. For more information, check the PeopleBooks documentation or with your
PeopleSoft administrator.
Cause 2
The Applications Manager PeopleSoft Agent has not been restarted since a permission change was made in
PeopleSoft
Solution 2
Stop and restart Applications Manager PSE Agent.
8. (65,8) : You are not authorized to run process type SQR Report and
Applications Manager 9.4.1
Cause
The user you are attempting to submit the Job under does not have permissions to run the process.
To verify this, try submitting the process via the PeopleSoft interface. This will validate that the user has
permissions to submit the process.
Solution
Grant permissions for the requesting user to run this process.
(Check PeopleSoft doc or with PeopleSoft admin).
Cause
SQL statement is incorrect.
Solution
Test the SQL in the database to make sure it's correct.
Note that when using the PeopleSoft API, if the table name starts with PS_, omit the PS_.
Cause
The Applications Manager PeopleSoft objects have not been imported.
Solution
Import the Applications Manager PeopleSoft objects as described in Importing the PeopleSoft Objects.
(0,0) : (X)[email protected] is an Invalid User typed the wrong password. User ID and Password
are case sensitive. Make sure you're typing in the correct lower case.
Job aborted!
Cause: The connection for the user (GEORGE) failed
Applications Manager 9.4.1
2. From the Open Object window, choose Project from the Object Type drop-down list.
3. Find AWPRX01 for 8.4x as shown in the first image below or APWRX02 for 8.22 as shown in the second image.
4. Once the project is loaded, expand the component interface on the left side. For 8.4x, it will be called
APWRX_PRCSRQSTBC, for 8.22 it will be called AWPROCESSREQUEST.
5. To run a test, double-click on the component interface.
The component interface opens in the right side of the window.
6. Right-click on the schedule method on the right side of the screen and select test component interface.
The Component Interface Tester - Enter key values, choose function window shown below opens
minimized.
Applications Manager 9.4.1
7. From the Component Interface Tester - Enter key values, choose function window, fill in the 'Create' keys
for Component Interface values and hit the Create New button.
The Component Interface Tester window opens.
8. Right-click on APWRX_PRCSRQSTBC for 8.4x as shown below or AWPROCESSREQUEST or 8.22 as shown
below and select Schedule.
Applications Manager 9.4.1
Applications Manager 9.4.1
If the test is successful, a pop-up window with the process instance will be returned. If the test is unsuccessful,
an error message like the one shown below will be returned.
11 Disaster Recovery
Objective
The objective of this article is to:
• Recover or rebuild the production quickly following a disaster that leads to the destruction of all or a few servers.
• Offer minimum administrator effort during the restoration process.
Scenarios handled
The following scenarios are addressed in this article.
• The server hosting RMI Server is lost.
• The database server is lost.
• The server hosting the Agent Service is lost.
RMI server is lost
If the RMI Server is lost, it needs to be recreated using the following steps.
1. Install Applications Manager.
2. Copy additional scripts/executables from backup.
3. Update the master_ip_address on all servers hosting remote agents using the DRSSHClient script.
An SSH (Secure Socket Shell) server runs on all the servers hosting remote agents. A command is sent to all
remote servers and it gets executed on each server. As a result, master_ip_address gets updated in the awenv.ini
configuration file. Now when you restart the Agent services, agent services on these hosts will connect to the new
RMI Server.
Database server is lost
Note: You must take a regular backup of your database. If the database server is lost, a new database server
needs to be created.
To restore the lost database server.
1. Update the following parameters in the awenv.ini configuration file.
• DB_IP
• NET_CONNECT
The configuration file on the RMI Server needs to be updated to point to the new database server.
Note: If the port or user information is modified, Applications Manager must be reinstalled on the RMI Server.
Remote agent server is lost
Note:
• If the server hosting the remote agent is lost, a new server needs to be recreated.
• You must have a backup of scripts/executables that are executed as part of Jobs.
To recreate a server.
1. Install Applications Manager remote agent.
2. Login to the Client application and update the hostname/IP Address of the agent.
Applications Manager 9.4.1
The SSH server starts automatically along with the agent service.
Instructions for administrators
• No special installation or setup tasks are required.
• A new section shared has been introduced in the configuration file awenv.ini. The parameters in this section are
updated to the configuration files of the remote agents whenever they are restarted.
• A new process is spawned on each of the remote servers hosting the Remote Agent service. This process
is an SSH server. The SSH Server listens on a port in the range controlled by the configuration parameter
sshdserver_portrange. By default, it is set to 50000:50010. This value is initially set under the shared section
of the configuration file on the RMI Server. However, whenever the Agent service is restarted, the parameter
value gets updated in the configuration file on each of the remote agents.
• Two new configuration parameters cmd_w_updatemaster (for Windows) and cmd_u_updatemaster (for
UNIX) have been added to the awenv.ini file. These parameters point to the script that updates the configuration
file and restarts the agent service on remote servers.
• The SSH Server starts or stops along with Agent Service. You can use the startso all to start the agent
service, and use the stopso all command to stop the agent service. However, if you want only the SSH
server to stop, use thestopso sshdserver command, and use the startso sshdserver command to start
the SSH server.
• To execute disaster recovery remote commands, use the following command on the new RMI Server.