Application-specific information in business object definitions provides the connector with application-dependent instructions on how to process business objects. The connector parses the application-specific information from the attributes or verb of a business object or from the business object itself to generate queries for Create, Update, Retrieve, and Delete operations.
The connector stores some of the business object's application-specific information in cache and uses this information to build queries for all the verbs.
If you extend or modify an application-specific business object, you must make sure that the application-specific information in the business object definition matches the syntax that the connector expects.
This section provides information on the application-specific information format for business objects supported by the connector.
Table 12 provides an overview of the functionality available in
business object application-specific information.
Table 12. Overview of application-specific information in supported business objects
Scope of application-specific information | Functionality |
---|---|
Entire business object | Specifies:
|
Simple attributes | Specifies:
|
Business object verb | The connector does not specify functionality based on the verb. |
The following sections discuss this functionality in more detail.
Application-specific information at the business-object level allows you to:
At the business-object level, application-specific information format
consists of four parameters separated by a colon (:) delimiter.
The format is:
cIName=<ComponentInterface>:isEffectiveDated=[true|false]:setInteractiveMode=[true|false]: GetHistoryItems=[true|false]
Table 13 describes these parameters.
Table 13. AppSpecificInfo at the business-object level
AppSpecificinfo parameter | Description |
---|---|
cIName | Specifies the name of the Component Interface defined in the PeopleSoft application. |
EFFDT (isEffectiveDated) | Specifies whether the business object (or child business object) uses an
Effective Date:
The default value is true. |
setInteractiveMode | Determines when the connector sends changes to the Application
Server. This property is typically used to enhance performance.
The default value is true. |
GetHistoryItems | Determines how much data the connector retrieves.
The default value is true. |
For more information about the When setInteractiveMode and GetHistoryItems properties, see the documentation from PeopleSoft.
For example, the PSFT_EmergencyContact business object might have the
following value specified for its business object application-specific
information:
cINAME=EMER_CONTACT_PROFILE:setInteractiveMode=false:GetHistoryItems=true:isEffectiveDated=false
Application-specific information at the attribute level specifies the
connector's behavior on an attribute-by-attribute level. The format
of the application-specific information is a set of five name-value
parameters, each of which includes the parameter name and its value.
Each parameter set is separated from the next by a colon (:)
delimiter. A vertical bar (|) separates the members of a set of
options. The format is:
get=getFieldName:set=setFieldName:UID=[true|false]:GetKey=[true|false]:KeepRelationship=[true|false]
For example, for a Read-Only simple attribute that should be used in addition to the key fields when retrieving data, you might specify the following format:
get=getBusinessUnit:GetKey=true
For a multiple-cardinality attribute whose children should be preserved even if they are not included in an Update business object request, you might specify the following format:
get=getEmergencyPhone:set=setEmergencyPhone:KeepRelationship=true
Table 14 describes each name-value parameter.
Table 14. Name-value parameters in attribute application-specific information
Parameter | Description |
---|---|
get=getFieldName | This parameter specifies the method to use when retrieving a value from a Component Interface field or Component Interface Collection to the current attribute. |
set=setFieldName | This parameter specifies the method to use when setting a value in a Component Interface field or Component Interface Collection, based on the value in the current attribute. |
UID=[true|false] | If this parameter is set to false, a unique value for the
attribute must be provided by the business process that creates the business
object. If the attribute does not contain a value, the connector sends
an error message.
If this parameter is set to true, the application is responsible for generating a unique ID (using auto-numbering). Identifier generation requires the attribute's value to contain the String NEXT. The business process that creates the business object must populate its value as NEXT, or this value can be specified in the attribute's Default Value property. If the business object uses the Default Value property to provide the String NEXT, the connector's UseDefaults property must evaluate to true. For more information, see "UseDefaults". If the key value is set to anything other than varchar, and you want the application to generate the IDs, leave the value blank and UID=True. Only set the value to NEXT when the key value is set to a varchar datatype. When the application generates the unique ID, the connector retrieves the generated ID from the application after the Save operation completes and the data has been committed. When ICS is the integration broker, the connector uses the retrieved ID in cross-referencing the business object. If an attribute does not require the application to generate a unique ID, set this value to false, or do not include this parameter in the application-specific information. |
GetKey=[true|false] | If this parameter is set to true and the attribute's Key
and Required properties evaluate to true, the connector includes
the attribute as part of the key during a retrieve or retrieve-for-update
operation.
The connector uses this parameter to differentiate a retrieval key from a create key when a distinction is necessary. When executing a create operation, the connector provides as keys only those attributes whose Key and Required properties evaluate to true. Because the create-key fields alone do not always uniquely retrieve required data, the connector adds to the keys all attributes whose GetKey parameter evaluates to true when it executes a retrieve operation. |
KeepRelationship=[true|false] | Used only on an attribute that represents an array of child business
objects, this parameter specifies whether the connector deletes existing child
business objects that are not represented in the source business object during
an update operation.
For example, assume an existing phone number is associated with an existing contact. Assume further that the connector receives a request to update a PSFT_EmergencyContact business object that contains a single child business object. The child associates an emergency phone number with the contact. If KeepRelationship evaluates to true for the EmergencyPhone[n] attribute, the connector updates the contact by adding its new association without deleting its existing association. However, if KeepRelationship evaluates to false, the connector deletes all existing child data that is not contained in the source business object. In such a case, the contact is associated only with the new phone number. |