Zum Hauptinhalt springen

Erstellen eines neuen Datensatztyps

Damit eine benutzerdefinierte Appian-Anwendung mit dem ABBYY FlexiCapture Connector for Appian interagieren kann, müssen Sie die unten beschriebenen Objekte erstellen. Bevor Sie diese Objekte erstellen, stellen Sie sicher, dass das Plug-in ABBYYFlexiCapturePlugin.jar auf dem Appian-Server installiert ist. Um das Plug-in auf dem Appian-Server zu installieren, kopieren Sie es einfach aus dem Connector-Distribution-Paket in diesen Ordner: APPIAN_INSTALL/_admin/plugins/. Nun müssen Sie:

Erstellen einer AFC_GetConstantDSEByRecordTypeName-Regel, die eine Konstante vom Typ “Data Store Entity” zurückgibt

Die CreateRecord-Methode der Web-API erfordert eine Regel, die eine Konstante vom Typ “Data Store Entity” zurückgibt. Diese Regel bestimmt den Datenspeicher und den Datentyp, in dem ein Datensatz erstellt werden soll.
  1. Öffnen Sie in Appian Designer die Anwendung und klicken Sie auf New → Expression Rule.
  2. Wählen Sie Create from scratch, füllen Sie die Felder Name und Save In aus, und klicken Sie auf Create & Edit.
  3. Klicken Sie im Dialogfeld Rule Inputs auf das + icon und erstellen Sie eine neue Eingabevariable vom Typ “Text” mit dem Namen “RecordTypeName”.
  4. Fügen Sie den folgenden Code links in den Code-Editor ein:
if(ri!RecordTypeName == "New Records", /* Geben Sie im Parameter RecordTypeName den Namen des neuen Datensatztyps im Plural an.  */
cons!New_Constant, /* Geben Sie nach cons! den Namen der Konstante des Datensatztyps an. */
null /* Wenn die Anwendung mehr als einen Datensatztyp enthält, ersetzen Sie „null" durch dieselbe „if"-Bedingung wie oben, und geben Sie den Namen des zweiten Datensatztyps sowie den Namen seiner Konstante an. */
)
Wenn ein als Eingabe übergebener RecordTypeName mit dem Namen eines gespeicherten Datensatztyps (im Plural) übereinstimmt, wird die Konstante DataStoreEntity zurückgegeben, die den Datenspeicher und den Datentyp verknüpft.

Erstellen einer AFC_GetDataTypeByRecordTypeName-Regel, die den vollständigen Namen des Datentyps zurückgibt

Die CreateRecord-Methode der Web API erfordert eine Regel, die den vollständigen Namen des Datentyps zurückgibt.
  1. Öffnen Sie in Appian Designer die Anwendung und klicken Sie auf New → Expression Rule.
  2. Wählen Sie Create from scratch, füllen Sie die Felder Name und Save In aus und klicken Sie auf Create & Edit.
  3. Klicken Sie im Dialogfeld Rule Inputs auf das + Symbol und erstellen Sie eine neue Eingabevariable vom Typ “Text” mit dem Namen “RecordTypeName”.
  4. Fügen Sie den folgenden Code links in den Code-Editor ein:
if(ri!RecordTypeName == "New Records", /* Geben Sie im Parameter RecordTypeName den Namen des neuen Datensatztyps im Plural, den vollständigen Namen des Datentyps und den Namespace des Datensatztyps an. */
'type!{urn:com:appian:types}NewDataType',
null
/* Wenn die Anwendung mehr als einen Datensatztyp enthält, ersetzen Sie „null" durch dieselbe „if"-Bedingung wie oben und geben Sie den Namen des zweiten Datensatztyps, den vollständigen Namen des Datentyps und den Namespace des Datensatztyps an. */
)
Wenn ein übergebener RecordTypeName mit dem Namen eines gespeicherten Datensatztyps (im Plural) übereinstimmt, wird ein string zurückgegeben, der den vollständigen Namen des Datentyps enthält; andernfalls wird null zurückgegeben (Sie können den Namespace in den Eigenschaften des Datentyps nachschlagen). Um die Eigenschaften eines Datentyps anzuzeigen, öffnen Sie den gewünschten Datentyp in der ABBYYFlexiCapture-Anwendung. Wenn Sie oben links auf den Namen des Datentyps klicken, wird das Fenster Data Type Properties geöffnet, in dem Sie den Namespace sehen können.

Erstellen einer Web-API-Methode zum Hinzufügen eines neuen Dokuments zum Knowledge Center

  1. Öffnen Sie im Appian Designer die Anwendung und klicken Sie auf New → Web API.
  2. Geben Sie “UploadDocument” (ohne Anführungszeichen) in die Felder Name und Endpoint ein. Ändern Sie HTTP Method in POST und klicken Sie auf Create & Edit.
  3. Schließen Sie das Dialogfeld für die Vorlagenauswahl und fügen Sie den folgenden Code in den Code-Editor ein:
with(
local!value: http!request.body,
a!httpResponse(
statusCode: 200,
headers: {},
body: uploaddocument(local!value)
)
)
Die Methode uploaddocument(String query) wird nur im Code-Editor angezeigt, wenn sich die Datei ABBYYFlexiCapturePlugin.jar in APPIAN_INSTALL/_admin/plugins/ befindet. Diese Methode sendet einen JSON-String mit dem Dateiinhalt direkt an die von Ihnen erstellte JAVA-Methode und erhält als Ergebnis einen JSON-String mit der ID des Ordners, in dem das Dokument abgelegt wurde.

Erstellen einer Web-API-Methode zum Befüllen der Datenbanktabelle

  1. Öffnen Sie in Appian Designer die Anwendung und klicken Sie auf New → Web API.
  2. Geben Sie “CreateRecord” (ohne Anführungszeichen) in die Felder Name und Endpoint ein. Ändern Sie HTTP Method in POST und klicken Sie auf Create & Edit.
  3. Schließen Sie das Dialogfeld zur Vorlagenauswahl und fügen Sie den folgenden Code in den Code-Editor ein:
with(
local!value: cast(
rule!AFC_GetDataTypeByRecordTypeName(http!request.queryParameters.RecordTypeName),
a!fromJson(http!request.body)
),
a!writeToDataStoreEntity(
dataStoreEntity: rule!AFC_GetConstantDSEByRecordTypeName(http!request.queryParameters.RecordTypeName),
valueToStore: local!value,
onSuccess: a!httpResponse(
statusCode: 200,
headers: {
a!httpHeader(name: "Content-Type", value: "application/json")
},
body: a!toJson(
fv!storedValues
)
),
onError: a!httpResponse(
statusCode: 500,
headers: {
a!httpHeader(name: "Content-Type", value: "application/json")
},
body: a!toJson(
{
error: "There was an error writing to the data store"
}
)
)
)
)
  • Die Regel rule!AFC_GetDataTypeByRecordTypeName(http!request.queryParameters.RecordTypeName) erwartet als Eingabe einen Parameter mit dem Namen des Datensatztyps (den die Web-API-Methode vom ABBYY FlexiCapture Connector for Appian empfängt) und gibt den vollständigen Namen des Datentyps zurück.
    • Die Regel rule!AFC_GetConstantDSEByRecordTypeName(http!request.queryParameters.RecordTypeName) gibt die Data Store Entity-Konstante zurück.
  1. Klicken Sie im rechten Bereich auf die Schaltfläche New Query Parameter und fügen Sie der Abfragezeichenfolge einen neuen Parameter mit dem Namen RecordTypeName hinzu. Wählen Sie abschließend die Option Set as default test value aus und klicken Sie auf Save.