CallAPI – Übersicht
CallAPIs werden verwendet, um Prozesse im AE-System von externen Systemen aus mit Hilfe der Automation Engine scripting language auszulösen. Verwenden Sie CallAPIs, um ausführbare Objekte zu starten, Inhalte von Variablenobjekten festzulegen oder zu lesen oder Statusdetails zu Aufgaben abzurufen. Als Administrator richten Sie die CallAPI ein, und Sie definieren die Anmeldeinformationen, die Verbindungsdaten zur AE und ihre plattformspezifischen Parameter. Sie können die CallAPI entweder mit Ihrem eigenen Programm oder mit einem Dienstprogramm verwenden. Eine CallAPI ist auf 32.000 Zeichen beschränkt, wie alle Scripts im Automation Engine scripting language.
Tipp: Ziehen Sie in einigen Fällen die Verwendung der REST-API anstelle der CallAPI in Betracht. Die REST-API hat einen /scripts-Endpunkt, der CallAPI-Funktionen abdeckt. Die Vorteile sind, dass Sie nicht mehrere Service Manager-Dienste verwenden müssen, wenn Sie Ihre eigenen Systeme mit mehreren AE-Systemen und/oder -Mandanten verbinden. Außerdem erfordert die REST-API keine Benutzeranmeldung, wenn sie aufgerufen wird. Dies ist in Situationen mit hoher Auslastung sehr hilfreich. Weitere Informationen finden Sie unter REST-API.
Hinweis: Diese Integrationsfunktion kann, wie alle Integrationen von Automic system, Service-Orchestrierung-Workflows unterstützen. Solche Workflows koordinieren automatisierte Prozesse, die auf unterschiedlichen Plattformen, Domänen und Anwendungen ausgeführt werden, um einen bestimmten IT-Dienst bereitzustellen.
Diese Seite beinhaltet Folgendes:
Anmeldung beim AE-System
Für die Anmeldung am AE-System benötigt die CallAPI einen gültigen Benutzer. Dieser Benutzer muss die Berechtigung Anmeldung über CallAPI und Ausführen-Rechte 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.
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. Weitere Informationen finden Sie unter 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. Weitere Informationen finden Sie unter UC_USER_LOGON - Single Logon.
Eine Verbindung zur Automation Engine herstellen
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 diese Informationen auch direkt übergeben.
Wichtig! Ab Version 21 verwenden Java- und SAP-CallAPIs TLS/SSL für die Verbindung mit der Automation Engine. Sie richten eine Verbindung mit dem neuen Java-Kommunikationsprozess (JCP) ein. Alle anderen CallAPIs erstellen weiterhin eine Verbindung mit dem CP.
Mehr Informationen:
In Automic Automation Kubernetes Edition stellen CallAPIs eine Verbindung zu einem TCP-Load Balancer her. Die Adresse des Load Balancers muss auf beiden Seiten definiert sein: Automation Engine und CallAPI. Die einzigen Ausnahmen sind die CallAPIs für Java und SAP, die aktualisiert werden müssen, um TLS/SSL für die Verbindung mit der Automation Engine verwenden zu können. Diese beiden CallAPIs stellen eine Verbindung mit dem Java-Kommunikationsprozess (JCP) über einen Ingress/HTTPS-Load Balancer her.
Mehr Informationen:
Meldungen
Wenn Sie ein Job-Objekt verwenden, das das CallAPI-Dienstprogramm aufruft, können Sie die zugehörigen Meldungen im Job-Report sehen.
Mit der Script-Anweisung :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 Ihrem eigenem Programm
Mit der CallAPI können Sie Scripts 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++
Im Auslieferungsverzeichnis sind auch Programmbeispiele enthalten, die Ihnen zeigen, wie Sie die CallAPI mit C oder C++ aufrufen. Die Datei uccall3.h gibt genauen Aufschluss über die Struktur und die Funktionen.
Sie müssen die Dateien uccall3. h und die entsprechende Bibliothek für Ihre Plattform integrieren. Beachten Sie, dass Ihr Programm Zugriff auf die erforderlichen Bibliotheken wie ucxbwi3c.dll (Windows) oder libucxblx6c.so (Linux) usw. benötigt.
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)
Für die Anmeldung am AE-System
Datentyp der Struktur: UCCALL_PARAMS*
Datentyp der Login-Daten: char*
Datentyp der Verbindung: char*
Datentyp des Rückgabewertes: long - UCCALL3_ActivateScript (Struktur, Script)
Für die Aktivierung eines Scripts
Datentyp der Struktur: UCCALL_PARAMS*
Datentyp des Scripts: char*
Datentyp des Rückgabewerts: long - UCCALL3_Logoff (Struktur)
Für die Abmeldung vom AE -System
Datentyp der Struktur: UCCALL_PARAMS*
Datentyp des Rückgabewerts: long - UCCALL3 (Strukturen)
Universelle Funktion
UCCALL3 kann anstelle der oben beschriebenen Funktionen aufgerufen werden. Allerdings ist es dann erforderlich, den OpCode in der Struktur anzugeben, damit die gewünschte Operation durchgeführt wird.
Datentyp der Struktur: UCCALL_PARAMS*
Datentyp des Rückgabewerts: long
Format der Login-Daten: 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 gesetzt werden, wenn die universelle Funktion verwendet werden soll. - OPC_LOGON
Anmelden am AE-System - OPC_LOGOFF
Abmelden vom AE-System - OPC_ACTIVATE_SCRIPT
Aktiviert ein Script - cErrorCode
Datentyp: char
Zulässige 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
Login fehlgeschlagen - R
Speicherzuordnung fehlgeschlagen - L
Speicherfreigabe fehlgeschlagen - S
Socket-Fehler - T
Timeout - U
Fehlermeldung vom AE-System - cInterface
Datentyp: char [3]
Die Schnittstellennummer muss immer den Wert 3 enthalten - cSystemName
Datentyp: char [8]
Name des AE–Systems, zu dem die Verbindung hergestellt werden soll - sTimeout
Datentyp: unsigned short
Zeitraum in Sekunden, wie lange die CallAPI wartet, bis das AE-System antwortet - cLanguage
Datentyp: char
Sprache, in der Meldungen geschrieben werden - cFlag1
Datentyp: unsigned char
Dieses Kennzeichen bewirkt je nach gesetztem Wert eine der folgenden Verarbeitungsoptionen:
- CALL_FLAG1_INI_SERVER
Die Verbindung zum Kommunikationsvorgang wird aus der INI-Datei abgerufen. - CALL_FLAG1_INI_LOGIN
Login-Daten werden aus der INI-Datei abgerufen. - CALL_FLAG1_INI_USEMSL
Diese Option wandelt variable Meldungsteile in einen vollständigen Meldungstext um. - CALL_FLAG1_INI_USEALL
Die Einstellungen, die im Abschnitt [GLOBAL] der INI-Datei definiert sind, werden verwendet. - CALL_FLAG1_TRC_HANDLE
Nur für interne CallAPI-Verarbeitung - CALL_FLAG1_LOG_HANDLE
Nur für interne CallAPI-Verarbeitung - CALL_FLAG1_INI_FILE
Name der INI-Datei - CALL_FLAG1_TRC_OUTPUT
Nur für interne CallAPI-Verarbeitung - lUnused1
Datentyp: unsigned long [4]
Nicht verwendet - Output
Datentyp: unsigned long
Nicht verwendet - lUnsued2
Datentyp: unsigned long [4]
Nicht verwendet - lScriptRunNr
Datentyp: unsigned long
RunID des Scripts - lRetCode
Datentyp: unsigned long
Rückgabewert der Script-Ausführung - cRetText
Datentyp: char [256]
Variabler Meldungsteil, der den Wert des Rückgabewerts erklärt - pIniFile
Datentyp: char*
Pfad und Name der INI-Datei - hZuLog
Datentyp: unsigned long
Nur für interne CallAPI-Verarbeitung - hZuTrc
Datentyp: unsigned long
Nur für interne CallAPI-Verarbeitung - hZuHlp
Datentyp: unsigned long
Nur für interne CallAPI-Verarbeitung - lUnused3
Datentyp: unsigned long [11]
Nicht verwendet - pOwnPointer
Datentyp: void*
Nur für interne CallAPI-Verarbeitung
CallAPI mit Cobol
Sie können das CallAPI mit dem Befehl CALL UCCALL3 aufrufen. Als Rückgabewert liefert der Aufruf entweder 0, wenn die Aktion erfolgreich war, oder eine Meldungsnummer im Fehlerfall.
- CALL UCCALL3 USING Struktur, Login-Daten, Verbindung
Für die Anmeldung am AE-System
Format der Login-Daten: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
Für die Aktivierung eines Scripts - CALL UCCALL3 USING Struktur
Für die Abmeldung vomAE-System
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 gesetzt werden, wenn die universelle Funktion verwendet werden soll. - OPC_LOGON
Anmelden am AE-System - OPC_LOGOFF
Abmeldung vom AE-System - OPC_ACTIVATE_SCRIPT
Aktiviert ein Script - UC-ERROR-CODE
Datentyp: PIC X
Zulässige 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 - I
Initialisierung fehlgeschlagen - Q
Login fehlgeschlagen - R
Speicherzuordnung fehlgeschlagen - L
Speicherfreigabe fehlgeschlagen - S
Socket-Fehler - T
Timeout - U
Fehlermeldung vom AE-System - UC-INTERFACE-NR
Datentyp: PIC X(3)
Schnittstellennummer muss immer den Wert 3 enthalten. - UC-SYSTEM-NAME
Datentyp: PIC X(8)
Der Name des AE -Systems, zu dem die Verbindung hergestellt werden soll. - UC-TIMEOUT
Datentyp: PIC 9(4) COMP-4
Zeitraum in Sekunden, wie lange die CallAPI wartet, bis das AE-System antwortet. - UC-LANGUAGE
Datentyp: PIC X
Sprache, in der Meldungen geschrieben werden - FILLER
Datentyp: PIC X(2)
Nicht verwendet - UC-FLAG1
Datentyp: PIC X - CALL_FLAG1_INI_SERVER
Die Verbindung zum Kommunikationsvorgang wird aus der INI-Datei abgerufen. - CALL_FLAG1_INI_LOGIN
Login-Daten werden aus der INI-Datei abgerufen - CALL_FLAG1_INI_USEMSL
Diese Option wandelt variable Meldungsteile in einen vollständigen Meldungstext um. - CALL_FLAG1_INI_USEALL
Die Einstellungen, die im Abschnitt [GLOBAL] der INI-Datei definiert sind, werden verwendet. - CALL_FLAG1_TRC_HANDLE
Nur für interne CallAPI-Verarbeitung - CALL_FLAG1_LOG_HANDLE
Nur für interne CallAPI-Verarbeitung - CALL_FLAG1_INI_FILE
Name der INI-Datei - CALL_FLAG1_TRC_OUTPUT
Nur für interne CallAPI-Verarbeitung - FILLER
Datentyp: PIC X(2)
Nicht verwendet - UC-OUTPUT-LEN
Datentyp: PIC 9(8) COMP-4
Nicht verwendet - UC-RUNNR
Datentyp: PIC 9(8) COMP-4
RunID des Scripts - UC-RETURN-CODE
Datentyp: PIC 9(8) COMP-4
Rückgabewert der Script-Ausführung - UC-MESSAGE-TEXT
Datentyp: PIC X(256)
Variabler Meldungsteil, der den Wert des Rückgabewerts erklärt - 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 verwendet - UC-INIFILE
Datentyp: PIC X(45)
Pfad und Name der INI-Datei
Dieses Kennzeichen bewirkt je nach gesetztem Wert eine der folgenden Verarbeitungsoptionen:
CallAPI für Java
Wichtig! Ab Version 21 verwendet die CallAPI für Java TLS/SSL und stellt eine Verbindung zum neuen Java-Kommunikationsprozess (JCP) her. Weitere Informationen finden Sie unter Verbindungen zur AE sichern (TLS/SSL)
Um die CallAPI mit Java verwenden zu können, müssen Sie die UCCALL3-Klasse importieren, die aus dem Paket com.uc4.uccall3 importiert werden soll.
Das Auslieferungsverzeichnis enthält Beispielprogramme, die Ihnen zeigen, wie Sie sich anmelden, Scripts aktivieren, sich mit verschiedenen Systemen verbinden, Verbindungsfehler finden usw. Die mitgelieferte CallAPI-Dokumentation bietet aktuelle Informationen über die Java-Klasse, Methoden und verfügbare Funktionen.
CallAPI mit Visual Basic
Um die CallAPI mit Ihren eigenen Visual Basic-Programmen zu verwenden, müssen Sie das COM-Objekt AE.Call3 registrieren.
Beispiel
regsvr32 c:\AUTOMIC\callapi\windows\bin\ucxbwi3c.dll
Verwenden Sie das Beispielprogramm, das in unserem Lieferverzeichnis enthalten ist. Hier finden Sie eine detaillierte Beschreibung, 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]]
Für die Anmeldung am AE-System - SetIniFile Pfad und Name der INI-Datei
Gibt die INI-Datei an - LogonAsDefault
Die Anmeldung erfolgt über die Daten, die in der INI-Datei gespeichert sind - ActivateScript Script
Aktiviert ein Script - Abmeldung
Zur Abmeldung vom AE-System
Attribute
Informationen über die Script-Ausführung werden automatisch in den folgenden Variablen hinterlegt:
- lRunNr
RunID des Scripts
Datentyp: Long - lRetCode
Rückgabewert der Script-Ausführung
Datentyp: Long - cRetText
Variabler Meldungsteil, der den Rückgabewert erklärt
Datentyp: String
Verwendung des CallAPI-Dienstprogramms (ucxbxxxc)
Ein CallAPI-Dienstprogramm steht für jede unterstützte Plattform zur Verfügung. Für diesen Zweck sind keine Programmierkenntnisse erforderlich. 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=
Keine Standardparameter
Definiert die Queue, in der das Script ausgeführt werden soll, siehe Queue (QUEUE). - (Optional für z/OS) REMOTEID=
Kein Standardparameter
Definiert die ID, die das CallAPI verwendet, um sich anzumelden.
Details hierzu finden Sie unter Verbindungen.
(Windows) Beispiel
UCXBXXXC SCRIPT=C:\AUTOMIC\CallAPI\script.txt LOGON=98,SMITH,PASSWORD INI=C:\AUTOMIC\CallAPI\WINDOWS\ucxbxxxc.ini
Hinweise:
- LOGON-Parameter ist nicht definiert: die Anmeldeinformationen werden aus der INI-Datei abgerufen, und Sie können sich erfolgreich anmelden.
- LOGON-Parameter ist definiert (optional die Abteilungen), aber kein Passwort: ein Anmeldefehler tritt auf, und der Zugriff wird verweigert.
Das CallAPI-Dienstprogramm liefert Ihnen verschiedene Rückgabewerte, mit denen Sie den Script-Aktivierungsprozess verfolgen können:
- 0
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 Befehle ACTIVATE_UC_OBJECT und IMPORT Fehler enthalten. In diesem Fall endet das CallAPI-Dienstprogramm immer mit dem Rückgabewert 0. - 4
AE Script wurde aktiviert, aber dann mit der Script-Anweisung :STOP MSG, 50, "Beliebiger Text" beendet. - 8
Fehler bei der Aktivierung des Scripts oder das AE-Script wurde mit dem Script-Befehl :STOP MSG, 51 -59, "Beliebiger Text" oder :STOP, NOMSG beendet
Hinweis:Rückgabecode 8 wird angezeigt, 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 während der Anmeldung/Ausführung
Hinweis: Rückgabewert 12 kann auf alle schwerwiegenden Fehler verweisen, die während der Anmeldung oder bei der Ausführung des CallAPI-Scripts aufgetreten sind. Sie müssen diese Ursachen manuell lösen. - 16
Fataler Fehler: Die Script-Datei konnte nicht geöffnet oder gelesen werden.
(SAP) Der Startparameter für den RFC-Server ist unterschiedlich. -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
Scripts, die über eine CallAPI gestartet werden, werden in der Process Monitoring-Perspektive angezeigt. Ein statistischer Datensatz und ein Report werden erstellt.
Tipp: Verwenden Sie das Kontrollkästchen Deaktivierte Aufgaben einbeziehen oder ausschließen, um nach Ihrem Script zu suchen, und geben Sie den Aufgabentyp CallAPI an, oder geben Sie die Aufgaben-RunID des CallAPI-Scripts ein.
Plattformen für CallAPIs
- CallAPI für BS2000
- CallAPI für Java
- CallAPI für NSK
- CallAPI für OS/400
- CallAPI für SAP
- CallAPI für UNIX
- CallAPI für VMS
- CallAPI für Windows
- CallAPI für z/OS
Siehe auch:
- :PUT_READ_BUFFER, :PUT_PROMPT_BUFFER zum Speichern von Werten für ein aktiviertes Objekt