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