Platforms for CallAPIs
CallAPIs are supported for the platforms BS2000, Java, NSK, OS/400, SAP, UNIX, VMS, Windows, and z/OS. The required files are supplied with the Automation Engine and examples are provided for each platform. You can call all platforms either with your own program or with the corresponding utility.
This page includes the following:
You define the code table that should be used in the INI file of the CallAPI for the Agent BS2000 by entering the name of the CodeTable object in the codetable= parameter of the [GLOBAL] section.
Use Your Own Program
You can assign all parameters that are required with your own program. The only requirement is that it must include the UCCALL3 module, or dynamically reload it at runtime. For more information, see Use the CallAPI with your Own Program.
Use the Utility
The supplied package includes the UCXBB2?C utility. You can use it in BS2000 procedures or batch jobs. For more information, see Use the CallAPI Utility (ucxbxxxc).
The utility reads the data that is required for logging in to the Automation Engine through SYSDTA. The AE Script that should be executed can either derive from a file or directly from SYSDTA. If you use a file, you must assign it before the program is called by using the link name UCSCRIPT.
Examples
In the first example, the link name UCSCRIPT is not assigned. The AE Script that should be executed is read until it reaches the SYSDTA command /EOF.
/FILE UCXBB22C.INI,LINK=INI
/EXEC UCXBB22C
04,RS,PROG,PASSWORD
:SET &RUNNR = ACTIVATE_UC_OBJECT(JOBS,EXAMPLE1)
:IF &RUNNR = '0000000'
: SET &ERROR = SYS_LAST_ERR_NR
: SET &ERROR = SYS_LAST_ERR_NR
: STOP MSG,51,'ACTIVATION ERROR: &ERROR'
:ELSE
: STOP NOMSG,50,'THE JOB WAS STARTED WITH RunID &RUNNR'
:ENDIF
/EOF
The script that should be executed is available in the file MY.SCRIPT.FILE:
/FILE UCXBB22C.INI,LINK=INI
/FILE MY.SCRIPT.FILE,LINK=UCSCRIPT
/EXEC UCXBB22C
04,RS,PROG,PASSWORD
The following example returns the RunID, the error code, and the error message from the CallAPI. These three values are written in a job variable (JV).
/CREATE-JV JV-NAME=#UC.RETCODE
/SET-JV-LINK LINK-NAME=UCRETC,JV-NAME=#UC.RETCODE
/CREATE-JV JV-NAME=#UC.RETTEXT
/SET-JV-LINK LINK-NAME=UCRETT,JV-NAME=#UC.RETTEXT
/CREATE-JV JV-NAME=#UC.RUNID
/SET-JV-LINK LINK-NAME=UCRUNID,JV-NAME=#UC.RUNID
/EXEC UCXBB23C
*INI
:SEND_MSG RS,DEV,'MESSAGE FROM THE BS2000 CALL INTERFACE &NAME.'
/EOF
/SHOW-JV JV-CONTENTS=*LINK(LINK-NAME=UCRUNNR)
/STEP
/SHOW-JV JV-CONTENTS=*LINK(LINK-NAME=UCRETC)
/SHOW-JV JV-CONTENTS=*LINK(LINK-NAME=UCRETT)
Use Your Own Program
See Use the CallAPI with your Own Program.
Use the Utility
You can call the UCCALL3.JAR file from the command line, or from a batch file. A sample file (UCCALL3.BAT) that explains how you call it from a batch file is supplied with the AE files. For more information, see Use the CallAPI Utility (ucxbxxxc).
Example
The CallAPI is called with the login data of client 0098 and can be accessed without using a password. The following example activates an AE Script which is stored in the file SCRIPT.TXT.
java -jar uccall3.jar script=script.txt logon=98,smith,uc4
Use Your Own Program
See Use the CallAPI with your Own Program.
Use the Utility
The utility UCXBNS1C is part of the AE package. You can call it from the command line of the relevant operating system, from a script or a job. For more information, see Use the CallAPI Utility (ucxbxxxc)
Examples
The first example calls the utility with the connection and login information that is specified in the form of parameters. The utility reads the processing instructions (AE Script) from a file called SCRFILE.
run ucxbns1c script=SRCFILE LOGON=1000,SMITH,UC4
The second example calls the utility with the specified script file. Connection and login data, and additional information are read from the INI file.
run ucxbns1c script=SRCFILE INI=UCXBNS1I
Use Your Own Program
See Use the CallAPI with your Own Program.
Use the Utility
The supplied utility UCXBO41C is available in the library and may be used in OS/400 CL scripts. For more information, see Use the CallAPI Utility (ucxbxxxc).
The AE Script that should be executed is read from a file member.
Example
The libraries are adjusted to your AE installation.
CALL PGM(UC4/UCXBO41C) +
PARM('INI=UC4/INI(UCXBO41C)' 'LOGON=<your four-digit client number>,<your user>,<your department>,<your password>' 'SCRIPT=UC4/INI(SCRSAMP)')
The RFC Server transfers the script to the AE system. It includes a function module called UC4 which you can call in your ABAP programs.
The SAMPLE folder of the delivery package includes sample programs which explain how you can use it. For more information, see Use the CallAPI Utility (ucxbxxxc).
Function Module UC4
Sound knowledge of ABAP/4 is required to understand the following descriptions:
Import Parameter
-
client(4) type n
AE client
-
trcflg(1) type c
Trace flag
-
userabtl(200) type c
Department of the AE user
-
username(200) type c
Name of the AE user
- queue(200) type c
(Optional) Name of the queue, for example CLIENT_QUEUE -
userpass(32) type c
Password of the AE user
Export Parameter
-
msg(255) type c
Message
-
run(10) type c
Run ID of the scripts
Tables
-
script
Script table (a total of 255 characters per line)
Example
TYPES:
BEGIN OF scriptline,
script(255) TYPE c,
END OF scriptline.DATA:
uc4_script TYPE TABLE OF scriptline WITH HEADER LINE.
Exceptions
-
logon-failed
Logging in to AE was not successful
-
others
Other error
Example
Call the function module:
call function 'UC4' destination 'UC4'
exporting
client = p_clint
trcflg = '0'
userabtl = p_usera
username = p_usern
userpass = p_userp
importing
msg = omessg
run = orunnr
tables
script = uscript
exceptions
logon_failed = 1
others = 99.
Use Your Own Program
The UCXBXXXC.c program is available as C source code. The corresponding structure definitions are stored in the UCCALL3.h file . These files and the MakeFile for compiling the example are available in the /src directory. Update the supplied example with your data. Adjust the MAKEFILE_EXAMPLE.??? MakeFile to your environment. Rename it to MAKEFILE and then you can call it with make because MAKEFILE is the default name. Now you can generate an EXE file and test the CallAPI. For more information, see Use the CallAPI with your Own Program.
Use the Utility
The UCXB???C utility is supplied with the AE files. You can either call it from the command line or from an executable file. For more information, see Use the CallAPI Utility (ucxbxxxc).
AE Script is used to define processing steps which are assigned as default input when the program is called: The entry < file name reads the AE Script from the corresponding file. The entry <<EOF_SCRIPT reads the AE script from the command line until the text EOF_SCRIPT is recognized.
Examples
In the first example, the utility is called with the AE Script being read from the script.txt file. Connection and login specifications are read from the INI file.
./UCXBUI5C SCRIPT=./script.txt
In the second example, the connection and login specifications are passed from the CallAPI.
./ucxblx6c SCRIPT=script.txt LOGON=0001,SMITH,DEV, aerox
Use Your Own Program
The UCXBVXXC.C program is available as C source code. The corresponding structure definition is stored in the UCCALL3.H file. A command for compiling the example is available in MAKEXAMP.COM. Update this example with your data and adjust it to your environment. In doing so, you can generate an EXE file, and can test the CallAPI. For more information, see Use the CallAPI with your Own Program.
Use the Utility
The delivery package includes the UCXBV??C.EXE utility which you can call from a command file. For more information, see Use the CallAPI Utility (ucxbxxxc).
Processing steps that are defined with AE Script are read by the standard input.
Use Your Own Program
See Use the CallAPI with your Own Program.
Use the Utility
No installation is required for using the CallAPI but you need to make sure that the utility can access the UCXBWI3C.DLL file. For more information, see Use the CallAPI Utility (ucxbxxxc).
Example
In the following example, the utility is called with the login data of client 0098. Access is possible without a password. The aim is to activate an AE Script which is stored in the file SCRIPT.TXT.
UCXBXXXC SCRIPT=SCRIPT.TXT LOGON=98,SMITH,UC4
You define the code table that should be used in the INI file of the z/OS CallAPI. Enter the name of the CodeTable object in the [GLOBAL] section, parameter codetable=. If this parameter is empty, the IBM default code table is used.
Use Your Own Program
See Use the CallAPI with your Own Program.
Use the Utility
The delivery package includes the UCCALL4 utility which you can use in z/OS jobs. You find it in the load library. For more information, see Use the CallAPI Utility (ucxbxxxc).
The AE Script which should be processed in the Automation Engine is read from SYSIN. You can also use the data definition instead of the dataset names as you can see in the following examples.
If the utility should be used in a job, the user must be authorized to communicate through TCP/IP.
The REGION= parameter should be set at least to 65M as otherwise, errors will occur.
Examples
Dataset names must be adjusted to your installation and z/OS configuration.
The latest CallAPI, version 4, is written in LE C and supports AES encryption and IPv6:
//UC4JOB JOB ......
//UCCALL EXEC PGM=UCCALL4,
// PARM='INI=FLQ.UCXBM25C.INI LOGON=<your four-digit client number>,<your user>,<your department>,<your password>'
//STEPLIB DD DSN=FLQ.UCXJM25.LOAD,DISP=SHR
//* You can use the following command
//* instead of the PARM INI=AE-inifile
//*UCINI DD DSN=AE-inifile,DISP=SHR
//SYSIN DD *
:SET &RUNNR = ACTIVATE_UC_OBJECT(JOBS,ExampleL1)
:IF &RUNNR = '0000000'
: SET &ERROR = SYS_LAST_ERR_NR
: STOP MSG,51,'ACTIVATION ERROR: &ERROR'
:ELSE
: STOP NOMSG,50,'JOB WAS STARTED WITH RunID &RUNNR'
:ENDIF
/*
//
See also: