CallAPI
CallAPIs werden verwendet, um Prozesse im AE-System von außen aus mit Hilfe der Automation Engine Scriptsprache auszulösen. Sie können beispielsweise ausführbare Objekte starten, den Inhalt von Variablen-Objekten setzen bzw. lesen, oder auch bestimmte Informationen über den Status von Aufgaben erhalten. Als Administrator richten Sie die CallAPI ein, geben Login-Daten an, verbinden sich mit der AE, und definieren Ihre plattformspezifischen Parameter. Sie können die CallAPI entweder mit Ihrem eigenen Programm oder mit einem Dienstprogramm verwenden. Automation Engine Scriptsprache ist in jedem Fall auf 32000 Zeichen begrenzt.
Dieses Thema beinhaltet Folgendes:
Anmelden am AE- System
Für die Anmeldung am AE-System benötigt die CallAPI einen gültigen Benutzer. Dieser Benutzer muss das Privileg Anmeldung über CallAPI und die Rechte Ausführen besitzen. Ihre Zugangsdaten (Kunde, Benutzer, Abteilung und Passwort) können Sie in der INI-Datei der CallAPI angeben. Alternativ können Sie dies auch beim Aufruf der CallAPI angeben. Diese Daten werden bevorzugt, wenn die Anmeldedaten an beiden Stellen hinterlegt sind.
Sie können Ihr Passwort mit dem Programm UCYBCRYP.EXE verschlüsseln. Beachten Sie, dass der verschlüsselte String maximal 64 Zeichen lang sein darf. Siehe Passwörter codieren .
Wenn Sie Single-Logon für Ihre CallAPI verwenden, findet keine Passwortverifizierung statt. Speichern Sie dazu die relevanten Daten in der Systemvariablen UC_USER_LOGON. Details hierzu finden Sie unter: UC_USER_LOGON - Single Logon
Mit Automation Engine verbinden
Um das Script im gewünschten AE-System aktivieren zu können, braucht die CallAPI die Verbindungsinformationen zum entsprechenden Kommunikationsprozess. Tragen Sie die Verbindungsinformationen in der INI-Datei ein (z.B. 2217=localhost). Bei CallAPI-Aufrufen aus Ihrem eigenen Programm lassen sich jene auch direkt übergeben.
Wenn Sie ein Job-Objekt verwenden, das das CallAPI-Dienstprogramm aufruft, können Sie die zugehörigen Meldungen im Job-Report sehen.
Mit dem Script-Sprachmittel :STOP ist es möglich, Meldungsnummern und Texte an die CallAPI zu übergeben. Diese werden in Script-Variablen gespeichert und können so mit Ihren eigenen Programmen ausgelesen werden. Die Namen dieser Variablen hängen von der verwendeten Programmiersprache ab. Abhängig vom Stoppmodus, den Sie in der Script-Anweisung :STOP definieren, bricht das Script entweder ab oder fährt mit der Ausführung fort.
Verwendung der CallAPI mit eigenem Programm
Mit der CallAPI können Sie Scripte im AE-System aus eigenen Programmen heraus verarbeiten, die in C, C++, Cobol, Java oder Visual Basic geschrieben sind. Gute Kenntnisse der Programmiersprache, in denen dieses Programm geschrieben wurde, werden dafür vorausgesetzt.
Der Ablauf zur Script-Aktivierung läuft immer in folgenden drei Schritten:
- Anmelden am AE- System.
- Übertragen des Scripts an das AE-System.
- Abmelden vom AE-System.
Natürlich können sie sich gleichzeitig an verschiedene AE-Systeme anmelden und mehrere Scripts ausführen.
CallAPI mit C, C++
Binden Sie dazu die Dateien uccall3.h und ucxbwi3c.lib ein. Achten Sie auch darauf, dass Ihr Programm auf die Bibliothek ucxbwi3c.dll zugreifen kann (Windows-Ordner).
In der Auslieferung sind auch Programmbeispiele enthalten, die Ihnen zeigen, wie Sie die CallAPI aufrufen. Die Datei uccall3.h gibt genauen Aufschluss über die Struktur und die Funktionen.
Funktionen
Die folgenden Funktionen können Sie in Ihrem Programm nutzen. Als Rückgabewert liefern die Funktionen entweder 0, wenn die Aktion erfolgreich war, oder eine Meldungsnummer im Fehlerfall. Der Datentyp aller Rückgabewerte ist long.
- UCCALL3_Logon (Struktur, Login-Daten, Verbindung)
Zu verwenden für die Anmeldung am AE-System
Datentyp der Struktur: UCCALL_PARAMS*
Datentyp der Logindaten: char*
Datentyp der Verbindung: char* - UCCALL3_ActivateScript (Struktur, Script)
Zum Aktivieren eines Scripts verwenden
Datentyp der Struktur: UCCALL_PARAMS*
Datentyp des Scripts: char* - UCCALL3_Logoff (Struktur)
Zum Abmelden vom AE-System verwenden
Datentyp der Struktur: UCCALL_PARAMS* - UCCALL3 (Strukturen)
Universelle Funktion
Anstatt der zuvor genannten Funktionen können Sie auch UCCALL3 aufrufen. Allerdings ist es dann erforderlich, den Opcode in der Struktur anzugeben, damit die gewünschte Operation durchgeführt wird.
Datentyp der Struktur: UCCALL_PARAMS*
Format der Logindaten: Mandant, Benutzer, [Abteilung, [Passwort]]
Format der Verbindungsdaten für den Kommunikationsprozess: DNS-Name:Port-Nummer oder TCP/IP Adresse:Port-Nummer
Variablen
Informationen wie z.B. der Systemname oder die zurückgegebene RunID des Scripts sind in der Struktur UCCALL_PARAMS gespeichert. Sie enthält folgende Variablen:
- cOpCode
Datentyp char [4]
Operationscode
Diese Variable muss bei der Verwendung der universellen Funktion gesetzt werden. - OPC_LOGON
Anmelden am AE- System - OPC_LOGOFF
Abmelden vom AE-System - OPC_ACTIVATE_SCRIPT
Aktiviert ein Script - cErrorCode
Datentyp: char
Erlaubte Werte:
Der Fehlercode in cErrorCode wird automatisch gesetzt und kann einen der folgenden Werte enthalten:
- " "
Es ist kein Fehler aufgetreten. - P
Ungültige(r) Parameter - O
Ungültiger Opcode - Q
Anmeldung ist fehlgeschlagen - R
Speicheranforderung ist fehlgeschlagen - L
Speicherfreigabe ist fehlgeschlagen - S
Socketfehler - T
Timeout - U
Fehlermeldung vom AE-System - cInterface
Datentyp char [3]
Die Interfacenummer muss immer den Wert 3 enthalten. - cSystemName
Datentyp: char [8]
Name des AE-Systems, zu dem die Verbindung aufgebaut werden soll - sTimeout
Datentyp: unsigned short
Zeitdauer in Sekunden, die das CallAPI auf eine Quittung vom AE-System wartet - cLanguage
Datentyp: char
Sprache, in der die Meldungen ausgegeben werden - cFlag1
Datentyp: unsigned char
- CALL_FLAG1_INI_SERVER
Die Verbindung zum Kommunikationsprozess wird aus der INI-Datei ermittelt. - CALL_FLAG1_INI_LOGIN
Die Anmeldedaten werden aus der INI-Datei ermittelt. - CALL_FLAG1_INI_USEMSL
Wandelt die variablen Meldungsteile auf einen ganzen Meldungstext um. - CALL_FLAG1_INI_USEALL
Die Einstellungen der Sektion [GLOBAL] in der INI-Datei werden verwendet. - CALL_FLAG1_TRC_HANDLE
nur für die interne CallAPI-Verarbeitung - CALL_FLAG1_LOG_HANDLE
nur für die interne CallAPI-Verarbeitung - CALL_FLAG1_INI_FILE
Name für die INI-Datei - CALL_FLAG1_TRC_OUTPUT
nur für die interne CallAPI-Verarbeitung - lUnused1
Datentyp: unsigned long [4]
nicht in Verwendung - Output
Datentyp: unsigned long
nicht in Verwendung - lUnsued2
Datentyp: unsigned long [4]
nicht in Verwendung - lScriptRunNr
Datentyp: unsigned long
RunID des Scriptes - lRetCode
Datentyp: unsigned long
Rückgabewert der Scriptausführung - cRetText
Datentyp: char [256]
Variabler Teil der Meldung, der den Wert des Rückgabewertes erläutert - pIniFile
Datentyp: char*
Pfad und Name der INI-Datei - hZuLog
Datentyp: unsigned long
nur für die interne CallAPI-Verarbeitung - hZuTrc
Datentyp: unsigned long
nur für die interne CallAPI-Verarbeitung - hZuHlp
Datentyp: unsigned long
nur für die interne CallAPI-Verarbeitung - lUnused3
Datentyp: unsigned long [11]
nicht in Verwendung - pOwnPointer
Datentyp: void*
nur für die interne CallAPI-Verarbeitung
Dieses Kennzeichen bewirkt je nach gesetztem Wert eine der folgenden Verarbeitungsoptionen:
CallAPI mit Cobol
Rufen Sie die CallAPI mit dem Befehl CALL UCCALL3 auf. Als Rückgabewert liefert der Aufruf entweder 0, wenn die Aktion erfolgreich war, oder eine Meldungsnummer im Fehlerfall.
- CALL UCCALL3 USING Struktur, Anmeldedaten, Verbindung
Zu verwenden für die Anmeldung am AE-System
Format für die Anmeldedaten: Mandant, Benutzer, [Abteilung, [Passwort]]
Format der Verbindungsdaten für den Kommunikationsprozess: DNS-Name:Port-Nummer oder TCP/IP Adresse:Port-Nummer - CALL UCCALL3 USING Struktur, Script
Zum Aktivieren eines Scripts verwenden - CALL UCCALL3 USING Struktur
Zum Abmelden vom AE-System verwenden
Variablen
Im ausgelieferten Beispielprogramm sehen Sie den Aufbau der Struktur AE-RECORD. Sie enthält folgende Variablen:
- UC-OPERATION
Datentyp: PIC X(4)
Operationscode
Diese Variable muss bei der Verwendung der universellen Funktion gesetzt werden. - OPC_LOGON
Anmelden am AE- System - OPC_LOGOFF
Abmelden vom AE-System - OPC_ACTIVATE_SCRIPT
Aktiviert ein Script - UC-ERROR-CODE
Datentyp: PIC X - " "
Es ist kein Fehler aufgetreten - P
Ungültige(r) Parameter - O
Ungültiger Opcode - I
Initialisierung ist fehlgeschlagen - Q
Anmeldung ist fehlgeschlagen - R
Speicheranforderung ist fehlgeschlagen - L
Speicherfreigabe ist fehlgeschlagen - S
Socketfehler - T
Timeout - U
Fehlermeldung vom AE-System - UC-INTERFACE-NR
Datentyp: PIC X(3)
Die Interfacenummer muss immer den Wert 3 enthalten. - UC-SYSTEM-NAME
Datentyp: PIC X(8)
Name des AE-Systems, zu dem die Verbindung aufgebaut werden soll - UC-TIMEOUT
Datentyp: PIC 9(4) COMP-4
Zeitdauer in Sekunden, die das CallAPI auf eine Quittung vom AE-System wartet - UC-LANGUAGE
Datentyp: PIC X
Sprache, in der die Meldungen ausgegeben werden - FILLER
Datentyp: PIC X(2)
nicht in Verwendung - UC-FLAG1
Datentyp: PIC X - CALL_FLAG1_INI_SERVER
Die Verbindung zum Kommunikationsprozess wird aus der INI-Datei ermittelt. - CALL_FLAG1_INI_LOGIN
Die Anmeldedaten werden aus der INI-Datei ermittelt. - CALL_FLAG1_INI_USEMSL
Wandelt die variablen Meldungsteile auf einen ganzen Meldungstext um. - CALL_FLAG1_INI_USEALL
Die Einstellungen der Sektion [GLOBAL] in der INI-Datei werden verwendet. - CALL_FLAG1_TRC_HANDLE
nur für die interne CallAPI-Verarbeitung - CALL_FLAG1_LOG_HANDLE
nur für die interne CallAPI-Verarbeitung - CALL_FLAG1_INI_FILE
Name für die INI-Datei - CALL_FLAG1_TRC_OUTPUT
nur für die interne CallAPI-Verarbeitung - FILLER
Datentyp: PIC X(2)
nicht in Verwendung - UC-OUTPUT-LEN
Datentyp: PIC 9(8) COMP-4
nicht in Verwendung - UC-RUNNR
Datentyp: PIC 9(8) COMP-4
RunID des Scriptes - UC-RETURN-CODE
Datentyp: PIC 9(8) COMP-4
Rückgabewert der Scriptausführung - UC-MESSAGE-TEXT
Datentyp: PIC X(256)
Variabler Teil der Meldung, der den Wert des Rückgabewertes erläutert - UC-PRT-INI
Datentyp: PIC S9(8)
nur für die interne CallAPI-Verarbeitung - UC-HND-LOG
Datentyp: PIC S9(8)
nur für die interne CallAPI-Verarbeitung - UC-HND-TRC
Datentyp: PIC S9(8)
nur für die interne CallAPI-Verarbeitung - UC-HND-HLP
Datentyp: PIC S9(8)
nur für die interne CallAPI-Verarbeitung - UC-POINTER
Datentyp: PIC S9(8
nur für die interne CallAPI-Verarbeitung - FILLER
Datentyp: PIC X(12)
nicht in Verwendung - UC-INIFILE
Datentyp: PIC X(45)
Pfad und Name der INI-Datei
Erlaubte Werte:
Der Fehlercode in cErrorCode wird automatisch gesetzt und kann einen der folgenden Werte enthalten:
Dieses Kennzeichen bewirkt je nach gesetztem Wert eine der folgenden Verarbeitungsoptionen:
CallAPI für Java
Importieren Sie dazu die Klasse UCCALL3 aus dem Package com.uc4.uccall3.
Das Auslieferungsverzeichnis enthält Beispielprogramme, die Ihnen zeigen, wie Sie sich anmelden, Scripte aktivieren, sich mit verschiedenen Systemen verbinden, Verbindungsfehler finden, etc. Die mitgelieferte CallAPI-Dokumentation bietet aktuelle Informationen über die Java-Klasse, Methoden und verfügbare Funktionen.
CallAPI mit Visual Basic
Die Funktionalität befindet sich im COM-Objekt namens AE.Call3, das Sie registrieren müssen.
Beispiel
regsvr32 c:\AUTOMIC\callapi\windows\bin\ucxbwi3c.dll
In der Auslieferung ist auch ein Programmbeispiel enthalten, das Ihnen zeigt, wie Sie ein Script aktivieren können.
Methoden
Die folgenden Funktionen können Sie in Ihrem Programm nutzen. Als Rückgabewert liefern die Funktionen entweder 0, wenn die Aktion erfolgreich war, oder eine Meldungsnummer im Fehlerfall.
- Logon Mandant, Benutzer, [Abteilung, [Passwort]]
Zu verwenden für die Anmeldung am AE-System - SetIniFile Pfad und Name der INI-Datei
Legt die INI-Datei fest - LogonAsDefault
Die Anmeldung erfolgt über die Daten, die in der INI-Datei gespeichert sind - ActivateScript Script
Aktiviert ein Script - Logoff
Zum Abmelden vom AE-System verwenden
Attribute
Informationen über die Scriptausführung werden automatisch in den folgenden Variablen hinterlegt:
- lRunNr
RunID des Scriptes
Datentyp: Long - lRetCode
Rückgabewert der Scriptausführung
Datentyp: Long - cRetText
Variabler Teil der Meldung, der den Hintergrund des Rückgabewertes erläutert
Datentyp: Zeichenfolge
Beispiele werden als Teil des Lieferumfanges für alle unterstützten Plattformen geliefert.
Verwendung des CallAPI Dienstprogramms (ucxbxxxc)
Ein CallAPI-Dienstprogramm steht für jede unterstützte Plattform zur Verfügung. Sie müssen dafür keine Programmierkenntnisse haben. Abhängig von Ihrem Betriebssystem können Sie dieses Dienstprogramm aus Jobs, Prozeduren, ausführbaren Dateien oder direkt von der Kommandozeile aus aufrufen.
Schreiben Sie das gewünschte Script in eine Textdatei und übergeben Sie diese beim Aufruf des Dienstprogrammes. Für alle Plattformen gilt folgende Syntax:
CallAPI-Datei SCRIPT=Script-Datei [LOGON=Mandant,Benutzer,[Abteilung[,Passwort]]] [INI=INI-Datei] [QUEUE=Name des Queue-Objekts]
Parameter:
- SCRIPT=
Pfad und Name der Textdatei, welche das Script enthält - (Optional) LOGON=
Automation Engine-Anmeldeinformationen, die sich aus Mandant, Benutzer, Abteilung und Passwort zusammensetzen.
Hinweis: Single Sign-On wird verwendet, wenn kein Benutzername angegeben ist - (Optional) INI=
Pfad und Name der INI-Datei, die verwendet werden soll.
Hinweis: Sie müssen diesen Parameter angeben, wenn die INI-Datei umbenannt oder verschoben wurde - (Optional) QUEUE=
Kein Default-Parameter
Definiert die Queue, in der das Script ausgeführt werden soll, siehe Queues (QUEUE). - (Optional für z/OS) REMOTEID=
Kein Default-Parameter
Definiert die Identifikation, mit der sich die CallAPI anmeldet.
Details hierzu finden Sie unter Verbindungen.
(Windows) Beispiel
UCXBXXXC SCRIPT=C:\AUTOMIC\CallAPI\script.txt LOGON=98,SMITH INI=C:\AUTOMIC\CallAPI\WINDOWS\ucxbxxxc.ini
Das CallAPI-Dienstprogramm liefert Ihnen verschiedene Rückgabewerte, mit denen Sie die Script-Aktivierung verfolgen können:
- 0
Das AE-Script wurde fehlerfrei aktiviert.
Hinweis: Es können auch Fehler auftreten, die zwar eine Ausgabe im Meldungsfenster des Automic Web Interface und/oder im Report verursachen, aber das AE-Script nicht abbrechen. Dies kann passieren, wenn die Kommandos ACTIVATE_UC_OBJECT und IMPORT Fehler enthalten. In diesem Fall endet das CallAPI-Dienstprogramm immer mit dem Rückgabewert 0. - 4
Das AE-Script wurde aktiviert, aber mit der Script-Anweisung :STOP MSG, 50, "Beliebiger Text" beendet. - 8
Fehler bei der Aktivierung des Scripts oder das AE-Script wurde mit der Script-Anweisung :STOP MSG, 51 - 59, "Beliebiger Text" bzw. :STOP, NOMSG beendet.
Hinweis: Beachten Sie, dass der Rückgabewert 8 angezeigt wird, wenn die Aktivierung des AE-Scripts aufgrund eines Fehlers abgebrochen wurde und nicht fortgesetzt werden kann. Dies kann passieren, wenn ein Script-Element nicht korrekt geschrieben ist oder wenn eine falsche Anzahl an Funktionsparametern angegeben wurde. - 12
Fehler bei der Anmeldung/Durchführung. - 16
Fataler Fehler: Die Script-Datei konnte nicht geöffnet oder gelesen werden.
(SAP) Der Startparameter für den RFC-Server ist anders: -I ist der einzige Parameter und gibt den Pfad zur INI-Datei an:
- (Windows) Beispiel
UCXBRXXC -IC:\AUTOMIC\CallAPI\SAP\UCXSAPC.INI
- (UNIX) Beispiel
nohup ./ucxsapc -I./ucxsapc.ini
Tipp: Verwenden Sie die Checkbox Deaktivierte Aufgaben inkludieren oder exkludieren, um nach Ihrem Script zu suchen, und geben Sie den Aufgabentyp CallAPI an, oder geben Sie die Task RunID des CallAPI-Scripts ein.
Plattformen für CallAPIs
Siehe auch:
- :PUT_READ_BUFFER zum Speichern von Werten für ein aktiviertes Objekt