Difference between revisions of "Invoking Integration Server Services from Business Rules"
imported>Aeric |
imported>Aeric |
||
(3 intermediate revisions by the same user not shown) | |||
Line 26: | Line 26: | ||
:9. Select an Integration Server service from the drop-down list. | :9. Select an Integration Server service from the drop-down list. | ||
:10. Provide the details for '''Service Input Map''' and '''Service Output Map'''. This is an optional step as there can be services that do not require any input or do not produce an output. | :10. Provide the details for '''Service Input Map''' and '''Service Output Map'''. This is an optional step as there can be services that do not require any input or do not produce an output. | ||
:11. After you select an Integration Server service, click '''Service Input Map'''. In the Data Mapper window, the '''Document Model''' lists the set of inputs required for the selected Integration Server service. Also, the '''Object Model''' includes the fields for the selected AgileApps object. For more information, see [ | :11. After you select an Integration Server service, click '''Service Input Map'''. In the Data Mapper window, the '''Document Model''' lists the set of inputs required for the selected Integration Server service. Also, the '''Object Model''' includes the fields for the selected AgileApps object. For more information, see [http://agileappscloud.info/aadev/index.php/Invoking_Integration_Server_Services_from_Business_Rules#AgileApps_and_Integration_Server_Field_Mapping_Table AgileApps and Integration Server field mapping table]. | ||
Perform the mapping of AgileApps object fields to the fields of the Integration Server service. The following table provides details on AgileApps to Integration Server (Outgoing Map) field mapping: | Perform the mapping of AgileApps object fields to the fields of the Integration Server service. The following table provides details on AgileApps to Integration Server (Outgoing Map) field mapping: | ||
:Table 1 - AgileApps to Integration Server (Outgoing Map) | :Table 1 - AgileApps to Integration Server (Outgoing Map) | ||
Line 165: | Line 165: | ||
| <tt><nowiki></nowiki></tt> | | <tt><nowiki></nowiki></tt> | ||
|- | |- | ||
| <tt><nowiki>Checkbox</nowiki></tt> | |||
| <tt><nowiki>Boolean</nowiki></tt> | | <tt><nowiki>Boolean</nowiki></tt> | ||
| <tt><nowiki>Object of Boolean Wrapper Type</nowiki></tt> | | <tt><nowiki>Object of Boolean Wrapper Type</nowiki></tt> | ||
| <tt><nowiki>Yes</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |- | ||
| <tt><nowiki>Currency</nowiki></tt> | |||
| <tt><nowiki>Double</nowiki></tt> | | <tt><nowiki>Double</nowiki></tt> | ||
| <tt><nowiki>Object of Double Wrapper Type</nowiki></tt> | | <tt><nowiki>Object of Double Wrapper Type</nowiki></tt> | ||
| <tt><nowiki>Yes</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |||
| <tt><nowiki>Date</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
| <tt><nowiki>Object of Date Wrapper Type</nowiki></tt> | |||
| <tt><nowiki>No</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |- | ||
| <tt><nowiki>Date Time</nowiki></tt> | |||
| <tt><nowiki>java.util.date</nowiki></tt> | | <tt><nowiki>java.util.date</nowiki></tt> | ||
| <tt><nowiki>Object of Date Wrapper Type</nowiki></tt> | | <tt><nowiki>Object of Date Wrapper Type</nowiki></tt> | ||
| <tt><nowiki>Yes</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |||
| <tt><nowiki>Dependent Picklist (Enumeration Type)</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>Yes</nowiki></tt> | |||
| <tt><nowiki>Works based on Index value instead of display value. AgileApps passes the index value of the selection and expects the same from IS.</nowiki></tt> | |||
|- | |||
| <tt><nowiki>Email Address</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>Yes</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |||
| <tt><nowiki>External Lookup</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>No</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |||
| <tt><nowiki>File Field</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>No</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |||
| <tt><nowiki>Formula</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>Yes</nowiki></tt> | |||
| <tt><nowiki>You cannot update this field as it is an auto populated field as per the formula condition.</nowiki></tt> | |||
|- | |||
| <tt><nowiki>Geolocation</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>Yes</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |||
| <tt><nowiki>Global Picklist (Enumeration Type)</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>Yes</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |||
| <tt><nowiki>Image Field</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>No</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |- | ||
| <tt><nowiki>Lookup</nowiki></tt> | |||
| <tt><nowiki>Integer</nowiki></tt> | | <tt><nowiki>Integer</nowiki></tt> | ||
| <tt><nowiki>Object of Integer/Long Wrapper Type</nowiki></tt> | | <tt><nowiki>Object of Integer/Long Wrapper Type</nowiki></tt> | ||
| <tt><nowiki>No</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |||
| <tt><nowiki>Multi Object Lookup</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>No</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |||
| <tt><nowiki>Multi Select Picklist (Enumeration Type)</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>Yes</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |||
| <tt><nowiki>Multi Value Lookup</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
| <tt><nowiki>No</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |||
| <tt><nowiki>Multiple Check Boxes (Enumeration Type)</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>Yes</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |||
| <tt><nowiki>Number</nowiki></tt> | |||
| <tt><nowiki>Integer</nowiki></tt> | |||
| <tt><nowiki>Object of Integer/Long Wrapper Type</nowiki></tt> | |||
| <tt><nowiki>Yes</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |||
| <tt><nowiki>Number</nowiki></tt> | |||
| <tt><nowiki>Integer</nowiki></tt> | |||
| <tt><nowiki>Object of Integer/Long Wrapper Type</nowiki></tt> | |||
| <tt><nowiki>Yes</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |||
| <tt><nowiki>Number with Decimal</nowiki></tt> | |||
| <tt><nowiki>Double</nowiki></tt> | |||
| <tt><nowiki>Object of Double Wrapper Type</nowiki></tt> | |||
| <tt><nowiki>Yes</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |||
| <tt><nowiki>Percentage</nowiki></tt> | |||
| <tt><nowiki>Double</nowiki></tt> | |||
| <tt><nowiki>Object of Double Wrapper Type</nowiki></tt> | |||
| <tt><nowiki>Yes</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |||
| <tt><nowiki>Phone/Fax</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>Yes</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |||
| <tt><nowiki>Picklist (Enumeration Type)</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>Yes</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |||
| <tt><nowiki>Radio Button (Enumeration Type)</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>Yes</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |||
| <tt><nowiki>Rich Text Area</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>Yes</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |||
| <tt><nowiki>Rollup Summary</nowiki></tt> | |||
| <tt><nowiki>Integer</nowiki></tt> | |||
| <tt><nowiki>Object of Integer/Long Wrapper Type</nowiki></tt> | |||
| <tt><nowiki>No</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |||
| <tt><nowiki>Text Field</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>Yes</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |||
| <tt><nowiki>Text Area</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>Yes</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |||
| <tt><nowiki>Time</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
| <tt><nowiki>Object of Date Wrapper Type</nowiki></tt> | |||
| <tt><nowiki>No</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |||
| <tt><nowiki>URL</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>String</nowiki></tt> | |||
| <tt><nowiki>Yes</nowiki></tt> | |||
| <tt><nowiki></nowiki></tt> | |||
|- | |- | ||
|} | |} |
Latest revision as of 12:52, 29 August 2019
Overview
This use case shows you how to invoke Integration Server services from AgileApps. You can link these Integration Server services to AgileApps objects using business rules. AgileApps invokes these configured Integration Server services on execution of these business rules.
Actors
Any user who has the Manage Company Capabilities administrative permission can perform the required configurations to invoke the Integration Server services using business rules. For more information on permissions, see Administrative Permissions.
Before you begin
Ensure to configure the Integration Server username and password in Integration Server Configuration Settings. For more information about IS Configuration, see Integration Server Configuration.
Invoking the Integration Server services
To invoke the Integration Server services using business rules, perform the following actions:
- 1. Navigate to > Customization > Objects.
- 2. Select an object.
- 3. On the Object page, select Business Rules.
- 4. Under Event Rules, click New Rule. The following object events support invoking of Integration Server services through business rules:
- Created
- Updated
- Deleted
- Closed
- Reopened
- Owner Changed
- 5. Provide the details for the Basic Information section. For more information about setting these parameters, see Event Rules.
- 6. Set the Execution Criteria.
- 7. In the Actions to Perform section, select Invoke IS Service from the drop-down list. The application lists all the Integration Server packages available for this action.
- 8. Select any Integration Server package. The application lists all the services that are part of the selected Integration Server package in a folder structure.
- 9. Select an Integration Server service from the drop-down list.
- 10. Provide the details for Service Input Map and Service Output Map. This is an optional step as there can be services that do not require any input or do not produce an output.
- 11. After you select an Integration Server service, click Service Input Map. In the Data Mapper window, the Document Model lists the set of inputs required for the selected Integration Server service. Also, the Object Model includes the fields for the selected AgileApps object. For more information, see AgileApps and Integration Server field mapping table.
Perform the mapping of AgileApps object fields to the fields of the Integration Server service. The following table provides details on AgileApps to Integration Server (Outgoing Map) field mapping:
- Table 1 - AgileApps to Integration Server (Outgoing Map)
AgileApps Data Type Matching Integration Server Data Type String String Boolean Object of Boolean Wrapper Type Double Object of Double Wrapper Type java.util.date Object of Date Wrapper Type Integer Object of Integer/Long Wrapper Type
12. After you finish mapping for the Service Input Map, click Service Output Map. In the Data Mapper window, the Document Model lists the result from the executed IS service. Also, the Object Model includes the AgileApps object fields to which you must map the result from the executed IS service. Perform the mapping of the result from the Integration Server service to the AgileApps object fields using the Service Output Map. When the business rule invokes the Integration Server service, this mapping updates the results to the mapped object or case record fields. The following table provides details on Integration Server to AgileApps (Incoming Map) field mapping:
- Table 2- Integration Server to AgileApps (Incoming Map)
Integration Server Data Type Matching AgileApps Data Type Comment String String String List No Matching Type String Table No Matching Type Doc No Matching Type Document to Document mapping is not available. However, you can map the internal field of document to AgileApps fields. Refer to Table 1. Doc List No Matching Type Doc Ref No Matching Type Document Ref to Document Ref mapping is not available. However, you can map the internal field of document to AgileApps fields. Refer to the table 1. Doc Ref List No Matching Type Obj No Matching Type Object to Object mapping is not available. However, you can map the object with valid wrapper type to AgileApps fields. Refer to the earlier tables. Obj List No Matching Type Obj Wrapper Types Boolean Boolean Byte Integer Character String Double Double Float Double Integer Integer Long No Matching Type Short Integer java.util.date java.util.date XOPObject No Matching Type ByteArray No Matching Type
- 13. Click Save. In the runtime, the application executes the configured business rules for the respective object event.
Considerations
- Ensure that you do not configure the Service Output Map for the Update object event. If you do, this leads to a recursive action and results in an error when a business rule is executed.
Limitations
Following limitations exist in the Data Mapper UI component:
- The Set Map feature does not support StringTable, ByteArray and XOPObject, Date, and List types.
- Application does not currently support Field Type icons for Character, Date and byte data types.
- For Date field type, the application supports only the date part in the Calendar option.
- The application incorrectly treats the Numeric/Integer fields as double after a certain value limit.
AgileApps and Integration Server Field Mapping Table
The following table provides the list of supported AgileApps fields for communicating with the Integration Server fields.
- Table 3 - AgileApps to Integration Server Field Mapping Table
AgileApps Field Type AgileApps Field Data Type Integration Server Field Data Type Is Supported? Comment Auto Number String String Yes Checkbox Boolean Object of Boolean Wrapper Type Yes Currency Double Object of Double Wrapper Type Yes Date Object of Date Wrapper Type No Date Time java.util.date Object of Date Wrapper Type Yes Dependent Picklist (Enumeration Type) String String Yes Works based on Index value instead of display value. AgileApps passes the index value of the selection and expects the same from IS. Email Address String String Yes External Lookup String String No File Field String String No Formula String String Yes You cannot update this field as it is an auto populated field as per the formula condition. Geolocation String String Yes Global Picklist (Enumeration Type) String String Yes Image Field String String No Lookup Integer Object of Integer/Long Wrapper Type No Multi Object Lookup String String No Multi Select Picklist (Enumeration Type) String String Yes Multi Value Lookup No Multiple Check Boxes (Enumeration Type) String String Yes Number Integer Object of Integer/Long Wrapper Type Yes Number Integer Object of Integer/Long Wrapper Type Yes Number with Decimal Double Object of Double Wrapper Type Yes Percentage Double Object of Double Wrapper Type Yes Phone/Fax String String Yes Picklist (Enumeration Type) String String Yes Radio Button (Enumeration Type) String String Yes Rich Text Area String String Yes Rollup Summary Integer Object of Integer/Long Wrapper Type No Text Field String String Yes Text Area String String Yes Time Object of Date Wrapper Type No URL String String Yes