Combine Field and Value Dependencies

To combine the field and value dependencies, the adapter developer can statically set the keys for readability.

However, based on prior selections, the adapter developer can also use a function to dynamically query and set the keys.

Sample code:

"configurationWithComplexUIAction": {
    "displayName": "Configuration with Complex UI",
    "description": "Configuration with Complex UI",
    "group": "advanced",
    "execute": "flow:generalActionFlow",
    "input": {
      "$ref": "#/schemas/staticInput"
    },
    "output": {
      "$ref": "#/schemas/staticOutput"
    },
    "configuration": [
      {
        "name": "rowOperation",
        "displayName": "Operation",
        "description": "",
        "type": "RADIO",
        "required": true,
        "options": [
          {
            "keyName": "CRUD",
            "displayName": "Query, Create, Update or Delete Information"
          },
          {
            "keyName": "importBulkData",
            "displayName": "Import Bulk Data into Oracle ERP Cloud"
          },
          {
            "keyName": "fileUploadWebCenterUCM",
            "displayName": "Send Files to ERP Cloud"
          }
        ]
      },
      {
        "name": "selectServiceBy",
        "displayName": "Browse by",
        "description": "",
        "type": "COMBO_BOX",
        "required": true,
        "options": [
          {
            "keyName": "browseByBusinessObject",
            "displayName": "Business Objects"
          },
          {
            "keyName": "browseByService",
            "displayName": "Services"
          },
          {
            "keyName": "browseByServiceRest",
            "displayName": "Business (REST) Resources"
          }
        ],
        "dependencies": {
          "rowOperation": {
            "values": ["CRUD"]
          }
        }
      },
      {
        "name": "bizObjList",
        "displayName": "Select a Business Object",
        "description": "",
        "type": "COMBO_BOX",
        "required": true,
        "options": [
          {
            "keyName": "{http://xmlns.oracle.com/apps/crmCommon/salesParties/accountService/OSCAdapter}Account : AccountService",
            "displayName": "Account : AccountService"
          },
          {
            "keyName": "{http://xmlns.oracle.com/apps/crmCommon/salesParties/addressService/OSCAdapter}Account : AddressService",
            "displayName": "Account : AddressService"
          },
          {
            "keyName": "{http://xmlns.oracle.com/apps/crmCommon/salesParties/customerClassificationService/OSCAdapter}Account : CustomerClassificationService",
            "displayName": "Account : CustomerClassificationService"
          },
          {
            "keyName": "{http://xmlns.oracle.com/apps/crmCommon/salesParties/relationshipService/OSCAdapter}Account : RelationshipService",
            "displayName": "Account : RelationshipService"
          },
          {
            "keyName": "{http://xmlns.oracle.com/apps/crmCommon/activities/activityManagementService/OSCAdapter}Activity",
            "displayName": "Activity"
          }
        ],
        "dependencies": {
          "selectServiceBy": {
            "values": ["browseByBusinessObject"]
          }
        }
      },
      {
        "name": "OPR_LIST_LABEL_FIELD_PARENT_PAGE",
        "displayName": "Select the Operation to Perform on the Business Object",
        "description": "",
        "type": "COMBO_BOX",
        "required": true,
        "options": [
          {
            "keyName": "create",
            "displayName": "Create"
          },
          {
            "keyName": "delete",
            "displayName": "Delete"
          },
          {
            "keyName": "find",
            "displayName": "Find"
          },
          {
            "keyName": "get",
            "displayName": "Get"
          },
          {
            "keyName": "update",
            "displayName": "Update"
          }
        ],
        "dependencies": {
          "bizObjList": {
            "values": []
          }
        }
      },
      {
        "name": "bizServiceList",
        "displayName": "Select a Service",
        "description": "",
        "type": "COMBO_BOX",
        "required": true,
        "options": [
          {
            "keyName": "AccountService",
            "displayName": "AccountService"
          },
          {
            "keyName": "ActionPlanService",
            "displayName": "ActionPlanService"
          },
          {
            "keyName": "ActivityAppointmentService",
            "displayName": "ActivityAppointmentService"
          },
          {
            "keyName": "ActivityService",
            "displayName": "ActivityService"
          }
        ],
        "dependencies": {
          "selectServiceBy": {
            "values": ["browseByService"]
          }
        }
      },
      {
        "name": "OPR_LIST_LABEL_FIELD_PARENT_PAGE2",
        "displayName": "Select the Operation to Perform on the Business Service",
        "description": "",
        "type": "COMBO_BOX",
        "required": true,
        "options": [
          {
            "keyName": "create",
            "displayName": "Create"
          },
          {
            "keyName": "delete",
            "displayName": "Delete"
          },
          {
            "keyName": "find",
            "displayName": "Find"
          },
          {
            "keyName": "get",
            "displayName": "Get"
          },
          {
            "keyName": "update",
            "displayName": "Update"
          }
        ],
        "dependencies": {
          "bizServiceList": {
            "values": []
          }
        }
      },
 
      {
        "name": "selectServiceApp",
        "displayName": "Select a Service Application",
        "description": "",
        "type": "COMBO_BOX",
        "required": true,
        "options": [
          {
            "keyName": "crmRestApp",
            "displayName": "crmRestApp"
          },
          {
            "keyName": "fscmRestApp",
            "displayName": "fscmRestApp"
          },
          {
            "keyName": "hcmRestApp",
            "displayName": "hcmRestApp"
          }
        ],
        "dependencies": {
          "selectServiceBy": {
            "values": ["browseByServiceRest"]
          }
        }
      },
      {
        "name": "restBizObjList",
        "displayName": "Select a Business Resource",
        "description": "",
        "type": "COMBO_BOX",
        "required": true,
        "options": [
          {
            "keyName": "Accounts",
            "displayName": "Accounts"
          },
          {
            "keyName": "ActionEvents",
            "displayName": "ActionEvents"
          },
          {
            "keyName": "Actionplans",
            "displayName": "Actionplans"
          },
          {
            "keyName": "Actions",
            "displayName": "Actions"
          }
        ],
        "dependencies": {
          "selectServiceApp": {
            "values": []
          }
        }
      },
      {
        "name": "OPR_LIST_LABEL_FIELD_PARENT_PAGE3",
        "displayName": "Select the operation to perform on the selected resource",
        "description": "",
        "type": "COMBO_BOX",
        "required": true,
        "options": [
          {
            "keyName": "create",
            "displayName": "Create"
          },
          {
            "keyName": "delete",
            "displayName": "Delete"
          },
          {
            "keyName": "find",
            "displayName": "Find"
          },
          {
            "keyName": "get",
            "displayName": "Get"
          },
          {
            "keyName": "update",
            "displayName": "Update"
          }
        ],
        "dependencies": {
          "restBizObjList": {
            "values": []
          }
        }
      },
      {
        "name": "jobImportInterfaceId",
        "displayName": "Select Bulk Data Import Process",
        "description": "",
        "type": "COMBO_BOX",
        "required": true,
        "options": [
          {
            "keyName": "Post Mass Transfers",
            "displayName": "Post Mass Transfers"
          },
          {
            "keyName": "Post Mass Retirements",
            "displayName": "Post Mass Retirements"
          },
          {
            "keyName": "Post Mass Additions",
            "displayName": "Post Mass Additions"
          },
          {
            "keyName": "Asset Physical Inventory Comparison",
            "displayName": "Asset Physical Inventory Comparison"
          },
          {
            "keyName": "Import Asset Leases",
            "displayName": "Import Asset Leases"
          },
          {
            "keyName": "Upload Units of Production",
            "displayName": "Upload Units of Production"
          }
        ],
        "dependencies": {
          "rowOperation": {
            "values": ["importBulkData"]
          }
        }
      },
      {
        "name": "jobCheckBox",
        "displayName": "Reuse job property file uploaded separately in respective UCM Account",
        "description": "",
        "type": "CHECK_BOX",
        "required": false,
        "dependencies": {
          "rowOperation": {
            "values": ["importBulkData"]
          }
        }
      },
      {
        "name": "ExtractFileType",
        "displayName": "Extract File",
        "description": "",
        "type": "COMBO_BOX",
        "required": true,
        "options": [
          {
            "keyName": "All",
            "displayName": "All"
          },
          {
            "keyName": "Error",
            "displayName": "Error"
          },
          {
            "keyName": "Log",
            "displayName": "Log"
          },
          {
            "keyName": "Out",
            "displayName": "Out"
          },
          {
            "keyName": "None",
            "displayName": "None"
          }
        ],
        "dependencies": {
          "rowOperation": {
            "values": ["importBulkData"]
          }
        }
      },
      {
        "name": "importJobOption",
        "displayName": "Additional Import Options",
        "description": "",
        "type": "TEXT_BOX",
        "required": true,
        "dependencies": {
          "rowOperation": {
            "values": ["importBulkData"]
          }
        }
      },
      {
        "name": "securityGroup",
        "displayName": "Security Group",
        "description": "",
        "type": "LIST_BOX",
        "required": true,
        "options": [
          {
            "keyName": "CRM",
            "displayName": "CRM"
          },
          {
            "keyName": "CRMStage",
            "displayName": "CRMStage"
          },
          {
            "keyName": "CSMImportExport",
            "displayName": "CSMImportExport"
          },
          {
            "keyName": "FAAuthPubContent",
            "displayName": "FAAuthPubContent"
          },
          {
            "keyName": "FAFusionImportExport",
            "displayName": "FAFusionImportExport"
          },
          {
            "keyName": "FolderAccess",
            "displayName": "FolderAccess"
          }
        ],
        "dependencies": {
          "rowOperation": {
            "values": ["fileUploadWebCenterUCM"]
          }
        }
      },
      {
        "name": "docAccount",
        "displayName": "Doc Account",
        "description": "",
        "type": "LIST_BOX",
        "required": true,
        "options": [
          {
            "keyName": "AUTHEN",
            "displayName": "AUTHEN"
          },
          {
            "keyName": "PEWebCenter/PU",
            "displayName": "PEWebCenter/PU"
          },
          {
            "keyName": "PUBLIC",
            "displayName": "PUBLIC"
          },
          {
            "keyName": "UCM_Spaces/PU",
            "displayName": "UCM_Spaces/PU"
          },
          {
            "keyName": "WCILS",
            "displayName": "WCILS"
          },
          {
            "keyName": "crm$/accessGroups$/import$",
            "displayName": "crm$/accessGroups$/import$"
          }
        ],
        "dependencies": {
          "rowOperation": {
            "values": ["fileUploadWebCenterUCM"]
          }
        }
      },
      {
        "name": "encryptFile",
        "displayName": "Encrypt the File",
        "description": "",
        "type": "CHECK_BOX",
        "required": false,
        "dependencies": {
          "rowOperation": {
            "values": ["fileUploadWebCenterUCM"]
          }
        }
      }
    ]
  }
}