Application Integration Guide > CallAPI > CallAPI and your own program > C, C++

 C, C++

The CallAPI can be used to process scripts in the AE system from your own C and C++ programs.

For this, you need to integrate the files uccall3.h and ucxbwi3c.lib. Note that your program requires access to the library ucxbwi3c.dll.

The delivery directory contains sample programs that provide a detailed description of how a script activation can be implemented.

The file uccall3.h gives information about structure and functions.

General

Scripts are always activated with the following steps:

  1. Log on to the AE system.
  2. Transfer the script to the AE system.
  3. Log off from the AE system.

You can log on to several AE systems at the same time and process various scripts. In this case, a Dialog license is used for each connection.

Functions

In your programs, you can use the functions listed below. These supply return code 0 if the action was successful or a message number if an error occurred.

Description

Data type of return code

Function

Logging on to the AE system

long

UCCALL3_Logon (structure, login data, connection)

Data type of structure: UCCALL_PARAMS*
Data type of login data: char*
Data type of connection: char*

Format for login data:  
Client, user
, [departmentDepartment name to which the Automation Engine user belongs., [passwordA secret combination of characters for a Automation Engine user.]]

Format for connection data for the communication process:
DNS name:port number

or
TCP/IP address:port number

Activating a script

long

UCCALL3_ActivateScript (structure, script)

Data type of structure: UCCALL_PARAMS*
Data type of script: char*

Logging off the AE system

long

UCCALL3_Logoff (structure)

Data type of structure: UCCALL_PARAMS*

Universal function

long

UCCALL3 (structures)

UCCALL3 can be called instead of the functions described above. In this case, indicate the opcode in the structure in order to have the required operation processed.

Data type of structure: UCCALL_PARAMS*

Variables

Information such as the system name or the script's returned RunID is stored in the structure UCCALL_PARAMS. It contains the following variables:

Data type

Variable

Description

char [4]

cOpCode

Operation code

This variable must be set if the universal function should be used.

Allowed values:
"OPC_LOGON" - logs on to the AE system
"OPC_LOGOFF " - logs off the AE system
"OPC_ACTIVATE_SCRIPT" - activates a script

char

cErrorCode

The error code in cErrorCode is automatically set and can contain one of the following values:

" " - no error occurred
"P" - invalid parameter(s)
"O" - invalid opcode
"Q" - login failed
"R" - memory allocation failed
"L" - memory release failed
"S" - socket error
"T" - timeout
"U" - error message of the AE system

char [3]

cInterface

The interface number must always contain the value 3.

char [8]

cSystemName

Name of the AE system to which the connection should be established

unsigned short

sTimeout

Period in seconds during which the CallAPI waits for an AE system response

char

cLanguage

Language in which messages are output

unsigned char

cFlag1

Depending on the specified value, this flag results in one of the processing options listed below:

"CALL_FLAG1_INI_SERVER" - connection to communication process is retrieved from INI file
"CALL_FLAG1_INI_LOGIN" - login data is retrieved from INI file
"CALL_FLAG1_INI_USEMSL" - converts variable message parts to a complete message text
"CALL_FLAG1_INI_USEALL" - settings made in the INI file section [GLOBAL] are used
"CALL_FLAG1_TRC_HANDLE" - for internal CallAPI processing only
"CALL_FLAG1_LOG_HANDLE" - for internal CallAPI processing only
"CALL_FLAG1_INI_FILE" - name of INI file
"CALL_FLAG1_TRC_OUTPUT" - for internal CallAPI processing only

unsigned long [4]

lUnused1

Not used

unsigned long

Output

Not used

unsigned long [4]

lUnsued2

Not used

unsigned long

lScriptRunNr

RunID of the script

unsigned long

lRetCode

Return code of script execution

char [256]

cRetText

Variable message part explaining the return code's value

char*

pIniFile

Path and name of INI file

unsigned long

hZuLog

For internal CallAPI processing only

unsigned long

hZuTrc

For internal CallAPI processing only

unsigned long

hZuHlp

For internal CallAPI processing only

unsigned long [11]

lUnused3

Not used

void*

pOwnPointer

For internal CallAPI processing only

 

See also:

About the CallAPI