Professional Documents
Culture Documents
Knowledge Base
Version: 11.2.2
Publication Date: 2016-10
Automic Software GmbH
ii Copyright
Copyright
Automic® and the Automic logo® are trademarks owned by Automic Software GmbH (Automic). All such
trademarks can be used by permission only and are subject to the written license terms. This
software/computer program is proprietary and confidential to Automic Software and is only available for
access and use under approved written license terms.
This software/computer program is further protected by copyright laws, international treaties and other
domestic and international laws and any unauthorized access or use gives rise to civil and criminal
penalties. Unauthorized copying or other reproduction of any form (in whole or in part), disassembly,
decompilation, reverse engineering, modification, and development of any derivative works are all strictly
prohibited, and any party or person engaging in such will be prosecuted by Automic.
No liability is accepted for any changes, mistakes, printing or production errors. Reproduction in whole or
in part without permission is prohibited.
Contents
1 Terminology - Computer, Programs and Files 1
3 Time 7
7.4.3 HP-UX 44
9.7.1 Architecture of the Automation Engine Agent for the HP Non Stop Server 221
9.8.1 Agent - Interaction Between the Automation Engine and OS/400 230
9.10.1 SAP Solutions and Job Scheduling with the Automation Engine 243
Introduction 246
ABAP 257
JAVA 271
Integrating the Automation Engine with the SAP Solution Manager 279
Requirements: 286
Installation 286
Integrating the Automation Engine in SAP Closing Cockpit with FCC 2.0 Add-on 291
Requirements: 291
Installation 292
Configuration 298
Execution 300
Configuration 301
Functionality 302
Procedure 310
Objects 312
Procedure 313
Conclusion 313
Definition 322
Technique 322
Interfaces 331
Interfaces 331
General 334
General 340
ERROR 342
ERROR=IGNORE 343
ERROR=ABEND 343
ERRORLEVEL 343
Troubleshooting 344
Traces 345
Stability Problems with SAP Instances Occurred When Many SAP Agents (RFC
Connection) Were Used On One Server 346
After Updating to SAP NetWeaver 2004s and Later, CPIC User Could No Longer Log
On 347
Overview 351
Domain 375
Password 375
DESKTOP 375
Attention 375
9.16.1 Agent - Interaction Between the Automation Engine and z/OS 383
Automation Engine xi
Glossary 405
A 405
C 405
D 405
G 405
I 406
J 406
P 406
R 406
S 407
T 407
U 407
V 407
W 407
1 | Chapter 1 Terminology - Computer, Programs and Files
Naming Conventions
[Name Conventions] [Program and File Overview]
General
File names can be entered in lowercase letters because in Windows file names are case-insensitive.
Syntax in General
Short file names (8.3) are used on the installation CD in order to avoid problems.
They are structured as shown below:
UCZKxxxx
Z = Purpose
K = components
xxxx = individual definition
Purpose Description
D UserInterface
S Server Routine (DLL)
X Agent
Y Utility (service program)
Agent Syntax
An extended syntax applies for agents:
UCXJSSVA
V.. VMS
VA7 Alpha, OpenVMS-Alpha
VI8 OpenVMS (IA64)
VV7 VAX, VAX/VMS
W.. Windows
WI3 32 Bit plattforms (x86)
WI6 64 Bit platforms (IA64)
WX6 64 Bit platforms (x64)
Task Purpose
M Message program
C CallAPI
Programs
Program Purpose
ucsrvcp Automation Engine for UNIX, communication process
ucsrvwp Automation Engine for UNIX, work process
ucsrvcp.exe Automation Engine for Windows, communication process
ucsrvwp.exe Automation Engine for Windows, work process
UCDJ.EXE Start program for UserInterface
UCDJ.JAR UserInterface
UCX... Agent programs
UCYBARBR.EXE Utility for searching the archive files
UCYBCHNG.EXE Utility for modifying exported data
UCYBDBCC.JAR Utility for copying and deleting clients
UCYBDBAR.JAR Utility for archiving the database
UCYBDBLD.JAR Utility for loading the database
UCYBDBRE.JAR Utility or reorganizing the database
UCYBDBUN.JAR Utility for unloading the database
UCYBDBRR.EXE Utility for creating revision reports (object audits)
UCYBCRYP.EXE Utility for encoding passwords
UCYBSMGR.EXE ServiceManager - Service
Chapter1 Terminology - Computer, Programs and Files | 4
Files
File Purpose
UC.MSL Message library
UCX.MSL Message library for agents outside Windows
UC_INI.TXT Initial database contents for DB.Load
UC_DEF.TXT Default database contents for NEW installation
UC_DDL.SQL DDL for DB structure
CBLRTSS.DLL Micro Focus Cobol runtime system (Version 4.0)
ZU*.DLL, UC*.DLL AE function libraries
*.OCX Visual Basic runtime system (Version 6.0)
TRANSPRT.TXT, Function modules for SAP Systems:
K*.*, R*.*, E*.TXT Overview of valid transport jobs, function modules and export protocol
UCYBABR.VBP, Microsoft Visual Basic source code of the Archive Browser
BROWSE*.*, TOOBIG.*
*.JAR Java function libraries
R3X on SAP Basis Release R3X on SAP Basis Releases 4.0x, 4.5x, 4.6x
3.x and 6.10
Development J2U0 /SBB/UC4
class
DDIC structures J_2U* /SBB/UC4*
Function group J2U3 /SBB/UC4*
Function J_2U_30_* /SBB/UC4*
modules
Computing floating-point numbers in information technology leads to rounding errors, as the number of
digits that can be used is finite. Since computers use the binary system for their calculations and internal
representation of numbers, numbers in computer systems have to be transformed into the binary system
first.
A very well-known example for issues with the representation of numbers in computer systems is the
decimal floating-point number 0.1, which needs an infinite number of digits in the binary system.
The representation of floating-point numbers in the binary system has been defined by the IEEE with the
standard IEEE754 for simple and double precision. The datatype double precision is being used
inside the Automation Engine.
Concerning the example of the number 0.1: By saving it with double precision it becomes
0.100000000000000005551115123126 mathematically. Would this number be used for calculations,
subsequent faults would occur.
The output of this number is again rounded, so that the Automation Engine displays
0.10000000000000001.
7 | Chapter 3 Time
3 Time
This document serves to introduce the basic terms regarding time in general and time in connection with
AE.
Los Angeles (PST) New York (EST) UTC Frankfurt (CEST) Tokyo (TYST)
Friday 3rd May, Friday 3rd May, Friday 3rd May, Friday 3rd May, Friday 3rd May,
2002 2002 2002 2002 2002
04:13:02 07:13:02 12:13:02 13:13:02 21:13:02
Date
The term "date" always refers to the local date. This date is therefore dependent on the respective time
zone and use (or non-use) of Daylight Savings Time.
Time
The term "time" always refers to the local time. The time is therefore dependent on the respective time
zone and use (or non-use) of Daylight Savings Time.
TZ - TimeZone
The areas with time differences to UTC are called time zones. This difference must not necessarily denote
one full hour (60 minutes). The time zones generally run along the longitudes. Within the political borders of
individual countries, however, the time zones can deviate from the general longitudinal definition.
Chapter3 Time | 8
Date Line
The date line lies along the 180° line of longitude.
Standard Time
Standard time is the local time assigned to the pertinent time zone. Standard time is also occasionally
identified as winter time.
The time change from Daylight Savings Time to standard time and vice versa is most commonly 1 hour (60
minutes). Some countries, however, use a difference of more or less than one hour. Furthermore, time
change in the northern hemisphere is directly opposite to that in the southern hemisphere. When in the
northern hemisphere the changeover to Daylight Saving Time is made, the southern hemisphere
simultaneously switches back to standard time. The switch to Daylight Saving Time in the northern
hemisphere is made in the springtime, in the southern hemisphere in the fall (autumn).
See also:
Using TimeZones in AE
9 | Chapter 4 Agent's Job Messenger
Parameter Description
IPA The IP address.
JNR The RunID of the job.
MNR Client
PNR The port number.
RET The return code.
TYP The type ("S" - start Job Messenger, "E" - end Job Messenger, "V" - register a variable)
For the GCOS8 Job Messenger, the following additional rules apply: "R" - restart, "A" -
abnormal end, "X" - Job Messenger stop and "J" - job report from the RSM system.
TXT This text is subsequently output at the beginning of the job report and in the status text's
detail window.
Note that the parameter TXT= is limited to 32 characters. Use blanks for the first 8
digits because they are reserved for the Automation Engine. All other digits can be used
for your individual text.
See also:
Job Includes
11 | Chapter 5 Automation Engine and NAT
There are also NPTs and NAPTs whose ports or addresses and ports can be modified. The following rules
apply:
1. Every type of IP address can be used without creating a conflict with NAT, NPT or NAPT.
2. The CP selection is more complex because, by default, the IP address and port number of the first
CP are used for the other CPs.
3. It is possible to specify any host name in the parameter "hostname" of the Automation Engine's INI
file. Thus, NAT is no problem here; NPT and NAPT are not supported.
1. The Automation Engine communicates the IP address and port number from one agent to the other
one (Ex1 to Ex2) or vice versa (Ex2 to Ex1) if it is not possible to establish a connection.
2. Possible NAT problems can be solved via the HOST section of the agent's INI file. The agent's AE
name is the relevant parameter. Any IP address or DNS name can be specified as the value.
3. NPT and NAPT with port number modifications are also not supported.
Chapter6 Message Number Changes | 12
The enhancement deals with custom contents which is presumably not developed by Automic. Such
objects contain messages and captions.
All language dependent texts (messages and captions) are maintained at a central location.
In order to be able to distinguish between custom and Automic messages and captions the number of
digits was increased to 8.
Details
Table: Possible impact on customers and solutions
N What Solution
o
.
13 | Chapter 6 Message Number Changes
Filter example:
select OH_Client, OH_Name, OFC_SrcName,
OFC_FilterText
from OH, OFC
where OH_Idnr = OFC_OH_Idnr
and OH_DeleteFlag = 0
and OFC_FilterText like '%U[0-9][0-9]
[0-9][0-9][0-9][0-9][0-9]%'
The SQL above queries exactly for the pattern
"Unnnnnnn". If there are other patterns such as
"Unn*", the query
must be changed accordingly.
O OH_Name O OT_Content
H T
_ _
C L
l n
i r
e
n
t
5 SAP.06.20.JO 1 :SET &hnd = PREP_
0 BS.DISTRIBU PROCESS_REPORT(
TE ,,ACT,'*U2004943*','
Col=delimiter',"deli
miter=@;@")
5 R3_GET_ 5 : IF STR_FIND
0 JOBS (
&line,
"U2004943") <> 0
5 JS.SAP.BDC. 1 :SET &hnd = PREP_
0 CHECK PROCESS_REPORT(
,,ACT,'*U2004943*','
Col=delimiter',"deli
miter=@;@")
5 INCLUDE_ 6 :
0 JOB_SAP_ 7 IF
ALL_POST_ &MSGID# = 'U2004005'
SCRIPT
5 UC4TST.INC0 9 :SET &hnd# = PREP_
0 314902.SCRIP PROCESS_REPORT
T.GAR_ (,&RUNID_
##STATUS_ EVENT#,"ACT","*U0020
1900##.SCRI 206*Test string*")
3 Custom Application Programs Custom application programs, which parse log files of
Automic components, must be adopted.
Although the uc4.jar is not affected by any
incompatible change, application programs must be
checked for report scans.
4 Call API for SAP ABAP If an ABAP program uses the call API, they must be
The ABAP call API returns the message in checked on how they deal with the returned string.
a String:
call function 'UC4'
destination 'UC4DSP'
exporting client = p_
clint
trcflg = '0'
userabtl = p_
abtei
username = p_
usern
userpass = p_
passw
queue = p_
queue
importing msg = o_msg
run = o_run
tables script = uc4_
script
exceptions
logon_failed
= 1
others = 99.
o_msg would contain "Unnnnnnnn ..."
(new format)
5 Call API for Java If such client programs are in place, they must be
The Java Call API returns the message checked on how they deal with the returned string.
number as String
String msg = uc4.activateScript
(":stop msg,50,\"Hello
World\"");
System.out.println(msg);
Output:
Example:
Running an SAP agent V10 against Automation Engine V11.1 would cause 2 different logs:
Chapter6 Message Number Changes | 16
If old and new versions are in place at the same time, the sripts/filters need to be changed, so that they
distinguish between versions of the data source.
1. Push the list of agents to a static Variable object with a script such as:
:SET &hnd# = PREP_PROCESS_VAR('VARA.SQLI.HOST')
:PROCESS &hnd#
: SET &host#=GET_PROCESS_LINE(&hnd#,1)
: SET &version#=GET_PROCESS_LINE(&hnd#,6)
: PUT_VAR'VARA.STATIC.HOST',&host#,&version#
:ENDPROCESS
1. Grab the version of an agent with GET_VAR in order to be able to distinguish:
:SET &hostname# = GET_ATT('HOST')
:SET &version# = GET_VAR('VARA.STATIC.HOST','&hostname#')
:IF &version# = ' '
:...
Chapter7 External Error Codes | 18
003 Serial mode error (Recoverable) -You have tried to open a device as a relative or indexed file.
You are trying to execute a device, not a program. -Open the device in the correct mode or
close any open files, do STOP RUN and recode your program. The name of your program is
recognized by the operating system as a valid device. Rename your program.
004 Illegal file name (Recoverable) -A filename contains an illegal character. This could be any
character that is not part of the allowed character set or it could be the system-dependent
delimiter, which on most systems is the space. -Try the file operation again using the correct
filename.
005 Illegal device specification (Recoverable) -Devices to which your COBOL program can write
are defined by the operating system. You have tried to write to a device that is not defined by
your system. -Try the operation again using a device name that your system recognizes.
006 Attempt to write to a file opened for INPUT (Recoverable) -You have tried to WRITE to a file
that is open for input only. -Close the file and open it with a mode such as I-O, which allows
you to write to the file. As this error implies that your program logic contains a mistake, you
might want to terminate the run and recode your program.
007 Disk space exhausted (Fatal) -The disk is full. -This error can be trapped, but once it has been
reported you must do a STOP RUN immediately to terminate your program's run. When your
program has terminated, delete any files that you no longer need. Alternately, if your operating
system supports this, put a new disk in a floppy disk drive and redirect your program's file
operations to this.
008 Attempt to input from a file opened for OUTPUT (Recoverable) -You have tried to read from a
file that is open for output only. -Close the file and open it with a mode such as I-O, which
allows you to read from the file. As this error implies that your program logic contains a
mistake, you might want to terminate the run and recode your program.
009 No room in directory (Recoverable) -The system cannot write to the specified directory for one
of the following reasons: -The directory does not exist -The directory is full -Your program
cannot find the directory -Create the directory if it doesn't exist. If the directory is full, either
delete any files that you no longer need or, if your operating system supports this, put a new
disk in a floppy disk drive and redirect your program's file operations to it. Alternately, specify
a different drive or directory for your file operations.
010 File name not supplied (Recoverable) -You have tried to open a file that you have declared as
an external file, but have not named. -Specify the external filename.
012 Attempt to open a file which is already open (Recoverable) -You have tried to open a file which
is already open and so cannot be opened again. -Cancel your second attempt to open the file.
If the fact that the file is already open is acceptable to you, continue to run your program.
013 File not found (Recoverable) -The operating system has been unable to find a file which you
have tried to access in your program. -Ensure that you are in the correct directory or that a
path to the file concerned exists. You can then try the file operation again. If the error is the
result of a spelling mistake then ask for the correct file and try the file operation again.
014 Too many files open simultaneously (Recoverable) -You have tried to exceed the maximum
number of files which you can have open at any one time. This can be a software or an
operating system constraint, but you must not violate it. -Close some of the open files which
you are not currently accessing, and then try to open the relevant file again. You should then
be able to continue to run your program. Depending on your operating system, you might be
able to increase the maximum number of files you are allowed to have open. For example, on
DOS, add the line FILES=128 to your config.sys file. On Novell, add the lines CACHE
Buffers=0 File Handles=128 to your shell.cfg file. See also:/F RTS switch
Chapter7 External Error Codes | 22
015 Too many indexed files open (Recoverable) -You have tried to exceed the maximum number
of indexed files which you can have open at any one time. This can be a software or an
operating system restraint, but you must not violate it. -Close some of the open indexed files
which you are not currently accessing, and then try to open the relevant file again. You should
then be able to continue to run your program. (Indexed files count as two files, one for data and
one for the index.)
016 Too many device files open (Recoverable) -You have tried to exceed the maximum number of
device files which you can have open at any one time. This can be a software or an operating
system constraint, but you must not violate it. -Close some of the open device files which you
are not currently accessing, and then try to open the relevant file again. You should then be
able to continue to run your program.
017 Record error: probably zero length (Recoverable) -You have probably tried to access a record
that has had no value moved into it. -Although this error is recoverable in the sense that it can
be trapped, once it has been reported you must execute a STOP RUN statement immediately
and then recode your program to ensure that the COBOL record length is not zero.
018 Read part record error: EOF before EOR or file open in wrong mode (Recoverable) -A part
record has been found at the end of a file. Consequently your run-time system treats the data
file as a record, and not finding a full record, reports this error. -Ensure that the record size you
give when you read from or WRITE to a file is consistent.
019 Rewrite error: open mode or access mode wrong (Recoverable) -You are trying to do a
REWRITE to a file that has not been opened with the correct access mode for this operation. -
Close the file and reopen it in a mode such as I-O, which allows you to do REWRITE
operations on that file. As this error implies that your program logic contains a mistake, you
might want to close any open files and then execute a STOP RUN. You can then recode your
program to eliminate the logic error.
020 Device or resource busy (Recoverable) -You have tried to open a file that is assigned to a
device or resource (for example, a line printer) that is not available at this time. -You can trap
the error status returned by open and retry the open at regular intervals until it succeeds.
021 File is a directory (Fatal) -You have tried to WRITE to a directory instead of to a file.
Alternately, the attributes are not set up correctly to allow you to access a file. That is, it is
marked as read-only or you don't have sufficient rights to open it. -Recode your program so
that it writes to a file and not to a directory. You need to either change your file access
attributes or recode your program so that it does not violate the existing attributes.
022 Illegal or impossible access mode for OPEN (Recoverable) -The mode in which you are trying
to open a file violates the General Rule of COBOL for that type of file; for example you might
have opened a line sequential file in the I-O mode. -Open the file with a mode that is
compatible with that type of file.
023 Illegal or impossible access mode for CLOSE (Recoverable) -The mode in which you are
trying to close a file is not possible for that type of file. -Close the file with a new access mode
which is compatible with that type of file, or execute a STOP RUN statement and recode your
program.
024 Disk input-output error (Recoverable) -You might have performed a read after a WRITE, or
there might be either a verification failure or a parity error. -In some circumstances this error is
fatal, but if it occurs during a read you can trap it and then do a close on the file before
executing a STOP RUN statement.
025 Operating system data error (Fatal) -You are trying to set up terminal characteristics for a
device which is not a terminal. -Recode your program.
23 | Chapter 7 External Error Codes
026 Block I-O error (Fatal) -An error has occurred while you are trying to access a disk. This could
be the result of a corrupt disk. -If you have a corrupt disk try to run your program again using
your backup copy.
027 Device not available (Recoverable) -You are trying to access a device which either is not
attached to your machine or if attached is not on-line. -Attach the device to your machine and
ensure that it is on-line. Repeat the file operation.
028 No space on device (Fatal) -You have tried a file operation such as WRITE for which
insufficient space is available on your disk. -When your program has terminated you should
delete some of the files or directories on your current logged in disk. Ensure that you delete
sufficient files on your disk so that you have enough room to carry out successful file
operations.
029 Attempt to delete open file (Recoverable) -You have tried to perform a DELETE FD operation
on an open file. -Close the file before performing the DELETE FD operation.
030 File system is read-only (Recoverable) -The file system which you are using is read-only,
which effectively means that it is write-protected. You have tried to change a file in some way,
for example you might have tried to WRITE to a file or to DELETE information in it. -You
should abandon your attempt to alter the file unless you can make your own personal copy of
it. You should then be able to alter the contents of your copy, but not of the original source.
031 Not owner of file (Recoverable) -You are trying an operation on a file but the file's owner has
not given you the necessary permission for that operation. You could for example be trying to
alter the access modes for a file, which only the file's owner can do. -You should abandon
your tried file operation unless the file's owner gives you the permission necessary to do the
operation you want to carry out.
032 Too many indexed files, or no such process (Recoverable) -You have tried to open an indexed
file but the number of files that you currently have open is the system limit. Alternately, you
could be trying to use a process id which does not exist, or which your operating system no
longer recognizes. -You should close some of the indexed files which you are no longer
accessing, and you should then be able to open the file you require. In this case you must
rewrite your code so that it uses a process id which your system recognizes.
033 Physical I-O error (Fatal) -You have a hardware error of some type. Perhaps you have not put
a disk in the relevant drive or you might have tried to WRITE to a disk but the processor
detected hardware interface has failed.
-You should try to correct the fault in your hardware; for example put a disk in the necessary
drive.
034 Incorrect mode or file descriptor (Recoverable) -You are either trying to write to a file which is
open for read purposes only, or read a file which is open for write purposes only. -You should
close the file and reopen using the correct access mode. As this error implies that your
program logic contains a mistake, you might want to close any open files, execute a STOP
RUN statement and then recode your program to eliminate the logic error. Shareable files
opened INPUT (read-only) by the COBOL system still require write-permission (from the
operating system) to enable temporary locking to take place.
035 Attempt to access a file with incorrect permission (Recoverable) -You are trying a file
operation which you do not have sufficient permission to achieve. For example you could be
trying to write data to a file which has been set up with the read attribute only. -If you are the
owner of the file you can alter the attributes of the file so that you have the permission needed
to effect the particular file operation you were trying. If you are not the owner of the file you
cannot to carry out that operation successfully unless you copy the file and make the changes
to the copy only. You cannot alter the source file.
Chapter7 External Error Codes | 24
036 File already exists (Recoverable) -You are trying an inappropriate operation on an already
existing file. -As this error implies that your program logic contains a mistake, you might like to
recode your program to eliminate this mistake.
037 File access denied (Fatal) -Your attempt to access a file has been denied by the operating
system. You might have tried to write to a write-protected file or you could have tried to read
from an output device. -Alter the access permission on the relevant file. Access can be read-
only, if you just want to read the contents of the file without making any changes, or it can be
read and write in which case you can alter its contents.
038 Disk not compatible (Fatal) -You have tried to access a disk that is incompatible with the
current version of your operating system. This could be because it was created under a
previous version of the system or it could have been created under a completely different
operating system. You would also receive this error if you tried to load a disk with a name that
clashed with a disk that was already loaded. -If the error is a result of a clash of names you
can rename one of the disks and then you can load both disks together if this is what you
want.
039 File not compatible (Fatal) -You have tried to access a file that is not compatible with the
structure of files under the current release of your software. This could be because the file
was created either under a different operating system or under a previous version of your
current system. -You should create a new copy of the file which has the correct structure.
040 National Language initialization not set up correctly (Fatal) -You have tried to use the
additional language variants, but the environment or side file that is required to set up the
language either has not been set up correctly, or does not exist, or is invalid. This might be
because you have the LANG environment variable set for use by another system in a format
not recognized by this COBOL system. -Set up the required environment or side file before
you try to run the program again. Use the COBLANG environment variable to set the locale
information for the COBOL system. See the chapter NLS Support in your Programmer's
Guide to Writing Programs.
041 Corrupt index file (Recoverable) -Your run-time system does not recognize the control
information for an indexed file and as the index has been corrupted in some way the data in the
file is no longer accessible by your system. This error is recoverable in the sense that it can be
trapped but should you receive it, you can do little except to close any open files and stop your
program's run. -You should rerun your program using the backup copy of that file. If you have
added a great deal of information to the file since you last took a backup you might like to
rebuild the file using the Rebuild utility, which reads the data (if this has not been corrupted)
and builds a new index for it.
042 Attempt to write on broken pipe (Recoverable) -One of the following has occurred: -Your
program has created a process as a result of a DD_ logical filename mapping assignment (for
example, the process might be a line printer spooler). The process was not created properly,
or has ended prematurely. This error occurs when your program tries to write to the process. -
Your application has terminated abnormally or prematurely, thus breaking the pipe. -You can
trap the error status returned by the write operation, then open the file again.
043 File information missing for indexed file (Fatal) -The system has crashed on your program's
previous run, while the file was open. Information was probably added to the end of the file,
but the directory information was not updated and so that data cannot be accessed by your
system. Alternately, you have copied the indexed file from one disk to another but have
copied either only the data part of the file or only the index. -If the error is the result of a crash
then whether you can access the necessary data or not is entirely system dependent. If,
however, it is the result of a faulty copy you should be able to restore the missing part of the
file from the.dat or .idx file.
25 | Chapter 7 External Error Codes
048-057 Host file status, not an RTS message -If you have COBFSTAT environment variable set to
HOSTSTAT, this is a mainframe file status code "9x", where x is given by subtracting 48 from
the error number.
055 Routine table overflow (Fatal) -You have tried to load too many programs simultaneously.
Alternately, if you have COBFSTAT environment variable set to HOSTSTAT, this could be
mainframe file status code "97". -Cancel any programs that you are no longer using, or use
fewer separate programs.
065 File locked (Recoverable) -You have tried to open a file which has already been locked, or
opened for output by another user. Alternately, you have tried to lock or open for output a file
which another user already has open. -Your program can inform the system operator (if there
is one) that it is unable to access this file and should wait until the other user has finished
using the file and closes it. You should then be able to continue to run your program.
066 Attempt to add duplicate record key to indexed file (Fatal) -You have tried to add a duplicate
key for a key which you have not defined as being able to have duplicates. -As this error
implies that your program logic contains a mistake, you probably should recode.
067 Indexed file not open (Recoverable) -You are trying to access an indexed file which you have
not opened. -Open the file in the relevant access mode and then retry the unsuccessful file
operation.
Chapter7 External Error Codes | 26
068 Record locked (Recoverable) -You have tried to access a record which is currently locked by
another user. -Your program can inform the system operator (if there is one) that the record is
currently locked, and you should then wait until the other user has released the lock on that
record. You should then be able to access the relevant record. You should not continually retry
to gain access to the record without operator intervention, as this could result in your
application hanging.
069 Illegal argument to isam module (Fatal) -This is the result of an internal system error. -Contact
Technical Support who will help you find the cause of your error and how it can be rectified.
070 Too many indexed files open (Recoverable) -You are trying to open an indexed file but you
have already exhausted the system limit which specifies how many of these files can be
opened at any one time. -Close some of the open indexed files which you are not currently
accessing. You should then be able to open the indexed file which you require and to continue
the program run.
071 Bad indexed file format (Fatal) -You are either using a file which has been corrupted, or there is
an internal system error. -If the disk you are using is corrupt, rerun your program using your
backup copy of the disk. If this is not the cause of the error then you should contact Technical
Support who will help you find the cause of your error and how it can be rectified.
072 End of indexed file (Fatal) -This is the result of an internal system error. -Contact Technical
Support who will help you find the cause of your error and how it can be rectified.
073 No record found in indexed file (Fatal) -This is the result of an internal system error. -Contact
Technical Support who will help you find the cause of the error and how it can be rectified.
074 No current record in indexed file (Fatal) -This is the result of an internal system error. -Contact
Technical Support who will help you find the cause of the error and how it can be rectified.
075 Indexed data file name too long (Fatal) -When creating indexed files, the extension .idx is
added to the user-defined filename, and so your filename must not exceed x-4 characters in
length, where x is the maximum length of filename. See your Programmer's Guide to File
Handling for details. -Rename the file with a shorter filename, that is, one that is less than 10
characters in length.
076 Can't create lock file in /isam directory (Fatal) -For some reason your system is unable to
create a lock file in the /isam directory. One reason for this could be that in its previous run
your program terminated abnormally (perhaps due to a power failure) leaving some files
locked. -You should manually remove all of the files that are still locked from the /isam
directory before you can successfully run your program.
077 Internal ISAM module error (Fatal) -This is the result of an internal system error. -Contact
Technical Support who will help you find the cause of your error and how it can be rectified.
078 Illegal key description in indexed file (Fatal) -This is the result of an internal system error. -
Contact Technical Support who will help you find the cause of your error and how it can be
rectified.
079 COBCONFIG syntax error (Fatal) -An error exists in the run-time configuration sidefile
accessed via the environment variable COBCONFIG. -Check your syntax against your object
COBOL User Guide. You might have used incorrect syntax, or syntax that is not compatible
with the type of RTS tuneable you are configuring (this could include assigning an illegal value
to the RTS tuneable).
081 Key already exists in indexed file (Fatal) -This is the result of an internal system error. -
Contact Technical Support who will help you find the cause of your error and how it can be
rectified.
082 CALL convention not supported (Fatal) -The CALL convention you have specified is not
supported. -See your object COBOL User Guide for a list of supported CALL conventions.
27 | Chapter 7 External Error Codes
100 Invalid file operation (Fatal) -You have tried a file operation which violates a general rule of
COBOL in some way. The most likely cause of this error is that you have tried a rewrite on a
sequential file opened I-O, or on a relative file with access mode sequential also opened I-O,
without preceding it with a successful read NEXT. -Recode your program to ensure that the
REWRITE statement in error is preceded by a read NEXT.
101 Illegal operation on an indexed file (Fatal) -This is the result of an internal system error. -
Contact Technical Support who will help you find the cause of your error and how it can be
rectified.
102 Sequential file with non-integral number of records (Fatal) -You have either specified an
incorrect record length for a sequential file, or the sequential file you are trying to access is
corrupt in some way, or the file which you have specified is not a sequential file. -Recode your
program so that it specifies the correct type of file, or if the error is the result of a corrupt file,
try to run the program again using a backup copy of that file.
103 Parameter cannot be passed BY VALUE (Fatal)
104 Null file name used in a file operation (Fatal) -You specified a data-name for a filename instead
of a literal, and the data item contained only spaces when you tried to open the file. -Recode
your program specifying the correct filename.
105 Memory allocation error (Fatal) -The run-time system is unable to allocate sufficient memory
space to successfully carry out the tried operation, probably because of insufficient memory
space on your system. -You should obtain more memory in which to run your program. Refer
to your operating system documentation for details of how you can obtain more memory, if
this is possible.
106 Dictionary error (Fatal) -This could be the result of a read or write error to file or disk, but it is
more likely to be the result of an internal system error. Alternately, your application might have
called many programs without canceling them afterward, so that memory becomes exhausted
during Animation. -Contact Technical Support who will help you to find the cause of your error
and how it can be rectified. Ensure that as much memory as possible is available during
Animation by canceling any program you do not currently need to access.
107 Operation not implemented in this run-time system (Fatal) -You are trying to perform a file
operation which your run-time system does not support. -You should recode your program so
that it does not try such operations, or you should acquire a version of your system that does
support this facility.
108 Failure to initialize data division (Fatal) -The run-time system cannot load your program
properly because the data needed to correctly initialize the Data Division has become
corrupted. -You should compile your program again to try to obtain good intermediate code.
109 Invalid checksum in run-time system (Recoverable) -The internal information in the run-time
system has been altered. The run-time system might have become corrupted, or you might
have illegally tried to change the internal run-time system information.
110 Generated code not supported by this RTS (Fatal) -Contact Technical Support who will help
you to find the cause of the error and how it can be rectified.
Chapter7 External Error Codes | 28
111 Incompatible Class Library and Run-time Environment versions (Fatal) -The version numbers
for these components do not match. -Check that you have fully installed both the Class
Library and the Run-time Environment from the same version of object COBOL. If you have
more than one version installed, check that your PATH, LIBPATH, and COBDIR environment
variables specify an appropriate path for the version you are using.
112 Unable to locate/access the required security key (Recoverable) -The run-time system cannot
locate or cannot access the coded security key (dongle) that is required to execute this
application. -Connect the security key that was supplied with your COBOL system to the
parallel port of your computer, then re-run the application.
114 Attempt to access item beyond bounds of memory (Fatal) -Memory access violation has been
detected by your operating system.
115 Unexpected signal (Fatal) -A signal the run-time system was not expecting has been caught.
116 Cannot allocate memory (Fatal) -For some reason a part of your run-time system is unable to
allocate you sufficient memory to enable you to execute your code. -You should try to reduce
memory usage by canceling programs that are not in use, then try the operation that caused
this message again.
117 Bad collating sequence (Fatal) -This is an internal system error. -Please contact Technical
Support who will help you to find the cause of the error and how it can be rectified.
118 Symbol not found (Fatal) -You are unable to load your object file. You have tried to call a
program that has not been specified in the COBPATH environment variable. -Check that your
COBPATH has been set up correctly. If not, revise your COBPATH to include the program
being called.
119 Symbol redefined (Fatal) -The RTS has detected a symbol (for example, data item, entry point
or module name) which is already defined. -You can recode your application to remove the
naming duplication. If you are not linking with a non-COBOL function, you can use the -e RTS
switch (32-bit RTS only).
120 Symbol string table of zero size (Fatal) -You probably have a malformed object file. -Once the
program has terminated you must correct your object file. If this does not work, contact
Technical Support who will help you to find the specific cause of the error.
121 Symbol is not in TEXT section (Fatal) -You have tried to call a subprogram that is not an
executable program. Alternately, you have used the same name for a called program as for a
previously defined data item. -Check that the subprogram being called is an executable one. If
required, correct the subprogram's name in the calling program and resubmit it to your COBOL
system. Once your program has terminated, recode it to remove the naming duplication.
Resubmit your program to your COBOL system.
122 Coblongjmp() called below level of cobsavenv() (Fatal) -You might have returned control to a
higher level in the CALL/PERFORM hierarchy than the level at which cobsetjmp was called.
Coblongjmp must be called only from the same or from a lower level in the CALL/PERFORM
hierarchy as cobsavenv was. See your object COBOL User Guide for details of cobsavenv
and coblongjmp.
123 Unknown relocation type (Fatal) -You are using incompatible versions of the object file and the
COBOL run-time library. -Once the program has terminated, resubmit your object file to your
COBOL system with the current version of your COBOL run-time library. If this does not work,
contact Technical Support who will help you to find the specific cause of the error.
124 Communication failure during I/O request to the central file handler
125 All locks/ current transactions canceled due to exceeding time limit
126 Record size exceeds system limit (Fatal)
29 | Chapter 7 External Error Codes
129 Attempt to access record zero of relative file (Recoverable) -The value specified in the
RELATIVE KEY data item contains the value zero. -You should ensure that the value in the
RELATIVE KEY data item is greater than zero, then continue to run your program.
135 File must not exist (Recoverable) -The operating system has been unable to find a file which
you have tried to access in your program. -Ensure that you are in the correct directory or that a
path to the file concerned exists. You can then try the file operation again. If the error is the
result of a spelling mistake then ask for the correct file and try the file operation again.
137 Illegal device specification - not mass storage
138 File closed with lock - cannot be opened (Recoverable) -You are trying to open a file which you
previously closed with lock, which violates one of the general rules of COBOL programming. -
You cannot open the relevant file. As this error implies that your program logic contains a
mistake, you might want to close any remaining open files, execute a STOP RUN statement
and recode.
139 Record length or key data inconsistency (Recoverable) -A discrepancy exists between the
length of a record, or the keys which you have specified, in your current program and its
definition in the program in which it was first opened. -Your program has a fault, so you
probably should edit your code, then resubmit it to your COBOL system before running it
again.
141 File already open - cannot be opened (Recoverable) -You have tried to open a file which is
already open and so cannot be opened again. -Cancel your second attempt to open the file
and continue to run your program if the fact that the file is already open is acceptable to you.
However as this error implies that your program logic contains a mistake, you might want to
close any open files, execute a STOP RUN statement and then recode.
142 File not open - cannot be closed (Recoverable) -You have tried to close a file which is not
open. -You can abandon your attempt to close the relevant file and continue to run your
program. However, as this error implies that your program logic contains a mistake, you might
want to close any open files, execute a STOP RUN statement and then recode.
143 Rewrite/delete in sequential mode not preceded by successful read (Recoverable) -You have
failed to do a successful read on a sequentially accessed file trying a REWRITE or DELETE
on some of the information contained in that file. -If the previous read was successful then
perform a read on the relevant file before you retry the unsuccessful REWRITE or DELETE
operation. If the previous read was also unsuccessful close the file, execute a STOP RUN
statement and then recode your program before you next run it.
144 Boundary violation (Recoverable) -You have tried to write a record to a variable length record
file, the length of which is not within the defined range for that file. -Recode your program.
146 No current record defined for sequential read (Recoverable) -The file position indicator in your
file is undefined owing to a failed read/START or INVALID KEY condition. You have tried to
read another record in the file but as the current record is undefined the system cannot find the
start of the record for which you have asked. -You should try a START operation, and
continue to do so until the file position indicator is updated successfully.
147 Wrong open mode or access mode for read/start (Recoverable) -You have tried to carry out a
read or start operation on a file which has not been opened for INPUT or I-O, or which is not
open at all. -Open the file for I-O or for INPUT and you should then be able to continue to run
your program. However, as this error implies that your program logic contains a mistake, you
might want to close any files which are open, execute a STOP RUN statement and then
recode.
Chapter7 External Error Codes | 30
148 Wrong open mode or access mode for write (Recoverable) -You have tried to write to a file in
sequential access mode that you have not opened for OUTPUT or EXTEND, or you have
tried to write to a file in random or dynamic access mode that has not been opened INPUT or
I-O, or which is not open at all. -Close the file and reopen it with the correct open mode for the
file type. However, as this error implies that your program logic contains a mistake, you might
want to close any files that are open, execute a STOP RUN statement and then recode.
149 Wrong open mode or access mode for rewrite/delete (Recoverable) -You are trying to do a
REWRITE or a DELETE on a file that you have not opened for I-O, or which is not open at all.
-Close the file and reopen for I-O. However, as this error implies that your program logic
contains a mistake, you might want to close any open files, execute a STOP RUN statement
and then recode.
151 Random read on sequential file (Recoverable) -You are trying to do a random read on a file
which has sequential organization. -Read the file with the correct access mode. As this error
implies that your program logic contains a mistake, you might like to close any files which are
open, execute a STOP RUN statement and recode.
152 REWRITE on file not opened I-O (Recoverable) -You have tried a REWRITE on a file that is
not open I-O. -Close the relevant file and open it for I-O operations. You should then be able to
carry out the REWRITE operation successfully. However, as this error implies that your
program logic contains a mistake, you might want to close any open files, execute a STOP
RUN statement and then recode.
153 Subscript out of range (Fatal) -A subscript which you have used in your program is out of the
defined range, that is, it is either less than one or it is greater than the number of occurrences
of the item. -You should recode your program.
154 PERFORM nested too deeply (Fatal) -This error usually results if you have used GO TO to
jump out of the range of a PERFORM rather than to jump to an EXIT statement at the end of
its range. -When your program has terminated you should to recode your program to ensure
that the GO TO in question jumps to an EXIT statement at the end of the PERFORM's range.
155 Illegal command line (Fatal) -The run-time system does not recognize as valid the command
line format you have specified. Alternately, the generic command-line interpreter, which must
be present if your program is to be run successfully, is not found on your system. Alternately,
you have set an invalid COBSW value. -Rerun your application with a valid command line.
Ensure that the interpreter is present to enable your system to pick up the commands
correctly and then rerun your program. Reset COBSW to a valid value.
156 Too many parentheses in compute statement (Fatal) -You have coded a COMPUTE
statement which is too complex for your system to handle successfully. -You should recode
your program. We strongly advise you to break the relevant COMPUTE statement into a
number of simpler statements.
157 Not enough program memory: object file too large to load (Recoverable) -Either your program
is too large for the available memory space, or the stack is full. -If you have specified the ON
OVERFLOW/EXCEPTION clause in the relevant CALL statement, the error is recoverable.
Any associated imperative statement is executed before the next instruction.
158 Attempt to REWRITE to a line-sequential file (Recoverable) -You have used the REWRITE
statement in conjunction with a file whose organization is line sequential. The REWRITE
statement cannot be used with line sequential files. -Close the file in error before executing a
STOP RUN statement to ensure that you do not lose any data from it. Recode your program
to make the organization of the file to which you want to do a REWRITE either sequential,
indexed sequential, or relative.
31 | Chapter 7 External Error Codes
159 Malformed line-sequential file (Recoverable) -A line-sequential file which you are trying to
access is corrupt in some way. -Rerun your program using the backup copy of that file.
160 Overlay loading error (Recoverable) -An error has occurred while trying to load the
intermediate code for an independent segment. The segment is either missing or corrupted in
some way. -If the segment is missing, locate it. If you cannot find it, or if it is present and
corrupt, resubmit your program to your COBOL system.
161 Illegal intermediate code (Fatal) -The intermediate code which is currently being processed is
not valid code. You are probably trying to execute a corrupted file or one which has not been
submitted to your COBOL system successfully. -You should resubmit your source program to
your COBOL system, to try to obtain uncorrupted intermediate code.
162 Arithmetic overflow or underflow (Fatal) -You are executing a program that is trying to perform
a floating-point divide by zero. -You should recode your program to avoid this illegal operation.
163 Illegal character in numeric field (Fatal) -By default the value which you enter into a numeric or
numeric edited field is checked to ensure that it is numeric. You have entered either
nonnumeric characters or uninitialized numerics into numeric or numeric edited fields: these
are automatically space filled and are thus classified as nonnumeric items. -You must adjust
your code so that no invalid data is used. You can locate the invalid numeric data in your code
by setting the +F switch on, and animating your program until you receive this error. You might
need to use one of the Compiler directives, BADSIGNS, HOST-NUMCOMPARE,
SIGNCOMPARE or SPZERO, to resolve invalid data in numeric fields. See your object
COBOL User Guide for details of these directives.
164 Run-Time subprogram not found (Fatal) -You have tried to call a subroutine whose entry
address has not been set up in your run-time system. -Check to see that you used a valid call
number in the unsuccessful subroutine call. If not, revise your code to contain a call number
which your system recognizes. If you did use a valid call number but still received this error
you should contact Technical Support.
165 Version number incompatibility (Fatal) -One or more of the run-time support modules is
incompatible with the run-time system you are using. The name of the incompatible support
module is displayed. Alternately, the run-time system you are using is incompatible with the
version of your COBOL system. Either "RTS" or the name of the run-time system file is
displayed: coblib.dll (OS/2), coblib.dle (DOS) or coblib.dlw (Windows). -Reinstall the support
module, using your installation disks. Reinstall the run-time system file, using your installation
disks. If no support module name is displayed, you have done one of the following: -Used
intermediate code which has been produced on a version of your COBOL system that is
incompatible with the run-time system you are using. Your RTS, therefore, cannot execute
correctly any generated code you are producing or have already produced from this
intermediate code. -Tried to execute a file which is not your COBOL system's intermediate or
generated code.
166 Recursive COBOL CALL is illegal (Fatal) -You have tried to call a COBOL module that is
already active. -You should recode your program.
167 Too many USING items (Fatal) -The list of items which you have supplied in a
CALL....USING statement is longer than the run-time system can handle. -Once your
program has terminated recode it with group items rather than elementary items before
rerunning it.
Chapter7 External Error Codes | 32
168 Stack overflow (Fatal) -You have nested a PERFORM statement or a series of CALL
statements too deeply. Alternately, if you have specified the CHECKSTACK directive when
compiling your program, an incorrect number of parameters might have been used on a call,
and as a result the stack has been corrupted. -Edit your program to reduce the number of
levels in the nested PERFORM or CALL statement. If the CHECKSTACK directive has been
used, determine which call is at fault and edit the source to provide the correct number and
size of parameters.
169 Illegal configuration information (Fatal) -You have tried an operation for which your machine is
not configured; the most likely cause of this is that Adis is not configured correctly. -Check
that Adis is configured correctly. See your Programmer's Guide to Creating UserInterfaces for
details of how you can reconfigure Adis.
170 System program not found (Fatal) -A system program, for example Adis or ExtFH, is not
present on the current logged-in drive. -Ensure that all the system programs are available on
the logged-in drive and copy those which are not currently present using your backup system
disk. Once all the necessary system programs are available you can run your program.
171 Japanese operations illegal with this RTS (Fatal) -You are trying to perform Japanese
operations with a non-Japanese run-time system, or you have used a Japanese version of
your COBOL system to produce code which you are now trying to run using a non-Japanese
run-time system. -You should resubmit your program using a non-Japanese run-time system,
or if you still want your program to perform Japanese operations, you should acquire a
Japanese run-time system.
172 Recursive non-MF PERFORM is illegal (Fatal) -You have tried full recursion of a PERFORM
statement in a program that was submitted to your COBOL system with the OSVS parameter
of the PERFORM-TYPE directive specified. That is, you have tried to end two PERFORMs
with the same return address. -You should either resubmit your program to your COBOL
system with a parameter other than OSVS specified for the PERFORM-TYPE directive, or
recode your program so that each PERFORM has its own unique return address before you
resubmit it to your COBOL system with the MF parameter of the PERFORM-TYPE directive
specified.
173 Called program file not found in drive/directory (Fatal) -You have tried to call a program which
is not present on your current logged-in drive or directory, or in a directory pointed to by the
COBDIR environment variable. -Once your program has terminated you should copy the
relevant file into your logged-in drive or directory. If insufficient space is available, you should
set the COBDIR environment variable to search the directory or drive on which the file is
present when your program calls it. Once you have taken these steps, run your program
again.
174 Imported file not found (Fatal) -You have tried to load a .dll file which contains references to
another .dll file which cannot be found by the operating system. -Locate the missing file and
ensure it is located on the default search path for your operating system.
175 Attempt to run intermediate code program which had severe errors in it (Fatal) -You are trying
to run a program that produced severe faults when you submitted it to your COBOL system
with the run-time switch E turned off. Alternately, you could try to run the program with the E
run-time switch set, though this might not give the desired results. -You should edit your
source code to correct all the severe faults, resubmit it to your COBOL system, then run the
intermediate code that is produced. When your program is being animated, Animator reports
this error and enables you to continue to run the program. See also: E RTS switch
176 Illegal intersegment reference (Fatal) -You might have a corrupted file. Alternately, your code
contains a segment reference for the Forward Reference Table which is illegal. -Resubmit
your source code to your COBOL system. If you receive this error again, contact Technical
Support who will help you to find the specific cause of the error.
33 | Chapter 7 External Error Codes
177 Attempt to cancel program failed (Fatal) -You have tried to remove a currently executing
program or its parents or grandparents, from memory. Alternately, you have tried to cancel a
DLL, either directly or indirectly as an imported DLL, that contains an entry point which has
been registered as an EXIT LIST function via the OS/2 API call DosExitList. -Once your
program has terminated you need to recode your program to ensure that you do not try to
cancel a program (or its parents or grandparents) while it is still being executed. Locate the
erroneous DLL and ensure that the EXIT LIST function is removed before you cancel the DLL.
If you cannot recode the DLL, you can set the O RTS switch to force a logical cancel on the
DLL. See also:D2 RTS switch O RTS switch
178 Error during save (Fatal) -You cannot save the information which your program has generated.
This can be caused by several different reasons but one of the most common causes is that
you have tried to Build a module that is too large for the available memory space. -If the error
is caused by a lack of space you can either delete some of the files which you no longer need
on your current disk, or insert a new floppy disk to take the output from your program. You
should then be able to rerun your program and save the information given by it.
179 Error during chain (program not found) (Fatal) -You have tried to chain to another program
which your system is unable to find. -Once your program has terminated you should copy the
relevant file into your logged-in drive or directory. If insufficient space is available, you should
set the COBDIR environment variable to search the directory or drive on which the file is
present when your program calls it. Once you have taken these steps, run your program
again.
180 End-of-file marker error (Fatal) -A file-marker used to indicate that the end-of-file has been
reached is missing from one of your files. -You should resubmit your code to your COBOL
system, or use a debugger to place the end-of-file marker at the end of the file. You can then
rerun your program.
181 Invalid parameter error (Fatal) -A parameter which you have used is not one which is
recognized by your system. You have probably used a parameter for a run-time system
subprogram which is not in the first 64K of the Data Division. -Revise your code to contain a
parameter which is known by your system. That is, ensure that the parameter is in the first
64K of the Data Division.
182 Console input or console output open in wrong direction (Fatal) -You are either trying to read
input from the screen or write to the keyboard. -You should recode your program.
183 Attempt to open line sequential file for I-O (Fatal) -You have tried to open a line-sequential file
in the input-output open mode, but this mode is not supported for files with this organization. -
When your program has terminated you should recode your program to ensure that the file
with organization line sequential is opened for input, output, or extend. You can then rerun
your code.
184 ACCEPT/DISPLAY I-O error (Fatal) -You have either tried to read input from the screen or
write to the keyboard, or the ADIS module has not been able to open your terminal's channels
for I-O. -Your program logic contains a mistake, so you must recode.
185 File malformed (Recoverable)
186 Attempt to open stdin, stdout or stderr with incorrect mode (Recoverable) -You have tried to
open either a standard input file with output mode, or some other file in an incorrect mode.
187 Run-time system not found on $COBDIR path (Fatal) -The run-time system cannot be found
on the path you have set up in the COBDIR environment variable. Alternately, you might not
have installed your COBOL system correctly. -Ensure that the run-time system is on the path
you have set up in the COBDIR environment variable. Alternately, ensure that your COBOL
system has been installed correctly. If it has not, you must reinstall your COBOL system.
Chapter7 External Error Codes | 34
188 Filename too large (Fatal) -A filename which you have used has more characters than the
maximum number allowed by your operating system. -You should recode your program to
check the length of the file in error, and rename it with a shorter filename. You can then run
your program again.
189 Intermediate code load error (Fatal) -You are unable to load your intermediate code. You might
have tried to load intermediate code that either has not been successfully produced, or has
been corrupted in some way. -Try to obtain good intermediate code, for example, by
resubmitting (or submitting) your source code to your COBOL system. You should then be
able to load your code and run the program successfully.
190 Too many arguments to CALL (Fatal) -A CALL statement in your program cannot be
successfully executed because of the number of arguments which you have used with it. -
When your program has terminated you can recode it using group items rather than
elementary ones. You should then be able to run your program successfully.
191 Terminal type not defined (Fatal) -Your terminal type is undefined, so your operating system is
unable to drive your terminal. -Set up the necessary environment for your terminal.
192 Required terminal capability description missing (Fatal) -A compulsory entry, for example
cursor movement or clear screen, is missing from your terminal configuration database. -Add
the missing entry to your terminal configuration database.
193 Error in variable length count (Fatal) -The intermediate code which is currently being
processed is not a valid operation. You are probably trying to execute a corrupt file or one
which has not been produced. -You should resubmit your source code to your COBOL
system.
194 File size too large (Fatal) -A file which your program is accessing is too large for successful
execution to continue. -When your program has terminated you should recode your program
spreading the data over more than one file to ensure that no file becomes too large for your
operating system to handle. Having recoded your program you can then rerun it.
195 DELETE/REWRITE not preceded by a read (Fatal) -Before a DELETE or a REWRITE
statement can be successfully executed in sequential access mode the last input-output
statement executed for the associated file must have been a successful read. In your code no
read statement precedes your tried DELETE or REWRITE. -When your program has
terminated, recode your program, making sure that the last input-output statement to be
executed before the DELETE or REWRITE is a READ statement.
196 Record number too large in relative or indexed file (Fatal) -The relative record key has
exceeded the system limit, that is, the file is too large for the system to handle. Alternately,
the record key which you have specified is too large for the system to deal with successfully,
or the pointer to the record has been corrupted in some way so that it is either too large or it is
not a multiple of the record length.
197 Screen handling system initialization error (Fatal) -This error can be caused by one of the
following: -Your display adapter is in the wrong mode. -Your screen handling interface has not
been correctly initialized because your terminal does not have the required capabilities. -Your
terminfo file is corrupted. -Memory has been incorrectly allocated. -If you are using a DOS or
OS/2 system, the monitor must be in alphanumeric display mode rather than graphics display
mode. You can set the display mode to a valid alphanumeric mode by using the DOS MODE
utility and then rerunning your program. If you are using a UNIX-type system, you must check
that your terminfo file contains the correct entry for your terminal. If your terminfo file is
corrupt, or your screen handling interface has not been correctly initialized, you must advise
your system administrator of the problem, and he will take steps to try to correct it. If your
memory has been incorrectly allocated, you must rerun your program.
35 | Chapter 7 External Error Codes
198 Load failure (Fatal) -The system cannot load a program, usually because of insufficient
memory. Alternately your program has run out of memory during the loading or reloading of a
file. This occurs more frequently during Animation because of the extra memory required
during Animation. -Make more memory available and then rerun your program. Ensure that as
much memory as possible is available during Animation by canceling any program you do not
currently need to access.
199 Operating System error code lies outside expected range (Fatal) -A system call has returned
an unexpected error number which is not documented. -Contact Technical Support who will
help you to find the specific cause of this error.
200 Run-time system internal logic error (Fatal) -The amount of memory available on your machine
is so low that not even the run-time system can be fully loaded. Alternately, your run-time
system has stopped as a result of an internal logic error from which you cannot recover. -Free
some memory and then you should be able to run your program successfully. Contact
Technical Support who will help you to find the cause of the error.
201 I-O error in paging system (Fatal) -No room is available in your current directory or on the
floppy disk which you are using, for the paging file. -When your program has terminated,
delete any files which you no longer need from your directory to make room for the paging file,
or insert a new floppy disk.
202 Exported functionality error (Fatal) -You have either caused an internal run-time system error
by invalid use of an exported function, or the code produced by a preprocessor in your COBOL
system contains errors. -Ensure that all of your external assembler applications call and use
run-time system functions correctly before you try to run your program again. If you are using
a preprocessor as part of your COBOL system, you should use the software as a standalone
preprocessor to isolate the problem areas.
203 CALL parameter not supplied (Fatal) -The item you are trying to access in the Linkage Section
of the currently executing program has not been initialized. -Recode your program to ensure
that it contains all of the necessary parameters, or check that it is a valid caller.
206 Reading unwritten data from memory (Fatal) -You are trying to read data which has not been
written, from the core file.
207 Machine does not exist (Recoverable) -You have tried to access a machine that is not
connected to your network, or which is not on-line. -Make sure the machine is connected to
the network and is on-line, then try to access it again.
208 Error in multi-user system (Fatal) -This is normally caused by an unexpected error occurring in
the network or file-sharing facilities. A corrupted network message also causes this error to be
returned. -Retry the unsuccessful operation. If the error persists, contact Technical Support
who will help you to find the specific cause of this error.
209 Network communication error (Recoverable) -This is normally given if an incorrect checksum
has been received in a communications packet. -Your program should continue to execute
after you have received this error but results might be undefined.
210 File is closed with lock (Fatal) -You have tried to open a file which you have previously closed
with lock. -Recode your program to avoid opening a file which has previously been closed with
lock.
211 Program not executable by run-time system (Fatal) -You have tried to run a program that is
incompatible with the current version of either your run-time system, your object file or your
COBOL run-time library. For example, your run-time system does not run a program linked
using a different object file format or COBOL run-time library. -If your object file is
incompatible with the current version of either your COBOL run-time library or your run-time
system, you should relink with the current version of your COBOL run-time library.
Chapter7 External Error Codes | 36
213 Too many locks (Recoverable) -You have either tried to exceed the maximum number of
simultaneous record locks per file you can have, or you have exhausted an operating system
or network resource, for example dynamic memory. -Execute a COMMIT or an UNLOCK
operation on the relevant file and you should then be able to continue to run your program. You
should try not to retain a record lock for longer than is necessary.
214 GO TO has not been ALTERed (Fatal) -You have violated one of the general rules of COBOL
programming. -Close any files which might be open, execute a STOP RUN statement and
then edit your program to avoid such illegal operations.
215 Cannot ANIMATE a program running COMMUNICATIONS (Fatal) -You have tried to animate
a program which makes use of the communications module. This cannot be done as both
Animator and the communications module need full use of the CRT. -You should run your
program without the aid of Animator.
216 Cannot initialize the named communications device (Fatal) -A device driver is probably
missing. -Ensure that all communications drivers are loaded before you try to run
Communications.
217 Incompatible host for native code file (Fatal) -The .gnt file is not valid for the host processor. -
You must resubmit your program to your COBOL system.
218 Malformed MULTIPLE REEL/UNIT file (Fatal) -Either your file header is not correctly
formatted, or you are not using a MULTIPLE REEL/UNIT file. -You should try to run your
program again using a backup copy of the relevant file.
219 Operating system shared file limit exceeded (Recoverable) -You have tried to exceed your
operating system's limit on the number of shared files that you can have open simultaneously.
As this figure is operating system dependent, you should consult your Release Notes for
details of how many shared files your system permits to be open at any one time. -Close
some of the open shared files you are no longer accessing and retry the file operation.
220 Attempt to execute more than one SORT or MERGE simultaneously (Fatal) -You have coded
your program in such a way that it is trying to execute more than one SORT or MERGE
operation at the same time. For example, you might have coded a SORT statement in the
input or output procedure of another SORT statement, an operation that is specifically
prohibited under the rules of ANSI COBOL. -You should recode your program to ensure that it
does not execute more than one SORT or MERGE at any one time.
221 SORT/MERGE error: see status keys (Fatal) -You have tried a SORT/MERGE operation
which has been unsuccessful for some reason. You might have had too many files open when
you tried a SORT/MERGE operation, or the file which you are trying to access might be
locked. -The action you should take depends on the situation in which it occurs. Check the
status of each file (USING/ GIVING) defined in the SORT statement.
222 SORT/MERGE error: see status keys (Fatal) -You have tried a SORT/MERGE operation
which has been unsuccessful for some reason. You might have had too many files open when
you tried a SORT/MERGE operation, or the file which you are trying to access might be
locked. -The action you should take depends on the situation in which it occurs. Check the
status of each file (USING/ GIVING) defined in the SORT statement.
223 SORT/MERGE error: see status keys (Fatal) -You have tried a SORT/MERGE operation
which has been unsuccessful for some reason. You might have had too many files open when
you tried a SORT/MERGE operation, or the file which you are trying to access might be
locked. Alternately, you have set the TMP environment variable to point to a directory that
does not exist. -The action you should take depends on the situation in which it occurs. Either
set TMP to point to a directory that does exist, or unset TMP.
224 External Language Initialization failure
37 | Chapter 7 External Error Codes
225 Dynamic load error - program component missing (Fatal) -The run-time system cannot locate
the root or overlay of a program that is currently loaded in memory. Alternately, you have
insufficient memory to load your program. Alternately, the run-time system could not find
enough file handles to open and, therefore, load the code. -Either the library that contained the
program has been canceled, or the program is no longer available on the program search path.
Ensure that the program is available either on disk or on an open library. Either free some
memory, use XM, or restructure your application so that it uses less memory. Increase your
operating system file handles limit.
226 EXTERNAL file definition inconsistent -Two or more programs define the same external file
but with different formats. For example, maximum and minimum record lengths might be
different. -Ensure that all of your programs define the external file with the same format so that
they are consistent. It is useful to have the file definition in a COPY file.
227 EXTERNAL data definition inconsistent (Fatal) -Two or more programs are defining the same
external data item, but the first loaded program has defined the size differently from the
second or subsequent loaded program. -Ensure that both or all of your programs define the
size of the external data item as being the same.
228 Could not allocate memory for EXTERNAL item (Fatal)
229 SORT/MERGE module does not support EXTERNAL using/giving files (Recoverable) -You
have tried a SORT or MERGE operation which has USING/ GIVING files which are defined
as EXTERNAL. The SORT/ MERGE module does not support USING/ GIVING files defined
as EXTERNAL. -Recompile your program to use the callable SORT module (EXTSM).
230 Floating Point Support Module not found (Fatal)
235 Error in animator communications channel (Fatal) -Animator has encountered system limits or
conflicts resulting in communications errors. Perhaps two logins on the same UNIX system
are trying to cross-session animate the same program file. -Copy the animated program file to
a different directory and try animation.
236 Animated program has terminated unexpectedly (Fatal) -A program you are animating has
terminated without following the standard run-time system shut-down process. The
termination was probably either initiated by the user or caused by a severe run-time error. -
Run your program without animation to determine if it runs successfully; if so, animate the
program without cross-session or intrasession animation.
237 Unable to initialize animated process (Fatal) -Animator has encountered system limits in
starting your program. The animated program cannot start because of either insufficient
memory or too many processes running on the UNIX system. -Animate your program when
the load on the system has reduced. Run the program without animation to determine if it runs
successfully; if so, animate the program without cross-session or intrasession animation. Ask
your system administrator to expand the number of process slots and virtual memory page
maps.
238 STOP RUN encountered during GNT animation (Informational) -Animator has encountered a
STOP RUN statement while animating your .gnt code program. -Step or Zoom the animated
program, and Animator will terminate the program and its current session.
239 Shared run-time system initialization failure (Informational) -You are calling a COBOL module
from a non-COBOL program, and have not initialized the shared run-time system. -Ensure that
your application calls the cobinit() function before executing any COBOL modules.
240 Object reference not valid (Fatal) -You have tried to use an object reference that contains an
incorrect or non-existent object handle. -Ensure that the object reference uses the correct
object handle, and that your program has not previously destroyed the object by sending it a
Finalize message.
Chapter7 External Error Codes | 38
241 Cannot instantiate an abstract class (Fatal) -You have tried to create an instance of a class
that has been declared ABSTRACT. Such classes cannot be instantiated. -Ensure that you
have specified the correct class name. Check to see if there is a subclass that you should use
instead.
242 Could not resolve DoesNotUnderstand message (Fatal) -The run-time system could not
resolve the DoesNotUnderstand message. This is usually because you have defined a class
in such a way that this method cannot be found. -Check the logic in your program to ensure
that it invokes only methods that are supported by the object, or ensure that the object
supports the DoesNotUnderstand method.
243 Class could not be loaded (Fatal) -An attempt to load an object class has failed because the
class does not contain a valid Class-Control section, or because the class is not defined
correctly. -Check the definition of the class.
254 Keyboard interrupt to ANIMATOR during ACCEPT (Fatal) -While using Animator you have
terminated your program with a keyboard interrupt.
The first set of definitions is present to resolve contentions between standard C error codes which may be
defined inconsistently between various C compilers.
The second set of definitions provides Windows Sockets versions of regular Berkeley Sockets error
codes.
The third set of definitions consists of extended Windows Sockets-specific error codes.
The fourth set of errors are returned by Windows Sockets getXbyY and WSAAsyncGetXByY functions
and correspond to the errors that in Berkeley software would be returned in the h_errno variable. They
correspond to various errors that may be returned by the Domain Name Service. If the Windows Sockets
implementation does not use the DNS, it will use the most appropriate code. In general, a Windows
Sockets application should interpret WSAHOST_NOT_FOUND and WSANO_DATA as indicating that
the key (name, address, and so on) was not found, while WSATRY_AGAIN and WSANO_RECOVERY
suggest that the name service itself is nonoperational.
The error numbers are derived from the WINSOCK.H header file and are based on the fact that Windows
Sockets error numbers are computed by adding 10000 to the "normal" Berkeley error number.
Note that this table does not include all of the error codes defined in WINSOCK.H. This is because it
includes only errors that might reasonably be returned by a Windows Sockets implementation.
WINSOCK.H, on the other hand, includes a full set of BSD definitions to ensure compatibility with ported
software.
HP-UX
Error codes HP-Workstation (9000); HP-UX 9
Error codes HP-Workstation (9000); HP-UX 10
DEC OSF
Error codes Alpha - DEC-OSF/1 - Digital UNIX 4.0
IBM AIX
Error codes Power-PC - AIX 4.1
Notes
In the log messages of the agents, error codes of various UNIX systems are used. An example for such a
log message: "U2003040 error in 'read' call (58), socket '6', error: ('11' - No more processes)".
41 | Chapter 7 External Error Codes
This log message means that with the function "read" (reading TCP/IP) on socket 6 (internal number) error
code 11 occurred. These messages are normally of minor significance and are to be ignored.
We supply all error codes and text here. If you require further information, you can call up the
documentation of a function by entering man function on the UNIX system. The description of possible
error codes is also included.
Example: man read
7.4.3 HP-UX
Error Codes HP Workstation (9000), HP-UX 9
Error Code Error Text
1 Not super-user
2 No such file or directory
3 No such process
4 Interrupted system call
5 I/O error
6 No such device or address
7 Arg list too long
8 Exec format error
9 Bad file number
10 No children
11 No more processes
12 Not enough core
13 Permission denied
14 Bad address
15 Block device required
16 Mount device busy
17 File exists
18 Cross-device link
19 No such device
20 Not a directory
21 Is a directory
22 Invalid argument
23 File table overflow
24 Too many open files
25 Not a typewriter
26 Text file busy
27 File too large
28 No space left on device
29 Illegal seek
30 Read only file system
31 Too many links
32 Broken pipe
35 No message of desired type
36 Identifier removed
45 | Chapter 7 External Error Codes
71 Protocol error
74 Multihop attempted
77 Trying to read unreadable message
78 Path name is too long
79 Value too large to be stored in data type
80 Given log. name not unique
81 f.d. invalid for this operation
82 Remote address changed
83 Cannot access a needed shared lib.
84 Accessing a corrupted shared lib.
85 .lib section in a.out corrupted.
86 Attempting to link in too many libs.
87 Attempting to exec a shared library.
88 Illegal byte sequence.
89 Unsupported file system operation
90 Symbolic link loop
91 Restartable system call
92 If pipe/FIFO, do not sleep in stream head
93 Directory not empty
94 Too many users (for UFS)
95 Socket operation on non-socket
96 Destination address required
97 Message too long
98 Protocol wrong type for socket
99 Protocol not available
120 Protocol not supported
121 Socket type not supported
122 Operation not supported on socket
123 Protocol family not supported
124 Address family not supported by
125 Address already in use
126 Cannot assign requested address
127 Network is down
128 Network is unreachable
129 Network dropped connection because of reset
130 Software caused connection abort
131 Connection reset by peer
132 No buffer space available
61 | Chapter 7 External Error Codes
119 The system does not support the command requested. ERROR_BAD_
DRIVER_LEVEL
120 This function is not supported on this system. ERROR_CALL_
NOT_
IMPLEMENTED
121 The semaphore timeout period has expired. ERROR_SEM_
TIMEOUT
122 The data area passed to a system call is too small. ERROR_
INSUFFICIENT_
BUFFER
123 The filename, directory name, or volume label syntax is incorrect. ERROR_
INVALID_NAME
124 The system call level is not correct. ERROR_
INVALID_LEVEL
125 The disk has no volume label. ERROR_NO_
VOLUME_LABEL
126 The specified module could not be found. ERROR_MOD_
NOT_FOUND
127 The specified procedure could not be found. ERROR_PROC_
NOT_FOUND
128 There are no child processes to wait for. ERROR_WAIT_
NO_CHILDREN
129 The %1 application cannot be run in Win32 mode. ERROR_CHILD_
NOT_COMPLETE
130 Attempt to use a file handle to an open disk partition for an operation other ERROR_
than raw disk I/O. DIRECT_
ACCESS_
HANDLE
131 An attempt was made to move the file pointer before the beginning of the ERROR_
file. NEGATIVE_SEEK
132 The file pointer cannot be set on the specified device or file. ERROR_SEEK_
ON_DEVICE
133 A JOIN or SUBST command cannot be used for a drive that contains ERROR_IS_
previously joined drives. JOIN_TARGET
134 An attempt was made to use a JOIN or SUBST command on a drive that ERROR_IS_
has already been joined. JOINED
135 An attempt was made to use a JOIN or SUBST command on a drive that ERROR_IS_
has already been substituted. SUBSTED
136 The system tried to delete the JOIN of a drive that is not joined. ERROR_NOT_
JOINED
137 The system tried to delete the substitution of a drive that is not substituted. ERROR_NOT_
SUBSTED
138 The system tried to join a drive to a directory on a joined drive. ERROR_JOIN_
TO_JOIN
67 | Chapter 7 External Error Codes
139 The system tried to substitute a drive to a directory on a substituted drive. ERROR_SUBST_
TO_SUBST
140 The system tried to join a drive to a directory on a substituted drive. ERROR_JOIN_
TO_SUBST
141 The system tried to SUBST a drive to a directory on a joined drive. ERROR_SUBST_
TO_JOIN
142 The system cannot perform a JOIN or SUBST at this time. ERROR_BUSY_
DRIVE
143 The system cannot join or substitute a drive to or for a directory on the ERROR_SAME_
same drive. DRIVE
144 The directory is not a subdirectory of the root directory. ERROR_DIR_
NOT_ROOT
145 The directory is not empty. ERROR_DIR_
NOT_EMPTY
146 The path specified is being used in a substitute. ERROR_IS_
SUBST_PATH
147 Not enough resources are available to process this command. ERROR_IS_
JOIN_PATH
148 The path specified cannot be used at this time. ERROR_PATH_
BUSY
149 An attempt was made to join or substitute a drive for which a directory on ERROR_IS_
the drive is the target of a previous substitute. SUBST_TARGET
150 System trace information was not specified in your CONFIG.SYS file, or ERROR_
tracing is disallowed. SYSTEM_TRACE
151 The number of specified semaphore events for DosMuxSemWait is not ERROR_
correct. INVALID_EVENT_
COUNT
152 DosMuxSemWait did not execute; too many semaphores are already set. ERROR_TOO_
MANY_
MUXWAITERS
153 The DosMuxSemWait list is not correct. ERROR_
INVALID_LIST_
FORMAT
154 The volume label you entered exceeds the label character limit of the target ERROR_LABEL_
file system. TOO_LONG
155 Cannot create another thread. ERROR_TOO_
MANY_TCBS
156 The recipient process has refused the signal. ERROR_SIGNAL_
REFUSED
157 The segment is already discarded and cannot be locked. ERROR_
DISCARDED
158 The segment is already unlocked. ERROR_NOT_
LOCKED
Chapter7 External Error Codes | 68
208 The global filename characters, * or ?, are entered incorrectly or too many ERROR_META_
global filename characters are specified. EXPANSION_
TOO_LONG
209 The signal being posted is not correct. ERROR_
INVALID_
SIGNAL_
NUMBER
210 The signal handler cannot be set. ERROR_
THREAD_1_
INACTIVE
212 The segment is locked and cannot be reallocated. ERROR_LOCKED
214 Too many dynamic-link modules are attached to this program or dynamic- ERROR_TOO_
link module. MANY_MODULES
215 Cannot nest calls to LoadModule. ERROR_
NESTING_NOT_
ALLOWED
216 The image file %1 is valid, but is for a machine type other than the current ERROR_EXE_
machine. MACHINE_TYPE_
MISMATCH
230 The pipe state is invalid. ERROR_BAD_
PIPE
231 All pipe instances are busy. ERROR_PIPE_
BUSY
232 The pipe is being closed. ERROR_NO_
DATA
233 No process is on the other end of the pipe. ERROR_PIPE_
NOT_
CONNECTED
234 More data is available. ERROR_MORE_
DATA
240 The session was canceled. ERROR_VC_
DISCONNECTED
254 The specified extended attribute name was invalid. ERROR_
INVALID_EA_
NAME
255 The extended attributes are inconsistent. ERROR_EA_
LIST_
INCONSISTENT
258 The wait operation timed out. WAIT_TIMEOUT
259 No more data is available. ERROR_NO_
MORE_ITEMS
266 The copy functions cannot be used. ERROR_
CANNOT_COPY
267 The directory name is invalid. ERROR_
DIRECTORY
71 | Chapter 7 External Error Codes
275 The extended attributes did not fit in the buffer. ERROR_EAS_
DIDNT_FIT
276 The extended attribute file on the mounted file system is corrupt. ERROR_EA_
FILE_CORRUPT
277 The extended attribute table file is full. ERROR_EA_
TABLE_FULL
278 The specified extended attribute handle is invalid. ERROR_
INVALID_EA_
HANDLE
282 The mounted file system does not support extended attributes. ERROR_EAS_
NOT_
SUPPORTED
288 Attempt to release mutex not owned by caller. ERROR_NOT_
OWNER
298 Too many posts were made to a semaphore. ERROR_TOO_
MANY_POSTS
299 Only part of a ReadProcessMemory or WriteProcessMemory request was ERROR_
completed. PARTIAL_COPY
300 The oplock request is denied. ERROR_
OPLOCK_NOT_
GRANTED
301 An invalid oplock acknowledgment was received by the system. ERROR_
INVALID_
OPLOCK_
PROTOCOL
317 The system cannot find message text for message number 0x%1 in the ERROR_MR_
message file for %2. MID_NOT_
FOUND
487 Attempt to access invalid address. ERROR_
INVALID_
ADDRESS
534 Arithmetic result exceeded 32 bits. ERROR_
ARITHMETIC_
OVERFLOW
535 There is a process on other end of the pipe. ERROR_PIPE_
CONNECTED
536 Waiting for a process to open the other end of the pipe. ERROR_PIPE_
LISTENING
994 Access to the extended attribute was denied. ERROR_EA_
ACCESS_
DENIED
995 The I/O operation has been aborted because of either a thread exit or an ERROR_
application request. OPERATION_
ABORTED
996 Overlapped I/O event is not in a signaled state. ERROR_IO_
INCOMPLETE
Chapter7 External Error Codes | 72
1016 An I/O operation initiated by the registry failed unrecoverably. The registry ERROR_
could not read in, or write out, or flush, one of the files that contain the REGISTRY_IO_
system's image of the registry. FAILED
1017 The system has attempted to load or restore a file into the registry, but the ERROR_NOT_
specified file is not in a registry file format. REGISTRY_FILE
1018 Illegal operation attempted on a registry key that has been marked for ERROR_KEY_
deletion. DELETED
1019 System could not allocate the required space in a registry log. ERROR_NO_LOG_
SPACE
1020 Cannot create a symbolic link in a registry key that already has subkeys ERROR_KEY_HAS_
or values. CHILDREN
1021 Cannot create a stable subkey under a volatile parent key. ERROR_CHILD_
MUST_BE_
VOLATILE
1022 A notify change request is being completed and the information is not ERROR_NOTIFY_
being returned in the caller's buffer. The caller now must enumerate the ENUM_DIR
files to find the changes.
1051 A stop control has been sent to a service that other running services are ERROR_
dependent on. DEPENDENT_
SERVICES_
RUNNING
1052 The requested control is not valid for this service. ERROR_INVALID_
SERVICE_
CONTROL
1053 The service did not respond to the start or control request in a timely ERROR_SERVICE_
fashion. REQUEST_
TIMEOUT
1054 A thread could not be created for the service. ERROR_SERVICE_
NO_THREAD
1055 The service database is locked. ERROR_SERVICE_
DATABASE_
LOCKED
1056 An instance of the service is already running. ERROR_SERVICE_
ALREADY_
RUNNING
1057 The account name is invalid or does not exist. ERROR_INVALID_
SERVICE_
ACCOUNT
1058 The service cannot be started, either because it is disabled or because it ERROR_SERVICE_
has no enabled devices associated with it. DISABLED
1059 Circular service dependency was specified. ERROR_
CIRCULAR_
DEPENDENCY
1060 The specified service does not exist as an installed service. ERROR_SERVICE_
DOES_NOT_EXIST
Chapter7 External Error Codes | 74
1061 The service cannot accept control messages at this time. ERROR_SERVICE_
CANNOT_ACCEPT_
CTRL
1062 The service has not been started. ERROR_SERVICE_
NOT_ACTIVE
1063 The service process could not connect to the service controller. ERROR_FAILED_
SERVICE_
CONTROLLER_
CONNECT
1064 An exception occurred in the service when handling the control request. ERROR_
EXCEPTION_IN_
SERVICE
1065 The database specified does not exist. ERROR_
DATABASE_DOES_
NOT_EXIST
1066 The service has returned a service-specific error code. ERROR_SERVICE_
SPECIFIC_ERROR
1067 The process terminated unexpectedly. ERROR_
PROCESS_
ABORTED
1068 The dependency service or group failed to start. ERROR_SERVICE_
DEPENDENCY_
FAIL
1069 The service did not start due to a logon failure. ERROR_SERVICE_
LOGON_FAILED
1070 After starting, the service hung in a start-pending state. ERROR_SERVICE_
START_HANG
1071 The specified service database lock is invalid. ERROR_INVALID_
SERVICE_LOCK
1072 The specified service has been marked for deletion. ERROR_SERVICE_
MARKED_FOR_
DELETE
1073 The specified service already exists. ERROR_SERVICE_
EXISTS
1074 The system is currently running with the last-known-good configuration. ERROR_ALREADY_
RUNNING_LKG
1075 The dependency service does not exist or has been marked for deletion. ERROR_SERVICE_
DEPENDENCY_
DELETED
1076 The current boot has already been accepted for use as the last-known- ERROR_BOOT_
good control set. ALREADY_
ACCEPTED
1077 No attempts to start the service have been made since the last boot. ERROR_SERVICE_
NEVER_STARTED
1078 The name is already in use as either a service name or a service display ERROR_
name. DUPLICATE_
SERVICE_NAME
75 | Chapter 7 External Error Codes
1079 The account specified for this service is different from the account ERROR_
specified for other services running in the same process. DIFFERENT_
SERVICE_
ACCOUNT
1080 Failure actions can only be set for Win32 services, not for drivers. ERROR_CANNOT_
DETECT_DRIVER_
FAILURE
1081 This service runs in the same process as the service control manager. ERROR_CANNOT_
Therefore, the service control manager cannot take action if this service's DETECT_
process terminates unexpectedly. PROCESS_ABORT
1082 No recovery program has been configured for this service. ERROR_NO_
RECOVERY_
PROGRAM
1083 The executable program that this service is configured to run in does not ERROR_SERVICE_
implement the service. NOT_IN_EXE
1100 The physical end of the tape has been reached. ERROR_END_OF_
MEDIA
1101 A tape access reached a filemark. ERROR_
FILEMARK_
DETECTED
1102 The beginning of the tape or a partition was encountered. ERROR_
BEGINNING_OF_
MEDIA
1103 A tape access reached the end of a set of files. ERROR_
SETMARK_
DETECTED
1104 No more data is on the tape. ERROR_NO_DATA_
DETECTED
1105 Tape could not be partitioned. ERROR_
PARTITION_
FAILURE
1106 When accessing a new tape of a multivolume partition, the current block ERROR_INVALID_
size is incorrect. BLOCK_LENGTH
1107 Tape partition information could not be found when loading a tape. ERROR_DEVICE_
NOT_PARTITIONED
1108 Unable to lock the media eject mechanism. ERROR_UNABLE_
TO_LOCK_MEDIA
1109 Unable to unload the media. ERROR_UNABLE_
TO_UNLOAD_
MEDIA
1110 The media in the drive can have changed. ERROR_MEDIA_
CHANGED
1111 The I/O bus was reset. ERROR_BUS_
RESET
1112 No media in drive. ERROR_NO_
MEDIA_IN_DRIVE
Chapter7 External Error Codes | 76
1113 No mapping for the Unicode character exists in the target multi-byte code ERROR_NO_
page. UNICODE_
TRANSLATION
1114 A dynamic link library (DLL) initialization routine failed. ERROR_DLL_INIT_
FAILED
1115 A system shutdown is in progress. ERROR_
SHUTDOWN_IN_
PROGRESS
1116 Unable to abort the system shutdown because no shutdown was in ERROR_NO_
progress. SHUTDOWN_IN_
PROGRESS
1117 The request could not be performed because of an I/O device error. ERROR_IO_
DEVICE
1118 No serial device was successfully initialized. The serial driver will unload. ERROR_SERIAL_
NO_DEVICE
1119 Unable to open a device that was sharing an interrupt request (IRQ) with ERROR_IRQ_BUSY
other devices. At least one other device that uses that IRQ was already
opened.
1120 A serial I/O operation was completed by another write to the serial port. ERROR_MORE_
(The IOCTL_SERIAL_XOFF_COUNTER reached zero.) WRITES
1121 A serial I/O operation completed because the timeout period expired. (The ERROR_
IOCTL_SERIAL_XOFF_COUNTER did not reach zero.) COUNTER_
TIMEOUT
1122 No ID address mark was found on the floppy disk. ERROR_FLOPPY_
ID_MARK_NOT_
FOUND
1123 Mismatch between the floppy disk sector ID field and the floppy disk ERROR_FLOPPY_
controller track address. WRONG_
CYLINDER
1124 The floppy disk controller reported an error that is not recognized by the ERROR_FLOPPY_
floppy disk driver. UNKNOWN_
ERROR
1125 The floppy disk controller returned inconsistent results in its registers. ERROR_FLOPPY_
BAD_REGISTERS
1126 While accessing the hard disk, a recalibrate operation failed, even after ERROR_DISK_
retries. RECALIBRATE_
FAILED
1127 While accessing the hard disk, a disk operation failed even after retries. ERROR_DISK_
OPERATION_
FAILED
1128 While accessing the hard disk, a disk controller reset was needed, but ERROR_DISK_
even that failed. RESET_FAILED
1129 Physical end of tape encountered. ERROR_EOM_
OVERFLOW
1130 Not enough server storage is available to process this command. ERROR_NOT_
ENOUGH_
SERVER_MEMORY
77 | Chapter 7 External Error Codes
1164 The indicated device requires reinitialization due to hardware errors. ERROR_DEVICE_
REINITIALIZATION_
NEEDED
1165 The device has indicated that cleaning is required before further ERROR_DEVICE_
operations are attempted. REQUIRES_
CLEANING
1166 The device has indicated that its door is open. ERROR_DEVICE_
DOOR_OPEN
1167 The device is not connected. ERROR_DEVICE_
NOT_CONNECTED
1168 Element not found. ERROR_NOT_
FOUND
1169 There was no match for the specified key in the index. ERROR_NO_
MATCH
1170 The property set specified does not exist on the object. ERROR_SET_NOT_
FOUND
1171 The point passed to GetMouseMovePointsEx is not in the buffer. ERROR_POINT_
NOT_FOUND
1172 The tracking (workstation) service is not running. ERROR_NO_
TRACKING_
SERVICE
1173 The Volume ID could not be found. ERROR_NO_
VOLUME_ID
1174 The specified Very Large Memory (64-bit) operation is invalid. ERROR_INVALID_
VLM_OPERATION
1175 Unable to remove the file to be replaced. ERROR_UNABLE_
TO_REMOVE_
REPLACED
1176 Unable to move the replacement file to the file to be replaced. The file to ERROR_UNABLE_
be replaced has retained its original name. TO_MOVE_
REPLACEMENT
1177 Unable to move the replacement file to the file to be replaced. The file to ERROR_UNABLE_
be replaced has been renamed using the backup name. TO_MOVE_
REPLACEMENT_2
1178 The volume change journal is being deleted. ERROR_JOURNAL_
DELETE_IN_
PROGRESS
1179 The volume change journal service is not active. ERROR_JOURNAL_
NOT_ACTIVE
1180 A file was found, but it cannot be the correct file. ERROR_
POTENTIAL_FILE_
FOUND
1181 The journal entry has been deleted from the journal. ERROR_JOURNAL_
ENTRY_DELETED
1200 The specified device name is invalid. ERROR_BAD_
DEVICE
79 | Chapter 7 External Error Codes
1201 The device is not currently connected but it is a remembered connection. ERROR_
CONNECTION_
UNAVAIL
1202 An attempt was made to remember a device that had previously been ERROR_DEVICE_
remembered. ALREADY_
REMEMBERED
1203 No network provider accepted the given network path. ERROR_NO_NET_
OR_BAD_PATH
1204 The specified network provider name is invalid. ERROR_BAD_
PROVIDER
1205 Unable to open the network connection profile. ERROR_CANNOT_
OPEN_PROFILE
1206 The network connection profile is corrupted. ERROR_BAD_
PROFILE
1207 Cannot enumerate a noncontainer. ERROR_NOT_
CONTAINER
1208 An extended error has occurred. ERROR_
EXTENDED_
ERROR
1209 The format of the specified group name is invalid. ERROR_INVALID_
GROUPNAME
1210 The format of the specified computer name is invalid. ERROR_INVALID_
COMPUTERNAME
1211 The format of the specified event name is invalid. ERROR_INVALID_
EVENTNAME
1212 The format of the specified domain name is invalid. ERROR_INVALID_
DOMAINNAME
1213 The format of the specified service name is invalid. ERROR_INVALID_
SERVICENAME
1214 The format of the specified network name is invalid. ERROR_INVALID_
NETNAME
1215 The format of the specified share name is invalid. ERROR_INVALID_
SHARENAME
1216 The format of the specified password is invalid. ERROR_INVALID_
PASSWORDNAME
1217 The format of the specified message name is invalid. ERROR_INVALID_
MESSAGENAME
1218 The format of the specified message destination is invalid. ERROR_INVALID_
MESSAGEDEST
1219 The credentials supplied conflict with an existing set of credentials. ERROR_SESSION_
CREDENTIAL_
CONFLICT
1220 An attempt was made to establish a session to a network server, but ERROR_REMOTE_
there are already too many sessions established to that server. SESSION_LIMIT_
EXCEEDED
Chapter7 External Error Codes | 80
1221 The workgroup or domain name is already in use by another computer on ERROR_DUP_
the network. DOMAINNAME
1222 The network is not present or not started. ERROR_NO_
NETWORK
1223 The operation was canceled by the user. ERROR_
CANCELED
1224 The requested operation cannot be performed on a file with a user- ERROR_USER_
mapped section open. MAPPED_FILE
1225 The remote system refused the network connection. ERROR_
CONNECTION_
REFUSED
1226 The network connection was gracefully closed. ERROR_
GRACEFUL_
DISCONNECT
1227 The network transport endpoint already has an address associated with it. ERROR_
ADDRESS_
ALREADY_
ASSOCIATED
1228 An address has not yet been associated with the network endpoint. ERROR_
ADDRESS_NOT_
ASSOCIATED
1229 An operation was attempted on a nonexistent network connection. ERROR_
CONNECTION_
INVALID
1230 An invalid operation was attempted on an active network connection. ERROR_
CONNECTION_
ACTIVE
1231 The remote network is not reachable by the transport. ERROR_
NETWORK_
UNREACHABLE
1232 The remote system is not reachable by the transport. ERROR_HOST_
UNREACHABLE
1233 The remote system does not support the transport protocol. ERROR_
PROTOCOL_
UNREACHABLE
1234 No service is operating at the destination network endpoint on the remote ERROR_PORT_
system. UNREACHABLE
1235 The request was aborted. ERROR_
REQUEST_
ABORTED
1236 The network connection was aborted by the local system. ERROR_
CONNECTION_
ABORTED
1237 The operation could not be completed. A retry should be performed. ERROR_RETRY
1238 A connection to the server could not be made because the limit on the ERROR_
number of concurrent connections for this account has been reached. CONNECTION_
COUNT_LIMIT
81 | Chapter 7 External Error Codes
1239 Attempting to log in during an unauthorized time of day for this account. ERROR_LOGIN_
TIME_
RESTRICTION
1240 The account is not authorized to log in from this station. ERROR_LOGIN_
WKSTA_
RESTRICTION
1241 The network address could not be used for the operation requested. ERROR_
INCORRECT_
ADDRESS
1242 The service is already registered. ERROR_ALREADY_
REGISTERED
1243 The specified service does not exist. ERROR_SERVICE_
NOT_FOUND
1244 The operation being requested was not performed because the user has ERROR_NOT_
not been authenticated. AUTHENTICATED
1245 The operation being requested was not performed because the user has ERROR_NOT_
not logged on to the network. The specified service does not exist. LOGGED_ON
1246 Continue with work in progress. ERROR_CONTINUE
1247 An attempt was made to perform an initialization operation when ERROR_ALREADY_
initialization has already been completed. INITIALIZED
1248 No more local devices. ERROR_NO_
MORE_DEVICES
1249 The specified site does not exist. ERROR_NO_
SUCH_SITE
1250 A domain controller with the specified name already exists. ERROR_DOMAIN_
CONTROLLER_
EXISTS
1251 This operation is supported only when you are connected to the server. ERROR_ONLY_IF_
CONNECTED
1300 Not all privileges referenced are assigned to the caller. ERROR_NOT_ALL_
ASSIGNED
1301 Some mapping between account names and security IDs was not done. ERROR_SOME_
NOT_MAPPED
1302 No system quota limits are specifically set for this account. ERROR_NO_
QUOTAS_FOR_
ACCOUNT
1303 No encryption key is available. A well-known encryption key was ERROR_LOCAL_
returned. USER_SESSION_
KEY
1304 The Windows NT password is too complex to be converted to a LAN ERROR_NULL_LM_
Manager password. The LAN Manager password returned is a NULL PASSWORD
string.
1305 The revision level is unknown. ERROR_
UNKNOWN_
REVISION
Chapter7 External Error Codes | 82
1325 Unable to update the password because a password update rule has been ERROR_
violated. PASSWORD_
RESTRICTION
1326 Logon failure: unknown user name or bad password. ERROR_LOGON_
FAILURE
1327 Logon failure: user account restriction. ERROR_
ACCOUNT_
RESTRICTION
1328 Logon failure: account logon time restriction violation. ERROR_INVALID_
LOGON_HOURS
1329 Logon failure: user not allowed to log on to this computer. ERROR_INVALID_
WORKSTATION
1330 Logon failure: the specified account password has expired. ERROR_
PASSWORD_
EXPIRED
1331 Logon failure: account currently disabled. ERROR_
ACCOUNT_
DISABLED
1332 No mapping between account names and security IDs was done. ERROR_NONE_
MAPPED
1333 Too many local user identifiers (LUIDs) were requested at one time. ERROR_TOO_
MANY_LUIDS_
REQUESTED
1334 No more local user identifiers (LUIDs) are available. ERROR_LUIDS_
EXHAUSTED
1335 The subauthority part of a security ID is invalid for this particular use. ERROR_INVALID_
SUB_AUTHORITY
1336 The access control list (ACL) structure is invalid. ERROR_INVALID_
ACL
1337 The security ID structure is invalid. ERROR_INVALID_
SID
1338 The security descriptor structure is invalid. ERROR_INVALID_
SECURITY_DESCR
1340 The inherited access control list (ACL) or access control entry (ACE) ERROR_BAD_
could not be built. INHERITANCE_ACL
1341 The server is currently disabled. ERROR_SERVER_
DISABLED
1342 The server is currently enabled. ERROR_SERVER_
NOT_DISABLED
1343 The value provided was an invalid value for an identifier authority. ERROR_INVALID_
ID_AUTHORITY
1344 No more memory is available for security information updates. ERROR_
ALLOTTED_
SPACE_
EXCEEDED
Chapter7 External Error Codes | 84
1345 The specified attributes are invalid, or incompatible with the attributes for ERROR_INVALID_
the group as a whole. GROUP_
ATTRIBUTES
1346 Either a required impersonation level was not provided, or the provided ERROR_BAD_
impersonation level is invalid. IMPERSONATION_
LEVEL
1347 Cannot open an anonymous level security token. ERROR_CANT_
OPEN_
ANONYMOUS
1348 The validation information class requested was invalid. ERROR_BAD_
VALIDATION_
CLASS
1349 The type of the token is inappropriate for its attempted use. ERROR_BAD_
TOKEN_TYPE
1350 Unable to perform a security operation on an object that has no ERROR_NO_
associated security. SECURITY_ON_
OBJECT
1351 Configuration information could not be read from the domain controller, ERROR_CANT_
either because the machine is unavailable, or access has been denied. ACCESS_DOMAIN_
INFO
1352 The security account manager (SAM) or local security authority (LSA) ERROR_INVALID_
server was in the wrong state to perform the security operation. SERVER_STATE
1353 The domain was in the wrong state to perform the security operation. ERROR_INVALID_
DOMAIN_STATE
1354 This operation is only allowed for the Primary Domain Controller of the ERROR_INVALID_
domain. DOMAIN_ROLE
1355 The specified domain did not exist. ERROR_NO_
SUCH_DOMAIN
1356 The specified domain already exists. ERROR_DOMAIN_
EXISTS
1357 An attempt was made to exceed the limit on the number of domains per ERROR_DOMAIN_
server. LIMIT_EXCEEDED
1358 Unable to complete the requested operation because of either a ERROR_
catastrophic media failure or a data structure corruption on the disk. INTERNAL_DB_
CORRUPTION
1359 The security account database contains an internal inconsistency. ERROR_
INTERNAL_ERROR
1360 Generic access types were contained in an access mask which should ERROR_GENERIC_
already be mapped to nongeneric types. NOT_MAPPED
1361 A security descriptor is not in the right format (absolute or self-relative). ERROR_BAD_
DESCRIPTOR_
FORMAT
1362 The requested action is restricted for use by logon processes only. The ERROR_NOT_
calling process has not registered as a logon process. LOGON_PROCESS
1363 Cannot start a new logon session with an ID that is already in use. ERROR_LOGON_
SESSION_EXISTS
85 | Chapter 7 External Error Codes
1384 During a logon attempt, the user's security context accumulated too ERROR_TOO_
many security IDs. MANY_CONTEXT_
IDS
1385 Logon failure: the user has not been granted the requested logon type at ERROR_LOGON_
this computer. TYPE_NOT_
GRANTED
1386 A cross-encrypted password is necessary to change a user password. ERROR_NT_
CROSS_
ENCRYPTION_
REQUIRED
1387 A new member could not be added to a local group because the member ERROR_NO_
does not exist. SUCH_MEMBER
1388 A new member could not be added to a local group because the member ERROR_INVALID_
has the wrong account type. MEMBER
1389 Too many security IDs have been specified. ERROR_TOO_
MANY_SIDS
1390 A cross-encrypted password is necessary to change this user password. ERROR_LM_
CROSS_
ENCRYPTION_
REQUIRED
1391 Indicates an ACL contains no inheritable components. ERROR_NO_
INHERITANCE
1392 The file or directory is corrupted and unreadable. ERROR_FILE_
CORRUPT
1393 The disk structure is corrupted and unreadable. ERROR_DISK_
CORRUPT
1394 There is no user session key for the specified logon session. ERROR_NO_
USER_SESSION_
KEY
1395 The service being accessed is licensed for a particular number of ERROR_LICENSE_
connections. No more connections can be made to the service at this QUOTA_
time because there are already as many connections as the service can EXCEEDED
accept.
1396 Logon Failure: The target account name is incorrect. ERROR_WRONG_
TARGET_NAME
1397 Mutual Authentication failed. The server's password is out of date at the ERROR_MUTUAL_
domain controller. AUTH_FAILED
1398 There is a time difference between the client and server. ERROR_TIME_
SKEW
1400 Invalid window handle. ERROR_INVALID_
WINDOW_HANDLE
1401 Invalid menu handle. ERROR_INVALID_
MENU_HANDLE
1402 Invalid cursor handle. ERROR_INVALID_
CURSOR_HANDLE
1403 Invalid accelerator table handle. ERROR_INVALID_
ACCEL_HANDLE
87 | Chapter 7 External Error Codes
1777 The context handle changed during a remote procedure call. RPC_X_SS_
CONTEXT_
DAMAGED
1778 The binding handles passed to a remote procedure call do not match. RPC_X_SS_
HANDLES_
MISMATCH
1779 The stub is unable to get the remote procedure call handle. RPC_X_SS_
CANNOT_GET_
CALL_HANDLE
1780 A null reference pointer was passed to the stub. RPC_X_NULL_REF_
POINTER
1781 The enumeration value is out of range. RPC_X_ENUM_
VALUE_OUT_OF_
RANGE
1782 The byte count is too small. RPC_X_BYTE_
COUNT_TOO_
SMALL
1783 The stub received bad data. RPC_X_BAD_
STUB_DATA
1784 The supplied user buffer is not valid for the requested operation. ERROR_INVALID_
USER_BUFFER
1785 The disk media is not recognized. It cannot be formatted. ERROR_
UNRECOGNIZED_
MEDIA
1786 The workstation does not have a trust secret. ERROR_NO_
TRUST_LSA_
SECRET
1787 The SAM database on the Windows NT Server does not have a computer ERROR_NO_
account for this workstation trust relationship. TRUST_SAM_
ACCOUNT
1788 The trust relationship between the primary domain and the trusted domain ERROR_TRUSTED_
failed. DOMAIN_FAILURE
1789 The trust relationship between this workstation and the primary domain ERROR_TRUSTED_
failed. RELATIONSHIP_
FAILURE
1790 The network logon failed. ERROR_TRUST_
FAILURE
1791 A remote procedure call is already in progress for this thread. RPC_S_CALL_IN_
PROGRESS
1792 An attempt was made to logon, but the network logon service was not ERROR_
started. NETLOGON_NOT_
STARTED
1793 The user's account has expired. ERROR_
ACCOUNT_
EXPIRED
97 | Chapter 7 External Error Codes
6005 The file was encrypted with a different encryption driver than ERROR_WRONG_EFS
is currently loaded.
6006 There are no EFS keys defined for the user. ERROR_NO_USER_KEYS
6007 The specified file is not encrypted. ERROR_FILE_NOT_
ENCRYPTED
6008 The specified file is not in the defined EFS export format. ERROR_NOT_EXPORT_
FORMAT
6009 The specified file is read only. ERROR_FILE_READ_ONLY
6118 The list of servers for this workgroup is not currently available ERROR_NO_BROWSER_
SERVERS_FOUND
7001 The specified session name is invalid. ERROR_CTX_WINSTATION_
NAME_INVALID
7002 The specified protocol driver is invalid. ERROR_CTX_INVALID_PD
7003 The specified protocol driver was not found in the system ERROR_CTX_PD_NOT_
path. FOUND
7004 The specified terminal connection driver was not found in the ERROR_CTX_WD_NOT_
system path. FOUND
7005 A registry key for event logging could not be created for this ERROR_CTX_CANNOT_
session. MAKE_EVENTLOG_ENTRY
7006 A service with the same name already exists on the system. ERROR_CTX_SERVICE_
NAME_COLLISION
7007 A close operation is pending on the session. ERROR_CTX_CLOSE_
PENDING
7008 There are no free output buffers available. ERROR_CTX_NO_OUTBUF
7009 The MODEM.INF file was not found. ERROR_CTX_MODEM_INF_
NOT_FOUND
7010 The modem name was not found in MODEM.INF. ERROR_CTX_INVALID_
MODEMNAME
7011 The modem did not accept the command sent to it. Verify ERROR_CTX_MODEM_
that the configured modem name matches the attached RESPONSE_ERROR
modem.
7012 The modem did not respond to the command sent to it. Verify ERROR_CTX_MODEM_
that the modem is properly cabled and powered on. RESPONSE_TIMEOUT
7013 Carrier detect has failed or carrier has been dropped due to ERROR_CTX_MODEM_
disconnect. RESPONSE_NO_CARRIER
7014 Dial tone not detected within the required time. Verify that the ERROR_CTX_MODEM_
phone cable is properly attached and functional. RESPONSE_NO_DIALTONE
7015 Busy signal detected at remote site on callback. ERROR_CTX_MODEM_
RESPONSE_BUSY
7016 Voice detected at remote site on callback. ERROR_CTX_MODEM_
RESPONSE_VOICE
7017 Transport driver error ERROR_CTX_TD_ERROR
7022 The specified session cannot be found. ERROR_CTX_WINSTATION_
NOT_FOUND
Chapter7 External Error Codes | 118
8001 The file replication service API was called incorrectly. FRS_ERR_INVALID_API_
SEQUENCE
8002 The file replication service cannot be started. FRS_ERR_STARTING_
SERVICE
8003 The file replication service cannot be stopped. FRS_ERR_STOPPING_
SERVICE
8004 The file replication service API terminated the request. FRS_ERR_INTERNAL_API
8005 The file replication service terminated the request. FRS_ERR_INTERNAL
8006 The file replication service cannot be contacted. FRS_ERR_SERVICE_COMM
8007 The file replication service cannot satisfy the request FRS_ERR_INSUFFICIENT_
because the user is not a member of the Administrators PRIV
group.
8008 The file replication service cannot satisfy the request FRS_ERR_
because authenticated RPC is not available. AUTHENTICATION
8009 The file replication service cannot satisfy the request FRS_ERR_PARENT_
because the user is not a member of Administrators group on INSUFFICIENT_PRIV
the domain controller.
8010 The file replication service cannot satisfy the request FRS_ERR_PARENT_
because authenticated RPC is not available on the domain AUTHENTICATION
controller.
8011 The file replication service cannot communicate with the file FRS_ERR_CHILD_TO_
replication service on the domain controller. PARENT_COMM
8012 The file replication service on the domain controller cannot FRS_ERR_PARENT_TO_
communicate with the file replication service on this CHILD_COMM
computer.
8013 The file replication service cannot populate the system FRS_ERR_SYSVOL_
volume because of an internal error. POPULATE
8014 The file replication service cannot populate the system FRS_ERR_SYSVOL_
volume because of an internal timeout. POPULATE_TIMEOUT
8015 The file replication service cannot process the request. The FRS_ERR_SYSVOL_IS_
system volume is busy with a previous request. BUSY
8016 The file replication service cannot stop replicating the system FRS_ERR_SYSVOL_
volume because of an internal error. DEMOTE
8017 The file replication service detected an invalid parameter. FRS_ERR_INVALID_
SERVICE_PARAMETER
8200 An error occurred while installing the Windows NT directory ERROR_DS_NOT_
service. For more information, see the event log. INSTALLED
8201 The directory service evaluated group memberships locally. ERROR_DS_MEMBERSHIP_
EVALUATED_LOCALLY
8202 The specified directory service attribute or value does not ERROR_DS_NO_
exist. ATTRIBUTE_OR_VALUE
8203 The attribute syntax specified to the directory service is ERROR_DS_INVALID_
invalid. ATTRIBUTE_SYNTAX
8204 The attribute type specified to the directory service is not ERROR_DS_ATTRIBUTE_
defined. TYPE_UNDEFINED
Chapter7 External Error Codes | 120
8314 The operation must be performed at the master DSA. The ERROR_DS_MASTERDSA_
DNS root attribute is missing on the cross-reference object. REQUIRED
8315 The object class attribute must be specified. ERROR_DS_OBJECT_
CLASS_REQUIRED
8316 A required attribute is missing. ERROR_DS_MISSING_
REQUIRED_ATT
8317 An attempt was made to modify an object to include an ERROR_DS_ATT_NOT_DEF_
attribute that is not legal for its class FOR_CLASS
8318 The specified attribute is already present on the object. ERROR_DS_ATT_ALREADY_
EXISTS
8320 The specified attribute is not present, or has no values. ERROR_DS_CANT_ADD_
ATT_VALUES
8321 An attribute's single value constraint has been violated. ERROR_DS_SINGLE_
VALUE_CONSTRAINT
8322 An attribute's range constraint has been violated. ERROR_DS_RANGE_
CONSTRAINT
8323 The specified value already exists. ERROR_DS_ATT_VAL_
ALREADY_EXISTS
8324 The attribute cannot be removed because it is not present on ERROR_DS_CANT_REM_
the object. MISSING_ATT
8325 The attribute value cannot be removed because it is not ERROR_DS_CANT_REM_
present on the object. MISSING_ATT_VAL
8326 The specified root object cannot be a subref. ERROR_DS_ROOT_CANT_
BE_SUBREF
8327 Chaining is not allowed. ERROR_DS_NO_CHAINING
8328 Chained evaluation is not allowed. ERROR_DS_NO_CHAINED_
EVAL
8329 The operation could not be performed because the object's ERROR_DS_NO_PARENT_
parent is either uninstantiated or deleted. OBJECT
8330 Having a parent that is an alias is not allowed. Aliases are ERROR_DS_PARENT_IS_
leaf objects. AN_ALIAS
8331 The object and parent must be of the same type, either both ERROR_DS_CANT_MIX_
masters or both replicas. MASTER_AND_REPS
8332 The operation cannot be performed because child objects ERROR_DS_CHILDREN_
exist. This operation can only be performed on a leaf object. EXIST
8333 Directory object not found. ERROR_DS_OBJ_NOT_
FOUND
8334 The aliased object is missing. ERROR_DS_ALIASED_OBJ_
MISSING
8335 The object name has bad syntax. ERROR_DS_BAD_NAME_
SYNTAX
8336 It is not allowed for an alias to refer to another alias. ERROR_DS_ALIAS_POINTS_
TO_ALIAS
Chapter7 External Error Codes | 124
8428 The attempt to count the address book indices failed. ERROR_DS_COUNTING_
AB_INDICES_FAILED
8429 The allocation of the hierarchy table failed. ERROR_DS_HIERARCHY_
TABLE_MALLOC_FAILED
8430 The directory service encountered an internal failure. ERROR_DS_INTERNAL_
FAILURE
8431 The directory service encountered an unknown failure. ERROR_DS_UNKNOWN_
ERROR
8432 A root object requires a class of 'top'. ERROR_DS_ROOT_
REQUIRES_CLASS_TOP
8433 This directory server is shutting down, and cannot take ERROR_DS_REFUSING_
ownership of new floating single-master operation roles. FSMO_ROLES
8434 The directory service is missing mandatory configuration ERROR_DS_MISSING_
information, and is unable to determine the ownership of FSMO_SETTINGS
floating single-master operation roles.
8435 The directory service was unable to transfer ownership of ERROR_DS_UNABLE_TO_
one or more floating single-master operation roles to other SURRENDER_ROLES
servers.
8436 The replication operation failed. ERROR_DS_DRA_GENERIC
8437 An invalid parameter was specified for this replication ERROR_DS_DRA_INVALID_
operation. PARAMETER
8438 The Windows NT directory service is too busy to complete ERROR_DS_DRA_BUSY
the replication operation at this time.
8439 The distinguished name specified for this replication ERROR_DS_DRA_BAD_DN
operation is invalid.
8440 The naming context specified for this replication operation is ERROR_DS_DRA_BAD_NC
invalid.
8441 The distinguished name specified for this replication ERROR_DS_DRA_DN_
operation already exists. EXISTS
8442 The replication system encountered an internal error. ERROR_DS_DRA_
INTERNAL_ERROR
8443 The replication operation encountered a database ERROR_DS_DRA_
inconsistency. INCONSISTENT_DIT
8444 The server specified for this replication operation could not be ERROR_DS_DRA_
contacted. CONNECTION_FAILED
8445 The replication operation encountered an object with an ERROR_DS_DRA_BAD_
invalid instance type. INSTANCE_TYPE
8446 The replication operation failed to allocate memory. ERROR_DS_DRA_OUT_OF_
MEM
8447 The replication operation encountered an error with the mail ERROR_DS_DRA_MAIL_
system. PROBLEM
8448 The replication reference information for the target server ERROR_DS_DRA_REF_
already exists. ALREADY_EXISTS
8449 The replication reference information for the target server ERROR_DS_DRA_REF_
does not exist. NOT_FOUND
129 | Chapter 7 External Error Codes
8471 Name translation: Input name mapped to more than one ERROR_DS_NAME_ERROR_
output name. NOT_UNIQUE
8472 Name translation: Input name found, but not the associated ERROR_DS_NAME_ERROR_
output format. NO_MAPPING
8473 Name translation: Unable to resolve completely, only the ERROR_DS_NAME_ERROR_
domain was found. DOMAIN_ONLY
8474 Name translation: Unable to perform purely syntactical ERROR_DS_NAME_ERROR_
mapping at the client without going out to the wire. NO_SYNTACTICAL_
MAPPING
8475 Modification of a constructed att is not allowed. ERROR_DS_
CONSTRUCTED_ATT_MOD
8476 The OM-Object-Class specified is incorrect for an attribute ERROR_DS_WRONG_OM_
with the specified syntax. OBJ_CLASS
8477 The replication request has been posted; waiting for reply. ERROR_DS_DRA_REPL_
PENDING
8478 The requested operation requires a directory service, and ERROR_DS_DS_REQUIRED
none was available.
8479 The LDAP display name of the class or attribute contains ERROR_DS_INVALID_LDAP_
non-ASCII characters. DISPLAY_NAME
8480 The requested search operation is only supported for base ERROR_DS_NON_BASE_
searches. SEARCH
8481 The search failed to retrieve attributes from the database. ERROR_DS_CANT_
RETRIEVE_ATTS
8482 The schema update operation tried to add a backward link ERROR_DS_BACKLINK_
attribute that has no corresponding forward link. WITHOUT_LINK
8483 Source and destination of a cross domain move do not agree ERROR_DS_EPOCH_
on the object's epoch number. Either source or destination MISMATCH
does not have the latest version of the object.
8484 Source and destination of a cross domain move do not agree ERROR_DS_SRC_NAME_
on the object's current name. Either source or destination MISMATCH
does not have the latest version of the object.
8485 Source and destination of a cross domain move operation are ERROR_DS_SRC_AND_
identical. Caller should use local move operation instead of DST_NC_IDENTICAL
cross domain move operation.
8486 Source and destination for a cross domain move are not in ERROR_DS_DST_NC_
agreement on the naming contexts in the forest. Either MISMATCH
source or destination does not have the latest version of the
Partitions container.
8487 Destination of a cross domain move is not authoritative for ERROR_DS_NOT_
the destination naming context. AUTHORITIVE_FOR_DST_
NC
8488 Source and destination of a cross domain move do not agree ERROR_DS_SRC_GUID_
on the identity of the source object. Either source or MISMATCH
destination does not have the latest version of the source
object.
131 | Chapter 7 External Error Codes
9555 Record for given name and type is not unique. DNS_ERROR_NOT_UNIQUE
9556 DNS name does not comply with RFC specifications. DNS_ERROR_NON_RFC_
NAME
9557 DNS name is a fully-qualified DNS name. DNS_STATUS_FQDN
9558 DNS name is dotted (multi-label). DNS_STATUS_DOTTED_
NAME
9559 DNS name is a single-part name. DNS_STATUS_SINGLE_
PART_NAME
9601 DNS zone does not exist. DNS_ERROR_ZONE_DOES_
NOT_EXIST
9602 DNS zone information not available. DNS_ERROR_NO_ZONE_
INFO
9603 Invalid operation for DNS zone. DNS_ERROR_INVALID_
ZONE_OPERATION
9604 Invalid DNS zone configuration. DNS_ERROR_ZONE_
CONFIGURATION_ERROR
9605 DNS zone has no start of authority (SOA) record. DNS_ERROR_ZONE_HAS_
NO_SOA_RECORD
9606 DNS zone has no name server (NS) record. DNS_ERROR_ZONE_HAS_
NO_NS_RECORDS
9607 DNS zone is locked. DNS_ERROR_ZONE_
LOCKED
9608 DNS zone creation failed. DNS_ERROR_ZONE_
CREATION_FAILED
9609 DNS zone already exists. DNS_ERROR_ZONE_
ALREADY_EXISTS
9610 DNS automatic zone already exists. DNS_ERROR_AUTOZONE_
ALREADY_EXISTS
9611 Invalid DNS zone type. DNS_ERROR_INVALID_
ZONE_TYPE
9612 Secondary DNS zone requires master IP address. DNS_ERROR_
SECONDARY_REQUIRES_
MASTER_IP
9613 DNS zone not secondary. DNS_ERROR_ZONE_NOT_
SECONDARY
9614 Need secondary IP address. DNS_ERROR_NEED_
SECONDARY_ADDRESSES
9615 WINS initialization failed. DNS_ERROR_WINS_INIT_
FAILED
9616 Need WINS servers. DNS_ERROR_NEED_WINS_
SERVERS
9617 NBTSTAT initialization call failed. DNS_ERROR_NBSTAT_
INIT_FAILED
Chapter7 External Error Codes | 134
10044 The support for the specified socket type does not exist in WSAESOCKTNOSUPPORT
this address family.
10045 The attempted operation is not supported for the type of WSAEOPNOTSUPP
object referenced.
10046 The protocol family has not been configured into the system WSAEPFNOSUPPORT
or no implementation for it exists.
10047 An address incompatible with the requested protocol was WSAEAFNOSUPPORT
used.
10048 Only one usage of each socket address (protocol/network WSAEADDRINUSE
address/port) is normally allowed.
10049 The requested address is not valid in its context. WSAEADDRNOTAVAIL
10050 A socket operation encountered a dead network. WSAENETDOWN
10051 A socket operation was attempted to an unreachable WSAENETUNREACH
network.
10052 The connection has been broken due to keep-alive activity WSAENETRESET
detecting a failure while the operation was in progress.
10053 An established connection was aborted by the software in WSAECONNABORTED
your host machine.
10054 An existing connection was forcibly closed by the remote WSAECONNRESET
host.
10055 An operation on a socket could not be performed because the WSAENOBUFS
system lacked sufficient buffer space or because a queue
was full.
10056 A connect request was made on an already connected WSAEISCONN
socket.
10057 A request to send or receive data was disallowed because WSAENOTCONN
the socket is not connected and (when sending on a
datagram socket using a sendto call) no address was
supplied.
10058 A request to send or receive data was disallowed because WSAESHUTDOWN
the socket had already been shut down in that direction with
a previous shutdown call.
10059 Too many references to some kernel object. WSAETOOMANYREFS
10060 A connection attempt failed because the connected party did WSAETIMEDOUT
not properly respond after a period of time, or established
connection failed because connected host has failed to
respond.
10061 No connection could be made because the target machine WSAECONNREFUSED
actively refused it.
10062 Cannot translate name. WSAELOOP
10063 Name component or name was too long. WSAENAMETOOLONG
10064 A socket operation failed because the destination host was WSAEHOSTDOWN
down.
10065 A socket operation was attempted to an unreachable host. WSAEHOSTUNREACH
137 | Chapter 7 External Error Codes
8 SNMP Support
As of version 11.2 the new JMX-based monitoring solution, External Monitoring Interface (EMI) has
been introduced. As the SNMP technology now is rather out-dated, Automic strongly recommends
using the state of the art JMX solution.
SNMP uses the less secure UPD network protocol and since some time also is not able anymore to
support the whole range of AE functions.
During the monitoring and controlling of these net elements, SNMP management and SNMP agents are
generally distinguished. The SNMP agent runs on the computer, whose systems, devices and
components are monitored and controlled. Network Management Station (NMS) is a computer which can -
with an application - present current information on the monitored net elements as well as change the
parameters of these net elements.
NMS and SNMP agents communicate via the network protocol TCP/IP. This allows for two types of
communication. One type queries the Network Management Station conditions of the monitored net
elements by the SNMP agents or sets new parameters. For the second type of communication, the SNMP
agent sends changes of the conditions in its monitored net elements to the Network Management Station.
The report of such a condition change is called a trap or SNMP trap.
In order to clearly recognize participating systems also worldwide, a standard address space MIB
(Management Information Base) has been implemented. In this MIB, an MIB ID can be found for each
monitored net element. The MIB ID consists of a series of numbers which are separated by dots. The
worldwide MIB depicts a large tree with branches of the individual components and systems.
SNMP works on the basis of UDP (User Datagram Protocol). This simple protocol not uses an error
monitor or confirmation of transferred information. SNMP uses Port 161 for queries to the SNMP agents
and Port 162 as trap receiver.
As of version 11.2 the new JMX-based monitoring solution, External Monitoring Interface (EMI) has
been introduced. As the SNMP technology now is rather out-dated, Automic strongly recommends
using the state of the art JMX solution.
SNMP uses the less secure UDP network protocol and since some time also is not able anymore to
support the whole range of AE functions.
With the SNMP connection being activated, the relevant AE system monitoring values are sent to the AE
SNMP Subagent. It stores this information in its MIB and makes it available for the SNMP Masteragent.
The MIB content is write protected, the AE SNMP Subagent prevents values from being modified with the
SNMP command SET.
For applications (e.g. HP OpenView Operations), there are two methods to obtain information:
l The applications can periodically request information via the SNMP Masteragent which
communicates with the AE SNMP Subagent in order to obtain the relevant values.
l Events of special importance which occur in the AE system trigger SNMP traps. The AE SNMP
Subagent immediately forwards them to the SNMP Masteragent to ensure that the applications can
directly obtain the required information.
In particular situations, the Automation Engine generates predefined traps. You can also send traps using
the script statement :SEND_SNMP_TRAP.
Specify in the AE SNMP Subagent's INI file whether the MIB should be loaded and/or traps be sent. By
default, both is done. Automic recommends deactivating MIB loading if you intend to use traps only in
order to avoid unnecessary performance loads.The corresponding parameter processing= is available
in the section [SNMP].
Masteragent Mode On
The AE SNMP Subagent under UNIX is able to act as SNMP Masteragent with the advantage being that
no SNMP service must be configured.
See also:
141 | Chapter 8 SNMP Support
MIB Structure
Installing the AE SNMP Subagent (UNIX)
Installing the AE SNMP Subagent (Windows)
AE SNMP-Subagent's Glossary and FAQ
Requirements - Checklist
Masteragent (Recommended)
Advantages:
Disadvantages:
You can specify the same parameters in the file ucsnmp1.conf as in the net-SNMP agent's
configuration file (snmpd.conf).
l trapcommunity
l trapsink
l rocommunity
Chapter8 SNMP Support | 142
l rwcommunity
l master
An explanation of the individual parameters is available in the description of the snmp.conf provided by net-
SNMP.
In Masteragent mode, no other Subagents can establish a connection to the SNMP Subagent.
Subagent
HP-UX
The AE SNMP Subagent must operate on HP UX in Masteragent mode. The native Masteragent for the
HP-UX system is EMANATE. The AE SNMP Subagent uses the naaagt interface to communicate to it.
143 | Chapter 8 SNMP Support
The naaagt interface serves as SNMP Proxy. It redirects SNMP queries to a different UDP port via a
registered OID. By default, the naaagt uses port 8161. Thus, the AE SNMP Subagent uses a different port.
Further information about configuring the interface is provided in the naaagt documentation.
See also:
AE and SNMP
Keywords:
l SNMP - Simple Network Management Protocol
l MIB - Management Information Base. Stores information in a tree structure. The MIB is part of the
SNMP Subagent.
l Masteragent - SNMP service which communicates with SNMP Subagents in order to query MIB
information and forward it to the relevant applications.
l Subagent - Stores information in the MIB and makes it available for the Masteragent.
Each information module in the MIB has a unique OID (Object Identifier) which is used to read the MIB's
content. OIDs consist of a series of numbers which are separated from each other with dots. OIDS are
globally unique. The AE SNMP Subagent's MIB has the OID "1.3.6.1.4.1.2562.1.1". The individual MIB
content also has a number which is appended to the MIB's OID. The MIB's tree structure results in OIDs
whose structure reflects the MIB structure.
Example:
1.3.6.1.4.1.2562.1.1 - MIB
1 - Agent group
What is a trap?
A trap is an asynchronous message which the Automation Engine sends to the AE SNMP Subagent.
Traps are not stored in the MIB but are directly forwarded to the Masteragent. This means that the
applications immediately obtain important information.
In particular situations, the Automation Engine automatically sends predefined traps. You can also send
individual traps using the script statement :SEND_SNMP_TRAP.
Traps are immediately forwarded to the Masteragent. There is no need to store them in the MIB.
l Check the value specified in the AE SNMP Subagents INI-file parameter processing=. Value "1"
has the effect that no traps are sent to the Masteragent.
l The computer on which the Masteragent runs must be the trap destination. Under Windows, the
computer name must be specified in the Windows SNMP service. Under UNIX, it must be
specified in the file snmpd.conf or ucsnmp1.conf.
l The community name specified in the AE Subagent's INI-file parameter community= must comply
with the community specified in the Masteragent.
Yes, refer to the corresponding installation guides (UNIX or Windows); they also describe the required
steps for subsequent installation.
How can I test that the AE SNMP Subagent installation was successful?
Use the SNMP Tool which is included in the delivery directory Tools\no_supp in the file snmptools.zip. It
can be used to read the MIB, receive or send traps etc.
145 | Chapter 8 SNMP Support
l The AE SNMP Subagent has not been started or the SNMP service is not active.
l The community name specified in the AE SNMP Subagent's INI-file parameter community= must
comply with the community specified in the Masteragent.
The MIB's tree structure is dynamically created. If there are no blocked tasks or active notifications, the
AE SNMP Subagent does not create structures for these areas.
Only the Agent Data Group and the Agent Work Group are created and filled with values if the Automation
Engine is inactive.
What SNMP Server configurations are required (Net SNMP, Windows SNMP service or
Masteragent mode)?
A community name is a group to which you can assign access rights. The default community name is
"public".
AE does not support a direct connection of jobs to SNMP, but the script statement :SEND_SNMP_
TRAP can be used to monitor jobs.
Example:
:SET &NAME# = SYS_ACT_ME_NAME()
:SET &ID# = SYS_ACT_ME_NR()
:SET &JPNAME# = SYS_ACT_PARENT_NAME()
:SET &CLIENT# = SYS_ACT_CLIENT()
:SET &STATUS# = GET_UC_OBJECT_STATUS()
:IF &STATUS# < "1900"
: PRINT &STATUS#
: PRINT "Client: &CLIENT#, JOBNAME: &NAME#"
: PRINT &NAME#
: SEND_SNMP_TRAP 801450, "&CLIENT#", "&NAME#",, "Problems in processing!"
:ENIDF
The script function GET_UC_OBJECT_STATUS can be used to find out the job's end status and react to
it accordingly. This solution can be implemented in the direct form of a script or in a reusable form as an
Include object.
See also:
AE and SNMP
Chapter8 SNMP Support | 146
8.5 Installation
Note that the AE SNMP Subagent must be installed on a computer on which at least one of the
Automation Engine's work processes is available.
Requirements
l The AE SNMP Subagent and Net SNMP must have been installed and activated on the Automation
Engine computer.
l Exception: HP UX. The AE SNMP Subagent must operate as SNMP Masteragent in order to use
EMANATE via naaagt. (naaagt configuration http://docs.hp.com/en/B2355-90692/naaagt.1M.html)
Supplied Files
The AE SNMP-Subagent files are stored in the appropriate platform's subfolder in IMAGE:SNMP\UNIX.
Installation
1. Installation of files
l Activate the SNMP connection in the Automation Engine's INI file UCSRV.INI using the parameter
snmp=1 (section [GLOBAL]). Also set the parameters snmp= and snmpreconnect= (section
[TCP/IP].
l End and restart the Automation Engine's communication and work processes on all computers. No
restart is necessary if the Automation Engine's INI file is already adjusted.
l Adjust the relevant parameters in the AE SNMP Subagent's INI file.
3. Masteragent mode
l On HP UX, it is essential to specify Masteragent mode. On all other platforms, you can select
whether the AE SNMP Subagent should run as Masteragent.
l Set the Masteragent mode in the AE SNMP Subagent's INI file using the parameter role=1.
l Adjust the supplied configuration files naacnf and ucsnmp1.conf.
l The variable SNMPCONFPATH must be set. It contains the directory with the file ucsnmp1.conf
(such as export SNMPCONFPATH=./).
l It is not required to set the environment variables MIB and MIBDIR.
For example:
./ucsnmp1 -i /home/UC4/Server/ucsnmp1.ini &
The order in which you start the Automation Engine and the SNMP Subagent is irrelevant.
l If the AE SNMP Subagent starts first, the Automation Engine can immediately connect to the
SNMP Subagent when it boots.
l If the Automation Engine already runs with an active SNMP connection (UCSRV.INI), it attempts
to contact the SNMP Subagents in regular intervals (snmpreconnect=). The SNMP service can be
restarted subsequently even if the Automation Engine is running.
l Note that traps and all SNMP events can only be sent to the SNMP Subagent when the SNMP
connection is active. All events that should have been sent before the reconnection took place are
lost.
l You can set the time interval for the reconnection in the Automation Engine's INI file using the
parameter snmpreconnect= (default value: 500 seconds).
Messages are output when the SNMP agent starts. These messages are warnings and do not affect
the system's functionality (as opposed to error messages). The following message is always output
and can be ignored: "No log handling enabled - turning on stderr logging"
Section/Parameter Description
[SNMP]
Chapter8 SNMP Support | 148
Section/Parameter Description
community= SNMP community name.
Default value: "public"
The name is defined in the Masteragent. Enter the same community name in this
parameter. The community-name setting is found in the file snmp.con or
ucsnmp1.conf if the AE SNMP Subagent is used as Masteragent (see:
Installation Guide).
medium= Means of transport that should be used for the communication between
Automation Engine and AE SNMP Subagent.
stream_port= Port number that the Automation Engine uses in order to connect to the AE
SNMP Subagent.
Note that the same port number must be specified in the Automation
Engine's INI-file parameter snmp= (section [TCP/IP]).
snmp_string= If role=0 has been specified, you can specify the path to the AgentX socket for
Net-SNMP here.
[LOG]
snmp= Trace flag for the output of trace messages from the module that reads data from
the MIB table and sends it to the network.
Trace flags must only be used in close cooperation with Automic Support.
149 | Chapter 8 SNMP Support
Section/Parameter Description
stream= Trace flag for the output of trace messages from the module that receives
information from the Automation Engine and stores it in the MIB table.
Trace flags must only be used in close cooperation with Automic Support.
mib= Trace flag for the output of trace messages from the module that administers the
MIB table.
Trace flags must only be used in close cooperation with Automic Support.
The number signs serve as placeholders for a series in numerical order. When
you start the AE SNMP Subagent, the log files are renamed so that the most
current log file is always the one with the number "00".
By default, the log file is stored in the folder from which the AE SNMP
Subagent starts.
INI-File Example
[SNMP]
community=public
medium=tcp
stream_port=2200
snmp_string=/var/agentx/master
processing=3
role=0
lib_path=.
[LOG]
snmp=1
stream=1
mib=1
file=ucsnmp_##.log
See also:
Requirements
l The AE SNMP Subagent and the Windows SNMP service must be installed and activated on the
Automation Engine computer.
l Install Windows Patch KB950923 if you cannot start the AE SNMP Subagent on Windows Vista
or Windows Server 2008 and the Windows event log shows the error message "SNMP Extension
agent has terminated. Event 2020, EvntAgnt".
Supplied Files
The AE SNMP-Subagent files are stored in the particular platform's subfolder on
IMAGE:SNMP\WINDOWS.
Installation
You can set up the AE SNMP Subagent when you install the Automation Engine or subsequently.
1. Installation of files
l Start the AE SNMP Subagent's setup program or instead, you can also copy the library
UCSNMP1.DLL and the INI file UCSNMP1.INI manually to the directory %WINDIR%\System32.
l Register the library in the registry database as follows:
[HKEY_LOCAL_MACHINE\SOFTWARE\AUTOMIC\SnmpAgent\Vers1]
"Pathname"="UCSnmp1.dll"
[HKEY_LOCAL_
MACHINE\SYSTEM\CurrentControlSet\Services\SNMP\Parameters\ExtensionAgents]
"10"="SOFTWARE\\AUTOMIC\\SnmpAgent\\Vers1"
l Activate the SNMP connection in the Automation Engine's INI file UCSRV.INI using the parameter
snmp=1 (section [GLOBAL]) . Also set the parameters snmp= and snmpreconnect= (section
[TCP/IP] ).
l End and restart theAutomation Engine's communication and work processes on all computers. No
restart is necessary if the Automation Engine's INI file is already adjusted.
l Configure the Windows SNMP service.
l Adjust the relevant parameters in the AE SNMP Subagent's INI file.
l The AE SNMP Subagent uses the path that is specified in the Windows system environment
variable UC_SNMP_INI in order to access the INI file. If this variable is not available, the Subagent
searches it in the directory in which the AE SNMP Subagent is installed. If the INI file is not
available here, the Subagent uses the default values.
l Restart the Windows SNMP service. It automatically starts the AE SNMP Subagent.
151 | Chapter 8 SNMP Support
The order in which you start the Automation Engine and the SNMP Subagent is irrelevant.
Please note the following:
l When the AE SNMP Subagent starts first, the Automation Engine can immediately connect to the
SNMP Subagent when it boots.
l When the Automation Engine already runs with an active SNMP connection (UCSRV.INI), it
attempts to contact the SNMP Subagents in regular intervals (snmpreconnect=). You can restart
the SNMP service subsequently even when the Automation Engine is running.
l Note that the SNMP connection needs to be active to send traps and SNMP events to the SNMP
Subagent. All events that should have been sent before the reconnection took place are lost.
l You can set the time interval for the reconnection in the Automation Engine's INI file by using the
parameter snmpreconnect= (default value: 500 seconds).
Section/Parameter Description
[SNMP]
Default value: "public"
The name is defined in the Masteragent. Enter the same community name in
this parameter. The community-name setting is found in the SNMP service's
properties.
medium= Means of transport that should be used for the communication between
Automation Engine and AE SNMP Subagent.
stream_port= Port number that the Automation Engine uses in order to connect to the AE
SNMP Subagent.
Note that the same port number must be specified in the Automation
Engine's INI-file parameter snmp= (section [TCP/IP]).
[LOG]
Chapter8 SNMP Support | 152
Section/Parameter Description
snmp= Trace flag for the output of trace messages from the module that reads data
from the MIB table and sends it to the network.
stream= Trace flag for the output of trace messages from the module that receives
the information from the Automation Engine and stores it in the MIB table.
mib= Trace flag for the output of trace messages from the module that administers
the MIB table.
By default, the log file is stored in the folder from which the AE SNMP
Subagent starts.
INI-File Example
[SNMP]
community=public
medium=tcp
stream_port=2200
processing=3
[LOG]
stream=1
snmp=1
mib=1
file=ucsnmp_##.log
See also:
Requirement
Procedure
l Switch to the Security tab. Add the community name including a reading right.
Chapter8 SNMP Support | 154
See also:
8.6 MIB
The MIB ID's - which identify the information for AE - are specified in a "relative" form. The MIB ID 3.10.0
stands for the complete address 1.3.6.1.4.1.2562.1.1.3.10.0.
MIB ID Description
1 Agent Data Group
2 Agent Control Group
3 Agent Work Group
4 System Group
5 Client Group
6 Server Group
7 Agent Group
8 Blocking Points Group
9 Notification Group
Some AE terms have been renamed starting with Automation Engine version 8.00A. This modification
does not appliy to the terms used in the MIB in order to avoid possible incompatibilities.
MIB ID 1.1.0
Indicator agentVersion
Type DisplayString (SIZE (0..5))
Description Version of AE SNMP subagent.
MIB ID 1.2.0
Indicator agentStartTime
Type DisplayString (SIZE (0..30))
Description Start time of the AE SNMP subagent in the format "YYYYMMDD HHMMSS".
MIB ID 1.3.0
Indicator agentNumberOfServerTasks
Type INTEGER
Description Current number of active server processes.
MIB ID 1.4.0
Indicator agentConnectCounter
Type Counter
Description Number of server processes which already have a connection to the SNMP subagent
(historical value).
MIB ID 3
Indicator Agent work group
Generated/Removed This is a permanent group.
Belongs to AE system, indicated by agentWorkSysID.
157 | Chapter 8 SNMP Support
Description This group serves as the work area for generating SNMP traps. It contains the
values of the most recently generated traps.
MIB ID 3.1.0
Indicator agentWorkSysID
Type DisplayString (SIZE (0..8))
Description Working variable for generating traps (internal subagent).
MIB ID 3.2.0
Indicator agentWorkObject
Type DisplayString (SIZE (0..255))
Description Working variable for generating traps (internal subagent).
MIB ID 3.3.0
Indicator agentWorkString1
Type DisplayString (SIZE (0..255))
Description Working variable for generating traps (internal subagent).
MIB ID 3.4.0
Indicator agentWorkString2
Type DisplayString (SIZE (0..255))
Description Working variable for generating traps (internal subagent).
MIB ID 3.5.0
Indicator agentWorkString3
Type DisplayString (SIZE (0..255))
Description Working variable for generating traps (internal subagent).
MIB ID 3.6.0
Indicator agentWorkString4
Type DisplayString (SIZE (0..255))
Description Working variable for generating traps (internal subagent).
Chapter8 SNMP Support | 158
MIB ID 3.7.0
Indicator agentWorkString5
Type DisplayString (SIZE (0..255))
Description Working variable for generating traps (internal subagent).
MIB ID 3.8.0
Indicator agentWorkInteger1
Type INTEGER
Description Working variable for generating traps (internal subagent).
MIB ID 3.9.0
Indicator agentWorkInteger2
Type INTEGER
Description Working variable for generating traps (internal subagent).
MIB ID 3.10.0
Indicator agentWorkInteger3
Type INTEGER
Description Working variable for generating traps (internal subagent).
MIB ID 3.11.0
Indicator agentWorkInteger4
Type INTEGER
Description Working variable for generating traps (internal subagent).
MIB ID 3.12.0
Indicator agentWorkInteger5
Type INTEGER
Description Working variable for generating traps (internal subagent).
Generated/Removed The AE system starts when the first server process of this system starts.
The AE system remains in the MIB until the SNMP Subagent gets reloaded even
if all server processes are inactive.
Belongs to AE SNMP Subagent
Description This group contains the description of the AE systems. There is an entry for each
AE system in the following table.
MIB ID 4.1
Indicator systemTable
Type SEQUENCE OF SystemEntry
Index (sysSysID)
Description This table contains all active AE systems.
MIB ID 4.1.1
Indicator systemEntry
Type SystemEntry
Generated/Removed Contains all connected AE systems as long as the SNMP Subagent is active on
this computer.
MIB ID 4.1.1.1
Indicator sysSysID
Type DisplayString (SIZE (0..8))
Description Name of the AE system.
Value of the parameter "System=" from the INI file of the Automation Engine.
MIB ID 4.1.1.2
Indicator sysStartTime
Type DisplayString (SIZE (0..19))
Description Starting time of the first server process of this system.
MIB ID 4.1.1.3
Indicator sysDbmsName
Type DisplayString (SIZE (0..30))
Description Product name of the AE database (Oracle 7, Microsoft SQL Server 7 etc.).
Chapter8 SNMP Support | 160
MIB ID 4.1.1.4
Indicator sysDbVersion
Type DisplayString (SIZE (0..30))
Description Version of the AE database.
MIB ID 4.1.1.5
Indicator sysDbName
Type DisplayString (SIZE (0..30))
Description Name of the database which is provided with the supplied software package.
MIB ID 4.1.1.6
Indicator sysEMS
Type INTEGER
Contents 1 = BMC Patrol
2 = HP NNM
3 = BMC Patrol + HP NNM
4 = Tivoli
5 = BMC Patrol + Tivoli
6 = BMC Patrol + HP NNM
7 = all
Description A bit-vector to show the available licenses.
MIB ID 5.1
Indicator clientTable
Type SEQUENCE OF ClientEntry
Index (cliSysID, cliClient)
Description This table contains all existing clients.
161 | Chapter 8 SNMP Support
MIB ID 5.1.1
Indicator clientEntry
Type ClientEntry
Generated/Removed When a Automation Engine starts, a table entry for each client is created. If a
client should be added or deleted or if the status of a client changes (cliState),
the table is deleted and recreated with the existing client.
Belongs to AE system cliSysID
MIB ID 5.1.1.1
Indicator cliSysID
Type DisplayString (SIZE (0..8))
Description Name of the AE system to which the client belongs.
MIB ID 5.1.1.2
Indicator cliClient
Type INTEGER (0..9999)
Description Number of the client.
MIB ID 5.1.1.3
Indicator cliLastModifyTime
Type DisplayString (SIZE (0..19))
Description Time of the last update of this table entry.
MIB ID 5.1.1.4
Indicator cliState
Type INTEGER {run(1), stop(2)}
Contents 1 = active
2 = stopped
Description Indicates whether the automatic processing of tasks is active (system status GO) or has
been stopped (system status STOP).
MIB ID 5.1.1.5
Indicator cliMonitoring
Type INTEGER {yes(1), no(2)}
Contents 1 = Monitoring of a client's activities
2 = No monitoring of the client's activities
Chapter8 SNMP Support | 162
Description Indicates whether the client's activities are being monitored. For an active client, all
notifications and blocked workflows are monitored in this way.
MIB ID 5.1.1.6
Indicator cliInfo
Type DisplayString
Is not currently used.
MIB ID 6.1
Indicator serverInstanceTable
Type SEQUENCE OF serverInstancEntry
Index (srvSysID, srvName)
Description This table contains all existing server processes.
MIB ID 6.1.1
Indicator serverInstanceEntry
Type ServerInstanceEntry
Generated/Removed Starts a server process - a table entry is created for this. The entry will then no
longer be deleted.
Belongs to AE system coSysID and client coClient.
MIB ID 6.1.1.1
Indicator srvSysID
Type DisplayString (SIZE (0..8))
Description Name of the AE system to which the server process belongs.
Value of the parameter "system=" from the INI file of the Automation Engine.
163 | Chapter 8 SNMP Support
MIB ID 6.1.1.2
Indicator srvName
Type DisplayString (SIZE (0..8))
Description Name of the primary work process.
MIB ID 6.1.1.3
Indicator srvLastModifyTime
Type DisplayString (SIZE (0..19))
Description Time of the last update of this table entry.
MIB ID 6.1.1.4
Indicator srvVersion
Type DisplayString (SIZE (0..5))
Description The version of the Automation Engine.
MIB ID 6.1.1.5
Indicator srvStartTime
Type DisplayString (SIZE (0..19))
Description The start time of the server process.
MIB ID 6.1.1.6
Indicator srvState
Type INTEGER {run(1), ended(2), abnormal(3)}
Contents 1 = running
2 = Ended normally
3 = Canceled or no connection to the SNMP subagent
Description The status of the server process.
MIB ID 6.1.1.7
Indicator srvSrvConnect
Type INTEGER
Description The number of server processes which are connected to this server process (entries are
only available at the primary server process).
MIB ID 6.1.1.8
Chapter8 SNMP Support | 164
Indicator srvExeConnect
Type INTEGER
Description The number of agents that are connected to the server process (entries are only available
at the primary server process).
MIB ID 6.1.1.9
Indicator srvDiaConnect
Type INTEGER
Description Number of UserInterfaces are connected to the server process (Entries are only available
at the primary server process).
MIB ID 6.1.1.10
Indicator srvBusyMin
Type INTEGER (0..100)
Description Average workload (in percent) of the server process within the last minute before the
updating (statistical value).
MIB ID 6.1.1.11
Indicator srvBusy10Min
Type INTEGER (0..100)
Description Average workload (in percent) of the server process within the last ten minutes before the
updating (statistical value).
MIB ID 6.1.1.12
Indicator SrvBusyHour
Type INTEGER (0..100)
Description Average workload (in percent) of the Server within the last hour before the updating
(statistical value).
MIB ID 6.1.1.13
Indicator SrvRunMode
Type INTEGER {primary(1), normal(3), cp(4)}
Contents 1 = Primary work process
3 = Work process
4 = Communication process
Description Indicates the run mode of the server process.
165 | Chapter 8 SNMP Support
MIB ID 6.1.1.14
Indicator SrvDBState
Type INTEGER {online(1), offline(2)}
Contents 1 = Automation Engine is connected to the AE database
2 = Automation Engine is not connected to the AE database
Description Indicates if the Automation Engine has a connection to the AE database.
MIB ID 6.1.1.15
Indicator SrvSDBState
Type INTEGER (1)
Contents 1 = SDB working correctly
Description Gives information on the availability of the status database (SDB).
MIB ID 7.1
Indicator exekutorTable
Type SEQUENCE OF exekutorEntry
Index (exeSysID, exeSrvName, exeName, exeType)
Description This table contains all agents.
MIB ID 7.1.1
Indicator exekutorEntry
Type ExekutorEntry
Generated/Removed Starts a server process - a table entry is created for each agent known to the
system. If agents are added or removed, or if their status changes (exeState),
the table is completely deleted and recreated for every existing agent in the
system.
Belongs to AE system exeSysID and Automation Engine exeSrvName.
Chapter8 SNMP Support | 166
MIB ID 7.1.1.1
Indicator exeSysID
Type DisplayString (SIZE (0..8))
Description Name of the AE system to which the agent has established a connection.
Value of the parameter "system=" from the INI file of the Automation Engine.
MIB ID 7.1.1.2
Indicator exeSrvName
Type DisplayString (SIZE (0..8))
Description Name of the primary work process with which the agent is connected.
MIB ID 7.1.1.3
Indicator exeName
Type DisplayString (SIZE (0..8))
Description Name of the agent.
Value of the parameter "name=" from the INI file of the agent.
MIB ID 7.1.1.4
Indicator exeType
Type DisplayString (SIZE (0..8))
Description Type of agent (EX_JOB).
MIB ID 7.1.1.5
Indicator exeLastModifyTime
Type DisplayString (SIZE (0..19))
Description Time of the last update of this table entry.
MIB ID 7.1.1.6
Indicator exeHost
Type DisplayString (SIZE (0..8))
Description Name of the agent.
Value of the parameter "name=" from the INI file of the agent.
MIB ID 7.1.1.7
Indicator exeVersion
167 | Chapter 8 SNMP Support
MIB ID 7.1.1.8
Indicator exeHardware
Type DisplayString (SIZE (0..20))
Description CPU type which the agent determines from the system environment variables.
MIB ID 7.1.1.9
Indicator exeSoftware
Type DisplayString (SIZE (0..20))
Description Operating system which the agent determines from the system environment variables.
MIB ID 7.1.1.10
Indicator exeSoftwareVers
Type DisplayString (SIZE (0..20))
Description Version of the operating system which the agent determines from the system environment
variables.
MIB ID 7.1.1.11
Indicator exeJCLTyp
Type DisplayString (SIZE (0..8))
Description Job Control Language (JCL) used for job generation.
Value of the parameters "UC_HOST_JCL_VAR" from the INI file of the agent.
MIB ID 7.1.1.12
Indicator exeConnTime
Type DisplayString (SIZE (0..19))
Description Time of the agent's last connection setup to the server process.
MIB ID 7.1.1.13
Indicator exeState
Type INTEGER {run(1), ended(2), lost(3), timeout(4)}
Chapter8 SNMP Support | 168
Index 1 = Running
2 = Ended normally or not yet started
3 = Connection to the server process canceled
4 = No answer despite existing connection
5 = Agent object was deleted
Description Status of the agent at the time of the last update.
MIB ID 7.1.1.14
Indicator exeLastPing
Type DisplayString (SIZE (0..19))
Description Time of the last sign of life from the agent.
MIB ID 7.1.1.15
Indicator exeMonitoring
Type INTEGER {yes(1), no(2)}
Index 1 = Availability of the agents is monitored.
2 = Availability of the agent is not monitored.
Description Indicates if the availability of the agent is being monitored. Monitoring of productive agents
is important.
MIB ID 7.1.1.16
Indicator exeInfo
Type DisplayString
Description Not currently used.
MIB ID 8.1
Indicator blockingPointsTable
169 | Chapter 8 SNMP Support
MIB ID 8.1.1
Indicator blockingPointEntry
Type BlockingPointEntry
Generated/Removed The entry is created if a task blocks and stays supported until the task continues
or is canceled.
Description AE system in blkSysID
MIB ID 8.1.1.1
Indicator blkSysID
Type DisplayString (SIZE (0..8))
Description Name of the AE system in which the blocking occurs.
MIB ID 8.1.1.2
Indicator blkClient
Type INTEGER (0..9999)
Description Number of the client in which the blocking occurs.
MIB ID 8.1.1.3
Indicator blkJPRunNr
Type INTEGER
Description RunID of the workflow in which the blocking occurs.
MIB ID 8.1.1.4
Indicator blkJPLNR
Type INTEGER
Description Number of line in which the blocked task is found within the workflow.
MIB ID 8.1.1.5
Indicator blkLastModifyTime
Type DisplayString (SIZE (0..19))
Description Time of the last update of this table entry.
Chapter8 SNMP Support | 170
MIB ID 8.1.1.6
Indicator blkJPName
Type DisplayString (SIZE (0..200))
Description Name of the blocked workflow.
MIB ID 8.1.1.7
Indicator blkObjTyp
Type DisplayString (SIZE (0..8))
Description Object type of the task which triggered the block.
MIB ID 8.1.1.8
Indicator blkObjName
Type DisplayString (SIZE (0..200))
Description Name of the task which triggered the block.
MIB ID 8.1.1.9
Indicator blkObjRunNr
Type INTEGER
Description RunID of the task which triggered the blocking.
MIB ID 9.1
Indicator NotificationTable
Type SEQUENCE OF NotificationEntry
Index (coSysID, coClient, coRunNr)
Description This table contains all active notifications.
171 | Chapter 8 SNMP Support
MIB ID 9.1.1
Indicator NotificationEntry
Type NotificationEntry
Generated/Removed When AE sends a notification trap, an entry is created.
If the status of the notification changes, the entry is updated.
The entry is removed if the notification is acknowledged.
Description AE system coSysID and client coClient.
MIB ID 9.1.1.1
Indicator coSysID
Type DisplayString (SIZE (0..8))
Description Name of the AE system in which the notification has been activated.
MIB ID 9.1.1.2
Indicator coClient
Type INTEGER (0..99)
Description Number of the client in which the notification has been activated.
MIB ID 9.1.1.3
Indicator coRunNr
Type INTEGER
Description RunID of the notification.
MIB ID 9.1.1.4
Indicator coLastModifyTime
Type DisplayString (SIZE (0..19))
Description Time of the last update of this table entry.
MIB ID 9.1.1.5
Indicator coName
Type DisplayString (SIZE (0..200))
Description Name of the notification.
Chapter8 SNMP Support | 172
MIB ID 9.1.1.6
Indicator coTyp
Type INTEGER {question(1), message(2), alarm(3)}
Contents 1 = Request
2 = Message
3 = Alert
Description Type of notification.
MIB ID 9.1.1.7
Indicator coText
Type DisplayString (SIZE (0..255))
Description Message text of the notification.
MIB ID 9.1.1.8
Indicator coState
Type INTEGER
Contents 1542 = Calling - Calling the notification
1556 = Escalated - Notification is escalated
1553 = Accepted - CallOperator accepted
Description Current status of the notification.
Overview of Traps
Description of Traps
The individual SNMP Traps and their parameters are described below.
Note In addition to the Trap, an event is always generated in the application log of the
Windows Event Viewer. This entry to the application log is even made when
snmp=2 has been defined.
AgentWorkSysID Name of the AE system
AgentWorkObject "Name of the AE system"."Name of the Automation Engine"
AgentWorkInteger1 Status of the Automation Engine:
2 = Signal for abnormal end received
3 = any other abnormal termination
AgentWorkInteger2 Run mode of the Automation Engine:
1 = Primary
3 = Normal
4 = Communication process
Trap-Code 11650
Description Ends connection to an agent
AgentWorkSysID Name of the AE system
AgentWorkObject "Name of the AE system"."Name of the Automation Engine"."Name of the
agent"."Type of the agent"
AgentWorkString1 Name of the agent
AgentWorkInteger1 Run mode of the Automation Engine:
1 = Primary
3 = Normal
4 = Communication process
Trap-Code 11652
Description SAP agent not longer connected to SAP system
AgentWorkSysID Name of the AE system
AgentWorkObject "Name of the AE system"."Name of the Automation Engine"."Name of the
agent"."Type of the agent"
AgentWorkString1 Name of the agent
AgentWorkInteger1 Run mode of the Automation Engine:
1 = Primary
3 = Normal
4 = Communication process
Trap-Code 11662
Chapter8 SNMP Support | 176
Trap-Code 11818
Description Primary Server has changed
Note Note
AgentWorkSysID Name of the AE system
AgentWorkObject "Name of AE system"."Name of the Automation Engine"
AgentWorkInteger1 Previous mode
AgentWorkInteger2 New mode
Aside from the SNMP Traps generated by the system, user-defined Traps can be generated with the script
statement :SEND_SNMP_TRAP. Trap codes generated by AE and the AE.Connect for HP OpenView
NNM (Trap codes: 10000 - 10010) cannot be used as user-defined SNMP Traps!
Code has been contributed to this project by many people over the years it has been in development, and a
full list of contributors can be found in the README file under the THANKS section.
Permission to use, copy, modify and distribute this software and its documentation for any purpose and
without fee is hereby granted, provided that the above copyright notice appears in all copies and that both
that copyright notice and this permission notice appear in supporting documentation, and that the name of
CMU and The Regents of the University of California not be used in advertising or publicity pertaining to
distribution of the software without specific written permission.
CMU AND THE REGENTS OF THE UNIVERSITY OF CALIFORNIA DISCLAIM ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL CMU OR THE REGENTS OF THE
UNIVERSITY OF CALIFORNIA BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM THE LOSS OF USE, DATA OR
PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS
ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
SOFTWARE.
---- Part 2: Networks Associates Technology, Inc copyright notice (BSD) -----
Redistribution and use in source and binary forms, with or without modification, are permitted provided that
the following conditions are met:
l Redistributions of source code must retain the above copyright notice, this list of conditions and the
following disclaimer.
l Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
the following disclaimer in the documentation and/or other materials provided with the distribution.
l Neither the name of the Networks Associates Technology, Inc nor the names of its contributors can
be used to endorse or promote products derived from this software without specific prior written
permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
Portions of this code are copyright (c) 2001-2003, Cambridge Broadband Ltd.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that
the following conditions are met:
l Redistributions of source code must retain the above copyright notice, this list of conditions and the
following disclaimer.
179 | Chapter 8 SNMP Support
l Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
the following disclaimer in the documentation and/or other materials provided with the distribution.
l The name of Cambridge Broadband Ltd. cannot be used to endorse or promote products derived
from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Copyright © 2003 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara, California 95054, U.S.A.
Sun, Sun Microsystems, the Sun logo and Solaris are trademarks or registered trademarks of Sun
Microsystems, Inc. in the U.S. and other countries.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that
the following conditions are met:
l Redistributions of source code must retain the above copyright notice, this list of conditions and the
following disclaimer.
l Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
the following disclaimer in the documentation and/or other materials provided with the distribution.
l Neither the name of the Sun Microsystems, Inc. nor the names of its contributors can be used to
endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that
the following conditions are met:
Chapter8 SNMP Support | 180
l Redistributions of source code must retain the above copyright notice, this list of conditions and the
following disclaimer.
l Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
the following disclaimer in the documentation and/or other materials provided with the distribution.
l Neither the name of Sparta, Inc nor the names of its contributors can be used to endorse or promote
products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
Copyright (c) 2004, Cisco, Inc and Information Network Center of Beijing University of Posts and
Telecommunications.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that
the following conditions are met:
l Redistributions of source code must retain the above copyright notice, this list of conditions and the
following disclaimer.
l Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
the following disclaimer in the documentation and/or other materials provided with the distribution.
l Neither the name of Cisco, Inc, Beijing University of Posts and Telecommunications, nor the
names of their contributors can be used to endorse or promote products derived from this software
without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS ``AS IS''
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING
IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
SUCH DAMAGE.
---- Part 7: Fabasoft R&D Software GmbH & Co KG copyright notice (BSD) -----
oss@fabasoft.com
Redistribution and use in source and binary forms, with or without modification, are permitted provided that
the following conditions are met:
l Redistributions of source code must retain the above copyright notice, this list of conditions and the
following disclaimer.
l Redistributions in binary form must reproduce the above copyright notice, this list of conditions and
the following disclaimer in the documentation and/or other materials provided with the distribution.
l The name of Fabasoft R&D Software GmbH & Co KG or any of its subsidiaries, brand or product
names cannot be used to endorse or promote products derived from this software without specific
prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDER ``AS IS'' AND ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY DIRECT, INDIRECT,
INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA,
OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Chapter9 AE and Target Systems | 182
Nevertheless, transporting binary files (LMS libraries, programs etc.) is very problematic. FTP can be used
to transport programs in binary mode but unfortunately, they then consist of 2 additional PAM pages (they
function, though). LMS libraries such as ISAM files and the like cannot be transferred because the FCB is
not restored. Furthermore, FTP in BS2000 is liable to costs (TCP/IP-AP). This topic has become important
for AE because the BS2000 files are supplied on CD.
Starting with BS2 TOOLS Version 2.00W files can now be assumed to a text archive and text archives
unpacked.
Action Code "TAR" in front of a text archive generates the files in the own user ID.
This program unpacks a text archive to the own User ID. It is required for all transfers made in the form of
text archives.
No license is required for the program BS2 TAR (FREEWARE). It is supplied in the MUSTERLIB of all
existing systems. It can also be obtained from all Sales Partners.
The supplied TAR files whose names include "NK4" are for NK4 pubsets and can also be unpacked using
the program BS2 TAR.
183 | Chapter 9 AE and Target Systems
AE Installationation CD
The program BS2 TAR can be obtained in two ways from the folder IMAGE:TOOLS\BS2_TAR :
BS2-TAR.BIN
The file BS2-TAR.BIN contains the program BS2 TAR. This program was transferred via FTP in binary
mode and can also be re-transferred to BS2000 via FTP:
FTP
OPENBS2000 computer
user id (TSOS)
password
account
BIN
PUT BS2-TAR.BIN
BYE
In BS2000:
/CAT BS2-TAR.BIN,BS2-TAR,STATE=U,SHARE=YES,ACCESS=READ
BS2-TAR.TAR
The file is transferred to BS2000 in text mode using any file transfer and unpacked in BS2000 with BS2
TAR:
/FILE BS2-TAR.TAR,LINK=TAR
/EXEC BS2-TAR
l Communication between a Automation Engine and a BS2000 agent is carried out via TCP/IP
connection.
l If a file transfer is initiated to/from a BS2000 agent, the participating agents set up a TCP/IP
connection between each other.
Text mode:
FCB=SAM,LINK=UCEXSAM,SPACE=(300,300)
Binary mode:
SPACE=(300,300),BLKSIZE=STD,BLKCTRL=NO,FCB=PAM
Specifying an attribute means that the default-file command in the agent is overwritten. The
specification of SPACE= would result in a SAM file with RECFORM=FIX, for example. In this case,
the attribute RECFORM is also required if you use RECFORM=V.
The Siemens FT BS2000 can also be used to create ISAM files. Example:
FCB=ISAM,BLKCTRL=DATA,RECFORM=V,KEYPOS=5,KEYLEN=8
Example
RECSIZE=50,VOLUME=PRIVATE,SPACE=(100,100)
*LIB(Library,Element(Version),Type)
The element version is optional. The highest version is read (source) or an element is written with version
"@" (target) if no version has been specified.
Examples
*LIB($RS.LMS.LIB,MY.ELEMENT,S)
+LIB($RS.LMS.LIB,MY.*,S)
185 | Chapter 9 AE and Target Systems
Note that the file transfer must not include additional attributes for the destination file if this setting is
used. Otherwise, an error will occur.
l The BS2000 agent sends the file: If the PAM file is available in Non-Key (NK) format without an end
being marked, the last page is ignored and the file is read to the file size.
l The BS2000 agent receives the file: When writing a PAM file, an end marker (additional logical
block) is attached. This block can occasionally disturb (in particular cases even destroy) file
structures.
The INI file of the agent contains the section "[RFC]" with the parameter "LOGON". If this parameter is set
to "1", the agent generates a batch job with the specified User ID when executing a file transfer with a
specified User ID. In this batch job, the service program UCYBRFC? is called. It connects to TCP/IP via
the port that has been defined in the section [RFC] with the parameter "PORT". This connection enables
the agent to check the specified user's access rights for the particular file. As this method causes a
performance loss for the agent, the RFC tasks are kept available for further file transfers. Only if an RFC
task has received no queries for a specified period of time (parameter TIMEOUT=), it ends automatically.
When the agent ends, all the corresponding RFC tasks end as well.
The file UCYBRFC? must be shareable when the RFC mechanism is activated.
Chapter9 AE and Target Systems | 186
The BS2000 agent does not work with a fixed port number which is written in to its INI file. The agent
requests a free port number when it establishes a connection to the Automation Engine.
If the BS2000 agent is automatically loaded after a successful test start of the host, please make sure
that its required free port number is not in conflict with other settings.
Example:
1. An application which uses the port number 4096 via /BCMAP command is already running.
2. The BS2000 agent is started manually and obtains the next free port number (e.g.: 4097).
3.Result: Both, the application and the agent work correctly.
After the tests, the BS2000 agent starts automatically and is loaded before the application.
1. The BS2000 agent obtains the first free port number 4096.
2. The application to which this port number has been assigned on a fixed basis via a /BCMAP command
cannot start.
The following example shows the necessary definitions for the involved objects and the corresponding
script statements and their reference.
The example is kept small and clear to show the principles. It demonstrates how a BS2000 Console
Command is executed from a job and how the result is written line-by-line to the job's activation report.
To execute a BS2000 Console Command the utility UCYEBXXZ must be installed on the host.
Job: SC.PROCESS.BS2000UCON
187 | Chapter 9 AE and Target Systems
The script of the job calls the function PREP_PROCESS which prepares the processing of the data
sequence. The following parameters are passed:
l Name of the computer on which an event job shall be executed - in this case: C70.
l Type of the event job, that shall be executed - in this case BS2000UCON.
By specifying BS2000UCON, the job EVENT.BS2000UCON will be executed.
By default, the event jobs EVENT.BS2000.CMD, EVENT.BS2000UCON, EVENT.UNIXCMD,
EVENT.UNIXFS and EVENT.WINCMD are supplied with client 0000. They can be used as they
are or as a template for your own event jobs.
l The third function parameter was omitted. This means that by using the default value "*" as filter, all
output lines from the console command will be taken into account.
l The script variable &CMD of the event job is supplied with the value BCDISP DISP=O.
l The event job should execute this command on the console and thus list all active applications.
Job: EVENT.BS2000UCON
Chapter9 AE and Target Systems | 188
It is important that in its Attributes tab, the check box "Attribute dialog" is checked. That way the Include
object ATTRDIA.BS2000 is read, which normally causes the start of the Attribute Dialog.
Include: ATTRDIA.BS2000
189 | Chapter 9 AE and Target Systems
All attributes listed in the script of the Include can be supplied this way. The Attribute Dialog is not
displayed because passing the variable contents is done internally.
Job: EVENT.BS2000UCON
Now the job can log on and the console command can execute.
The outfile is transferred to the Automation Engine by using the file transfer and is then available as a data
sequence. The execution of the job EVENT.BS2000UCON is completed.
Job: SC.PROCESS.BS2000UCON
Chapter9 AE and Target Systems | 190
The function PREP_PROCESS returns a value which is a handle for information on the data sequence
that will be processed.
This value is passed to the statement :PROCESS as a start parameter. :PROCESS and
:ENDPROCESS then form a processing loop which, in this case, will be cycled until the end of the data
sequence is reached. During each iteration, a new line of the data sequence is fetched from memory. The
function GET_PROCESS_LINE can - by using the current value - retrieve the contents of the current line.
In the example, the current console line is written to the activation protocol.
The :STOP statement interrupts the execution and displays this activation report.
The following example shows the necessary definitions for the involved objects and the corresponding
script statements and their reference.
The example is kept small and clear to show the principles. It demonstrates how a BS2000 Command is
executed from a job and how the result is written line-by-line to the job's activation report.
Job: SC.PROCESS.BS2000CMD
191 | Chapter 9 AE and Target Systems
The script of the job calls the function PREP_PROCESS which prepares the processing of the data
sequence. The following parameters are passed:
l Name of the computer on which an event job shall be executed - in this case: C70.
l Type of the event job to be executed - in this case BS2000CMD.
By specifying BS2000CMD, the job EVENT.BS2000CMD will be executed.
By default, the event jobs EVENT.BS2000.CMD, EVENT.BS2000UCON, EVENT.UNIXCMD,
EVENT.UNIXFS and EVENT.WINCMD are supplied with client 0000. They can be used as they
are or as a template for your own event jobs.
l The third function parameter was omitted. This means that by using the default value "*" as a filter,
all output lines from the console command will be taken into account.
l The script variable &CMD of the event job is supplied the value /STA P.
l The event job executes this command using the Login object AEADMIN.
Job: EVENT.BS2000CMD
Chapter9 AE and Target Systems | 192
It is important that in its Attributes tab, the check box "Attribute dialog" is checked. That way, the Include
object ATTRDIA.BS2000 is read which normally causes the start of the Attribute Dialog.
Include: ATTRDIA.BS2000
193 | Chapter 9 AE and Target Systems
All attributes listed in the script of the Include can be supplied. The Attribute Dialog is not displayed
because passing of the variable contents is done internally.
Job: EVENT.BS2000CMD
Now the job can log on and the console command can execute.
The outfile is transferred to the Automation Engine by using the file transfer and is then available as a data
sequence. The execution of the job EVENT.BS2000CMD is completed.
Job: SC.PROCESS.BS2000CMD
Chapter9 AE and Target Systems | 194
The function PREP_PROCESS returns a value which is a handle for information on the data sequence
that will be processed.
This value is passed to the statement :PROCESS as a start parameter. :PROCESS and
:ENDPROCESS then form a processing loop which in this case, will be cycled until the end of the data
sequence is reached. During each iteration, a new line of the data sequence is fetched from the memory.
The function GET_PROCESS_LINE can retrieve the contents of the current line by using the current
value.
In the example, the current console line is written to the activation protocol.
The :STOP statement interrupts the execution and displays the activation report.
The Job object includes an editor that makes it easy to specify SQL statements. Additionally it
displays database tables and columns.
The result of the SQL statements are stored in a job report which can be read using the script statement
PREP_PROCESS_REPORT. If an error occurs during job execution or if the job aborts, the agent cancels
195 | Chapter 9 AE and Target Systems
all SQL statements until the last COMMIT. The Job object provides many possible ways to configure the
execution of SQL statements.
The AE agent for databases currently supports Oracle, MSSQL, DB2 and MySQL.
See also:
Form tab
This is the standard connection method. The Database can only connect to an Oracle Database instance.
The Job object contains the relevant connection data.
The database agent's INI-file parameter useOraClient= (section [SQL]) must be set to the value "0".
The database agent can connect itself to Oracle RAC nodes. The Oracle file tnsnames.ora contains the
relevant connection data. It is not necessary to fill in the field "Server" in the Job object's SQL tab.
The agent's connection information itself has to be defined by using Connection objects (e.g. in SQL
variables). In the Connection object you would use Oracle or Oracle OCI as connection type.
The following steps are required in addition to installing the database agent:
1. Set the database agent's INI-file parameter useOraClient= to the value "1".
2. Install the Oracle Client or the Oracle Instant Client on the database agent's computer. Several
packages are available for the Oracle Instant Client. The database agent requires the "Basic"
package.
3. When using the Oracle Instant Client, set two environment variables. Include the Oracle Instant
Client's installation directory in the environment variable PATH (for Windows) or LD_LIBRARY_
PATH (for UNIX). The environment variable TNS_ADMIN must point to the directory in which the
file tnsnames.ora is stored.
For this example, the name "APPL_DB" must be specified in the Job object's field Database.
Chapter9 AE and Target Systems | 196
"Stored procedure 'procedure name' can be run only in unchained transaction mode. The 'SET CHAINED
OFF' command will cause the current session to use unchained transaction mode."
The command "SET CHAINED OFF" cannot be called because of the JDBC driver. Use the command
sp_procxmode instead.
RETURN
The statement RETURN can return a number. This return code can then be written to the job report (see
example below). The name of the stored procedure is ANGTEST.
SQL_SET_STATEMENT_TERMINATOR TERM='!';
DECLARE @result int;
EXEC @result = ANGTEST;
select @result;!
A separator other than the semicolon is automatically used because this character has already been
used within the statement.
The job ends normally regardless of its return code. If you intend to change a job's end status, you can
read the corresponding value in the job report and react to it using :MODIFY_STATE.
The statement PRINT facilitates the output of messages to a user (example: DBCC CHECKDB). These
messages are also written to the job report. Job execution continues as usual.
RAISE ERROR
Causes the job to be aborted. The error message is written to the activation report.
See also:
Form tab
Process tab
PREP_PROCESS_REPORT
197 | Chapter 9 AE and Target Systems
General Information
Statistical entries (for executed tasks) are stored in the AH table which also includes the corresponding
RunIDs in the AH_Idnr column. From a technical point of view, this column's values are 32-bit numbers
and the maximum value that can be reached is 2,147,483,647. All numbers below 1,000,000 are reserved
for specific processes.
Therefore, the allowed values for the RunIDs of statistical records range from: 1,000,000 to 2,147,483,647.
You will rarely ever reach this limit in AE systems that include a low number of regularly executed tasks.
By using a huge number of daily activities (~1,000,000), you can already reach this limit after a few years.
Partition Change
For general information about ILM and partition changes click here.
The database always keeps a certain number of partitions online. You can determine this number by
specifying the setting ONLINE_PARTITIONS in the variable UC_ILM_SETTINGS.
Using AE with ILM means that each partition is limited by a maximum key value. Only the current partition
is open ended and not limited by a maximum value. This partition uses a specific virtual value: NULL for
MS SQL Server and MAXVALUE for Oracle databases.
A partition change means that a new partition is inserted in the current partition's (virtual) upper limit and
the oldest partition is deleted. In Oracle, you can directly delete the partition; the MS SQL Server needs a
staging table for this purpose.
With this special mode active, the new partitions are now inserted in the lower number range (starting with
1,000,000) and numbering starts from the beginning. This specific mode remains active until all partitions
that include the upper number ranges have been removed and a constant value range up to 2,147,483,647
has become available again.
Partitioning in Oracle differs from partitioning in MS SQL Server databases, and therefore their Partition
Key Turnaround patterns are also different. Thus the processes are written per database type.
Oracle
Base scenario:
Technically, P11 ranges from 1,000,000 to 2,142,483,647, but logically it ranges from 2,141,483 647 to
2,142,483,647 because only data records are written to this AE section.
The partition should now be changed. The difference between the currently highest RunID (2,145,000,000)
and the maximum value (2,147,483,647) is less than three times the value of MAX_ENTRIES (1,000,000);
therefore, the system switches to Partition Key Turnaround Mode:
The oldest partition (P11) is split and a new partition (P15) is inserted in the lower number range (starting
with 1,000,000). The upper limit of the new partition is three times the maximum value. In our case, the
new partition's (P15) upper limit is 4,000,000.
When P15 has been inserted, the system removes the oldest partition P11 and four partitions are then
online again.
This procedure is repeated when the next partition change takes place:
The new partition's upper limit is again three times the maximum value with the upper limit of P15 being the
starting point for the calculation. The currently oldest partition P12 is split at the value 7,000,000. In doing
so, the new partition P16 is created and P12 is removed.
This procedure is repeated until no more partitions are available in the upper number range. In our case,
this will happen after one further partition change (P17).
Deleting the open-ended partition P14 now has the effect that the system does not split the partition but it
inserts a new open-ended partition (P18) instead.
This ends Partition Key Turnaround Mode and the normal mode is activated again. The RunIDs are now
allocated starting with the lower number range.
l A further partition change is required if the Partition Key Turnaround Mode is active.
l The old partitions must still be deleted in order to ensure that the ones that include the upper number
ranges are removed and the system can switch back to normal mode.
l Automic recommends monitoring the RunID usage in order to ensure that the limit of three times the
maximum value is not exceeded. The partition must be changed ahead of schedule if this limit
cannot be kept.
SQL Server
Base scenario:
Because a lower limit is defined in MS SQL Server, the lowest partition P1 is empty. Technically, you can
use it, but logically it is empty because AE does not use it. It is not shown in the System Overview.
The partition should now be changed. Partition Key Turnaround Mode is activated because the difference
between the highest RunID and the maximum limit lies below three times the value of MAX_ENTRIES.
MS SQL Server defines a lower limit. Therefore, the lowest partition P1 is split at 1,000,000 so that the
lower area also includes a partition. This lower area remains partition P1 and is reserved for the values
below 1,000,000. It is still not used. The split creates the new partition P15 which inherits the upper limit of
the previously smallest partition.
Technically, P15 now ranges from 1,000,000 to 2,142,483,647. However, this limit will continuously
change because of the partition changes that will take place.
The oldest partition P12 is then deleted, whereby P15 automatically inherits this partition's upper limit.
Technically, P15 now ranges from 1,000,000 to 2,143,483,647.
Chapter9 AE and Target Systems | 200
The next partition change splits the partition 15: P15 obtains the actual maximum usage value of 1,000,000
as its upper limit with the calculation starting at P1's upper limit. As a result, P15's upper limit is 2,000,000.
The oldest partition P13 is now deleted.
Technically, the new partition P16 ranges from 2,000,000 to 2,144,483,647 because it inherits the upper
limit of P13.
With the last partition change, P16 obtains the actual maximum usage value and is split at 3,000,000.
Partition P14 is deleted and the new partition P17 is open ended. Partition Key Turnaround Mode ends and
the system runs in normal mode again.
l Make sure that the partitions are changed on a regular basis if the maximum usage value of
2,147,483,647 is almost reached.
Syntax
Input mode:
Output mode:
l Media-Code 0: 16384
l Media-Code 2: 1272
l Media-Code 6: 16384
l Media-Code 10: 1272
VLREC_NO Enforces the use of records of a fixed length
VLREC_SEG Variable record length that can be partitioned via one or several physical blocks
Example
GFRC=06,RSZ=70
Syntax
Input mode:
UFF_SEQ[,RSZ=record length]
Chapter9 AE and Target Systems | 202
Output mode:
UFF_SEQ[,RSZ=record length][,VLREC_NO/VLREC_SEG][,CISZ=size]
File Description
attribute
(UFAS
Attributes)
UFF_SEQ Enforces file organization in sequential UFF format
RSZ= Maximum number of characters for read or written records. This value affects the size of
record the Control Intervals (CI) which is selected for output files. A CI size of 1K is used if the
length maximum record size is 2000 or less. Record sizes above 2000 cause the creation of CIs
with a record length of 4K. The default value is 80.
VLREC_ Enforces the use of records of a fixed length
NO
VLREC_ Variable record length that can be partitioned via one or several physical blocks
SEG
CISZ=size Sets the size of the Control Intervals (in Bytes)
Example
UFF_SEQ,RSZ=100
Syntax
Input mode:
UFF_REL[,RSZ=record length]
Output mode:
UFF_REL[,RSZ=record length][,CISZ=size]
Example
UFF_REL,RSZ=120,CISZ=8192
Separate the two names for the file and the index file with a semi-colon.
Syntax
Input mode:
Output mode:
UFF_IND,KEY=(duplicates,offset,length)[,RSZ=record length][,CISZ=size]
Allowed values:
"0" - the key does not contain duplicates
"1" - the key can contain duplicates
l Offset - offset in records (Bytes)
l Length - key length (Bytes)
It is possible to define more than one key. The first entry is the primary key.
Set the parameter "duplicate" to 0 in order to avoid the use of double keys.
The entries ranging from the second to the nth one stand for the n-1 varying
keys. Using this attribute is obligatory.
KNR=key number Defines the key that is used as reference key when searching the record to be
read. This entry corresponds to the key definition's array element (basis 1) in
the KEY_DESC structure which is used to open the file. The default value is 1 -
i.e. the primary key.
CISZ=size Sets the sizes of the Control intervals (in Bytes).
Chapter9 AE and Target Systems | 204
Example
UFF_IND,KEY=(0,0,20)
See also:
FileTransfer tab
The GCOS8 agent uses three Job Messengers to obtain information about job states:
If available, the report messenger is generated by the RSM system. GCOS8 jobs are finished after the job
report has been created. The RSM system retrieves the report from the SYSOUT, then the agent is
informed that the job report is ready to be transported to the AE system.
Messenger programs are vital for the execution of jobs. AE can be used to react to an abnormal job-
messenger ending.
The program Switch Word (PSW) is used to send information about an abnormal Job Messenger end. This
program has a 36-bit memory area. The bits between 0 and 17 are reserved for the GCOS8 system. The
remaining bits from 18 to 35 can be used in any which way. In order to display its status, the Job
Messenger uses only one bit. This bit is defined using the parameter SW=bit number. Set the selected bit
with the JCL statement $SET. With this configuration the Job Messenger is able to check whether the bit
is in status ON. It sets it to OFF as soon as it is able to end normally. If the status remains ON, the Job
Messenger has ended abnormally.
Procedure
The following descriptions use bit number 18. However, you can use any bit between 18 and 35 that has
not yet been used. Proceed as follows to activate Job Messenger monitoring.
Start messenger:
End messenger:
Report messenger:
Refer to the RSM Documentation for detailed information about how to adjust the report messenger.
There are two methods in establishing a connection. First, the J2EE/JMX agent can be run as a Web
application within the Java Virtual Machine and access an MBean Server of the same computer.
207 | Chapter 9 AE and Target Systems
The second available method is to specify a job in a way that it can access MBean Servers on a different
computer via the MX Remote API (JSR 160). The URL of the MBean Server can be specified in the Job
object. In this case, the MBean Server computers must have a Connection Server.
The connection to the MBean Server can be defined in the Host tab of JMX jobs.
If the JMX agent is used for SAP, it creates an additional log file in SAP format. This file is
automatically created in the agent's sub-folder "log" in the installation directory and can easily be
processed with SAP Tools.
See also:
Knowledge of Java and Web services is required in order to be able to fully understand this guideline.
General
The Automation Engine supports Web services through the usage of MBeans in combination with the JMX
agent. Many vendors offer Web services rather than MBeans as interfaces that provide access to their
applications. This guideline describes step by step how an MBean is generated from an existing Web
service. The Web service "CurrencyConvertor" which is provided by Generic Objects Technologies Ltd
serves as an example. It supplies currency exchange rates.
Requirements:
l JMX agent
l Access to the Web service (WDSL, URL, parameters)
l Apache Axis (freely available)
MBeans can only be created for synchronous Web services. Using asynchronous Web services is
much more difficult and must be handled individually.
Installation
l Download the Apache Axis files from http://ws.apache.org/axis. Install them as described in the
Apache Axis documentation.
l Start the Apache Axis tool "WSDL2Java". This is a Web service wrapper generator. You can also
use Eclipse as your development environment. Specify the WSDL address
http://www.webservicex.com/CurrencyConvertor.asmx?wsdl" as the input parameter.
209 | Chapter 9 AE and Target Systems
l This step describes the creation of an MBean that uses the generated Java classes to call the Web
service via JMX.
A few initiatory notes on MBeans programming guidelines:
l A standard MBean pattern consists of an interface and a class which implements it.
l The interface has the same name as the class plus the ending "MBean".
l In the following example, the class is called "Converter" and the interface "ConverterMBean.java".
Create both files in the package "com.uc4.ws". This is followed by the full interface code and class:
ConverterMBean.java:
package com.uc4.ws;
import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;
Chapter9 AE and Target Systems | 210
Converter.java:
package com.uc4.ws;
import java.rmi.RemoteException;
import javax.xml.rpc.ServiceException;
import NET.webserviceX.www.Currency;
import NET.webserviceX.www.CurrencyConvertorLocator;
import NET.webserviceX.www.CurrencyConvertorSoap;
The method "convertCurrency" contains the Web service call. Therefore, it uses the generated
Java classes. It creates a service-locator instance and calls the method
"getCurrencyConvertorSoap" in order to obtain a SOAP stub. This pattern (locator-stub) is
described in the Apache Axis documentation.
The stub calls the Web service. The parameters are converted from "java.lang.String" to
"NET.webserviceX.www.Currency" objects because only simple data types can be used in
MBeans. The supplied result is the current currency conversion rate.
l Create a common JAR file for the two files of the MBean and the generated Java classes using an
ant script. The following example shows how the file "exampleMBean.jar" is generated.
No ant script is required in development environments such as Eclipse. Here you can generate the
JAR file via menu command.
l Include the generated JAR file and the Apache Axis JAR files in the JMX agent's classpath. The
call for starting the JMX agent under Windows is shown below:
211 | Chapter 9 AE and Target Systems
The JMX agent does not require an application server but can run independently. It is sufficient to
install the Java version 5 as it contains the required JMX packages of version 1.2.
Usage
The function JMX_CREATE_MBEAN creates an MBean instance and registers it on the local
MBean Server.
l Enter the MBean's full class name in the field "class". In this example it is
"com.uc4.ws.Converter".
l Enter the term which should be assigned to the MBean in the field "Object name". This name must
be unique in the MBean Server. It consists of two parts which are separated by a colon ":". The first
part refers to the domain name and the second one to the key properties. This example uses the
name "com.uc4:name=CurrencyConverter".
The domain name must not include the characters ":", "*" and "?". In order to avoid collisions
between the MBeans of different vendors, Automic recommends using the DNS name of your
company backwards as the domain name.
The key properties assign a unique name to the MBeans within the domain. They are separated
by commas ",". A key property is structured as follows: Properties=Value. The property must
not correspond to an attribute of the MBean. The number of key properties is not limited and the
order is irrelevant. A key property must not contain inverted commas, commas or ":", "=", "*"
and "?". Specify at least one key property.
l Store the JMX job and process it. By doing so, the MBean is registered on the MBean Server and is
visible in the MBean browser (see step 2).
l The MBean can be addressed and used via its operations. Click the button in the JMX job's
Form tabin order to insert a new line. Double-click the function "Execute operation" in the category
"Operations".
l Select the MBean "CurrencyConverter" on the left. The table on the right shows the available JMX
operations for the MBean.
l Highlight the operation "convertCurrency" and Click OK tab. The fields "MBean Name" and
"Operation" are automatically filled with the correct values.
l Enter two currency codes in the field "Parameter" and separate them with a comma. Example:
"USD,EUR" has the effect that the MBean returns the exchange rate for US Dollars to Euro.
l Execute the JMX job. The conversion rate is output in a report.
Read the report using the script function PREP_PROCESS_REPORT so that the values
supplied by the MBeans can be used for further processing. The Sample Collection contains a
description of the required steps.
213 | Chapter 9 AE and Target Systems
1. With SOAP
2. or RMI
See also:
Setting up the Agent for Java EE/JMX (IBM WebSphere) with SOAP Connector
Setting up the Agent for Java EE/JMX (IBM WebSphere) with RMI Connector
The following SOAP action should be used to send the SOAP message: "urn:xmethods-delayed-
quotes#getQuote".
An MBean can be used to send this SOAP message. This MBean requires at least Java version 5. Add
the MBean to the agent's classpath:
1. Copy the file soapmbean.jar into the folder of the JMX agent.
2. Start the JMX agent with the file soapmbean.jar in the classpath.
java -cp soapmbean.jar;ucxjjmx.jar com/uc4/ex/jmx/UCXJMX
Create a JMX job and insert the following line in the Process tab:
JMX_CREATE_MBEAN
EXISTS="IGNORE",CLASSNAME="com.uc4.ex.jmx.soap.SOAP",NAME="uc4.com:name=SOA
P"
Start the job. The MBean "SOAP" is now listed in the MBean Browser.
In the next step, determine the JCL for using the SOAP MBean:
JMX_CREATE_MBEAN
EXISTS="IGNORE",CLASSNAME="com.uc4.ex.jmx.soap.SOAP",NAME="uc4.com:name=SOA
P"
JMX_COMPOSITE_ADD KEY="1",VALUE='<?xml version="1.0" encoding="UTF-
Chapter9 AE and Target Systems | 214
8"?>',NAME="s"
JMX_COMPOSITE_ADD KEY="2",VALUE='<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" ',NAME="s"
JMX_COMPOSITE_ADD
KEY="3",VALUE='xmlns:xsd="http://www.w3.org/2001/XMLSchema" ',NAME="s"
JMX_COMPOSITE_ADD
KEY="4",VALUE='xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance">',NAME="s"
JMX_COMPOSITE_ADD KEY="5",VALUE="<soapenv:Body><ns1:getQuote ",NAME="s"
JMX_COMPOSITE_ADD
KEY="6",VALUE='soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encod
ing/" ',NAME="s"
JMX_COMPOSITE_ADD KEY="7",VALUE='xmlns:ns1="urn:xmethods-delayed-
quotes">',NAME="s"
JMX_COMPOSITE_ADD KEY="8",VALUE='<symbol
xsi:type="xsd:string">IBM</symbol>',NAME="s"
JMX_COMPOSITE_ADD
KEY="9",VALUE="</ns1:getQuote></soapenv:Body></soapenv:Envelope>",NAME="s"
JMX_INVOKE
OPERATIONNAME="sendSOAP",MBEAN="uc4.com:name=SOAP",PARAMS='s,"urn:xmethods-
delayed-quotes#getQuote",http://services.xmethods.net/soap'
The first line ensures that the MBean exists or loads it if necessary. The statements JMX_COMPOSITE_
ADD insert the SOAP message line by line with the parameter KEY= containing the line number. After the
SOAP message has been composed, it is assigned to the operation "sendSOAP" (JMX_INVOKE) as its
first parameter. The second parameter contains the SOAP action, and the third one the URL to which the
SOAP request should be sent.
Execute the job. The job report shows the response message.
An XPath expression can be used to read an individual value. Do so by inserting a new script line using the
script element JMX_COMPOSITE_ADD with the statement "XPATH" for KEY= and the searched value
for VALUE= (see second script line). The script now looks as shown below:
JMX_CREATE_MBEAN
EXISTS="IGNORE",CLASSNAME="com.uc4.ex.jmx.soap.SOAP",NAME="uc4.com:name=SOA
P"
JMX_COMPOSITE_ADD KEY="XPATH",VALUE="//Result",NAME="s"
JMX_COMPOSITE_ADD KEY="1",VALUE='<?xml version="1.0" encoding="UTF-
8"?>',NAME="s"
JMX_COMPOSITE_ADD KEY="2",VALUE='<soapenv:Envelope
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" ',NAME="s"
JMX_COMPOSITE_ADD
KEY="3",VALUE='xmlns:xsd="http://www.w3.org/2001/XMLSchema" ',NAME="s"
JMX_COMPOSITE_ADD
KEY="4",VALUE='xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance">',NAME="s"
JMX_COMPOSITE_ADD KEY="5",VALUE="<soapenv:Body><ns1:getQuote ",NAME="s"
JMX_COMPOSITE_ADD
KEY="6",VALUE='soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encod
ing/" ',NAME="s"
JMX_COMPOSITE_ADD KEY="7",VALUE='xmlns:ns1="urn:xmethods-delayed-
quotes">',NAME="s"
JMX_COMPOSITE_ADD KEY="8",VALUE='<symbol
xsi:type="xsd:string">IBM</symbol>',NAME="s"
JMX_COMPOSITE_ADD
KEY="9",VALUE="</ns1:getQuote></soapenv:Body></soapenv:Envelope>",NAME="s"
JMX_INVOKE
OPERATIONNAME="sendSOAP",MBEAN="uc4.com:name=SOAP",PARAMS='s,"urn:xmethods-
delayed-quotes#getQuote",http://services.xmethods.net/soap'
Based on the sample script, the job report now shows a value.
215 | Chapter 9 AE and Target Systems
Parts of the SOAP message can also be supplied with values via script variables. The following example
reads a value via a :READ mask:
Pre-Process tab:
:READ &SYMBOL#,"IBM,SAP,ORCL","Please choose one","IBM"
Process tab:
The Automation Engine can be used to start jobs in Micro Focus JES and process JCL files. These are
then stored in the Server's file system. Jobs are started using the program CASSUB.
Creating a Job
1. Click the button in the toolbar. A window opens which lists all the available object types
including the objects for the individual platforms. Select JOBS.WIN.
2. Assign a suitable name for the Job object and open it. Now click the Notification tab
3. A Windows agent executes the job. Select the agent which runs on the computer on which MF ES
is available.
4. In order to execute the job, the agent requires login information. This data is stored in the form of
Login objects. Select the suitable one in "Login".
5. Now click the Windows tab. In the upper left area, you can define how the generated job report
should be handled. You can store it in the database or as a file.
7. The command that should be specified indicates the path to program CASSUB. Use the start
parameters -r and -j to specify the JCL Server environment and the complete path to the JCL file.
The JCL Server Region Name describes the MF MTO Services. This value is available in the MF
Enterprise Server Administration.
8. Store and close the Job object after having completed your configuration. The Job object can now
be integrated in your processing.
Architecture
The job starts via CASSUB in the Micro Focus Enterprise Server. An exit is called when the job starts and
during its execution. It writes the synchronization files for the agent (*.log, *.inf and *.can files).
217 | Chapter 9 AE and Target Systems
The following environment variables are available in the user environment under which the JES Server has
started:
Examples:
Possible values:
Y = The exit writes a trace.
N = No trace is written.
UC4_MF_TRACE_ Complete file name of the trace file
FILE=
Chapter9 AE and Target Systems | 218
UC4_MF_DELAY= Delay in seconds the EXIT waits if the *.INF file cannot be found.
The Micro Focus Enterprise Server serves administrative purposes; jobs are maintained, started and
stopped in JES.
219 | Chapter 9 AE and Target Systems
The following example describes how to start a JES job in batch mode without the agent; the CASSUB is
manually set:
C:\Documents and Settings\Ni\My Documents\Micro Focus\Net Express
5.0\WORKAREA>cassub -lUC4 -jC:\es-jcldemo\jclbatch.jcl
JCLCM0901I JOB01407 ???????? Event-job-ready action is: 0 (Continue).
12:59:10
JCLCM0925I JOB01407 JCLTEST Event-job-stmt-info action is: 0 (Continue).
12:59
:10
JCLCM0187I JOB01407 JCLTEST JOB SUBMITTED (JOBNAME=JCLTEST,JOBNUM=01407)
12:59
:10
JCLCM0180I JOB01407 JCLTEST Job ready for execution. 12:59:10
Processed "C:\es-jcldemo\jclbatch.jcl"
C:\Documents and Settings\Ni\My Documents\Micro Focus\Net Express
5.0\WORKAREA>
The Exit creates the *.inf file for the agent which checks it and writes to the log file. This does not
happen if a job is started in batch mode.
l Job Processing
l Execution of file transfers
l Event Handling
Job Processing
In AE jobs are defined and maintained in the form of objects that include various tabs. The JCL is stored in
the Process tab. Its logic can be very complex if you make use of AE's script elements. You can use # as
the prompt character in the JCL because the characters ! and : introduce comment lines and script
statements in AE script. You can also start JCL lines by using the script statement :DATA. In doing so,
you can keep ! and : as prompt characters.
See: User Guide - Job and Job - Execution
In AE, you can start jobs either manually or via control mechanisms such as workflows or schedules. The
Automation Engine then generates an executable job and sends it to the MPE agent via a file transfer.
See: Inside AE Guide - Executing Objects
The MPE agent reads the job and passes it to the MPE job queue.
The job notifies the agent about the beginning and end of an execution. The agent then passes this
information on to the Automation Engine.
The agent monitors the job's status in regular intervals. This ensures that an abnormal end can be
determined if a job vanishes (fatal error or ABORTJOB). The job's return code is available in AE.
The job report ($STDLIST) is stored in the file that is specified by the Automation Engine. If specified in the
job, the agent transfers the report to the Automation Engine which stores it in the AE database. The agent
copies the job output from the Spooler. Therefore, you must use an OUTCLASS of priority 1.
In AE, file transfers are defined and maintained in the form of objects that include various tabs. They are
executed with the character conversions that are defined in these tabs (such as UC_CODE).
See: User Guide - FileTransfer
Event Handling
In AE, events are defined and maintained in the form of objects that include various tabs.
Only events of type File System are currently supported.
See: User Guide - Event
221 | Chapter 9 AE and Target Systems
1. Job Start
Job start is initiated by the Automation Engine which sends the information that the job has started to the
AE NSK agent. The AE agent then creates an entry in the AE status file.
Chapter9 AE and Target Systems | 222
The AE NSK agent sends a message to the AE Output Collector (via IPC), which contains the following
information:
l # Location of the AE Output Collector that should be used as the output file of the job that is to be
started.
The AE Output Collector writes all outputs that were received in this # Location to the
corresponding report file.
l Flag whether a re-usable TACL process is available or a new TACL process needs to be started by
the agent and
l The information whether the default user (assumed by the TACLs after the job has ended) is still
valid.
If required, the agent starts a new TACL process. This process then logs on to the AE Output Collector
(because it has been specified as the output device).
The Output Collector generates the report file. Then, it configures the job's TACL (setting user, priority
etc). Finally, job file is assigned to the TACL of the job as obey file and commences to process the job.
2. Job Run
While the job is running, all the job-generated outputs are sent to the AE Output Collector and written to the
job reports. If an entry is expected and a terminal has been configured for the job, the respective entry is
then taken from the terminal.
The connection between the job report and the job is established via the # Location which is used by the
jobs to address the Output Collector.
Hence, outputs of Location $UC4OC.#AAL can be written to the report file $DATA.REPORTS.FFXX, and
outputs of $UC4OC.#AAM to the report file $DATA.REPORTS.FFXY.
Names of # Locations and the report files are assigned by the agent or the Output Collector.
3. Job End
The Output Collector recognizes that the job has ended when the TACL process of the job requires an
entry or closes the Output Collector (if an error occurs). When the job has ended, the Output Collector
writes this information to the job's status file and sends the corresponding message to the agent (via IPC).
Finally, the agent reports the job to the Server as finished.
Notes:
1. Meaning of the status file
The job's status file facilitates improved job recovery when the agent or the Output Collector fails. The
context is then retrieved from the job's status file in order to restart the troubled process. Many jobs can so
overcome these troubles and undisturbed processing can be continued. Jobs that have ended during the
223 | Chapter 9 AE and Target Systems
time of the agent/Output Collector failure are identified and registered. Hence, the Automation Engine
always shows a correct image of the system status.
2. Mutual Monitoring
Agent and Output Collector monitor themselves mutually. If one of these two processes ends
unexpectedly (unplanned stop, CPU failure, software failure etc), the surviving process automatically
restarts the failed process. If the CPU of the failed process is not available (anymore), another available
CPU is selected (with preference given to one that differs from the CPU of the surviving process). This
ensures that the system tolerates various errors.
See also:
As these commands differ from each other, 3 types of NSK jobs are provided. The type of Job object is
selected in the Guardian/NSK tab. It can be read with the script function GET_ATT.
NBEXEC script lines and AE Script start with a colon. Therefore, an empty space must be inserted at
the beginning of each -NBEXEC-processing line.
See also:
Guardian/NSK tab
Architecture of the AE Agent for the HP NonStop Server
In each individual NSK job, you can specify predefined inputs for particular prompts. If job execution
reaches a prompt, the agent searches for a predefined input. Processing continues automatically if it finds
one. If prompt handling has not been defined, further processing depends on the specifications that are
made in the Job object. If a virtual terminal has been specified in the Guardian/NSK tab, the prompt is
redirected to it and manual intervention is required. If a terminal has not been determined, the agent
assigns an EOF input to the prompt.
This function is only supported for NonStop agent environments and TACL.
Chapter9 AE and Target Systems | 224
Usage
Prompt inputs can be defined using the function UC4_AUTO_ANSWER. In a NSK job script, this function
can be used once or several times. Definitions only apply for one particular job. The syntax is:
The first parameter describes the prompt. You can either use the full name or specify wildcards using the
characters ? and *. The latter one serves to use the same input on several prompts without having to enter
an extra script line.
The second parameter represents the input that is automatically assigned to the prompt. Enter a string, a
script variable or a TACL expression. You can also use <EOF!> in order to respond to the prompt with an
EOF input (Ctrl Y).
The agent uses the input definitions which already occurred in the script. The search is made in strict
rotation; the first definition that complies with the prompt description is used.
Use the function UC4_AUTO_ANSWER_CLEAN to invalidate all input definitions that occurred in the
script so far. The agent then searches all definitions starting with this script line. You can use this function
to separate script sections in which different prompt handling should apply. UC4_AUTO_ANSWER_
CLEAN does not have parameters.
The function UC4_AUTO_ANSWER_TRACELEVEL can be used if you require more detailed information
about the search for prompt input definitions. Depending on the specified level, more detailed messages
are written to the job report and the virtual terminal. Its syntax is:
UC4_AUTO_ANSWER_TRACELEVELLevel
Examples
Example 1
The PURGE statement requires the specification of Y or N. The following script example shows an
automated form of input handling:
UC4_AUTO_ANSWER "PURGE * (y/[n])?" y
PURGE *
UC4_AUTO_ANSWER_CLEAN
The first line defines y as the response to the prompt for the PURGE statement. In doing so, the PURGE
call in the next line is automatically filled with y. Due to UC4_AUTO_ANSWER_CLEAN, this input
definition does not apply for the job's remaining script.
Example 2
run $data01.uc4.prompt
This is a prompt>Answer 2
Answer to the prompt received: Answer 2
UC4_AUTO_ANSWER_TRACELEVEL 1
run $data01.uc4.prompt
*** Pattern checked: "*is a prompt*", matched, answer generated: "Answer 2"
This is a prompt>Answer 2
Answer to the prompt received: Answer 2
UC4_AUTO_ANSWER_TRACELEVEL 3
run $data01.uc4.prompt
*** Pattern checked: "*is no prompt*", no match
*** Pattern checked: "*is a prompt*", matched, answer generated: "Answer 2"
This is a prompt>Answer 2
Answer to the prompt received: Answer 2
l Job Processing
l Execution of file transfers
l CallAPI
Processing Jobs
In AE, jobs are defined and maintained in the form of objects which include various tabs. Commands and
statements are stored in the Process tab. It can be provided with a complex logic using the AE Script
elements.
See: User Guide - Job and Job Execution
Depending on the type of command (Guardian, NetBatch and OSS), several sub-types are available for
NSK jobs.
In AE, jobs can start either manually or via control mechanisms such as workflows or schedules. Thus, an
executable job is generated and transferred to the NSK agent via file transfer.
See: Inside AE Guide - Executing Objects
Jobs are processed with the login information (group name.user name) specified in the Login object which
can be selected in the Attributes tab.
The table below lists password requirements for the Login object.
Chapter9 AE and Target Systems | 226
Recommended Configuration:
l Start the NSK agent with the User ID. SUPER.SUPER is usually not required. User settings must
be adjusted to working requirements.
l Define group name.user name in Login objects.
l Set parameter logon=1 in the INI file of the NSK agent.
l Specify the default user ERP_LOGIN in the client 0000. Use a valid User ID/password combination
but make surel to select a user who has been assigned very few rights. This user only serves to
equip TACL processes intended to be reused with as few rights as possible. These TACL
processes are then very safe and less error-prone).
Each job notifies the agent about the beginning and end of an execution. The agent then passes this
information on to the Automation Engine. The job's return code can be accessed in AE via Headers and
Trailers.
Header and Trailer contents are automatically added to the script defined in the job. The variable
"RETCODE" is defined in an NSK-specific Header. The content of this variable is transferred to the
Automation Engine when the job ends. This value is the job's return code. It can be used to define
dependencies between individual jobs in a workflow.
The following user-defined Header and Trailer can be used to set the "RETCODE" to "1" if a syntax error
occurs in the script: HEADER.NSK.USER.HEAD, TRAILER.NSK.USER.HEAD and RESTART.NSK
The agent creates files for job reports (if specified at the object) and the jobs on the computer. Their names
are structured as shown in the table below:
Description
Job file <UC_EX_PATH_TEMP>J<RunID>
Job-report file <UC_EX_PATH_JOBREPORT>O<RunID>
In AE, file transfers are defined and maintained in the form of objects which include various tabs. They are
executed with their defined character conversion (e.g. "UC_CODE").
Peculiarities: The NSK agent handles each file transfer order with an extra process if the new file transfer
protocol is used. The agent has an additional listener port to provide this function. This port has the next
higher number when compared to the agent port.
You can specify additional attributes for the target file in the FileTransfer object (target - attributes) or
assume the source file's attributes (option "Keep original file attributes"). The original attributes can be
overwritten with additional definitions in the FileTransfer object. The following NSK file attributes are
supported:
227 | Chapter 9 AE and Target Systems
Attribut Description
CREATE_OPTS Options for file creation, bit mask
(<15> is the lowest bit of a 2-byte
word):
Call Interface
The CallAPI enables you to execute calls in AE from your own programs. You can also use a CallAPI
without any programming being required if you use a utility which you can call from the command line of the
OS or from an executable file, for example.
See also:
Procedure:
2.) The TMPL file (uc4.tmpl) must refer to this created dictionary.
MSG: ZSPI-TKN,0
"DUMMY"
== Parameter=Value
The agent searches the script for these lines and sets the parameters to the values you specified. TACL
handles these lines as comments.
Parameter Description
UC4_TACL_ Alternative TACL (Shell)
PROGRAM
You can specify a different TACL if the standard TACL loads an environment which
should not be used for AE jobs. This parameter is also helpful if several clients
access a nonstop machine and require different TACL environments.
The agent uses the standard TACL if the specified TACL cannot be used and logs
an error message.
UC4_TACL_ TACL process name
PROCESSNAME
UC4_REPORT_ User under which the job report should be created.
USERNAME
The value "DEFAULT_USER" can also be specified. In this case, the job report is
created for the user under which the job runs.
UC4_REPORT_ NonStop security string for the job report
SECURITY
Use this parameter carefully. An incorrect security string can have the effect
that the agent cannot read or delete the job report.
Examples:
== UC4_TACL_PROGRAM=$SYSTEM.SYS03.TACL
== UC4_TACL_PROCESSNAME=$CAT2
== UC4_REPORT_USERNAME=SQLCMP.SMITH
== UC4_REPORT_SECURITY=NNNN
This is an optional function. The agent uses the particular default values for parameters which have not
been set in the script.
Chapter9 AE and Target Systems | 230
l Job Processing
l Remote Status Capturing and Tracking
l Execution of file transfers
l Execution of file events
l Event Handling
l CallAPI
Job Processing
In AE, jobs are defined and maintained in the form of objects that include various tabs. The JCL (CMD, CL
or REXX) is stored in the Process tab. Its logic can be very complex if you make use of AE's script
elements.
See: User Guide - Job and Job - Execution
In AE, jobs start either manually or via control mechanisms such as workflows or schedules.The
Automation Engine then generates an executable job and sends it to the OS/400 agent via a file transfer.
See: Inside AE Guide - Executing Objects
In OS/400, you can start jobs start by using the SBMJOB commandwhich calls the AE job shell
(IRSTRJOB program in the supplied library). Among other information, the job shell obtains the following
parameters - the job's name that is generated by the Automation Engine, and the name of the file member
under which the job has been stored. Depending on the job type, it executes the following:
l CMD
The job shell executes every line of the file member. If an error occurs in a particular line, the
severity code is set as the job's return code and only the Job Messenger is called at the job's end.
l ILE CL
The job shell converts the file member and creates a temporary CL program. If the conversion is
successful, the job shell processes the CL program.
l REXX
The job shell calls the REXX interpreter and assigns the name of the file member that includes the
REXX script.
Each job notifies the agent (Job Messenger) about the beginning and end of an execution. The agent then
passes this information on to the Automation Engine. The job's return code is available in AE.
The agent monitors the job's status in regular intervals. This ensures that an abnormal end can be
determined if a job vanishes (ABEND or CANCEL). This job is then considered lost within the AE system.
The states of jobs that have been executed while the agent was terminated are also retrieved. Doing so is
possible because of the start and end messenger outputs.
Note that on OS/400, the JCL is compiled to a program and then executed. An uncontrolled termination
can occur which could have the effect that the job's status is not correctly displayed. Use the MONMSG
231 | Chapter 9 AE and Target Systems
command in order to identify program terminations and to react to them. To use this command, you require
the job setting "Type" - "ILE CL".
The following example monitors the execution of the JCL by using the MONMSG command and sets the
job status accordingly:
Pre-Process tab:
! Activates the start and end messenger output for the status recovery.
:SET&UC_QPRINT = 10
! The OS/400 CL command monitors all exceptions and skips to the ERROR
label.
MONMSG CPF0000 (GOTO ERROR)
Process tab:
! Command to be executed by the job. All active processes are shown in this
case.
wrkactjob *print
! Sets the job's return code to the value 0.
CHGVAR &RETCODE '0'
! Calls the end messenger.
GOTO END
! The adequate return code is set if an error occurs.
ERROR:
CHGVAR &RETCODE '99'
The job report (Spool) consists of the spool contents (depending on the job definition only QPJOBLOG or
the entire contents). It is written to a file that is specified by the Automation Engine. If specified in the job,
the agent transfers the report to the Automation Engine which stores it in the AE database.
If you have OS/400 version IBM i 6.1 or above, you may use the following SQL statement examples to
check, if any OS/400 jobs have the status MSGW (= waiting for messages):
Return all necessary information to perform actions on jobs, which are in MSGW status:
select EH_AH_Idnr, EH_RemoteStatus, EH_RemoteStatusIns, EH_Alias from EH
where EH_RemoteStatus = 2006018 AND EH_Client = &$CLIENT#
You may decrease the interval, in which the status of jobs is being checked by changing the value for
JOB_CHECKINTERVAL in the system Variable UC_HOSTCHAR_DEFAULT. Be aware, that a
decrease of this value will affect server performance.
In AE, file transfers are defined and maintained in the form of objects that include various tabs. They are
executed with the character conversions that are defined in these tabs (such as EBCDIC_00037).
Event Handling
In AE, events are defined and maintained in the form of objects that include various tabs. You can define
FileSystem events that refer to the library file system (QSYS.LIB). The OS/400 agent also supports
events of type Console.
See: User Guide - Event
There are some peculiarities that must be considered when you use file events with an OS/400 agent.
CallAPI
You can use the CallAPI with a utility that can be called by using a CL script, for example.
See: User Guide - CallAPI
See also
Job
Executing Objects
OS/400 Agent - File Transfer Support
OS/400 Agent - FileSystem Event Support
You must start OS/400 agents of version 9.00A or later as a multi-threaded process in order to use the new
file event. Doing so requires the agent's JOBD parameter ALWMLTTHD to be set to "YES".
The new file event is handled in threads which means that you can only use the following file systems:
l "Root" (/)
l QOpenSys
l User-defined
l QNTC
l QSYS.LIB
l Independent ASP QSYS.LIB
l QOPT
l Network File System
l QFileSvr.400
File Specification
IFS (Integrated File System) is a UNIX-based file system. IFS files must always be specified with an
absolute path (starting from the root) and a final file name.
If the file specification includes a / character, the agent assumes that an IFS file is concerned.
For example:
/home/AE/test.txt
The wildcard characters * and ? can be used to process partially qualified file events. They can be used as
necessary within the path and/or file name.
In an individual file event, the path and file name are not case-sensitive. Therefore, the following two
specifications are identical:
/home/AbC.txt
/HOME/ABC.txt
Wildcard file event paths are case-sensitive. The following two specifications differ from each other:
/home/AB*
/home/ab*
(Note: An exception is QOpenSys, here wildcard file event paths are not case-sensitive.)
See also:
You must start OS/400 agents of version 9.00A or later as a multi-threaded process in order to use the new
file transfer protocol. Doing so requires the agent's JOBD parameter ALWMLTTHD to be set to "YES".
Note that IFS is only supported in combination with the new file transfer protocol.
The new file transfer is handled in threads which includes that you can only use the following file
systems:
l "Root" (/)
l QOpenSys
l User-defined
l QNTC
l QSYS.LIB
l Independent ASP QSYS.LIB
l QOPT
l Network File System
l QFileSvr.400
File Specification
The wildcard characters * and ? can be used in file and member names. * stands for any number of
characters (even no character) and ? for exactly one character.
No member name must be indicated if wildcard characters are used in the file name.
Detailed information about wildcards is provided in the chapter that describes partially qualified file
transfers.
For example:
AE/TEST(*)
or
AE/TEST()
To transfer all file members of TEST whose names start with the letter "A":
AE/TEST(A*)
To transfer all file members of TEST whose names consist of 3 characters, start with an "A" and end on
"B":
AE/TEST(A?B)
AE/TEST(ABC)
AE/TEST*
IFS (Integrated File System) is a UNIX-based file system. IFS files must always be specified with an
absolute path (starting from the root) and a final file name.
If the file specification includes a / character, the agent assumes that an IFS file is concerned.
For example:
/home/AE/test.txt
The wildcard characters * and ? can be used to process partially qualified file transfers. They can be used
as necessary within the path and/or file name.
In an individual file transfer, the path and file name are not case-sensitive. Therefore, the following two
specifications are identical:
235 | Chapter 9 AE and Target Systems
/home/AbC.txt
/HOME/ABC.txt
Uppercase and lowercase letters are distinguished in wildcard file transfers. The following two
specifications differ from each other:
/home/AB*
/home/ab*
(Note: An exception is QOpenSys, here wildcard file event paths are not case-sensitive.)
Attributes
Depending on the file system, you can specify all attributes that are supported by OS/400 for the file
transfer's destination. Note that you must separate several attributes with a comma. Invalid specifications
are ignored.
The OS/400 agent is able to transfer the file types *FILE and SAVF. Other ones such as *PGM, *RPG,
*CLLE must be collected in SAVF files before they can be transferred.
l If the destination file is not yet available, it will be created. The CRTPF command can be used for
this purpose. Therefore, the attributes that can be specified for the file transfer's destination are
parameters of this command.
If no attributes are specified, the file will be created with a record length of 80 bytes (default). In
wildcard file transfers, MAXMBRS(*NOMAX) is set by default (this means that the file has no
member limit). In individual file transfers, the system's default value is used for MAXMBRS.
l If the destination file already exists, its attributes can only be overwritten if the option "Keep original
file attributes" is set in the FileTransfer object. The CHGPF command is used for this purpose. You
can specify its parameters as the destination attributes in the FileTransfer object.
You can use the option Keep original file attributes in the FileTransfer object in order to transfer the
source's file attributes for the destination file(s). Doing so requires the source and destination agent to
have the same operating system (in this case OS/400) and Automation Engine version 9.00A (or later).
Otherwise, this setting will be ignored.
Examples:
This example creates a file with a record length of 256 bytes and enters the text 'FT File' as a description:
RCDLEN(256) TEXT('FT File')
The second example creates a file with a maximum number of members without a size limit and reuses
deleted records:
MAXMBRS(*NOMAX) SIZE(*NOMAX) REUSEDLT(*YES)
Additionally, you can use the specific parameter TRIM=YES in the Attributes field of the file transfer's
source. This option is not a real file attribute but a UC4-specific function. It automatically removes blanks
that are used at the beginning and end of each line of the files that should be transferred. This option cannot
be used in combination with the IFS file system.
Additionally, you can use the specific parameter TRIM=YES in the Attributes field of the file transfer's
source. This option is not a real file attribute but an AE-specific function. It automatically removes blanks
that are used at the beginning and end of each line of the files that should be transferred. This option cannot
be used in combination with the IFS file system.
The following two original IFS file attributes can be used in the destination file(s):
l ccsid - The CCSID used for the data in the file or the extended attributes of the directory.
l codepage - The code page derived from the CCSID used for the data in the file or the extended
attributes of the directory.
l readonly - Determines whether a read only file is created.
The following example creates a file with the codepage (ccsid) 550 which has the attribute READ-ONLY:
ccsid=550, readonly=YES
IFS: You can also pass the attributes of the original file on to the target file provided that this is defined in
the FileTransfer object. The attributes "readonly", "hidden", "system" and "archive" can also be used
across platforms or from Windows files. You can also override these attributes when you specify the target
file. The attributes "ccsid" and "codepage" only apply to OS/400 files.
See also:
FileTransfer tab
237 | Chapter 9 AE and Target Systems
Note that you must use the latest agent of version 9.00A. The library that includes the program files
must have been added to the system's library list. See: Installation Guide of the OS/400 Agent.
Supplied objects:
Program: STRUCAGENT
Command: STRUCAGENT
Command for starting any AE agent without creating a CL routine. The library that includes the agent must
be specified for this purpose. The agent's INI file must be specified either for the IFS or the QSYS file
system. It replaces the UCEX_RUN routine.
Parameters:
LIB(library)
MBR(QSYS INI file) or PATH(IFS path and INI-file name)
Examples:
Supplied objects:
Program: ENDUCAGENT
Command: ENDUCAGENT
Ends the agent that has been started from a particular library either immediately or in a controlled manner.
You can use it instead of the UCEX_END routine.
Parameters:
LIB(library)
OPTION(end)
Examples:
Supplied objects:
Program: MAKEMSL
Command: GENUCMSL
The command GENUCMSL can be used to convert an MSL file that is stored in the IFS file to a physical
message library. The agent can then use the generated message library. This procedure is not necessary
for installing the agent but it is helpful for updating or repairing the message library (if an error occurs).
Parameters:
PATH(IFS path and file name)
FILE(QSYS target file)
Examples:
Converts the file uc.msl which is provided in the IFS path '/tmp/' to the file UC4/MSL. The number of
imported message records is output:
Processing completed.
Lines processed '34579'.
Imported '11607' english messages.
Imported '11607' german messages.
The building and testing process of this example program is described below.
Procedure
l Host
l Install the Java SDK on a work station (can also be another one than the PeopleSoft server).
l Add the bin directory <SDK_HOME>\bin to the PATH environment variable. Enter "javac" in the
MS DOS prompt or the terminal to test if the installation was completed successfully. Javac is
output.
239 | Chapter 9 AE and Target Systems
l Select a Component Interface in the Application Designer and click Build -> PeopleSoft APIs. The
Java classes that should be build can be selected now:
CompIntfc.USER_PROFILE
CompIntfc.USER_PROFILE_IDTypes
CompIntfc.USER_PROFILE_IDTypesCollection
CompIntfc.USER_PROFILE_Roles
CompIntfc.USER_PROFILE_RolesCollection
CompIntfc.USER_PROFILE_Roles_RouteControls
CompIntfc.USER_PROFILE_Roles_RouteControlsCollection
CompIntfc.USER_PROFILE_Attributes
CompIntfc.USER_PROFILE_AttributesCollection
CompIntfc.USER_PROFILE_SYNC
CompIntfc.USER_PROFILE_SYNCCollection
CompIntfc.USER_PROFILE_Collection
CompIntfc.CompIntfcPropertyInfo
CompIntfc.CompIntfcPropertyInfoCollection
l Deactivate the checkbox for COM Type Library generation and select a folder in the field Java
classes in which the files can be generated. The Java files are generated in a selectable directory in
PeopleSoft/Generated/CompIntfc.
l Create a folder and copy the file psjoa.jar, the directory pscitester and the directory PeopleSoft to it.
The PeopleSoft directory was specified while you created the Java classes. The directory is
structured as follows:
./psjoa.jar
./pscitester/pscitester.java
./PeopleSoft/Generated/CompIntfc/CompIntfcPropertyInfo.java
./PeopleSoft/Generated/CompIntfc/CompIntfcPropertyInfoCollection.java
./PeopleSoft/Generated/CompIntfc/ICompIntfcPropertyInfo.java
./PeopleSoft/Generated/CompIntfc/ICompIntfcPropertyInfoCollection.java
./PeopleSoft/Generated/CompIntfc/IUserProfile.java
./PeopleSoft/Generated/CompIntfc/IUserProfileIdtypes.java
./PeopleSoft/Generated/CompIntfc/IUserProfileIdtypesAttributes.java
./PeopleSoft/Generated/CompIntfc/IUserProfileIdtypesAttributesCollection.java
./PeopleSoft/Generated/CompIntfc/IUserProfileIdtypesCollection.java
./PeopleSoft/Generated/CompIntfc/IUserProfileRoles.java
./PeopleSoft/Generated/CompIntfc/IUserProfileRolesCollection.java
./PeopleSoft/Generated/CompIntfc/UserProfile.java
./PeopleSoft/Generated/CompIntfc/UserProfileIdtypes.java
./PeopleSoft/Generated/CompIntfc/UserProfileIdtypesAttributes.java
./PeopleSoft/Generated/CompIntfc/UserProfileIdtypesAttributesCollection.java
./PeopleSoft/Generated/CompIntfc/UserProfileIdtypesCollection.java
./PeopleSoft/Generated/CompIntfc/UserProfileRoles.java
./PeopleSoft/Generated/CompIntfc/UserProfileRolesCollection.java
./PeopleSoft/Generated/CompIntfc/IUserProfileRolesRoutecontrols.java
./PeopleSoft/Generated/CompIntfc/IUserProfileRolesRoutecontrolsCollection.java
./PeopleSoft/Generated/CompIntfc/UserProfileRolesRoutecontrols.java
./PeopleSoft/Generated/CompIntfc/UserProfileRolesRoutecontrolsCollection.java
./PeopleSoft/Generated/CompIntfc/IUserProfileCollection.java
Chapter9 AE and Target Systems | 240
./PeopleSoft/Generated/CompIntfc/UserProfileCollection.java
./PeopleSoft/Generated/CompIntfc/UserProfileSync.java
./PeopleSoft/Generated/CompIntfc/UserProfileSyncCollection.java
l Change to this directory by using the MS DOS prompt or the terminal and set the CLASSPATH:
javac pscitester/pscitester.java
java pscitester.pscitester
If this message should not be displayed, copy the file pstools.properties from the PeopleSoft server
to the current directory.
The two functions PS_SET_BINDVAR and PS_RUN_PROCESS interact with each other and can be
used as described below:
l PS_SET_BINDVAR replaces a value that you can either predetermine in AE Script or retrieve via a
Run Control ID.
l Subsequently, you can call the script function PS_RUN_PROCESS in order to start and monitor a
process. In doing so, bind variable values are considered.
Using this function requires the PeopleTools database to be configured. The individual steps are explained
in the installation chapter.
Automic strongly recommends extensive tests being made for jobs that replace values for bind
variables before they are used in the production system. The values have a particular format (such as
the date format) that must be kept. Extensive testing is essential because the particular spelling can
differ and cannot be checked.
Usually, a Run Control is a single database record in the PeopleSoft database. It can also comprise
several data records. Unique Run-Control identification is guaranteed with the two keywords OPRID (User
ID) and RUN_CNTRL_ID.
Use
AE provides the function PS_MODIFY_RUNCONTROL which can be used to modify Run Controls.
Modification in this case refers to an individual data record. If several data records of Run Controls need to
be maintained, make an individual PS_MODIFY_RUNCONTROL call for each modification. The AE
procedure differs from online maintenance in PeopleSoft.
Examples
Example 1
A user wants to process the SQR report "Employee Turnover Analysis" and therefore creates the Run
Control "myRunControl". After adding the Run Control, the parameter fields required for the report are
entered and stored. The relevant fields are FROM_DATE and THRU_DATE.
Chapter9 AE and Target Systems | 242
AE can automate this modification by retrieving the user ID from the PeopleSoft job's Login object.
PS_MODIFY_RUNCONTROL RUNCONTROLID='myRunControl',RECORDNAME='RUN_CNTL_
HR',FIELDNAME='FROM_DATE',FIELDVALUE='20050306'
PS_MODIFY_RUNCONTROL RUNCONTROLID='myRunControl',RECORDNAME='RUN_CNTL_
HR',FIELDNAME='THRU_DATE',FIELDVALUE='20060306'
Example 2
The following example shows a Run Control for currency conversion. In this case, fields and values are
provided in list form (currency list).
In order to change currency values, a key must also be assigned when calling PS_MODIFY_
RUNCONTROL
PS_MODIFY_RUNCONTROL RUNCONTROLID='myRunControl',RECORDNAME='RUN_CNTL_CC2_
EO',FIELDNAME='RATE_MULT',FIELDVALUE='100',KEYNAME(1)='CURRENCY_
CD',KEYVALUE(1)='EUR'
The data of the currency list is provided in level 1. Thus, indicate the number 1 in the parameters
KEYNAME(1)= and KEYVALUE(1)=.
l Assigned values are only occasionally checked. Thus, wrong values can exist in the PeopleSoft
database and cause one or several components to no longer work online. This error can only be
removed with SQL commands.
l Although no inconsistency will arise in the data model, values can exist in the database which
cannot be recorded online. PeopleCode prohibits the collection of a running date from the previous
year, for example. Use the function PS_MODIFY_RUNCONTROL to enter this kind of data.
l PS_MODIFY_RUNCONTROL does not create new Run Controls because the relevant database
table fields are also filled by PeopleCode and can depend on each other. Neither AE nor the
PeopleCode interfaces for AE recognize this dependency.
l In fact, dependencies between the fields of a Run Control are not considered and can lead to
malfunctions in the PeopleSoft application.
l Run Controls can write more than one data record. For example, the component RUN_CNTL_CC_
EO (Currency Conversion) writes to the tables PS_RUN_CNTL_CC1_EO and PS_RUN_CNTL_
CC2_EO. It is the user's personal responsibility to fill the data records with the correct names.
See also:
PS_MODIFY_RUNCONTROL
If you are running SAP solutions and need an effective job scheduling solution, consider the Automation
Engine. Enabling the fast, seamless integration of SAP applications into enterprise scheduling, the
Automation Engine supports all SAP applications, including SAP R/3, mySAP Business Suite, and SAP
NetWeaver, as well as industry-specific solutions for telecommunications, banking and more. As a result,
IT processes in any SAP application can be centrally managed and monitored seamlessly alongside the
rest of your global operation.
Because it is specially designed as an Enterprise Scheduler, AE does not require middleware components
such as a JAVA Application Server and provides top scheduling functionality for your whole IT
infrastructure. The system is directly linked to the SAP NetWeaver component SAP Web Application
Server, accelerating the design and implementation of jobs for SAP applications. Reports, variables, and
other necessary parameters are made available via the Automation Engine's easy-to-use, intuitive
graphical user interface (GUI). Problems resulting from manual errors, typos, or outdated report lists are
effectively eliminated. Jobs are created using a simple drag & drop functionality, and visualized graphically
to ensure clarity and simplify management and control.
In addition to offering SAP users total job scheduling automation, the Automation Engine further increases
the productivity of SAP business solutions. By centrally tracking and automating background jobs and
processes of SAP solutions, the Automation Engine ensures that performance is improved by optimizing
background processing and reducing system interruptions and errors.
See also:
Chapter9 AE and Target Systems | 244
People Integration
This section about SAP NetWeaver is meant to support end users. This is done via user-friendly interfaces
which move responsibilities for process starts with correct parameters to the particular operating
departments.
AE functions
Integration in SAP Enterprise Portal (iViews)
Information Integration
Warehouse Management is the core of this section. Data loading processes and process chains are under
AE control and are even integrated in other platforms using superordinate processes. Automatic analysis
and display of the individual processes of a chain to the lowest level are taken for granted.
AE functions
Scheduling Data Loading Processes
245 | Chapter 9 AE and Target Systems
Process Integration
This section is about integrating business processes in the SAP Exchange Infrastructure (SAP XI). Being
the Integration Broker, messages can release and re-release processes directly via the SAP XI Standard
Adapter.
AE functions
Monitoring SAP XI Communication Channels
Application Platform
The application platform is the basis of all SAP applications. AE uses ABAP and Java in order to provide
useful functions.
AE functions
ABAP:
Executing Jobs in ABAP Stack (CCMS)
Child Processes
Intercepted Jobs
Evaluating the Application Return Code of SAP Steps
Variant Management
BDC Management
Spool Management
Handling Events
Transferring SAP Jobs
Transferring SAP Calendar Definitions
JAVA:
J2EE/JMX Agent for SAP NetWeaver
JMX in SAP NetWeaver
Executing Jobs in Java Stack (JXBP)
Lifecycle Management
This section provides the means for controlling and monitoring all solutions on the basis of the SAP
NetWeaver technology. AE can access all monitored data while also supplying it own data.
AE functions
Monitoring Monitors
Chapter9 AE and Target Systems | 246
Application Development
AE functions
ABAP:
CallAPI for SAP
JAVA:
AE.ApplicationInterface
People Integration
Introduction
The AE iViews for job scheduling supply current information about job scheduling to the SAP Enterprise
Portal component of the SAP NetWeaver so that critical business processes can be started by end users.
Tasks can be started and monitored directly from the SAP Enterprise Portal. End users can start important
processes and set the corresponding parameters if necessary. No knowledge about job scheduling is
required. Each user can monitor the current status of the background processing via the SAP Enterprise
Portal. Started processes are then managed and monitored by the Automation Engine. The current status
is made available to the user via the iView technology.
See also:
Starting Tasks
Monitoring Activities
Starting Tasks
With the iView "ActivateObject", users can start executable objects in AE. For that purpose, the name of
the object and the description of the task need to be specified in the personalization settings. It is also
important to indicate the system alias which must comply with the term the administrator defined in the
system settings.
The object can now be activated with the Start button. The iView shows the run number (RunID) of the
current or last execution. Follow the link "Detail" and the Detail Window provides further information upon
start time and return code, similar to the UserInterface.
The iView generates an input mask if user input is required for the execution of an object (e.g. if the script
element :READ is used). Red stars "*" symbolize mandatory fields.
See also:
Monitoring Activities
Monitoring Activities
The iView "Activities" shows the activities of the AE system that were started by the particular user. As in
the UserInterface are task priorities, start times and states available.
Information about the activities can only be read. Changes such as canceling or editing tasks are not
possible via iView.
Chapter9 AE and Target Systems | 248
It is possible to adjust the view to your personal requirements by hiding some of the columns, for example.
Do so in the personalization settings and note that it is important to indicate the system alias. It must
comply with the term the administrator specified in the system settings.
See also:
Starting Tasks
249 | Chapter 9 AE and Target Systems
Information Integration
An InfoPackage is an object which describes the selection conditions for requesting data from a source
system. This object can be scheduled and then controls the data-loading process from the source system.
InfoPackages can be externally controlled using a standard interface. AE uses this interface.
Operations can be displayed in your BW system via process chains. A chain includes a start process,
individual application processes and collected processes. Including InfoPackages is also possible.
AE can be used to start and monitor process chains. The individual processes are then displayed in the
UserInterface's Activity Window. Process logs are stored in the report of the AE Job object.
Chapter9 AE and Target Systems | 250
The transaction RSCRM_BAPI can be used to create queries for your BW system. The result is stored
either in a table or a file. Use AE to make queries either regularly or upon request.
In the first step, log on to the BW system and call the transaction RSCRM_BAPI. Schedule the query to
be automated with AE once. Each query has its own batch ID. Open the batch monitor and copy this
number.
Now create a SAP job in your AE system. Use the Form tab or write the following function directly into the
Process tab:
R3_ACTIVATE_REPORT REP='RSCRMREPORT_BAPI'
Now change to the SAP tab and enter the copied BatchID in the field Job name.
Chapter9 AE and Target Systems | 252
This Job object can now be integrated in your processing (e.g. in a Schedule object) and will process the
query at the point in time you define.
It is a SAP peculiarity that the batch monitor does not display all query executions but only the last one.
Business Objects can be used to create reports of any kind from your data. Parameters are used to define
the contents of these reports. With AE, you can create automated reports, send them by e-mail or store
them as files. This function is provided by an MBean which is called by the AE agent for J2EE/JMX.
Log on to Business Objects with the user specified in the job's Login object. The login type to be used
is "Enterprise".
See also:
The MBean "CrystalReports" is supplied with the JMX agent and must be installed.
MBean Description
Name UC4:name=CrystalReports
Attribute "StatusCheckInterval" - Interval in which the report status is checked
Operations "executeAndMail" - Executes a report and sends its output file by mail
Procedure
Two steps are required to execute a report:
1. Set the parameter for the operation to be called. Use the function JMX_COMPOSITE_ADD
because a list of values is expected. The parameter for report specifications contains values such
as the Web Service's address and the report name.
2. Now call the required operation using the function JMX_INVOKE.
The MBean "CrystalReports" is automatically registered by the JMX agent. It is not necessary to call
the function JMX_CREATE_MBEAN.
Example
The "Smith" company processes a report about orders made by customer number 55355. The result (Excel
sheet) is sent to Mr. Black by e-mail.
The function JMX_COMPOSITE_ADD creates the three parameters "report", "settings" and "mail".
Several values are assigned to each of these parameters and subsequently they are assigned to the
operation "executeAndMail".
! Report details
JMX_COMPOSITE_ADD
NAME="report",KEY="URL",VALUE="http://localhost:5555/dswsbobje2/services"
JMX_COMPOSITE_ADD NAME="report",KEY="REPORT",VALUE="Main_Folder/Customer_
List/3000 - SMITH - Sales_Orders"
JMX_COMPOSITE_ADD NAME="report",KEY="FORMAT",VALUE="EXCEL"
JMX_COMPOSITE_ADD NAME="report",KEY="MAIL_SUBJECT",VALUE="Customer Number
55355"
JMX_COMPOSITE_ADD NAME="report",KEY="MAIL_BODY",VALUE="Dear Mr. Black,
Please find enclosed the report for customer number 55355.
It contains all orders made in December.
Best regards
Jack White
JMX_COMPOSITE_ADD NAME="report",KEY="MAIL_FROM",VALUE="white@smith.com"
! Report attributes
JMX_COMPOSITE_ADD NAME="settings",KEY="Customer_number",VALUE="55355"
JMX_COMPOSITE_ADD NAME="settings",KEY="Date_area",VALUE="20061201;20061231"
! Email receiver
JMX_COMPOSITE_ADD NAME="mail",KEY="black@smith.com",VALUE="TO"
! Calling the MBean
JMX_INVOKE
OPERATIONNAME="executeAndMail",MBEAN="UC4:name=CrystalReports",PARAMS="repo
rt,settings,mail"
255 | Chapter 9 AE and Target Systems
Parameters
As the above example shows, values are allocated to a keyword and then assigned to the relevant
parameter. In doing so, the JMX agent can distinguish report settings.
Parameter Description
Report Available keywords:
details
l "URL" - Address of the Web service
l "REPORT" - Name and path of the report
l "FORMAT" - File format for the report output ("CRYSTAL_REPORT", "EXCEL",
"WORD", "PDF", "RTF", "TEXT_PLAIN", "TEXT_PAGINATED", "TEXT_TAB_
SEPARATED", "TEXT_CHARACTER_SEPARATED", "EXCEL_DATA_ONLY",
"TEXT_TAB_SEPARATED_TEXT", "RTF_EDITABLE", "USER_DEFINED")
Specifically for the operation "executeAndMail":
Return Codes
After having successfully processed the Crystal Report, the JMX job returns code "0". In the case of an
error, it supplies either "1" if an error occurs when calling the operation or "3" if an MBean program error
occurs. The report shows detailed information about the cause of the error.
l "0" - Active
l "9" - Pending (the job has not yet started)
l "1" - Successfully ended
l "3" - Canceled
l "8" - Job execution has been stopped
See also:
Process Integration
SAP XI adapters are used to exchange data with the SAP Exchange Infrastructure. They transform
messages so that they can be forwarded via communication channels.
The SAP agent provides functions which can be used to handle adapters:
The functions XI_GET_CHANNEL and XI_SET_CHANNEL can be used in SAP jobs. Information about
communication channels is stored as an XML document in the job report. The script elements for XML
format this data.
Communication channels can also be monitored via Event objects of type "Console". An event is triggered
whenever the status changes.
Activate the XI interface with the SAP Executor's INI-file parameters in the section [SAP_XI].
A Login object with valid login data is required for accessing the XI system. The XI user must be
authorized to control the XI communication channels. We recommend using different Login objects for
SAP and XI system if both are installed on the same host. Otherwise, the login entry is not unique.
AE JCL for XI
Script elements Description
XI_GET_CHANNEL Lists communication channels
XI_SET_CHANNEL Starts and stops communication channels
257 | Chapter 9 AE and Target Systems
Application Platform
ABAP
Variant Management
Variants facilitate processing in SAP as jobs can be processed with ready-set input values. Automic
Supports the use of variants by offering various functions for reading, copying or modifying variants.
Deleting and listing them are also possible.
It is important that variants are checked and set just before an ABAP program is processed in order to
exclude error sources.
BDC Management
Batch input is a proven technique for transferring mass data from external systems to the SAP system.
The batch input sessions used contain one or several transaction calls including transaction data. AE can
read, process and monitor these sessions until they end. AE can also directly call transactions whose data
has been defined in an AE job (call transaction).
Chapter9 AE and Target Systems | 258
Spool Management
AE is able to handle and process job outputs. This is done via Job object specifications and script
elements.
The SAP tab in SAP jobs can be used to enter spool list recipients. All spool requests created by the job
are sent to the recipients specified in this tab.
259 | Chapter 9 AE and Target Systems
Event Management
Modern business applications demand that process management is event aware. Traditional predefined
and time-based process control systems do not meet the requirements of modern complex application and
system environments and their ever-increasing interdependencies.
With AE.Event, AE offers a sophisticated solution for event-aware process management. Processing can
be performed depending on a variety of real-time system conditions and events. AE.Event offers this
functionality for a variety of OS and application platforms. Definition and modification of events takes
place centrally and is platform-independent, ensuring ease of use by the authorized user.
Chapter9 AE and Target Systems | 260
The SAP background control also provides event control. Events can trigger appropriate SAP background
processes. SAP events are enhanced with an AE implementation, enabling maximum business process
flexibility and extended management functionality.
SAP Event
A SAP event is a flag that is defined in transaction SM62. A defined event can be triggered (manually, with
an OS job or an ABAP program), causing the execution of a background process.
l System events
Defined by SAP and automatically triggered if system events occur such as the activation of a new
operation mode. System events cannot be modified.
l User events
Defined by users. These events must be triggered by ABAP or external programs. For example, an
external program can signal to the SAP background processing that external data is ready to be
imported to the SAP system.
Automic Support
Automic Supports SAP events and integrates them into its centralized process management. This solution
can be helpful if the SAP background control works with a large number of defined events and a conversion
to an AE implementation with workflows and AE.Event would be too complex and time-consuming.
For most applications it makes sense to replace SAP events with the AE solution.
AE can use SAP events for its process management. The execution of objects can depend on the
occurrence of a SAP event. For example, particular processes can depend on a successful data import.
AE can trigger SAP-defined events. The full AE functionality is available for defining trigger conditions and
points in time for a SAP event. Upon the occurrence of such an event the appropriate processes in the
SAP system are started.
It is also possible to use an Event object of type "Console". The agent monitors the triggered SAP events
and forwards the information to the Console events. Filters can be used to specify SAP events which
should trigger subsequent processing or an information message.
261 | Chapter 9 AE and Target Systems
See also:
Criteria Manager
The SAP Criteria Manager can be used to define conditions for the Event History, Event History Reorg and
job interception in the form of profiles.
You can directly access the Criteria Manager in the SAP job.
Functions:
In the Form tab, click on the button to open the Criteria Administrator.
AE Job objects can be used to define new SAP jobs and also to transfer existing SAP jobs to AE. The
advantage is clear: The job must only be created once.
Jobs can only be transferred if there is a UserInterface connection to the SAP system.
Open a Job object and select the Form tab. The upper left edge shows several buttons. Click the symbol
. A window opens in which you can enter filters for SAP jobs such as name or job number etc.
Now click on the button Find. All SAP jobs that correspond to the specified filter criteria are listed.
Highlight the job to be transferred to AE and Click OK tab.
The Job object adopts the statements the job contains. Parameters such as the variant or output device
are automatically added as shown below:
263 | Chapter 9 AE and Target Systems
If jobs are transferred to AE, they are not removed from the SAP system. Job settings are read and
copied to the AE Job object.
This method of transferring jobs is very useful if only a few jobs are affected. If many jobs are to be
transferred, Automic recommends using the AE.ApplicationInterface.
If you plan to transfer masses of jobs, do so carefully and get a general idea first. In most cases, the
number of jobs has increased in the course of time; they can often be reworked, simplified or even
replaced.
See also:
SAP provides the transaction SCAL for defining factory calendars. The AE interface contains an ABAP
program which can be used to export these calendars as XML files. These files can then be transferred to
your AE system. Special calendar definitions are considered.
The ABAP program "/SBB/UC4_CALE_GET" can be opened as soon as the AE interface has been
imported (refer to the installation guide for SAP agents). Enter the factory calendar's ID and information
concerning your AE system as shown below:
Chapter9 AE and Target Systems | 264
The two checkboxes on bottom of the above form serve to determine whether the calendar definition
should be generated as a spool list or XML file. ln the latter case, a dialog opens in which the folder the can
be selected to which the XML file should be stored.
Import the XML file to your AE system. The factory calendar is now provided in the form of a Calendar
object.
265 | Chapter 9 AE and Target Systems
See also:
Calendar
Importing and Exporting Objects
AE JCL for SAP
Job Management
AE and its functions can be used in various ways in order to support processing in SAP. Job objects are
the basis for defining statements which should be processed in the SAP system.
The Form tab is the graphical interface that is connected to the SAP system and facilitates the definition
of processing statements through the direct selection of data (e.g. variants).
Chapter9 AE and Target Systems | 266
l Jobs
l Reports
l External commands
l External programs
l Intercepted jobs
l etc.
The Activity Window in the UserInterface shows task states. Tasks can be restarted or canceled if
requested. Child processes are also displayed. When a task has ended in AE, you can access its report
which also includes SAP system messages.
It is not only the Job object which facilitates processing in the SAP system. The object type
"RemoteTaskManager" can also be used to monitor and start jobs in SAP. It is especially useful for
intercepted jobs.
267 | Chapter 9 AE and Target Systems
See also:
Child Processes
Intercepted Jobs
RemoteTaskManager
SAP jobs can contain one or several subjobs (e.g. in process chains). AE can display these child
processes in its Activity Window. They have their own statistical records and reports.
The parent-child function can be activated in the transaction "SE38" using the program INITXBP2.
Chapter9 AE and Target Systems | 268
Set the parameter REPLICATE=YES in the relevant script elements to have the child processes
replicated in your AE system.
Note that child processes can also have child processes. These can be seen in the Parent column of
the Activity Window and the statistical overview.
The item "Status text" in the Detail Window of child processes shows the SAP system's instance number.
SAP jobs have a special tab called Child Post Process. It is processed when an individual child process
ends. In doing so, the result can immediately be analyzed.
A statistical record and a report are created for each child process. Both can be called via the statistical
overview of the parent process.
The report is structured in the same way as the report of the top parent process but it contains only
information about the particular process step.
269 | Chapter 9 AE and Target Systems
The job report settings are also valid for the top parent process (database, file, on error only). Additionally,
the report length can be specified using the parameters JOBLOG=, PROCESSLOG= and LONGTEXT= of
the script elements BW_ACTIVATE_CHAIN and BW_RESTART_CHAIN.
See also:
Intercepted Jobs
Filter criteria can be defined in the table TBCICPT1 of SAP jobs. These criteria include the specification of
a client, job name and user. If a user indicated in this table starts a job which meets the specified filter
criteria, the job status changes to "Scheduled" regardless of the defined start mode (e.g. "Immediately").
The Intercept function can be activated in the transaction "SE38" using the program INITXBP2.
Click the symbol in the "Form" tab of SAP jobs to access the table and maintain its entries (XBP 2.0)or
use the Criteria Manager (XBP 3.0).
Table entries can also be changed dynamically using the script element R3_MODIFY_
INTERCEPTION.
You can specify the maximum number of jobs which can run parallel when you start intercepted jobs
individually with a group being indicated as start type.
See also:
Form tab
Example:
:SET &xmlreport# = XML_OPEN(REPORT,,SSTP)
! Reading the first element
:SET &job# = XML_GET_FIRST_CHILD(&xmlreport#)
:SET &name# = XML_GET_NODE_NAME(&job#)
:PRINT "First element: &name#"
! Reading the second element
:SET &child# = XML_GET_FIRST_CHILD(&step#)
! Reading the step's children
:WHILE &child# <> ""
:SET &name# = XML_GET_NODE_NAME(&child#)
! Reading the application return code
:IF &name# = "RC"
: SET &applrc# = XML_GET_NODE_TEXT(&child#)
: PRINT "Applicationreturncode: &applrc#"
:ENDIF
:SET &child# = XML_GET_NEXTSIBLING(&child#)
:ENDWHILE
:XML_CLOSE
"Appl-RC n/a" is written to the job report if a step has no application return code.
Use the script function PREP_PROCESS_REPORT to read and further process application return
codes.
271 | Chapter 9 AE and Target Systems
In the following example, the ABAP ZZ_TEST_APPL_RC is called in a job once. Its application return
code should be read.
! Select the line containing ABAP and the application return code.
:SET &HND# = PREP_PROCESS_REPORT(,,REP,"*ZZ_TEST_APPL_RC*Appl-RC*")
:PROCESS &HND#
: SET &ZEILE# = GET_PROCESS_LINE(&HND#)
! Find the exact position in a line where the "Appl RC" starts.
: SET &POS_STR# = STR_FIND(&ZEILE#,"Appl-RC")
! The application return code is located after 8 characters.
: SET &POS_ARC# = ADD(&POS_STR#,8)
! Read the application return code.
: SET &ARC# = STR_CUT(&ZEILE#,&POS_ARC#)
! Check if the step really supplies an application return code.
: IF &ARC# <> "n/a"
! The read value is a string and must therefore be converted to a
number.
: SET &ARC# = CINT(&ARC#)
! Beyond this point there are any script statements which further
process the application return code.
: PRINT &ARC#
: ENDIF
:ENDPROCESS
The application return code is not available with the XBP interface.
JAVA
Java Management Extensions (JMX) is a technology that provides a series of instruments for handling and
monitoring applications, devices and networks.
The Automation Engine provides a JMX agent that can be used to integrate Java applications into
enterprise-wide processes. Connections are established via an MBean Server and several functions
provide access to these MBeans.
SAP NetWeaver's standard supply contains more than 1600 MBeans that can directly be handled. Java
does not require predefined proprietary "jobs". No Scheduler is required within Java because AE takes
over this function. Due to this standard, this function is also executable on Java sources of other vendors.
A Requirements Checklist in the documentation provides information about all supported application
servers.
AE Script elements can be used to register, list and remove MBeans. MBean functions can be called, and
attributes and information can be read and set.
The Job object's Form tabprovides a graphical interface in which all functions are available.
See also:
All the Visual Administrator's functions are provided via MBeans and can also be used in AE.
Limitation: AE cannot use JMX operations or attributes that use SAP-specific classes (for example,
com.sapmarkets.bam.application.User) or complex data structures such as lists, maps, or arrays.
The AE MBean Browser in the JXM job displays a maximum of 300 MBeans. A search filter facilitates the
search for particular MBeans (right-click the tree structure -> apply filter...).
For example: The number of unsuccessful login attempt should be queried. The first illustration shows this
value below the node Security -> Aggregated Data. Therefore, you can filter for "*Security/Aggregated
Data/UnsuccessfulLogonAttemptsCount*" in the MBean Browser. Exactly one MBean is returned in the
AE environment.
Here you can select one of the following attributes: "Value", "MaxValue" or "MinValue". An AE job can be
scheduled that queries the number of error messages periodically.
273 | Chapter 9 AE and Target Systems
Services are listed in the Visual Administrator under Server -> Services:
You can filter "*SAP_J2EEServicePerNode*" in order to have all services displayed in the MBean
Browser. The returned MBeans correspond to the corresponding services.
All services have a "start" and "stop" method. Select the entry "telnet" from the tree structure. Then select
the method "stop". Click OK to generate an AE job that stops the Telnet service:
Chapter9 AE and Target Systems | 274
AE provides the following opportunities for the handling of jobs in the SAP Java Scheduler:
First, the Java job definition must be deployed in the Java Schedule to make it visible to the SAP agent.
Subsequently, you can use a Job object to create an instance from an existing job definition.
A SAP Job object always belongs to exactly one Java job definition.
Create a SAP Job object for Java Scheduler jobs and select a SAP agent plus a Login object. Use the
Form tab to select the job definitions to be applied. The lower part of the tab automatically displays the
corresponding parameters.
l Delete after x days - The job log is deleted from the Java Scheduler after x days.
l Do not remove - The job log is not removed from the Java Scheduler.
l Use default settings - The period after which the job log is deleted from the Java Scheduler depends
on the settings made in the job definition.
The job log is always deleted together with the job instance.
Installation
Creating the external Schedulers in SAP:
Special Cases
In an environment of several nodes, the Java Scheduler jobs are processed on the node on which the
Scheduler Service is active. If this node is deactivated or fails, job processing continues on a different
node.
The agent periodically attempts to re-establish the connection to the Java Scheduler if it has been lost
during job execution. The job remains active in the AE system and obtains the status "Waiting for remote
system".
The job aborts if calling the Java Scheduler results in an error. In this case, there is no report about the
Java job's statistics. The error is logged in the Job object's report "Agent Log" and in the SAP agent's log
file. The job aborts with return code 403.
Restarts are not possible. The complete job starts in the Java Scheduler because there is no AE JCL.
Return Codes
SAP status Job return code in AE
COMPLETED 0
HOLD
RUNNING
SCHEDULED
STARTING
UNKNOWN
ERROR 501
CANCELED 502
Lifecycle Management
Monitoring Monitors
SAP offers various monitors that can be used to monitor the SAP environment including corresponding
components. The function R3_GET_MONITOR reads the provided information and makes it available for
further processing.
The following example reads the monitor "All Monitoring Contexts" and stores its content to a text file:
R3_GET_MONITOR MONITOR_SET="SAP CCMS Technical Expert Monitors",
MONITOR="All Monitoring Contexts", FILE="C:\UC4_and_
SAP\AllMonitoringContexts.txt"
Use the script function PREP_PROCESS if only parts of the monitored information should be filtered.
Based on these filter specifications, the script function supplies a data sequence which can then be
277 | Chapter 9 AE and Target Systems
processed. The SAP agent lists the monitor's information in columns. The following example filters lines
with the content "Enqueue". Four columns are used for further processing:
:SET &HND# = PREP_PROCESS("SAP01","R3MONITOR","*Enqueue*","MONSET=SAP CCMS
Technical Expert Monitors","MONNAM=All Monitoring Contexts","COL=FILE","UC_
LOGIN=LOGIN.SAP")
:PROCESS &HND#
: SET &Context# = GET_PROCESS_LINE(&HND#, CONTEXT)
: SET &Name# = GET_PROCESS_LINE(&HND#, NAME)
: SET &Value# = GET_PROCESS_LINE(&HND#, VALUE)
: SET &Status# = GET_PROCESS_LINE(&HND#, STATUS)
: PRINT "&Context# --- &Name#"
: PRINT "Value: &Value#"
: PRINT "Status: &Status#"
: PRINT ""
:ENDPROCESS
The above example calls the function R3_GET_MONITOR in the background. Refer to the document that
describes the script function PREP_PROCESS for more detailed information.
The RemoteTaskManager object also provides monitoring functions in the SAP system. Depending on
the specified filter criteria, it displays jobs triggered by SAP.
Events are significant in SAP's background processing. Event objects of type "Console" can be used to
monitor SAP events.
The agent periodically polls the SAP system for occurred SAP events and reports them to the active
Console events in an interval the administrator has defined in the variable UC_HOSTCHAR_
DEFAULT, key JOB_CHECKINTERVAL.
Filters are available which serve to define the SAP events to be monitored. The statements defined in the
!Process tab initiate further processing steps as they are processed when an agent reports a SAP event.
Use the function GET_EVENT_INFO in the !Process tab. It supplies details about the SAP event that
has occurred.
Chapter9 AE and Target Systems | 278
Several filter lines can be specified in the table in the tab's lower area. !Process is processed if a SAP
event is triggered which meets at least one filter specification. !Process is NOT processed several times if
several filter specifications are met.
Overlapping filters can occur if several Console events are used. The agent would then notify all Console
events about the relevant SAP event.
AE does not only provide Console events but also functions which can be used to handle SAP events
via Job objects. R3_GET_EVENT waits for a SAP-triggered event and R3_RAISE_EVENT can be
used to trigger a SAP-defined event.
Procedure
1. Create an Event object of type "Console".
2. Open it and switch to the Console tab. Specify the agent that is connected to the SAP system and
the filter criteria for the SAP events.
3. In the !Process tab, enter the script statement to be processed if a SAP event occurs which meets
the specified filter criteria. The script function GET_EVENT_INFO supplies details about the SAP
event.
4. If required, fill in the other tabs of the Console event and store the object.
5. Now activate the Console event in order to include SAP events in your processing.
Notes
XBP 3.0 is required in order to monitor SAP events of event type "Console". The administrator can
specify the XBP 3.0 interface in the SAP agent's INI file.
279 | Chapter 9 AE and Target Systems
If the agent loses its connection to the SAP system, SAP events can accumulate as the agent is not able
to forward them to the Console events. As soon as the connection has been re-established, the agent
checks if there are SAP events and reports them to the affected Console events.
Due to the fact that huge data amounts can be involved, the agent does not read all SAP events at
once. The administrator can define the required handling in the agent's INI-file parameter
maxEventTimeSpan= .
The agent cannot monitor SAP events if it is terminated. After a restart, it retrieves the point in time when it
last monitored SAP events and also reports SAP events that occurred during its termination.
All agents connected to the SAP system poll SAP events. This means that each agent reports all SAP
events which occurred to the Console events.
If the SAP system's time runs behind AE's system time, the first SAP events cannot be received if
they occur in the gap between the two different times.
See also:
Event Management
Sample Collection - Reaction to External Events
AE can be used to read SAP application logs as well as the system log.
Both log types supply information about processing in general and possible error situations. AE provides
functions which serve to read the corresponding entries using filters, and store them in a report or file. The
result can be analyzed using PREP_PROCESS and PREP_PROCESS_FILE.
A particularity that applies to the system log is that aborted jobs can store their last system log lines in the
special SLOG report. This makes error analyses much easier. The number of lines to be kept as well as
other settings are defined in the SAP agent's Connection object.
The SAP Solution Manager is supplied with all SAP systems starting from the Web Application Server
(WAS) 6.10. It is meant to become the central monitoring software for SAP systems, but also for external
applications. This should provide for the centralization of all services within a SAP environment.
With the SAP agent, AE integrates the entire enterprise-wide process management in the SAP Solution
Manager.
Chapter9 AE and Target Systems | 280
Monitoring
The essential functionality of the SAP Solution Manager is centralized monitoring. The monitoring part
again distinguishes two main areas:
l Operations
l Business Process Monitoring
While the first one primarily deals with technical processes and system status, the area of business
Process Monitoring helps to design and monitor logical business processes in and around SAP systems.
Operations Monitoring
In the area of operations monitoring the SAP Solution Manager uses the existing monitoring infrastructure
within the CCMS (Computing Center Management Systems). The states of systems and processes are
displayed in a tree structure.
So far these monitors have been limited to SAP systems. Now SAP provides interfaces for external
applications for reporting status data to the Solution Manager and for displaying them in the monitoring
tree.
The SAP agent uses such an interface in order to access the monitor structure in the CCMS. It uses a
Connection object for ABAP Basis. Several script elements can be used to create and modify attributes or
delete nodes:
The Form tab of SAP jobs can be used to access nodes. A separate browser displays the monitor "All
Monitoring Contexts" of the monitor set "SAP CCMS Technical Expert Monitors". The node colors
represent the current alarm status.
281 | Chapter 9 AE and Target Systems
AE centrally controls processes on all of an enterprise's systems and applications. The integration of AE in
the SAP Solution Manager provides the opportunity to represent and monitor enterprise-wide business
processes in a SAP system.
Chapter9 AE and Target Systems | 282
If an error occurs in a business process, the reason can be found immediately. The time for troubleshooting
is minimized, the business process can be restarted as quickly as possible.
Process Management
The Solution Manager will also be able to manage background processes. Currently, this function is
available using the transactions SM36 and SM37.
AE comprehensively supports this function. AE centrally manages and monitors the entire SAP
background processing. AE also combines these SAP processes with processes of all the enterprise's
other systems and applications.
SAP's System Landscape Directory (SLD) supplies an overview of installed software components. You
can configure the SAP agent in a way that it registers at the SLD whenever it starts.
7. Select the Connection object in the agent tab, field System Landscape Directory.
8. Store and close the Agent object.
The SAP agent now tries to register at the SLD whenever it starts. It can successfully start even if a
registration is not possible (e.g. due to incorrect connection parameters).
The SAP agent's log file contains a message which indicates whether the registration to the SLD was
successful.
SAP's operation modes support the optimal use of available system resources. Various specifications can
be defined for dialog and background processing, according to the time of day. No R/3 system restart is
required for this method of resource allocation.
AE also supports this SAP function. Use the script element R3_SWITCH_OPMODE to switch operation
modes for individual or all SAP application servers.
The result is the AE agent for SAP AM/BCA which provides comprehensive process management power
for banking transactions. AE integrates the new SAP solution into its centralized process management
Chapter9 AE and Target Systems | 284
and secures business processes at enterprise-wide level and across all platforms.
A particular feature of SAP Transaction Banking is that entire processes can be stored in the Customizing.
The process definition corresponds to a kind of JobPlan (tabular maintenance). These processes are
mainly called end-of-day processes.
When controlling these processes you must consider the following factors:
Process network
A process network is created and monitored via a menu function from within a process definition in
Customizing. It has a unique ID which must be specified for each run. A process network contains a set of
processes. A process is an application function which technically is always processed in two steps:
The entire application (including the monitoring part) can be processed synchronously or asynchronously.
Synchronous processing
The application function including monitoring is processed synchronously from within a function module
i.e. the function module ends synchronously with the application function.
Asynchronous processing
The application function and the monitoring are both started as background jobs with the monitoring job
always following the application job.
Paralleled processing (similar to IS-U/IS-T) is provided for particular processes (with mass data).
Unfortunately there is no basic functionality for this kind of request.
A process with parallelization creates parallel background jobs i.e. a parallel background job and a
subsequent monitoring job. If the process starts asynchronously, an additional parent job is created
(followed by a monitoring job) which is active for the entire runtime of the process.
Processes have an application return code. A normal technical status (e.g. Job ended) cannot sufficiently
ensure successful processing. The individual components of a process (function module, ABAP,
monitoring ABAP, etc.) are also written to an application log.
Process networks are integrated in dialog functions and initiated by them. Depending on the individual
application, processes are initiated synchronously or asynchronously (jobs running a long time are always
asynchronous).
285 | Chapter 9 AE and Target Systems
Requirements for AE
An AE workflow corresponds to the processing definition in SAP's Customizing. Workflow tasks represent
processes.
SAP's basic job control does not provide the appropriate means to control processes in AM/BCA.
Standard background jobs are not suitable for controlling individual processes as the application function's
monitoring part would not start. Thus, no application return code would be created.
Adjusting all application programs in a way that the monitoring function could run implicitly would have
been counterproductive. It would have resulted in many programs and the application return code would
have been communicated via the job log.
The alternative was to create a process network with an individual ID for each task in the SAP system
from within an AE workflow. This process network always contains only one process. If this process
starts via the process network, two asynchronous batch jobs are created in the SAP system, the
application function and the monitoring function.
New script elements are available in AE for controlling such processes (BCA_ACTIVATE_PROCESS).
In order to enable AE monitoring (status checks), SAP has extended its interface by a corresponding
function.
AE Functional Description
This function uses a single process in a process network, while also starting and monitoring it. When the
process ends, the process network also ends because it only contains this single process.
Single processes supply application return codes. AE can analyze them (e.g. in post script) and react to
them.
Processes of a process network write to application logs. Unfortunately, there is no 1:1 relation between a
process or process network and an application log.
Thus, the AE analysis of application logs provides different information.
This AE function can be used to select application logs according to particular criteria (the results are log
numbers). Application log messages and texts can then be read using these log numbers. Text outputs are
written to a text file or report.
Comprehensive statistics
Comprehensive statistics are provided for all AE-controlled processes. They can be used for later
analyses and future planning. This also applies to processes in SAP for Banking.
In order to use the SAP Closing Cockpit with FCC 2.0 Add-on, refer to the alternative installation
description.
Requirements:
AE Internal Webservice
The AE Internal Webservice can be used with the following application servers:
l Sun Glassfish
l JBoss
l IBM WAS CE
l SAP Netweaver CE
Use the installation guide to set up the required application server. Make sure to use the current version
of the AE Internal Webservice.
SAP version
SAP Basis requires a particular or a later support package version depending on the SAP release
version which is used.
Supplied Files
Installation
l Use the program UCYBCRYP.EXE for decrypting the file SAP_CloCo.zip.ucc. It is stored in the
folder IMAGE:\TOOLS\ENCRYPT of the AE CD. Now call the program via the command line using
the following parameters:
The license file was supplied by our support team (customer number.TXT).
Specific ABAP programs are required for the integration process. Load them to the SAP system by means
of an import. The archive SAP_CloCo.ZIP includes two corresponding files.
Copy these files to the transport directory of SAP (e.g.: /usr/sap/trans/). Copy the K file to the subfolder
"cofiles" and the R file to "data".
Log on to the SAP system and import the relevant request using the transaction STMS. Open and check
the request's transport protocol after the import process: all steps have to show the return code 0
(successfully ended) or 4 (ended with warning).
Call the transaction SM59 and select "HTTP connections to the external server". Now create a new
connection.
Enter a name for the RFC destination (e.g.: AE_WEBSERVICE) and a description.
5. In the "Messaging" tab, set the "Message ID protocol" field to the value "Suppress ID Transfer".
Chapter9 AE and Target Systems | 290
6. "Transport Settings" tab: In the field "URL Access Path", enter the value ""/uc4ws/uc4ws?wsdl".
Also set the computer name and the port of the Webservice's Application Server.
Use SOAP 1.1 as the "Transport Binding Type"
Call the transaction SM30 and open the table SCMAPROGRAMS for modifications ("Maintain"). Add a
new entry with the following values:
Column Value
Program /UC4/CC_
REPORT
Application CUSTOMER
Start the program UC4/CC_REPORT via the transaction SE38 to test the connection from ABAP to the
AE system.
See also:
AE Internal Webservices
Integrating the Automation Engine in SAP Closing Cockpit with FCC 2.0 Add-on
You may use an alternative integration method from SAP. You may find the respective SAP website
pages at: Creating External Jobs
As of version 11, SAP Closing Cockpit may also be used with the FCC 2.0 Add-on. Below you find the
installation steps for SAP Closing Cockpit with this Add-on.
Requirements:
AE Internal Webservice
The AE Internal Webservice can be used with the following application servers:
l Sun Glassfish
l JBoss
l IBM WAS CE
l SAP Netweaver CE
Use the installation guide to set up the required application server. Make sure to use the current version
of the AE Internal Webservice.
SAP version
SAP Basis requires a particular or a later support package version depending on the SAP release
version which is used.
Supplied Files
Installation
l Use the program UCYBCRYP.EXE for decrypting the file SAP_CloCo.zip.ucc. It is stored in the
folder IMAGE:\TOOLS\ENCRYPT of the AE CD. Now call the program via the command line using
the following parameters:
The license file was supplied by our support team (customer number.TXT).
Specific ABAP programs are required for the integration process. Load them to the SAP system by means
of an import. The archive SAP_CloCo.ZIP includes two corresponding files.
The transport request is based on SAP Closing Cockpit 7.00. Therefore the component would not
match, as the FCC 2.0 Add-on might run on 7.40.
l Open and check the request's transport protocol after the import process: all steps have to show
the return code 0 (successfully ended) or 4 (ended with warning).
Call the transaction SM59 and select "HTTP connections to the external server". Now create a new
connection.
Enter a name for the RFC destination (e.g.: AE_WEBSERVICE) and a description.
3. After selecting the object, the following window will open. Click on "Create - Manual Configuration":
4. In the following dialog, enter "UC4" as "Logical Port Name" and activate the "Logical port is
Default" checkbox:
Start the program UC4/CC_REPORT via the transaction SE38 to test the connection from ABAP to the
AE system.
A BAdI will be added to the /UC4/CC_REPORT program. The default implementation does nothing and
the program continues.
You may create another implementation which performs some checks based on the Automic object name
and user (SY-UNAME)
Example
This BAdI can be used to implement a permission check based on a table with user names and job names.
Chapter9 AE and Target Systems | 298
If the user is 'ANG' and the object name is JOBP.TEST1, the program will show a message box with user
and object name and exit.
See also:
After a successful AE Internal Webservice installation and Closing Cockpit integration, you can assign
executable objects to the Closing Cockpit templates. The required steps and the execution behavior are
described below.
Configuration
Log on to the SAP system and call the transaction CLOCOC. Open a template (Edit) and select the
command "Add task" via the context menu from any location in the organization structure. Specify all
required values in the displayed dialog. Select "Program" for the option Type of task and enter /UC4/CC_
REPORT in the corresponding field. Now select or create an appropriate variant.
This variant stores the name of the object to be executed. All other fields are optional and will be passed on
to the activated object as additional values via the read buffer.
299 | Chapter 9 AE and Target Systems
Call the input assistance (F4) for the field Name of a object to display all executable objects of the client
that was specified in the particular RFC connection. Name, type, title and path of the objects are
displayed.
Chapter9 AE and Target Systems | 300
The additional fields in the variant dialog can be used to pass additional values on to the activated object.
The names of the script variables that are provided for the object in the input buffer are listed below:
The additional parameters can be used to write self-defined values to the read buffer. The column variable
defines the name of the read buffer variable.
The values of this script variable can be read using the script element :READ in the script.
Example:
:READ&KOKRS#,,'KOKRS',
Store the variant and the task. Now create a task list from the template.
Execution
Use the transaction CLOCO to execute task lists of the Closing Cockpit. Open a task list that includes
object activating tasks. Include these tasks and check their states.
301 | Chapter 9 AE and Target Systems
If a task has been executed and its status is shown in SAP as "Completed", then it ended with the status
ENDED_OK in the AE system. Every other AE status causes the output "Error" in the Closing Cockpit.
To display the AE job report, open the spool of the relevant task in the Closing Cockpit. This spool includes
all AE report types (ACT, REP, LOG,...) and the RunID of the executed AE task.
In the configuration of the Closing Cockpit (CLOCOC), you can also define dependencies for tasks that
start programs or transactions. Do so by opening a template or task list and calling the view
"Dependencies". Tasks can be inserted in this Dependency area via drag and drop. This function is also
supported in tasks that call objects. A dependency can be used to determine that a task can only start
when a particular task has ended.
See also:
Some functions are not directly available in the Solution Manager but by setting up a specific
integration, you can call the UserInterface directly from the Solution Manager and quickly access these
functions. For further details about the affected functions and how to configure the integration, see
Setting up the UserInterface Integration.
Configuration
To use the SAP Solution Manager for AE, you must define the settings for the SMSE (Solution Manager
Scheduling Enabler) inferface in the agent's Connection object. Then restart your SAP agent.
Note that you need a separate SAP agent for the SAP Solution Manager Integration.
In the Connection object of the SAP agent that should be used for the integration, start off by configuring a
connection to the SAP system (CONN object: General -> Connection Parameter). Then complete all fields
in the CONN object's Interfaces -> SMSE section:
Chapter9 AE and Target Systems | 302
Restart the agent and call the transaction EXTSDL in your SAP system. The RFC connection that you
have defined in the Connection object should be listed and marked as the default connection. By clicking
Connection Test, you can test whether you can successfully establish a connection to the Automation
Engine.
Functionality
When you have successfully completed the configuration process, you can run the following AE functions
with the SAP Solution Manager:
Function Description
Reading clients This provides a list of all an AE system's clients and their
descriptions.
Canceling tasks The available commands are cancel, stop, stop (recursive), go,
go (recursive).
Retrieving the states of tasks This queries the status of a certain activity.
303 | Chapter 9 AE and Target Systems
Reading folders This supplies a list that includes the ID, the folder name, the
folder title and the name of the superordinate folder.
The time and date fields (such as the start time) are converted to
UTC and displayed. The system assumes that the actual time
zone in AE complies with the local time zone.
Retrieving a task's list of reports This provides a list that includes all a task's reports and outputs.
This lists contains the report type (such as REP or ACT) and the
output type ("L" = job log, "S" = spool list, "A" = application log,
"O" = other).
Reading a report content This retrieves the report content of a task.
Retrieving the user of a task This retrieves the name and the department of the user who has
started the task.
Reading the parameters of a task This reads the name and the value of an activity's object and
PromptSet variables (detail - object variables).
Creating or delete BAE events in AE This creates or deletes BAE events as AE Sync objects.
The AE Sync objects that represent BAE events have the value
"SMSE" as their archive key 1. This includes that you can
search and filter for these specific objects. The Sync objects
have only two states: CLEARED (initial state) and RAISED.
Reading BAE events from AE This retrieves the Sync objects that represent BAE events
(object type = SYNC, archive key 1 = SMSE).
These functions (except for "Reading clients") refer to the AE client that has been specified for the
SMSE interface in the Connection object.
305 | Chapter 9 AE and Target Systems
SAP Solution Manager integration allows you to access functions of the Automation Engine. You can even
schedule AE tasks from the job scheduling workcenter in the SAP Solution Manager.
You can either schedule them directly or out of a SAP job documentation. In doing so, you can integrate
the Automation Engine in the SAP Change Management or the Service Desk.
For information about configuring and testing the integration, see the chapter SAP Solution Manager
Integration.
For the following use cases, start the job scheduling workcenter (SOLMAN_WORKCENTER transaction)
of the SAP Solution Manager.
1. In the SAP Solution Manager Workcenter, Job Monitoring section, select the entry External Job
Scheduler.
2. You can now define filters according to criteria that should be used for searching AE jobs. The
Isolation group stands for the AE client.
3. Click Apply to have the jobs that were found listed in a table.
The following steps are required in order to schedule objects in the Automation Engine out of a SAP job
documentation:
1. Open a SAP job documentation and select a system in the Systems tab.
2. Click the Scheduling tab to see the interface in which you can schedule your tasks.
3. Set the required parameters such as the AE client (Separation Group field), the RFC connection,
Queue object, priority and the name of the object that should start (Job Definition field).
Chapter9 AE and Target Systems | 306
An input assistant is available for selecting the object that should start (Job Definition). All
executable objects of the specified AE client will be listed. You can filter for the folder (ID of an
application), the object type (Definition Type) or the object name (Job Definition).
307 | Chapter 9 AE and Target Systems
4. Click Schedule/Change Externally in order to schedule the task in the Automation Engine. The
AE RunID of the activated task will then appear in the upper window area.
6. External Logs will show the task's AE reports. Note that no external reports are available.
When you open the Job Scheduling Workcenter, you can use the menu item Schedule Jobs in order to
schedule objects directly in the Automation Engine.
1. In the Scheduler section, select the entry SMSE for the Automation Engine.
2. Now select the RFC connection with the corresponding AE client. Note that the AE client is shown
in the Separation Group section. This means that when you directly schedule tasks for AE, the
Separation Group must always be a number (such as 1010). You can ignore the RFC entry for
Separation Group GLOBAL.
3. Set the required parameter for the object that should start (RFC connection, Separation Group,
queue, priority and object name). Specify the name of the object that should start in the Job
Definition field (you can also use the input assistant for this purpose).
As in use case 2, you can now schedule this task in the Automation Engine by clicking
Schedule/Change Externally.
For the start conditions, the Automation Enginegenerates temporary Calendar objects.
309 | Chapter 9 AE and Target Systems
Setting the option Schedule Stopped has the effect that the scheduled task will remain in the
Automation Engine with the status "Waiting for manual release" until it is manually released.
You can also change existing schedules subsequently by adjusting them to your requirements
and clicking Reschedule in order to update your Automation Engine
The following functions are not directly available in the SAP Solution Manager:
To set up the UserInterface integration, follow the steps below. For a general description of the
configuration process, see SAP Solution Manager Integration.
Chapter9 AE and Target Systems | 310
Supplied Files
The UserInterface is supplied as a Web application that must be integrated in a Tomcat Application
Server. A Tomcat Application Server of version 7 is required for the installation process.
Procedure
l Host
l Copy the file UC4WEBSTART.WAR to the "webapps" folder that is stored in the program directory
of the Tomcat Application Server.
l Restart the Application Server.
l The new sub-folder UC4WEBSTART will be created in the webapps directory.
Do not delete the WAR file because if you do so, Tomcat will also remove the folder UC4WEBSTART.
l Host
l This step determines the AE system to which the UserInterface should connect.
l Note that you can configure only one connection for the UserInterface.
l Open the configuration file:
<Tomcat directory>/webapps/uc4webstart/WEB-INF/web.xml
l Adjust the following parameters to your system environment:
l Server name: The name or the IP address of the computer on which the AE system runs.
l System name: The name of the AE system.
l Port number: The port number of the CP to which you want to establish a connection.
An example of the relevant part of the file web.xml that must be adjusted:
<init-param>
<param-name>Server name</param-name>
<param-value>SAPHOST01</param-value>
</init-param>
<init-param>
<param-name>SystemName</param-name>
<param-value>UC4</param-value>
</init-param>
<init-param>
<param-name>Portnr</param-name>
<param-value>2217</param-value>
</init-param>
3. Configuring the Agent
l Agent computer
l Open the INI file of the SAP agent for which you have configured the SAP Solution Manager
Integration.
311 | Chapter 9 AE and Target Systems
l Enter the URL of the UI Web application as the value for the parameter WebStartURL= ([SMSE]
section).
l Save the INI file and restart the agent.
For example:
[SMSE]
webStartURL=http://saphost01:8080/uc4webstart
4. Calling the UserInterface
The URL that you have specified in the agent's INI file opens when you call one of the described functions
in the Solution Manager.
The Web browser displays a page that includes the link "Start AE UserInterface". Click it to open the
UserInterface's login dialog. Log on to run the selected function in the UserInterface.
For example: When you create a new job in the SAP Solution Manager, the UserInterface and the dialog
open that request you to enter a name for the new Job object.
Data to be archived is pooled in "archiving objects" (e.g. the archiving object SD_VBAK contains all data
concerning sales records). Archiving runs are integrated using the Archive Development Kit (ADK). ADK
provides the technical basis for the archiving transaction (SARA).
Usually, a separate program flags data to be archived based on configurable residence periods. Flags are
often used in two steps: After the end of residence period 1 (e.g. 6 months), a deletion annotation is set and
after the end of residence period 2, the deletion annotation becomes a deletion flag. Now the object can be
archived.
Transaction SARA provides for a manual or a semi-automatic (deletion, storage) archiving process. AE
fully automates archiving runs in all SAP releases.
For archiving data outside transaction SARA please adhere to the following notes:
Chapter9 AE and Target Systems | 312
Controlling with AE
From the technical point of view and regardless of the object to be archived, archiving runs in SAP
systems always consist of four steps:
2. DEL, STO and END jobs must not start automatically in SAP.
For controlling these jobs with AE, their automatic start in the SAP system must be prevented. The
function "Job Interception" serves this purpose as of release 4.6C. Activate it with the ABAP
program INITXBP2. The interception table must contain the job names of the DEL, STO and END
jobs of all archiving runs.
Objects
Procedure
1. Workflow activation
Use the :READ mask to query the name of the archiving object.
2. Workflow Monitor
Select or specify the archiving object and the workflow automatically starts and is displayed in the
monitor. It only ends when all processing steps ended successfully.
3. Monitoring and control
The entire procedure can be traced within Automation Engine and SAP. AE provides all logs for
automatic analyses. In SAP, the procedure can also be traced in the administration function of the
relevant archiving object (transaction SARA).
Conclusion
SAP data archiving is easily implemented using AE's standard functions and offers various advantages:
l Complete automation
The entire SAP system management can be automated using the Automation Engine for controlling
the data archiving processes. Manual interference is not necessary. Mutual dependencies to other
processes are easily implemented.
l Cost reduction
Archiving data on a regular basis provides for optimized database dimensions, improves
performance and saves memory. With AE, these advantages are centrally controlled and
automatically processed without the accumulation of additional costs.
l Optimum resource balance
Resources can optimally be used due to the central and automated control, thereby avoiding
conflicts and shortfalls. Smooth SAP operation is guaranteed.
Chapter9 AE and Target Systems | 314
l High reliability
Automation considering all system parameters significantly reduces the number of possible error
sources.
l Work relief for staff
SAP experts are relieved from cumbersome manual tasks and can apply their expertise in areas of
significant benefit: in improving systems and service levels.
l Central control and overview
All processes in the SAP system are centrally monitored and controlled. Potential problems are
immediately noticed which reduces troubleshooting times to an absolute minimum.
Monitoring Workflow
Create a workflow containing two SAP Job objects. The first Job shall schedule update requests and the
second one shall wait until all update requests have been executed.
The status of the workflow will be ENDED_OK, if all update requests have finished without errors.
Workflow status example: The first Job is executed, while the second Job waits until all update requests
have been processed:
315 | Chapter 9 AE and Target Systems
For this information in FCC 2.0 you may use external Jobs. Details on external Jobs may be found on
SAPs website.
See also:
Integrating the Automation Engine in SAP Closing Cockpit with FCC 2.0 Add-on
Compare Values in SAP Spool Lists
When both Jobs have been finished, the values will be extracted from the spool lists and be passed to the
third Job in the workflow.
In the first step the program is executed and in the second step the content of the spool list is added to the
report.
It contains the Job log from SAP followed by the spool list.
Extracting Values
Job 1:
To extract the value from the spool list the following UC4 Script is used in the post process tab of the Job.
This script is executed after the Job has finished. It processes the report and extracts the values:
The PREP_PROCESS_REPORT function filters all rows which contain a "|" character.
l The STR_FIND_REVERSE function is used to get the position of the last space character in this
row.
l Finally the function SUBSTR is used to get "365.413.243,87" and store it in the variable &RET#
The workflow also contains a second variable &JOB2_SUMME# which is set by the second SAP Job.
Job 2:
This script filters for all rows containing the word "SQ".The result is one row:
|SQ| 26|28.02.1995|365.413.243,86 | |DC-10-10| 380 | 2 |1.684,00 | 0 | 0 |
0 | 0 |
The character "|" is defined as separator of columns. Therefore the value 5 (variable &column#) can be
used directly get 365.413.243,86 from the report.
Compare Jobs
Both Jobs must have finished before the compare job may be started:
This Job has the setting "Generate at runtime" activated on the "Attributes" tab.
In this example it starts an SAP program with parameters that depend on the result of the comparison.
Chapter9 AE and Target Systems | 320
The simple program Z_INFO uses MESSAGE of the I or type E depending on the SUCCESS parameter:
REPORT Z_INFO.
parameter text1 type string.
parameter text2 type string.
parameter text3 type string.
parameter success type c.
if success is initial.
MESSAGE I002(SY) WITH text1.
MESSAGE I002(SY) WITH text2.
MESSAGE E002(SY) WITH text3.
else.
MESSAGE I002(SY) WITH text1.
endif.
The workflow can be set to ENDED_NOT_OK when the compare jobs fails:
321 | Chapter 9 AE and Target Systems
Comments
The special parameter value (REPORT,REP) for the FILE parameter in the R3_GET_JOB_SPOOL
command is not documented, but exists since v9.
Normally the R3_GET_JOB_SPOOL command can only write files. However the SAP Agent cannot
read them. An OS Agent would be required to extract the values with PREP_PROCESS_FILE and
delete the old files when they are not needed anymore. This would also be a possible solution, but more
complex than the one described here.
See also:
Mass Processing
IS-U is SAP's business solution for the utility industry.
IS-U's accounting system for utility and service industries has been specially designed for the specific
requirements of these sectors. By integrating IS-U utility industry with the neutral R/3 standard
components and interfaces to external systems, SAP offers an integrated enterprise-wide solution for the
utility industry's operational data processing.
The transaction volume of utilities with several million customers, various types of utilities and perhaps
billing on a monthly basis is mainly handled in background operation.
Examples:
Chapter9 AE and Target Systems | 322
Definition
One specific requirement is that a particular order must be kept (e.g. accounting must be finished before
billing starts; both are mass processing runs).
Technique
Mass processing includes a dispatcher which generates parallel split jobs through the definition of
parameters.
When scheduling mass processing, the dispatcher forms the master job of background processing. When
it is processed, it generates a dynamic number of split jobs (the number depends on the defined parameter
settings).
The "client" is the top-level hierarchy in R/3 applications. Settings on client level apply to all structures in
the R/3 enterprise organization. The client is a self-contained unit in technical, economical and
organizational terms.
In such an environment it is often required to supply a QA or test client with consistent data. The most
suitable way to obtain this data is copying the production client. Regularly copy this client in order to
establish a realistic test environment.
323 | Chapter 9 AE and Target Systems
Copying clients in SAP R/3 involves some effort, especially the creation of periodical copies for supplying
test systems with current data.
SAP R/3 supports the online copying and transportation of clients. These transactions are not suitable for
periodical execution (SAP Release 4.0 to 4.6D).
The R/3 background job control cannot perform such periodical transactions because dynamic variants are
used.
Problem Definition
Huge amounts of data are transferred when a client is copied. A client without application data allocates
about 500 MB database memory. The copying process can therefore take several hours with one or more
dialog processes being busy during this process.
Users should not use the source and target client during the copying process. Active users in other clients
consume additional resources and extend the time required for copying.
A test run should be performed before starting the copying process. In doing so, you can determine which
tables need to be modified and the available database memory is also checked.
The target client is often deleted before a client is copied, thus deleting all master user data. Therefore,
only the user SAP* can log on to the target client.
Using AE for the periodical creation of client copies makes this process easier and more secure. Test run
and copying process can be automated and the normal operation is not interrupted.
The copying process starts depending on test results and resource availability. AE informs the operator
immediately if an error occurs.
The SAP system must meet the following requirements before AE can create client copies:
l Master user data must not be deleted before the copying process
AE uses a normal user account for logging on to SAP. It cannot use the SAP* user. In SAP, it is not
possible to delete the target client before copying it. Alternately, you can use custom ABAPs in
order to delete large tables (see SAP Service Marketplace, note no. 365304).
l The report RSCLXCOP must be modified in order to enable the maintaining of report
variants.
A job for copying clients obtains its information from a variant. This variant is overwritten with data
from the source client or deleted during the copy process. During a client export the number of the
copy is entered in the variant, thus causing problems with periodical scheduling. Identical variants
(using identical names) for the report RSCLXCOP must therefore be created in source and target
client. Detailed information is provided in note no. 303007 of the SAP Service Marketplace.
If all the above requirements are met, you can create an AE job for copying clients. Dependencies can be
represented within a workflow. Test run and the actual copy process can run in automated form. AE
ensures sufficient system resources. Periodical client copies can so be created in an easy and secure
way.
Chapter9 AE and Target Systems | 324
The transaction "/sbb/uc4dc" shows the end user's interface. It contains an overview of tasks. Users see
only tasks for which they have authorizations. Tasks can be grouped in classes and named accordingly.
Click the list to select them. Depending on the specified settings, you can query variables and attributes or
maintain variants. Each task activation is logged in the statistics.
l Mapping Workflows
Workflows can be mapped using variables. In doing so, you can decide which components of a
predefined procedure should be processed. Communication to the AE workflow is exclusively
made by setting variables.
The SAP Dialog for AE cannot completely replace the UserInterface. It supports users who exclusively
work with the SAP GUI and whose background tasks (jobs, JobPlans) should be controlled by AE from
within SAP.
The SAP Dialog for AE is a consultant solution and not part of the product. Thus, it is not maintained.
AE Automated SystemCopy for SAP is a consulting solution and is not subject to maintenance.
Documentation is available in the form of an external document.
325 | Chapter 9 AE and Target Systems
AE jobs require the indication of an agent and a Login object with the login information determining the SAP
client in which the job will be processed.
The Form tab is very useful for creating AE jobs. It provides a graphical interface in which you can easily
enter scripting lines. You can also retrieve particular data from the SAP system (such as the available
variants) with the SAP agent establishing the required connection to the SAP system. User name,
password and client are taken from the Connection object for "ABAP Basis".
See also:
Form tab
Enter the additional agents in the ServiceManager Definition file according to the following example.
Ensure that the name of the *.INI file is separated by a blank and specified after the start path of the agent.
! Comment lines begin with an exclamation mark
!
! Now, sub-services are defined
!DEFINE Automation Engine;*OWN\UCServer.exe;*OWN
DEFINE UC4 C11-Agent;*OWN\C11\UCXJR3X.exe -i*OWN\UCXJC11.INI;*OWN
DEFINE UC4 XYZ-Agent;c:\uc4global\bin\XYZ\UCXJRX3.exe -
ic:\uc4global\bin\XYZ\UCXJXYZ.INI;*OWN\XYZ
Alternately, these entries in the file AE.SMD can also be duplicated and adjusted with the ServiceManager
Dialog.
Create a UCXJ*.INI file with the name you have specified in AE.SMD for every additional agent. Automic
recommends copying the file of an already existing agent (such as UCXJR3X.INI to UCXJC11.INI).
Add the additional chapters in the SAPRFC.INI (so far SIDEINFO) as specified in the UCXJ*.INI files in
accordance with the following example:
DEST=UC_C11
LU=R33
TP=sapdp00
GWHOST=R33
GWSERV=sapgw00
PROTOCOL=I
DEST=UC_XYZ
LU=R33
TP=sapdp01
GWHOST=R33
GWSERV=sapgw01
PROTOCOL=I
4. Opening and closing the ServiceManager.
Close the ServiceManager and restart it. After that, the additional agents should be available. Create the
user for the RFCLOGIN in the relevant SAP system.
For understanding the following table, knowledge of SAP authorization concepts is assumed.
Attention: S_BTCH_ADM
allows the client-independent
selection of existing jobs. If the
AE JCL statement R3_
ACTIVATE_JOBS is
processed with a CPIC user
having this authorization, AE
possibly starts jobs in several
SAP clients, depending on the
specified selection criteria
(such as the same job name in
2 SAP clients)
S_BTCH_NAM In order to create and run jobs BTCUNAME *
for any other SAP user, the
CPIC user must be authorized
to specify the user name.
S_SPO_DEV In order to specify the printing SPODEVICE *
Spooler: Device parameter 'print immediately'
Authorization within a job step, the CPIC
user must be authorized to
access the corresponding
printing device.
S_TMS_ACT In order to transfer the cover STMSACTION *
page of a Spool List back to STMSOBJECT *
AE, it is helpful to see the STMSOWNER *
parameters of the variant
which was used to run the
ABAP. This information is part
of the cover page.
S_XMI_PROD This object is used to log on to EXTCOMPANY *
the Standard Interface. Before EXTPRODUCT *
Calling functions of an INTERFACE *
External Interface, the
External Application has to Log
on to the Interface.
Chapter9 AE and Target Systems | 328
*) Automic recommends creating your authorizations in accordance with your naming conventions.
Chapter9 AE and Target Systems | 330
For using minimum AE functionality, it is necessary to provide the RFC user with a user profile that
contains the authorization object S_BTCH_JOB. It must contain the standard authorization S_BTCH_ALL
or an authorization where the fields are filled in as follows:
Script element Login language Job Job Target Start Delete in Spool list
name class system type CCMS recipient
BCA_ACTIVATE_
PROCESS
R3_ACTIVATE_EXT_
COMMAND
R3_ACTIVATE_EXT_
PROGRAM
R3_ACTIVATE_
INTERCEPTED_JOBS
R3_ACTIVATE_JOBS
R3_ACTIVATE_
REPORT
R3_ACTIVATE_
SESSIONS
R3_CALL_
TRANSACTION
R3_GET_EVENT
R3_GET_JOB_SPOOL
R3_MODIFY_JOB
R3_RAISE_EVENT
See also:
Interfaces
Interfaces
General Information
Agents communicate with the SAP system via SAP's RFC (Remote Function Call). Functional modules
are called in this process. The agent can use the standar interfaces but also the AE interfaces which
allows using additional functionalities.
l The AE interface
is based on functional modules that have been developed by AE.
l The standard interfaces are based upon functional modules that are provided by SAP. AE uses
several of these interfaces for various purposes. The interfaces are subdivided:
l XMB (eXternal Monitoring Basics)
l XAL (eXternal ALerting)
l XBP (eXternal Batch Processing) *)
l XMW (eXternal Monitoring Write)
l BW-STA (Business Warehouse - data STAging)
*) The XBP 2.0 interface must be activated using the program INITXBP2. This is part of the XBP
2.0 installation. Otherwise, you cannot use parent-child relations and intercepted job functions.
In order to be able to us all SAP functions it is required you use XBP 3.0.
The Automation Engine supports the SAP NetWeaver XBP 2.0 and XBP 3.0 interface. Therefore, you
can use SAP modules that use this interface (such as SAP 4.7, NetWeaver Stack 2004s, ECC5,
ECC6).
The XBP interface version is not relevant for the Kernel version. SAP ensures compatibility by
supporting a particular number of new Kernel versions that still support the old interface when a new
interface version is released.
The AE interface requires BABP XBP V2.0. Check the version in your SAP system and install an up-
to-date support package.
Functional Differences
The following table provides an overview of SAP script elements which require the AE interface (script
element). Script elements which have specific parameters which require the AE interface are also checked
(Parameter).
See also:
General
In order to take advantage of the functionality of the AE interface, function modules must be transported to
the SAP system.
Function modules are developed as ABAP development objects. These components are supplied with the
"Correction & Transport System " package of the SAP System:
Name ranges are transported along with function modules in separate transport requests. A list of all
currently valid transport requests is found in the file TRANSPRT.TXT. All transports must take place when
a new installation is made. With an update installation, it is only the function modules (AE interface)
because there is no change of the name ranges.
l NNNNNN for the transport job number of the delivery system and
l SID for the system names of the delivery system.
l TID is used for the system name of the target system (to which the function modules are imported).
File Names
SAP can be installed in various environments (UNIX, Windows...). Therefore, it is important to consider
the specific features of the system when you name the files.
In this document, the file names that refer to a SAP environment are written in UNIX language ("/"). For
Windows environments, the names are the same with the exception that thy use a "\" character.
Requirements:
All activities that concern the transport system must be made by a SAP administrator (SIDadm).
The transport system must be properly installed and set. This takes place during the installation of the
SAP system.
In this case, importing requires that at least 2 batch work processes (BTC) are running.
Control: Tools - Administration - Monitor - System Control - System Overview (Transaction SM50).
To import development objects, the Transport demon must be planned for in client 000 (background job
"RDDIMPDP") and cleared for the SAP system. Control: see below
The transport system is described in the SAP online documentation in the chapter BASIS - TRANSPORT
CONTROL.
Note that the import process requires the option "Ignore Non-Matching Component Versions" to be set.
Procedure:
Import the supplied transport files to the SAP transport environment:
KNNNNNN.SID by /usr/sap/trans/cofiles
RNNNNNN.SID by /usr/sap/trans/data
If SAP is installed under UNIX, the files are usually transferred via FTP. Be sure to enter "bin" for
binary transfers.
l The file ENNNNNN.TXT on the CD contains the complete export log and can be used for analysis.
l Before you start to import, decide upon the unconditional modes (u) that should be used:
l 4....valid only for SAP Release 3.x: guarantees that the target system name (TID) that is
used for the export does not correspond to the actual target system name. This mode must
be used because the actual target system is not known.
l 1....must be entered when the import should be repeated.
The unconditional modes are distinguished by TP version and can be checked in the SAP
Documentation if needed.
l The import can take a few minutes, especially if the Transport demon RDDIMPDP is
planned not to be event-triggered but rather time-controlled.
l Message "no profile used ":
No profile is specified if you call an internal program on "sapevt". That is the reason why this
message occurs with any call on sapevt. Usually, it can be ignored.
l Other messages can occur. Only the return code is crucial (see below - Control).
Control:
l Because of the SAP transport system's and the SAP environment's complexity, thorough error
diagnosis and correction can only be handled by an expert who is familiar with installation
environments.
l A general assessment as to whether the import was successful should be possible for a non-expert
with the following tips:
l Importing creates logging files.
l These are in the directory /usr/sap/trans/log and are called SIDsNNNNNN.TID
l s means transport step:
l The expert can also check the log files in the SAP system.
Start the development environment (ABAP/4 Workbench) and open the function modules to the function
group /SBB/UC4_JOB with the object browser:
Tools > ABAP/4 Workbench >Overview > Object Navigator, select Function Group /SBB/UC4_JOB,
select Function Modules, position the cursor on the object and click Test in the context menu.
The name of the function modules always has the prefix AE.
The parameter JOBCOUNT is supplied. This value must be noted or copied to the clipboard.
Make sure after the execution that no exception has occurred. Although parameters are supplied, they
are not necessarily required for testing.
Parameter to be specified:
The job has now been started and can be displayed by using a standard transaction SM37 (System
>Services > Jobs > Job Overview). When the job has ended okay, this indicates that the function modules
within the SAP system work properly.
Chapter9 AE and Target Systems | 340
General
The Automation Engine supports the components SAP Business Information Warehouse (SAP BW) in the
same way that it supports an operating system. Technically, this cooperation is set up so that function
modules are called via SAP's RFC (Remote Function Call) within the SAP system. The communication
for the SAP system is carried out exclusively via RFC and is therefore independent of the environment
where SAP BW is installed.
The setting of the connection parameter is carried out in the Connection object of the agent. Furthermore,
this agent can be set for all AE-supported SAP BW versions.
The agent for SAP BW can also process jobs in the SAP basis system (regular background jobs).
The following table shows which SAP Version and SAP Basis correspond to an agent for SAP BW.
For the operational use of the agent, Automic recommends installation of the following support packages
from SAP BW.
If the agent is used with a lower support package level, the following messages can appear. Further
information is found in the given SAP notes.
Status Check
The Automation Engine presumes that the technical status that is submitted when the function status
check is called is a "final status". The Interface Repository gives the following description:
The parameter TECHSTATUS is the request's technical status. It always contains one of the following
values:
Obviously, these states are not "final states". A status can change to "red" for a short time and then to
"yellow" or "green" after a while. AE accounts for this fact. For status checks, a time delay can be
activated so that it can be checked n times if the status "red" actually remains in this status, for example.
The INI file of the SAP agent contains the parameters maxruntime= and repeat_check= [SAP_BW]) for
this.
Another function is available which checks the states of process chains. It supplies the following values:
l "R" - cancel
l "G" - normal end
l "F" - normal end
l "A" - continue checking
l "X" - cancel
l "P" - continue checking
l "S" - cancel (but only after the process chain has been restarted)
l "Q" - continue checking
l "Y" - continue checking
l " " - continue checking
See also:
R3_ACTIVATE_REPORT
ERROR
Refers to the result (status) of the Replayer. The status can be "A" for abend or "F" for finished
successfully.
343 | Chapter 9 AE and Target Systems
ERROR=IGNORE
The next session of the list will be processed in any case. The result of the previous Replayer is
ignored.
ERROR=ABEND
Processing of sessions stops immediately if a Replayer ends with status "A". The AE job abends.
ERRORLEVEL
Always refers to the session itself and is checked when the Replayer has ended. ERRORLEVEL
defines the number of incorrectly processed transactions in % within a session. If the session value
has been exceeded, the processing of the AE job is canceled. No further sessions of the session
list are executed. No check is made for successfully processed transactions if no ERRORLEVEL
has been specified.
Chapter9 AE and Target Systems | 344
Troubleshooting
Checking Errors
This document contains information that will support you in recognizing the source of errors which cause
the agent to function improperly or individual tasks to be executed incorrectly.
Job Report
The first source to be checked is the activation log of the AE job for SAP. It provides information about the
actions the agent has taken in connection with the SAP system and how the particular actions ended.
Sometimes the error cause is easily found in the attributes of an executable object (such as a wrong client
or user). Check the attributes of the particular object.
CPIC User
An SAP user (client, name or passport) must be defined in a Login object to be able to establish a
connection to the SAP System. This user must also be available with the same password in all an SAP
system's clients in which tasks are executed. Check the Login object and the users in the SAP system.
Within the SAP system, the agent is represented by the CPIC user. This user requires the appropriate
rights such as operator rights for background processing, for example. Check the rights of the SAP
system's CPIC user.
Helpful Transactions
Through job logs and spool lists, the transaction "SM37" provides information about job executions. The
XMI log which can be called using "RZ15" also supplies helpful records.
Log Files
Agent and Server log files provide exact information about the relevant point in time when the error
occurred. These files' contents are also provided in the System Overview. The initial section shows the
complete INI file including the parameters which have been specified for the agent and server. This section
is followed by a chronological list of all executed actions.
Error situations occurring in the SAP system are logged in SAP's system log. Use the SAP transaction
"SM21" to view the system log. In particular cases (such as when the agent fails to schedule a job step),
the SAP system log is automatically copied to an own tab in the AE report.
345 | Chapter 9 AE and Target Systems
Traces
Traces provide even more detailed information than log files. They contain all messages which were sent
from and to agent and server or agent and SAP system (RFC trace). Traces can be activated in the agent's
INI file or the System Overview. Trace contents are stored in files in the agent's working directory or an
individually defined directory.
Traces are required for the support or development team's analysis process. Always include this
information in your support message.
An activated RFC trace create files on agent side but also on SAP's application server computer.
Automic recommends activating traces only for a short period of time in order to reduce the hard disk's
memory consumption. Set gw/accept_remote_trace_level to 0 if no trace files should be created in the
SAP system.
Further information about RFC trace is available in the SAP note number 532918.
Symptom
While importing the development objects, the program tp does not terminate (normally it runs a few
minutes). After canceling with (Ctrl-C), the following message is displayed in the SLOG file.
Background job RDDIMPDP could not be started or terminated abnormally
Cause
The import of development objects is executed by job RDDIMPDP. This is usually event-controlled and
triggered by the event "SAP_TRIGGER_RDDIMPDP" of the program tp. In this case, starting the job with
the event does not work - tp consequently waits infinitely.
Solution
Verify that the event "SAP_TRIGGER_RDDIMPDP" has been defined (SM64).
Verify that the entries for the event control are correctly set in TPPARAM.
Search for possible information in the SAP Service Portal with the headword "SAP_TRIGGER_
RDDIMPDP"
If necessary, use the 5-minute RDDIMPDP, which can be scheduled with SE38 via ABAP RDDPUTPP.
Chapter9 AE and Target Systems | 346
Symptom
SAP jobs canceled with the following message:
U2004001 RFC Return code: ARCHIVE_INFO_NOT_FOUND
Cause
ARCHIVE_INFO_NOT_FOUND is an exception of the function module "GET_PRINT_PARAMETERS".
This function module is a standard function module of the SAP System.
ARCHIVE_INFO_NOT_FOUND does not necessarily refer to the info field of the archive parameters.
ARCHIVE_INFO_NOT_FOUND refers to the entire archive parameters. These are currently:
l The specified document type or object type has not been defined in SAP.
l The document type is assigned to a non-existing archive in SAP (Content Repository).
l The user has no access (see authorization object S_WFAR_PRI in SAP).
Provided that the parameters are correctly transferred from AE to the function modules, the reason for an
exception is mostly found in SAP.
Solution
Use RFC Trace to check whether the AE parameters are correctly transferred to the function module.
Check your customized settings "Business Documents" and "ArchiveLink" and the authorizations of the
CPIC user in the SAP system.
See also:
R3_ACTIVATE_REPORT
Archive Parameter with R3_ACTIVATE_REPORT
Stability Problems with SAP Instances Occurred When Many SAP Agents (RFC
Connection) Were Used On One Server
Symptom
The external RFC/CPIC server cannot open additional connections.
LOCATION CPIC (TCP/IP) on local host ERROR max no. of 100 conversations
exceeded
Reason
The number of parallel connections that can be kept in the library is set to 100.
Solution
By setting the environment variables CPIC_MAX_CONV, the library can handle multiple connections at
the same time.
After Updating to SAP NetWeaver 2004s and Later, CPIC User Could No Longer Log On
Symptom
Password-based logon attempts (to ABAP systems as of Release 7.00 / NetWeaver 2004s / SAP ERP
2005) fail, although the user has entered a supposedly correct password in a front-end component or in a
destination (of another system). However, a (direct) SAPGUI logon with the same password is
successful.
Reason
ABAP systems as of NetWeaver 2004s (7.00) support passwords of up to 40 characters and differentiate
between uppercase and lowercase. In earlier ABAP Releases (prior to 7.00), passwords could only be
comprised of a maximum of 8 characters, whereby lowercase letters that were entered were automatically
changed to uppercase letters.
If, in a newer ABAP system (as of Release 7.00), a downwardly incompatible password is unknowingly
granted (see below), and if the front-end or middleware components are not able to process such
passwords correctly, logon problems inevitably occur.
This is usually due to the (invisible) automatic conversion from lowercase to uppercase letters. The
Chapter9 AE and Target Systems | 348
problem is that the password entered by the user does not arrive at the server in the same form, but is
changed either during input or during the transmission (in which many components are involved).
Term definitions
Older ABAP systems support downwardly compatible passwords only. In newer ABAP systems
(as of Release 7.00), downwardly incompatible as well as downwardly compatible passwords can
be granted. Since lowercase letters that you enter are now no longer changed to uppercase letters,
the passwords granted in newer ABAP systems are normally downwardly incompatible.
ABAP systems do not save passwords in plain text, but instead calculate a hash value and save
this together with the meta information using the hash password procedure ("code version"). This
information is stored in the user master record and is analyzed during the password check: A hash
value is determined, using the code version specification (from the user master record), from the
plain text password to be checked and is compared with the reference hash value (from the user
master record).
The quantity of the hash password procedure supported is release-dependent, whereby newer
releases always support all procedures of preceding releases. This ensures that a password logon
is also possible after a release upgrade.
Only the hash password procedures available as of Release 7.00 also support the processing of
downwardly incompatible passwords. Older hash password procedures support downwardly
compatible passwords only.
Whether downwardly incompatible passwords are supported or expected during a password logon
depends primarily on the specifications (code version) saved in the user maser record.
Solution
l When using the technical user (in RFC destinations):
We strongly recommend that you use the SYSTEM user type on the server (or also SERVICE,
provided a SAPGUI capability is required), since the password has unlimited validity only for these
user types (see SAP note 622464). If the password should be entered in an RFC destination of an
older system (= RFC client), it must be granted as a downwardly compatible password on the
server. For users of the SYSTEM or SERVICE type, this is always possible, even if the password
rules of the system normally compel the use of downwardly incompatible passwords (for example,
by login/min_password_lng > 8 or login/min_password_lowercase > 0).
349 | Chapter 9 AE and Target Systems
l When using older front-end or middleware components and password logon of "normal"
users (DIALOG type):
In this case, it is not practical to change the passwords of the (numerous) users affected (as in the
above case with technical users). Instead you must replace the obsolete front-end or middleware
components. SAP note 792850 describes as of which version level certain front-end or middleware
components support the interaction with downwardly incompatible passwords. In addition, you may
need to update other software components (attached to these components), as well as those of
external providers. This is particularly the case if these components have their own password input
dialog and are not able to support downwardly incompatible passwords (according to the above
definition of the term).
For the moment, you can set the profile parameter login/password_downwards_compatibility on the
server to the value 2 or 3 for test purposes. In this case, the server checks if the client has sent a
matching downwardly compatible password for the expected downwardly incompatible password
(that is, a password that is 8 characters long and converted to uppercase). If this is the case, it is
logged in the sys log (for error analysis purposes), and the logon is assessed as successful (for
value 3). Using transaction RZ11, you can change the profile parameter dynamically, that is,
without restarting the system.
Chapter9 AE and Target Systems | 350
9.10.8 Certificates
351 | Chapter 9 AE and Target Systems
Overview
All functions we provide for SAP are certified.
Chapter9 AE and Target Systems | 352
See also:
SAP Partner
SAP Developer Network (SDN)
Example:
[VARIABLES]
UC_SIEBEL_SRVRMGR=C:\siebel\srvrmgr.exe
Commands that should be executed in Siebel can be specified in the Script tab of a Siebel job. Do so with
the specific script statement SI_START_TASK. The Siebel command is transferred with the parameter
CMD=:
SI_START_TASKCMD="Siebel command"
Each script line with "SI_START_TASK" is a separate task in Siebel. In order to enable task monitoring
(such as canceling or restarting tasks), it is essential that the Siebel command starts with "start task". If
"run task" is used, the Siebel job is canceled and an error message is printed.
Two log files are available after the execution of the task:
Define in the section [VARIABLES] of the INI file of the Siebel agent where these log files are stored.
Thus, the log files can be transferred from the Siebel agent to AE in the form of reports.
Example:
[VARIABLES]
UC_SIEBEL_SRVRMGR=C:\siebel\srvrmgr.exe
UC_SIEBEL_LOGPATH=C:\siebel\siebelLOGS\
353 | Chapter 9 AE and Target Systems
Note that report contents can be read with the script element PREP_PROCESS_REPORT. Report type
"LOG" stands for the log file of the Siebel Server Manager call and report type "REP" for the log file of the
task.
See also:
The agent provides two methods of authenticating user name and passwords.
PAM authentication is only supported for the agent on AIX, Linux and Sun Solaris (SPARC).
The method to be applied is specified in the agent's INI file. The section [MISC] includes the parameter
authentication= to which you can assign the value "local" or "PAM".
Example:
[MISC]
authentification=local
If you opt for PAM authentication, also specify the library name.
Example:
[PAM]
Libname=libpam.so
Store the path for the library in the environment variable LD_LIBRARY_PATH if it is not stored in the
default directory.
See also:
Login Object
Chapter9 AE and Target Systems | 354
Shells selected in the Unix tab are maintained in the variable UC_SHELL_UNIX of client 0000. The
following shells are available by default:
l bash
l csh
l ksh
l sh
l tcsh
You can add additional shells in the variable UC_SHELL_UNIX. Additionally, a shell-specific script line
must be inserted in the Include "TRAILER.UNIX". The following format should be used:
1. If a path string has been defined in the configuration file (section STARTCMD, parameter "shell_
pfad"), this path is used.
Format Path String: <Path name1>[:<Path name2>]...
Format Path name: /<dir1>[/<dir2>]...
2. If the parameter "shell_pfad" has not been specified, the environment variable PATH is read and
used.
The shell file name is composed of the retrieved shell path and the selected shell (Host Attributes tab)
and checked for the availability of the right to execute. If this file must not be executed or cannot be found,
an information message is output. The user's default shell which has been defined in the passwd file is
then used. If no shell has been specified in the passwd file, the bourne shell from "/bin/sh" is used.
If shell options have been specified in the Host Attributes tab, these are used.
Shell options may be defined in the configuration file (section STARTCMD, variables "Bourne_Shell_Opt",
"Korn_Shell_Opt" and "C_Shell_Opt")
As of version 11 the options will be left empty, if you do not select one of the shells mentioned above
and also do not enter a value in the options field.
355 | Chapter 9 AE and Target Systems
l The subdirectory "temp" must be defined in a way that it can be read from any other user ID. For
this, its not sufficient to only supply this directory with read rights. All directories from the root
directory on must have read rights.
l The subdirectory "out" must be defined in a way that it can be written to from any other user ID. For
this, all superordinate directories must have at least read rights (see above).
Under UNIX, there are no file attributes. Therefore, all specifications are ignored, except for the options
reclen and nl. Note that several options need to be separated with a comma.
Example: nl=crlf
Flowchart details
User UID = UID of the user who has been specified in the Login object of the source (FileTransfer tab,
From area).
Deletion right = The right "wx" to access the folder in which the file is stored.
When checking User GID=Folder GID, the system verifies that the user is a member of the same group as
the folder.
Chapter9 AE and Target Systems | 356
l those which are located in the home directory of the signature AE and in all subdirectories,
l those which have last been modified between 10.1.1999 00:00 and 10.7.1999 23:50 and
l those which have a file size between 1 and 9999 bytes.
The creation, the forming up and the processing of a data sequence is a complex process in which script
functions and statements as well as special objects cooperate closely. The following example shows the
357 | Chapter 9 AE and Target Systems
necessary definitions for the involved objects and the corresponding script statements and their
references. The example is intentionally kept small and clear to show the principles.
The AE utility UCXE???F offers wider query possibilities compared to the traditional operating system
command ls. It has to be installed on the host. The question marks in the program name are
placeholders for System ID and Version of the Unix derivative.
Job: SC.PROCESS.UNIXFS
The script of the job calls the function PREP_PROCESS, which prepares the processing of the data
sequence. The following parameters are passed:
l Name of the computer on which an event job is to be executed - in this case: SOLARIS.
l Type of the event job to be executed - in this case UNIXFS.
By specifying UNIXFS, the job EVENT.UNIXFS will be executed.
By default the event jobs EVENT.BS2000.CMD, EVENT.BS2000UCON, EVENT.UNIXCMD,
EVENT.UNIXFS and EVENT.WINCMD are supplied with client 0000. They can be used as they
are or as a template for your own event jobs.
l The third function parameter specifies which lines produced by the command should be taken into
account. By using the wildcard character "*", all lines will be accepted.
l With the keywords PATH and FSPAR, you specify additional parameters containing the actual
queries of the Unix file system. Following the keyword FSPAR are other keywords as well as value
assignments for the modification time frame, the file size and the inclusion of subdirectories. The
definition of the modification time frame clearly shows the following particularities: The beginning is
specified without a time. This automatically sets the time to 00:00. The end is made up of date and
time specification, separated by a blank. Because blanks separate each specification within the
parameter, the date and time specification has to be between quotation marks.
l The Login object AEADMIN is used.
Chapter9 AE and Target Systems | 358
Job: EVENT.UNIXFS
It is important that the check box "Attribute dialog" is checked in its Notification tab That way the Include
object ATTRDIA.BS2000 is read which normally causes the start of the Attribute Dialog.
Include: ATTRDIA.UNIX
All attributes listed in the script of the Include can be supplied. The script variable &UC_USERID receives
the value AE. The Attribute Dialog is not displayed because the passing of the variable contents is done
internally.
Job: EVENT.UNIXFS
Chapter9 AE and Target Systems | 360
At the start of the job EVENT.UNIXFS, the script variables &PATH and &FSPAR are supplied with
values. These values are defined in the parameters of the script function PREP_PROCESS of the job
SC.PROCESS.UNIXFS. The AE utility is called with these specifications. It retrieves the requested
information on the Unix file system. It is not necessary to replace the question marks in the program name.
The utility can be called in this way after a correct installation.
The outfile is transferred to the Automation Engine via file transfer and is then available as a data
sequence. The execution of the job EVENT.UNIXFS is then completed.
Job: SC.PROCESS.UNIXFS
361 | Chapter 9 AE and Target Systems
The function PREP_PROCESS returns a value that is a handle for information on the data sequence that
will be processed.
This value is passed to the statement :PROCESS as a start parameter, :PROCESS and
:ENDPROCESS then form a processing loop which, in this case, will be cycled until the end of the data
sequence is reached. During each iteration a new line of the data sequence is fetched from memory. The
function GET_PROCESS_LINE can - by using the current value - retrieve the content of the current line.
In the example, the current console line is written to the activation protocol.
The :STOP statement interrupts the execution and displays this activation report.
Using this utility extends the query options compared to the usual OS command "ls". To obtain information
about the UNIX file system, you must specify the parameters of the script statement PREP_PROCESS
in a specific syntax.
In one of this script function's parameters, you can specify the file name including the path. This parameter
starts with the keyword PATH. To specify the file name, you can use the wildcards "*" and "?". "*"
represents any number of characters, "?" represents exactly one. The current directory is used if neither
path nor file name are specified. Relative path indications are not yet supported.
A different parameter starts with the keyword FSPAR. It stores the specifications for querying the file
system. These specifications consist of a keyword and a value. Several additional specifications must be
separated with a blank. Enclose a value in double quotation marks if it includes a blank (for example,
ATIME="980101 1000").
Chapter9 AE and Target Systems | 362
Keyword Value/Description
PATH (or: This is the parameter keyword for the file-name specification, including its full path
PFAD) description.
FSPAR This is the parameter keyword for the file-system query.
TYPE The specification of a file type:
Comments
SIZE can only be specified for regular files. If SIZE has been defined, the TYPE definition is internally set
to a regular file. The file size is specified in bytes.
For example:
SIZE=100, Files as of 100 bytes
SIZE=100 Files up to 100 bytes
SIZE=,100 Files up to 100 bytes
SIZE=100,4000 Files between 100 and 4000 bytes
The following date and time formats can be used to specify ATIME, MTIME and STIME. The following
abbreviations are used: "Y" for the year, "M" for the month and "D" for the day. If no time is specified, AE
uses the value "0000".
YYYYMMDD,
"YYYYMMDD HHMM",
YYMMDD,
"YYMMDD HHMM".
For example:
ATIME=19971231 All files until this date
ATIME=,19971231 All files until this date
ATIME=19971231, All files as of this date
ATIME=19970101,19971231 All files as of the first date to the second date
363 | Chapter 9 AE and Target Systems
Examples
All home-directory files with the ID AE which were last accessed between 6 October 1997, 12:00 and 31
December 1998, 23:50 and which have a file size between 1 and 9999 bytes are listed. All subdirectories
of the home directory are considered.
See also:
About Scripts
Script Elements - Alphabetical Listing
Script Elements - Ordered by Function
On AIX systems, 256 MB are allocated to each process by default. This memory limit can be increased to
a maximum of 2 GB using the environment variable LDR_CNTRL.
Using this parameterization, up to 2 GB memory can be allocated even from a 32-bit agent. Aborts due to
insufficient memory can occur during the transfer or processing of huge spool lists or reports.
For jobs which require more than 2 GB memory, the user must increase the limit in the job using the
command ulimit (authorization required). It is also possible to define that there is no memory limit. This
can be defined in the job using the command ulimit -d unlimited.
Start off by querying the variable. "sys0" stands for the device name.
lsattr -El sys0 | grep fullcore
There are several ways that can be used to set the variable fullcore to the value "True". The easiest one is
to call the tool "smit" with the root user using the parameter "chgsys".
smit chgsys
Use this tool to set the variable "Enable full CORE dump" to the value "true". By doing so, the variable
"fullcore" is activated on a system-wide basis.
Two other parameters can also be used to specify the maximum file size (which includes the Core file's
size). Query the specified values with the command "ulimit":
ulimit -a
The command "ulimit" can be used to change values. The option "-f" indicates the maximum file size in
blocks of 512 bytes.
Example:
ulimit -f 4096 # 4096 * 512 Bytes
ulimit -f unlimited
The option "-c" defines the maximum size of Core files in blocks of 512 bytes or unlimited.
Examples:
ulimit -c 4096 # 4096 * 512 Bytes
ulimit -c unlimited
Depending on the job's execution, it also sets one of the following return codes:
You can define the return code as of which the job should abort in the Job object's Runtime tab.
The agent writes Job Messenger traces to the job report (REP). These outputs are found at the report's
beginning (start messenger) and its end (end messenger). They contain information about the messenger's
connection status. Trace output is automatically activated if an error occurs in combination with the
messenger program.
Use the parameter TRC= when calling the Job Messenger program in the Trailer and/or Header Include
(see: job includes). It is automatically included in the Unix job includes. The predefined script variable
&UC_MD_JOB_TRC will be assigned to this parameter. Thus, you can activate ('1') or deactivate ('0')
trace output by using this variable.
By default, the activation of Job Messenger trace outputs is provided in the Header Include of UNIX jobs.
Open the Include object HEADER.UNIX in the system client. It contains the definition for the variable
&UC_JOB_MD_TRC. This variable's value will be passed on to the parameter TRC= when the Job
Messenger is called (JCL line).
Chapter9 AE and Target Systems | 366
You can activate the trace output for a particular UNIX job by inserting the following scripting line in the
PreProcess tab:
:SET &UC_JOB_MD_TRC = '1'
367 | Chapter 9 AE and Target Systems
See also:
Step 1: Create the two shell script files chk-AE-start.ksh and chk-uc4.ksh with the following contents:
chk-AE-start.ksh:
nohup /usr/local/bin/sudo -u mgws /var/tmp/chk-uc4.ksh&
chk-uc4.ksh :
while true
do
echo "$(date) $0" >> /var/tmp/chk-uc4.log
sleep 10
done
Chapter9 AE and Target Systems | 368
Step 2: In the job script, call the shell script chk-AE-start.ksh with the utility "ctrun" and at the beginning of
the job script, insert the following line:
ctrun -l child /var/tmp/chk-AE-start.ksh
Automic recommends that you do not define any limit for the user under which components start. It can
occur that a component that is affected by such a limit cannot work as required (for example, the agent
cannot open the report) or it rare cases, it can even happen that the program crashes.
Automic recommends removing or not using limits or when necessary, defining very high values for them.
These recommendations for limits affect all components that run under UNIX, which includes the UNIX
agent, the utilities, the UserInterface, and also the Java and ERP agents.
You can use the resource concept of the Automation Engine in order to save OS resources.
Possible attributes
If the agent sends return code "0" to the AE system, this equals code "1" in AE.
Warnings and successful job executions cannot be distinguished. Automic strongly recommends
analyzing the variable $severity whenever a VMS command has been processed. It contains the return
code of the last command. Further job processing can then be handled via script.
Use an Include object for analyzing the variable $severity. In doing so, the relevant script lines must
only be maintained in one object and can be included in any job.
See also:
Job - Includes
The AE Connector reads a request, a message in XML format, from the request queue (SIQ) and forwards
it for processing to the Automation Engine. An internal format is used for this. The AE Connector waits for
the Automation Engine to verify processing and notify the end of the process. Here an internal format is
also used. The answer is assigned to the request from the AE Connector and written in XML format into
the reply queue (CIQ).
Example of Request
<apiscriptexec>
<uc-env request="ID1" release="1">
<request name="apiscriptexec">
<control>
<timeout unit="sec">10</timeout>
</control>
<login>
<system>UC4</system>
Chapter9 AE and Target Systems | 374
<client>97</client>
<name>NAME01</name>
<department>DEPARTMENT01</department>
<passw></passw>
<language>D</language>
<clienttype>C</clienttype>
<clientvers>11.0.0</clientvers>
</login>
<script><![CDATA[:SET &RUNNR = ACTIVATE_UC_OBJECT
(JOBS,EXAMPLE1)]]></script>
</request>
</uc-env>
</apiscriptexec>
Domain
User Name
Password
You can allow a user to use particular login types. The login types interactive and batch can be
used. For example, if a user is only allowed to log on via batch, this user can start jobs only in batch mode.
The parameter BATCH must be specified in this case.
DESKTOP
This option should be specified if the job that should start expects particular user inputs. The
process is then visible for any user who is logged in. This user can enter the required user inputs.
If this option is not specified and the process requires an input, the job hangs and can only be
removed by using the task manager.
Attention
System Dependencies
Depending on the operating system and the agent's start type, there are the following dependencies that
apply:
1. Irrelevant, the system starts on the desktop using the user's name and rights.
2. Is used - The desktop user must have the appropriate privileges (such as a system user).
3. Is used.
Types 1 and 2 (GUI and console programs) should be started from the command line if possible. The
advantage is that AE can retrieve the correct program exit code.
Type 3 and 4 (DOS programs and OS commands) can only be started through a BAT file. The job ends
correctly or incorrectly using the Job Messenger mechanism.
Automic recommends testing the BAT file or the command line on the target system before you start the
job via the AE. Use the user who should later execute the AE if possible.
Using graphical programs can always cause unexpected user dialogs (message box). Automic
recommends using the option DESKTOP for test runs.
Job report: The program output after STDOUT and STDERR is the job report of a Windows job. Usually,
only 32-bit console programs and most DOS programs create a job report.
377 | Chapter 9 AE and Target Systems
Purpose
There are various ways of starting Windows jobs or programs. Therefore, AE supplies a number of test
programs which in the various modes in Windows.
Files
The programs are found in the subdirectory EXAMPLE of the Windows agent
(IMAGE:AGENTS\WINDOWS...).
The test programs do not have an actual function. their execution can be controlled through parameters in
the startup options.
Example
The 32Bit GUI program is started. It waits for 10 seconds, executes the file dialog without effect, sets the
return code to 4 and closes itself.
A Windows Job object combines all the processes of a Window job and provides the following
advantages:
In the host tab of a Windows job, you can specify whether it should run in a Windows Job object or not.
You can also specify this setting in the Windows agent's INI file. This setting is then used as the default
value and is used for all Windows jobs.
[GLOBAL]
;...
useJobObject=1
Refer to the report of a Windows jobs to see if it has run with a Windows Job object.
Examples
The setting "Job Object - Yes" has been checked in the host tab of a Windows job. The Process tab
contains the command Start "New Window" which starts a new process. This Windows job only ends
when you quit the new window using the "exit" command. It is displayed in the Activity Window until then
as the following illustration shows.
The Windows are only displayed when the option Show job at the desktop is activated in the host tab
or when the Windows agent does not run as a service.
379 | Chapter 9 AE and Target Systems
Use the host specific Windows tab to specify when the job report should be stored in the database and/or
in a file. It is also possible to define that a report should only be stored in case of an error.
Chapter9 AE and Target Systems | 380
The option Is generated by script serves programs whose outputs are supplied in files. If this
specification has been activated, the job reports contain the program outputs.
With each job execution, an extra file is created for the job report. Use the attribute "FILENAME_
SYSOUT" to retrieve these files' names which are composed of the individual run numbers (RunID). The
path for the job report can be set with the variable "UC_EX_PATH_JOBREPORT" and read with the script
function GET_VAR. Finally, the retrieved information can be assigned to the program.
For example:
:SET &job_report_path# = GET_VAR(UC_EX_PATH_JOBREPORT)
:SET &job_report_filename# = GET_ATT(FILENAME_SYSOUT)
Reports of Windows jobs show whether a particular job used a Windows Job object. The end of the AE
Job Messenger then supplies different information:
See also:
No automatic elevation is possible if the batch mode is not activated. The Windows user under which the
Job is executed requires the right to log on as batch job (System Control - Administration - Local Security
Policy).
The relevant Job will automatically be elevated if it requires more authorization. Therefore, the user who is
specified in the Login object must have the required authorizations. Note that all processes of the affected
AE Job will be executed with these rights. If the relevant user does not have one or several of the required
381 | Chapter 9 AE and Target Systems
rights, the agent cannot execute all processes. Windows then aborts with the error 740 (elevation
required).
On Windows 2012 you should also change the relevant entries in the registry. It is not sufficient to
change the UAC privileges by using the control panel in Windows 2012.
For further details please refer to and observe Microsoft's information on registry setting changes.
Follow this link to Microsoft's own site for information on the registry settings, find the description of the
key "EnableLUA" and set it to "0".
Comment
The Windows-UAC displays a message asking users to confirm execution of functions and programs,
according to permissions that have been set for the respective user.
This behavior cannot be controlled via the Automation Engine. You should set the relevant permissions
according to the notes on installation in the Automation Engine documentation relevant to Agents, Jobs,
etc.
Hyper-threading
For technical reasons, the Windows agent cannot retrieve the correct number of CPUs for all supported
Windows versions if the computer runs with hyper-thread turned on. In such a case, the agent supplies a
lower number of CPUs than is actually available. The following table lists the Windows versions for which
the number of CPUs is correctly retrieved:
Libraries in Windows 7 are "virtual folders" which can be used to combine contents that have been stored
in different locations. In other words, they are a collection of different directories.
These virtual directories can be accessed via the path "Libraries" (e.g. "Libraries\Documents"). This is a
"relative path" because it does not indicate the actual storage location. Thus, it cannot be used in
combination with AE.
This note is of special importance when you use agents for file transfers which run on Windows 7.
Chapter9 AE and Target Systems | 382
The absolute path is required to access Libraries using AE. Under Windows 7, Libraries are stored in the
following directory:
C:\Users\%Username%\AppData\Roaming\Microsoft\Windows\Libraries\
These details can be file attributes of the operating system or additional options which are only evaluated
by the agent. Note that several attributes and options need to be separated with commas.
You can also override the original attributes. This means that even if the option Keep original attributes
has been activated, the attributes that should be passed on to the target should be overwritten (e.g.,
setting a read-only permission for all destination files).
Attribute Description
ARCHIVE Archive (file has changed since the last backup was made)
COMPRESSED Compressed file
ENCRYPTED Encrypted file
HIDDEN Hidden file
READONLY File is read only
SYSTEM System file
Additional Options
You can specify particular options in addition to the operating system's file attributes in the File attributes
field. They affect the formatting of the file content, but are not file attributes. These options are also
available for UNIX agents.
Example: nl=crlf
l Jobs processing
l Execution of file transfers
l Event handling
l CallAPI
Job Processing
In the AE, jobs are defined and maintained in the form of objects that include various tabs. The JCL is
stored in the Process tab. Its logic can be very complex if you make use ofthe AE's script elements.
See: User Guide - Job and Job - Execution
In the AE, you can start jobs either manually or via control mechanisms such as Workflow objects or
Schedule objects. The Automation Engine then generates an executable job and sends it to the MPE agent
via a file transfer.
See: Inside AE Guide - Executing Objects
In z/OS, the job is read and put to the Internal Reader. The Internal Reader starts the job. Monitoring takes
place through SSL.
The job notifies the agent about the beginning and end of an execution. The agent then passes this
information on to the Automation Engine.
The agent monitors the job's status in regular intervals. This ensures that an abnormal end can be
determined if a job vanishes ABEND or CANCEL). The job's return code is available in AE.
The job report (MSGCLASS) which includes the JES statistics and the complete job output is stored in a
file that is specified by the Automation Engine. If specified in the job, the agent transfers the report to the
Automation Engine which stores it in the AE database. Because JES requests the job output, you must
use a MSGCLASS with the status HOLD.
In the AE, file transfers are defined and maintained in the form of objects that include various tabs. They
are executed with the character conversions that are defined in these tabs (such as IBM_3270_
INTERNATIONAL).
See: User Guide - FileTransfer
See: Knowledge Base AE and z/OS - Agent - FileTransfer Support
Chapter9 AE and Target Systems | 384
Event Handling
In the AE, events are defined and maintained in the form of objects that include various tabs.
The z/OS agent also supports events of type FileSystem and Console.
See: User Guide - Event
CallAPI
You can use the CallAPI with a utility that can be called by using a job.
See: User Guide - CallAPI for z/OS
While defining a FileTransfer object, you can define additional file attributes for the file transfer's
destination in the FileTransfer tab. This definition overrides the system's default allocation.
You can assume the attributes of the source files if the source and destination platform comply with each
other. Use the option "Keep original file attributes" in the FileTransfer object for this purpose. Note that in
z/OS, you cannot override these attributes. With this option being activated, an error will occur if you
define additional attributes.
The following two formats can be used to specify file attributes in file transfers that use z/OS as the
destination platform.
The "Language Environment Format" is the usual format. The file attributes for file transfers of older
Automation Engine versions have already been specified in this format. Several file attributes are
separated by commas, values are assigned using the character '='.
Examples
recfm=fb,lrecl=1024,blksize=2048,space=(CYL,(1,1,0))
recfm=fb,lrecl=80
385 | Chapter 9 AE and Target Systems
Allocate Format
Starting with version 9.00A, you can set the attributes for file transfer files using the ALLOCATE
command. Several attributes are separated by using blanks and the values are written in parentheses
directly after the attribute name. The '=' character is not required.
This spelling can only be used with the new file transfer protocol (source and destination agent are of
version 9.00A or later).
l DATACLAS
l EXPDT
l MGMTCLASS
l RETPD
l RLSE
l STORCLAS
l UNIT
l VOLUME
l RECFM
l LRECL
l BLKSIZE
l SPACE (only in combination with CYLINDERS, TRACKS or BLOCK)
l DSORG
l ROUND
For a detailed description refer to the IBM documentation of the TSO command ALLOCATE.
Example
ALLOCATE RECFM(FB) LRECL(1024) BLKSIZE(2048) EXPDT(2010100) SPACE(1,1) CYLS
DIR(10) UNIT(3390) VOLUME(DSK30D,DSK30E)
l Write the job output to the message class specified in the Job object
l Include the JES statistics (JESMSGLG, JESJCL and JESYSMSG) in the job log in addition to the
job output
l Read message classes and include them in the job log
l Route the job log to message classes
l Release the job log for printing and delete it
The relevant settings can be defined as a default setting in the agent's INI file or in the Job object. Job
object specifications overrule the INI-file values. All settings can also be defined in the script via job
attributes. Automic recommends specifying the configuration that is used most in the INI file and jobs
differing from this specification directly in the object or via script.
The following table contains all possible specifications for message classes. The entries of the column
Job object correspond to the fields in the interface of the z/OS tab.
Chapter9 AE and Target Systems | 386
It is possible to enter a message class on step level within a job in order to route particular messages
and filter them.
Some parameters must be specified if using an Output Management System such as BETA92:
In some Output Management Systems, the Msgclass must be a write class - otherwise, it
cannot be processed. Also, an external writer should not be connected to this class as the output
would be processed from this writer.
4. The job log must not be deleted in the JES spool.
How the job-log routing is specified directly in the job is shown in the following illustration. The job writes
its output in message class "B". This message class and class "A" are read. The order is significant when
message classes are routed. Message class "A" is routed to "K" and "B" to class "J".
387 | Chapter 9 AE and Target Systems
See also:
z/OS - Job
z/OS - Attributes
This requires the Event Monitor UCXEM25 to be installed and started. Type "FileSystem" checks via SMF
whether the condition is met and, if so, the event is immediately triggered.
The Event Monitor can also be operated in the form of a started task. In this case, an extra INI file is
required and the parameter start= in the agent's INI file must be commented. Start the Event Monitor as a
started task and it tries to establish a TCP/IP connection to the agent. The Event Monitor only connects to
the Console of its own LPAR. It loads the SMF Exit to use the SMF-based functions. If it is not possible to
establish a connection to the agent, or if the connection is lost during operation, an attempt to reestablish
the connection is made in the specified interval (parameter connect= in the section TCP/IP in the INI file).
Chapter9 AE and Target Systems | 388
The Console command "MODIFY ..., EX=<addr>,:<port> facilitates that a reconnection can quickly be
established. In this case, the attempt to reconnect to the specified agent is made immediately. A
connection is also established if the Event Monitor has an existing connection to another agent. A new
connection is established in this case. The old connection is ended if the new connection is
successfully established.
The Event Monitor supports logging and trace functions. If the trace buttons are dynamically modified at
runtime, these modifications are sent to the Event Monitor. The Event Monitor's logging is not written to
the AE database.
VSAM file
This file serves as event memory; the filtered events are stored. Only after the Server has acknowledged
that the event has been processed does the Event Monitor delete it from this file. This ensures that the
Event Monitor does not lose events and that they are kept even if the Event Monitor had been ended and
restarted.
Sequential file
This file contains filter definitions - the Event Monitor memorizes the filter which it has received from the
Server. The whole file is rewritten if something is changed in the filter definitions. If the Event Monitor is
restarted, it uses these filters (even without the agent). The Event Monitor can obtain additional filters or
existing ones can be deactivated as soon as the connection to the agent has been established.
The Event Monitor can be ended via the Console command "STOP" or "MODIFY END". "MODIFY
SHUTDOWN" is available in the agent. In this case, the agent ends all Event Monitors that are
connected to the agent via TCP/IP and then the agent ends itself.
Use the following commands to end the Event Monitor and/or the SMF Exit manually:
Command Description
MODIFY Name of the Event Ends the Event Monitor, the SMF Exit remains active
Monitor,END
STOP Name of the Event Ends the Event Monitor and the SMF Exit
Monitor
MODIFY Name of the Event
Monitor,SHUTDOWN
MODIFY Name of the Ends all Event Monitors including SMF Exits which are connected to
agent,SHUTDOWN the agent. The agent then ends itself.
The SMF Exit always remains active when an Event Monitor is canceled.
SMF Exit
An Event Monitor forwards events to the Automation Engine only when it is active. The SMF Exit stores
them if the Event Monitor ends or aborts in order to ensure that no event is lost.
See file:
389 | Chapter 9 AE and Target Systems
Event
INI File of the z/OS Agent (Event Monitor as Sub-Task)
INI File for the Independent Event Monitor
The Event Monitor identifies Console events, automatic FileSystem events and the end of z/OS jobs. The
Event Monitor can also be used to react to the generation of external files. As soon as the external Job
Monitor identifies an external job end, it creates a file, thereby enabling a reaction through the Event
Monitor. The Event Monitor communicates with the AE system via the agent and triggers an Event object.
Not every job end requires an action. You can use a filter file to determine the jobs or steps that require a
reaction. If the end of an affected job has been identified, the EJM creates a temporary file. This file is only
required for the generation of an SMF record to which the Event Monitor can react. It can be deleted
afterwards.
Note that the creation and deletion of files leads to entries in the dataset catalog. Make sure to
reorganize it regularly.
Chapter9 AE and Target Systems | 390
It is possible to identify external jobs within a Sysplex if an external Job Monitor and an Event Monitor
instance run on each LPAR (local partition). Each LPAR has its own SMF subsystem which is not
sysplex-able. The agent does not require SMF and can be used sysplex-wide. There is no direct
connection between EJM and EM. The EJM signals to the EM that a job has ended by generating a file.
The EM sends the data to the z/OS agent across LPARs.
391 | Chapter 9 AE and Target Systems
SMF Exit
Events and information concerning the external Job Monitor should be written to the CADS via an SMF
Exit (same procedure as in EventMonitor). Doing so requires a new SMF Exit (AEEXJM). This Exit
behaves similarly to the Event Monitor SMF Exit with the exception that it only collects type 30 records.
The SMF Exit module will automatically be loaded when the external Job Monitor module starts. The SMF
Exit continues collecting events even if the EJM has been ended. A message is written to the log file if a
job that has been specified in the filter file finishes in the meantime.
You can use the existing program CADSDEL as emergency recovery for the EJM.
Problems can occur if you use a filter file of the same content in several LPARs. For example, jobs of
the same name can end on different LPARs at the same time. In this case, the system attempts to
generate files of the same name in parallel which eventually leads to an error. As this error hardly ever
occurs, the utility only writes an error message to the log file and continues.
Filter File
The EJM filter file is necessary to select the relevant ending jobs. The individual filter criteria are
immediately checked whenever an event occurs.
Example: A filter file contains a condition referring to a particular Step/ProcStep. The ending of this Step is
immediately identified and not only when the job has ended. The filter file contains the following selection
criteria:
The filter file must include the DCB attributes RECFM (record format)=FB, LRECL (record length) =85 and
BLKSIZE (block size) =5120. The filter file includes an 85-character line for each filter.
The example shown below illustrates the usage of a job filter dataset:
JOBTEST STEP3* 0-100;S0C4 JOB.ZUC800A1.EJM.TRIGGER.TEMP01
JOBF* STEP01 N0,4,8,12-16 JOBF.ZUC800A1.EJM.TRIGGER.TEMP02
JOBTEST2DUMMY 0-4096 JOB.ZUC800A1.EJM.TRIGGER.TEMP03
JOBTEST2DUMMY2 N0-4096 JOB.ZUC800A1.EJM.TRIGGER.TEMP04
The individual filter lines are connected through an OR relation. Thus, the lines are processed and checked
in sequences. If a selection applies, the particular file will be created.
See also:
393 | Chapter 9 AE and Target Systems
Event Monitor
Structure of the External Job Monitor's Configuration File
The z/OS agent and its Event Monitors use SMF records in the following areas:
A requirement for SMF usage is that your z/OS system accepts the relevant system exits and that the
SMF module logs particular entries. The INI files of the agent and Event Monitors contain some settings
for SMF. Detailed information about the exact configuration is provided in the documentation about the
above functionalities.
General
The Event Monitor monitors Console and FileSystem events and forwards them to the Automation Engine.
You can react to them via Event objects. Events are only monitored when the Event Monitor is active.
Events are collected on the basis of SMF records via an SMF exit. This Exit is able to buffer events even if
the Event Monitor is not available and transmits the collected events to the Event Monitor after a restart.
No SMF records are lost unless the buffer is full (its size is definable).
The System Management Facility (SMF) is also used in other fields. It recognizes job ends and GDGs,
for example.
The following illustration shows the interaction of agent, Event Monitor and SMF Exit.
Chapter9 AE and Target Systems | 394
The SMF Exit stores events in an Area Data Space (CADS). The z/OS Console shows the CADS filling
level colored:
The SMF Exit cannot store events if the CADS is full. The oldest event entry is not overwritten. Events
are stored in the CADS again as soon as memory has become available. This is the case when the
SMF Exit transmits events to the Event Monitor.
The default value for the CADS is 10 MB which is sufficient for storing about 65000 events.
Events occurring during a startup, shutdown or IPL stage are not collected. Events are processed as
soon as the Event Monitor has started.
Configuration
l Make sure in your z/OS system that the SMF subsystem logs all SMF records of type 14, 15, 30
and 64 and that the exits IEFU83 and IEFU84 are active.
l The SMF Exit can run as a subtask of the agent or Event Monitor which requires their INI files to be
adjusted as shown below:
Enter a description for the SMF Exit in the section (CONSOLE), parameter ModulName=.
Define the CADS size in the section (CONSOLE), parameter SMF_Buffersize=. The default size is
10 MB.
Use the following command to start the Event Monitor including the SMF Exit:
Use the following commands to end the Event Monitor and/or the SMF Exit manually:
Command Description
MODIFY Name of the Event Ends the Event Monitor, the SMF Exit remains active
Monitor,END
STOP Name of the Event Ends the Event Monitor and the SMF Exit
Monitor
MODIFY Name of the Event
Monitor,SHUTDOWN
MODIFY Name of the Ends all Event Monitors including SMF Exits which are connected to
Agent,SHUTDOWN the agent. The agent then ends itself.
The SMF Exit always remains active when an Event Monitor is canceled.
Warm Start
The SMF Exit remains active when the Event Monitor is ended manually ("END") or aborts. As soon as the
Event Monitor has been restarted, it connects to the SMF exit again and processes the events which have
accumulated meanwhile.
INI-file modifications in the parameters ModulName= and SMF_Buffersize= have no effect. Values are
only read when the SMF Exit is started again.
Exceptions
Usually, the SMF Exit ends when the Event Monitor is ended with "SHUTDOWN". The CADS is
automatically deleted. Manually ending the SMF Exit is also possible:
Open the Event Monitor's log file. The following log line contains the parameters STOKEN and
TCBTOKEN which are required for ending the SMF Exit:
-UC4 STOKEN=8000160200001328;TCBTOKEN=00000004000000010000000000FD2300
The AE system name and an eyecatcher name must also be specified. Both values are defined in the
Event Monitor's INI file:
Scenario
l The first one includes an agent and an Event Monitor. Both run as independent tasks. The SMF Exit
is a subtask of the Event Monitor.
l The second one also includes an Event Monitor with an SMF Exit running as a subtask.
LPAR1 LPAR2
Agent: MVS01
Event Monitor: EM01 Event Monitor: EM01
SMF Exit: SMFE01 SMF Exit: SMFE01
l Install an agent in LPAR1 as described in the Installation Guide. The complete section (CONSOLE)
in the agent's INI file must be commented out because the Event Monitor should run with the SMF
Exit as an independent started task.
;(CONSOLE)
;start=
;buffersize=
;smfwrite=
;ModulName=
;smfStepFilter=
;smfJob=
;SMF_Buffersize=
;ABENDNUM=
l Install the Event Monitor as an independent started task in LPAR1. The corresponding description
is also found in the Installation Guide. The section (CONSOLE) in the Event Monitor's INI file must
be adjusted because the SMF Exit is a subtask of the Event Monitor:
(CONSOLE)
smfwrite=1
ModulName=SMFE01
smfStepFilter=0
SMFJob=0
SMF_Buffersize=10
l Install the Event Monitor as an independent started task in LPAR2. Adjust the section (CONSOLE)
in the Event Monitor's INI file because the SMF Exit is also a subtask of the Event Monitor:
(CONSOLE)
smfwrite=1
397 | Chapter 9 AE and Target Systems
ModulName=SMFE01
smfStepFilter=0
SMFJob=0
SMF_Buffersize=10
See also:
Event Monitor
In an Event object, you can either filter by the file name or specify a series of filter criteria. The latter
include the name of the file, the job which has processed the file and its return code.
!Process is processed when the event has been triggered. The script function GET_EVENT_INFO
supplies information about the file.
The administrator must set the parameter smfwrite=1 in the INI file of the agent or Event Monitor. Make
sure in your z/OS system that the SMF subsystem allows the system exits IEFU83 and IEFU84. The
entries 14, 15, 30 and 64 must be logged.
Procedure
4. The section Timer control now shows the additional menu item "Automatically". Select it.
1. Enter a file name in the field Path. Use wildcard characters if you intend to monitor several files or
specify the exact name if a particular file should be monitored.
2. The option Startup Event serves to check the file's existence when the Event object is activated.
An event is triggered if the file exists.
3. Enter the script statements to be executed when the event is triggered in the !Process tab. Use the
script function GET_EVENT_INFO.
4. Store the Event object and start it at the time when the file should be monitored.
1. Create a file containing the filter criteria on the LPAR on which the agent runs. This file must have a
particular format which is described in the table below.
2. Specify the filter-file name in the field Path. Use the following format: *file(DSNAME)
Example: *file(SGD.PROD.MASSFILTER)
Wildcard characters are not allowed in DSNAME.
3. Enter the script statements to be executed when the event is triggered in the !Process tab. Use the
script function GET_EVENT_INFO.
Note that "Process" is not processed if the filter file contains the specification of an object that
should be started.
4. Store the Event object and start it at the time when the file should monitored.
Filter criteria
The Event Monitor is able to consider several filter criteria upon the notification of a file closing. In this
case, the event is only triggered if a particular job has used the file or if a specific return code occurs.
399 | Chapter 9 AE and Target Systems
Filter criteria are stored in a separate file which contains one filter definition per line. If several filter
definitions apply in an event (e.g. because they overlap), an event is triggered per applicable line.
The filter file must have the DCB attributes RECFM=FB, LRECL=512 and BLKSIZE=5120.
Each filter-file line is limited to 307 characters. The following areas are available:
" " - File closing immediately triggers the event. The job end is not waited for.
"X" - File closing only triggers the event when the job ends. The return code is
irrelevant.
"N" - The event is triggered when the job ends normally (return code 0-4095).
"A" - The event is triggered when the job ends abnormally (return code 4096-12287).
Use the filter criterion "Job return code" to define the expected return codes.
When analyzing the job end, the agent either refers to the job end's SMF records
or it also considers the records of the STEP ends. Normal and abnormal job ends
can be distinguished if only the job end's SMF records are considered. The
analysis is more detailed if STEP ends are also considered. In this case, the
Event Monitor retrieves the maximum value.
The administrator can determine whether only the job end or also STEP ends
should be considered when checking the return code. Specifications are made in
the Event Monitor's INI file using the parameter smfStepFilter=.
Job 91 to Filters for the job's return code (Condition Codes, User Abends and System Abends)
return 106
Values can be specified as in z/OS or using the AE-specific syntax.
code
If you intend to specify several return codes, separate them with ";" or ",". Areas are
defined using "-".
Action 107 Action which should follow the event
"Y" - The object specified in the following area is processed instead of !Process.
"N" - The object (if specified) is not processed.
Object 108 to Name of the object to be processed
307
You can store a Job object here.
Note that the content of !Process is NOT processed. Instead, the object specified
here is activated.
For lack of space the following example does not show all 307 characters and the full number of digits:
DEV.DS1 JOBA A
DEV.DS1 JOBB A S806 Y CALL.ADMIN
Chapter9 AE and Target Systems | 400
When the Event object starts, the agent reads the filter file and automatically notifies the Event Monitors.
Changing filter criteria requires the affected Event object to be restarted or the filter file to be reloaded using
the statement MODIFY.
Syntax:
Example:
MODIFY UC600T1,FEVNT=UC600T.FILTER1
Optionally, you can define an object which should be activated in reaction to the occurred event. In this
case, the agent stores all information in the input buffer which can be read in the Event object with the
script function GET_EVENT_INFO using keywords. Thus, the activated object can retrieve data using the
script statement :READ. Use the keywords as variable names.
Example:
:SET &FILENAME# = GET_EVENT_INFO (FILENAME)
:READ &FILENAME#,,
See also:
GET_EVENT_INFO
Event Monitor
FileSystem Event
A standard function of this object type is to check file-system values. It is also possible to trigger an event
if a GDG generation is closed. Enter an z/OS host in the File System Event tab and select the option
Automatically in the timer control of the Event tab in order to use this function.
The closing of a new generation is waited for if GDG(+1) has been specified, which is normally the
case. If you specify GDG with +/-0 (+0, +00, +000, -0, -00, -000), the closing of the current generation
is waited for.
Example:
PAYROLL Name of the GDG
DSNAME=PAYROLL(0) This week's generation data set
DSNAME=PAYROLL(-1) Last week's generation data set
DSNAME=PAYROLL(-2) Generation data set of two weeks ago
This script function retrieves the name of a generation which can then be processed.
Extract of an example:
401 | Chapter 9 AE and Target Systems
Configuration
l Activate the parameter smfwrite= in the INI file of the z/OS agent.
(CONSOLE)
start=UCXEM25
smfwrite=1
See also:
FileSystem Event
GET_EVENT_INFO
Activate this function in the INI file of the agents or the Event Monitor if it runs as an independent started
task:
(CONSOLE)
SMFJob=1
By default, the Job Messenger is used to recognize job ends. Therefore, the agent variable UC_EX_JOB_
MD must be adjusted in the agent's INI-file section (Variables). Replace the component "UCXJM25M " by
"UC4START" and restart the agent.
(VARIABLES)
UC_EX_JOB_MD=UC4START
The advantage of using this function is that jobs can be assessed on the basis of the return codes the
job steps supply. You can specify in the Job object whether the highest return code or the last one to
occur is considered for the job end.
Make sure in your z/OS system that the SMF module logs the entries 30.
Each LPAR must run an EM if the jobs are distributed in the SYSPLEX with WLM, as otherwise
recognition does not work.
Note that changing between the two Job Messenger types TCP/IP and SMF does not affect active or
generated jobs. Do not change the Job Messenger if jobs are active or have been generated.
Otherwise, these jobs obtain the end status ENDED_VANISHED. Despite this end status, these jobs
ended successfully; it is only the end message which could not be sent to the agent. Thus, all of a
system's jobs should have ended before the Job Messenger type is changed.
See also:
Chapter9 AE and Target Systems | 402
Event Monitor
You can also define value ranges for the steps instead of individual return codes. The agent compares
the result of a step execution with the defined step list.
z/OS distinguishes three types of return codes: Condition Code, User Abend and System Abend. The
agent uses number ranges each of 4 KB in order to assign the return codes.
The return code of a Job object must be specified as a decimal number. Thus, User and System
Abends must be converted to decimal numbers.
Example:
Return code SB37 indicates a full volume while a file is being written. The corresponding decimal number
is 11063.
See also:
Runtime tab
Create a z/OS job in the AE as usual. Its start causes the generated job to be sent to the agent which
completes it and executes the job in the target system. When using the JCL Exit, the agent calls the
specified module before executing the job. In doing so, the JCL in z/OS can be changed subsequently.
You can add, change or evaluate JCL lines, thereby preventing the start of particular programs, for
example.
You can either create the JCL Exit module in Assembler code or in the programming language C. The
module is specified in the agent's INI-file section JCL Exit. Note that there are different INI-file parameters
for the Assembler-based and the C-based JCL Exit (see configuration instructions below).
The agents only loads one JCL Exit module. By default, the system uses the c-based JCL Exit if it has
been specified.
The supplied CD contains a folder for z/OS agents. It includes a sample module in the file uc4jcle.asm
(Assembler) which inserts comment lines. It also contains a description about how the module is used.
403 | Chapter 9 AE and Target Systems
The JCL Exit module can be individually activated for each z/OS agent. The module is loaded when the
agent starts.
l The agent always uses the c-based JCL Exit module provided that is has been specified.
l Enter the name of your JCL Exit module and the various functions in the INI file of the z/OS agent.
You use the following parameters for this purpose:
(JCL-Exit)
ExitModul=Module name
ExitFunction=ExitFunction name
InitFunction=InitFunction name (optional)
CloseFunction=CloseFunction name (optional)
l This module is used when you have not specified a c-based JCL Exit.
l Enter the name of your JCL Exit module in the z/OS agent's INI file and specify the size of the
output range.
(JCL Exit)
name=Module name
maxJclRecords=1000
l Copy this module either to the AE Load library or add the STEPLIB definition for the agent to the
library with the JCL Exit.
l Now (re)start the agent (this includes the loading of the module).
See also:
INI file
The Include object MVS.JOBMD_DEFINITIONS does not have to be adjusted unless the MVS or
Language Environment Resolver work incorrectly.
This situation can be avoided by creating an Include object with the name MVS.JOBMD_DEFINITIONS in
the system client 0000. In it, you can enter the particular DD statements. The whole statements are found
in the started task of the TCP/IP.
Example:
//SYSTCPD DD DSN=TCPIP.SYSTSMS.TCPPARMS(DT20OEDA),DISP=SHR
//PROFILE DD DSN=TCPIP.SYSTSMS.TCPPARMS(DT20VIPA),DISP=SHR
Chapter9 AE and Target Systems | 404
The Include is called in the Header upon the execution of a job. The Header is an object called
HEADER.MVS which, by default, is supplied in the system client 0000.
:INC MVS.JOBMD_DEFINITIONS ,nofound=ignore
405 | Chapter Glossary
Glossary
This glossary lists all specific technical terms in alphabetical order.
ABCDEFGHIJKLMNOPQRSTUVWXYZ
A
l ARA Client
Refers to a computer on which a ARA/Deployment Manager/Automation Engine user works.
l admin computer
Admin computer refers to the computer that is used by an administrator for e.g. Automation Engine
or database administration purposes.
C
l configuration
A set of constituent components that make up a system. This includes information on how the
components are connected including the settings applied.
D
l Download Center
The Download Center (http://downloads.automic.com/) is the place where you find everything you
need to know about your Automic solution to make sure you are using our products to their fullest
potential.
l database
A database is an organized collection of data including relevant data structures.
l department
Department name to which the Automation Engine user belongs.
G
l graphical user interface
A graphical user interface (GUI) is a human to machine interface based on windows, icons and
Chapter Glossary | 406
I
l ILM
Stands for Information Lifecycle Management, which refers to a wide-ranging set of strategies for
administering storage systems on computing devices.
J
l Java work process
The Java work process, implemented in Java, is used to host special services, which have been
developed in Java.
P
l package module
A package module is a group of related package types, e.g. Feature, Change Request, or Bug. It
defines how the packages are displayed in the GUI and the features enabled for each package type.
l password
A secret combination of characters for a Automation Engine user.
R
l RichClient
Deprecated Term. Replaced by: UserInterface
l rollback scope
The scope of a workflow to roll back. For a rollback on a job the scope is this single task while for a
rollback on a workflow the scope is this workflow and all sub-workflows in arbitrary depth.
407 | Chapter Glossary
S
l Service Manager
The Service Manager serves to start, stop and access components such as the Automation Engine
processes or agents from a central point.
T
l token
A token is used for authentication within a session between a client and a server. A (soft) token is a
unique identifier which is generated and sent from a central server to a client software. The client
uses the token to authenticate each request.
U
l user name
Name of the Automation Engine user.
V
l vSphere
vSphere is a virtualization platform for building cloud infrastructures by VMware.
W
l web application
A web application is an application that is accessible over a network (Internet or intranet) and is
typically coded in a programming language like Java or JavaScript, combined with a markup
language like HTML. Web applications are provided on web servers and web browsers are used as
GUI on client computers.