AEM Forms を使用すると、アダプティブフォームフィールド内からフォームデータモデルで構成されたサービスを呼び出すことで、フォーム作成者はフォームへの記入作業を簡略化および強化することができます。データモデルサービスを呼び出すには、ビジュアルエディターでルールを作成するか、ルールエディターのコードエディターの guidelib.dataIntegrationUtils.executeOperation API を使用して JavaScript を指定します。
このドキュメントでは、guidelib.dataIntegrationUtils.executeOperation API を使用して JavaScript を記述してサービスを呼び出す方法に焦点を当てています。
guidelib.dataIntegrationUtils.executeOperation(operationInfo, inputs, outputs)
パラメーター | 説明 |
---|---|
operationInfo | フォームデータモデルの識別子、操作タイトル、操作名を指定する構造 |
inputs | サービス操作に入力される値を持つフォームオブジェクトを指定する構造 |
outputs | サービス操作により戻される値を使用して入力されるフォームオブジェクトを指定する構造 |
var operationInfo = { formDataModelId, operationTitle, operationName }; var inputs = { inputField1, inputFieldN }; var outputs = { outputField1, outputFieldN }
パラメーター | 説明 |
---|---|
forDataModelId | フォームデータモデルへのリポジトリパスをその名前も含めて指定する |
operationName | 実行するサービス操作の名前を指定する |
input | 1 つ以上のフォームオブジェクトをサービス操作の入力引数にマップする |
output | 1 つ以上のフォームオブジェクトをサービス操作からの出力値にマップしてフォームフィールドを埋め込む |
以下のサンプルスクリプトでは guidelib.dataIntegrationUtils.executeOperation API を使用して、employeeAccount フォームデータモデルで構成された getAccountById サービス操作を呼び出しています。
getAccountById 操作は、empId 引数の入力値として employeeID フォームフィールドにある値を使用し、該当する従業員の名前、口座番号、口座残高を戻します。この出力値は指定されたフォームフィールドに入力されます。例えば、name 引数の値は fullName フォーム要素に入力され、accountNumber 引数の値は 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);