API zum Aufrufen von Formulardatenmodelldiensten aus adaptiven Formularen api-to-invoke-form-data-model-service-from-adaptive-forms
Übersicht overview
AEM Forms ermöglicht es Formularautoren, das Ausfüllen von Formularen weiter zu vereinfachen und zu verbessern, indem sie Dienste aufrufen, die in einem Formulardatenmodell innerhalb eines adaptiven Formularfelds konfiguriert sind. Um einen Datenmodell-Service aufzurufen, können Sie entweder eine Regel im visuellen Editor anlegen oder ein JavaScript mit der guidelib.dataIntegrationUtils.executeOperation-API im Code-Editor des Regeleditors angeben.
In diesem Dokument wird das Schreiben von JavaScript in der guidelib.dataIntegrationUtils.executeOperation-API für den Aufruf eines Service beschrieben.
Verwenden der API using-the-api
Die guidelib.dataIntegrationUtils.executeOperation-API ruft einen Service über ein Feld in einem adaptiven Formular auf. Für die API gilt folgende Syntax:
guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs)
Für die API sind die folgenden Parameter erforderlich.
operationInfoinputsoutputsDie Struktur der guidelib.dataIntegrationUtils.executeOperation-API gibt Details zum Service-Vorgang an. Die Struktur weist die folgende Syntax auf.
var operationInfo = {
formDataModelId,
operationTitle,
operationName
};
var inputs = {
inputField1,
inputFieldN
};
var outputs = {
outputField1,
outputFieldN
}
Die API-Struktur gibt folgende Informationen zum Service-Vorgang an.
Beispielskript zum Aufrufen eines Service sample-script-to-invoke-a-service
Folgendes Beispielskript verwendet die guidelib.dataIntegrationUtils.executeOperation-API, um den getAccountById-Service-Vorgang aufzurufen, der im Formulardatenmodell employeeAccount konfiguriert ist.
Der Vorgang getAccountById nimmt den Wert im Formularfeld employeeID als Eingabe für das Argument empId und gibt den Mitarbeiternamen, die Kontonummer und den Kontostand für den entsprechenden Mitarbeiter zurück. Die Ausgabewerte werden in den angegebenen Formularfeldern befüllt. Beispielsweise wird der Wert im Argument name im Formularelement fullName befüllt und der Wert für das Argument accountNumber im Formularelement account.
var operationInfo = {
"formDataModelId": "/content/dam/formsanddocuments-fdm/employeeAccount",
"operationName": "getAccountDetails"
};
var inputs = {
"empid" : employeeID
};
var outputs = {
"name" : fullName,
"accountNumber" : account,
"balance" : balance
};
guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs);