Mnemonic | Valid Values | Description | Examples |
---|---|---|---|
type= | "field" | The field type is the default type for any element not explicitly labeled as something other than a field. Therefore, you virtually never have to explicitly label an element as a field. Note that a field element, unlike group or list, will contain information in its nodes - rather than other nodes. | |
"group" | The group element is typically a structural element of the schema only, in which case it has no mapping. Note that when grouping several elements that are all used to map an XML structure of a CLOB / XML field of a business object driven record, the mapping may be at the group level. | Example where a group is used to create a structure <schema> <input type="group" <userId/> </input> <output type="group"> <firstName/> <lastName/> </output> </schema> Example where the group includes the mapping: <parameters type="group" mapXML="BO_DATA_AREA" mdField= "F1_TODOSUMEMAIL_PARM_LBL"/> <numberOfDays mdField="F1_NBR_DAYS" required="true"/> <frequency mdField="F1_FREQUENCY"/> | |
"list" | The list node is structural node like the group node. The only difference is that the list structure has the ability to repeat multiple times in an XML document. | Example of a schema with a list: <schema> <statesList type="list"> <state isPrimeKey="true"/> <description/> </statesList> </schema> Example of a schema with a list: <xml> <statesList> <state>AK</state> <description>Alaska</description> </statesList> <statesList> <state>AL</state> <description>Alabama</description> </statesList> ... </xml> | |
"raw" | The raw data type is used to capture a chunk of raw text that doesn't have any inherent structure associated with it. | <sendDetail type="raw" /> Example of an XML instance for the above schema: <sendDetail> <messageInfo> <senderAddress>123 W. Main St, Ontario, CA </senderAddress> <corpZone>3A</corpZone> </messageInfo> </sendDetail> |
Mnemonic | Valid Values | Description | Examples |
---|---|---|---|
dataType= | "string" | By default, a field element is a string. Therefore, there is no requirement to specify the string data type. | <schema> <custName dataType="string"/> </schema> |
"number" | Defines an element that is a number. Note: UI hints include a setting to Suppress Automatic Number Formatting. Note: Use currencyRef attribute for auto-display of currency symbol that is associated with the referenced currency code. The currency decimal positions are ignored by this formatting allowing you to display a currency symbol for a unit rate with many decimals. | Examples <schema> <count dataType="number"/> </schema> <schema> <taxRate dataType="number" currencyRef="currency"/> </schema> | |
"money" Optional additional attributes currencyRef="element name" | Defines an element that represents a monetary amount. The currency reference is optional and if left blank the installation currency will be used. Automatic formatting and validation to be applied based on the currency. For example, the currency symbol will be shown when auto-rendering. In addition, the number of decimal places must not exceed the valid number defined for the currency. Note: Refer to Referencing Other Elements for supported syntax for referring to other elements. | <schema> <currency default="USD" suppress="true"/> <balance dataType="money" currencyRef="currency"/> </schema> | |
"lookup" Required additional attribute lookup="field name" | Defines an element that has valid values defined using a lookup. The lookup field is required. | <schema> <status dataType="lookup" lookup="STATUS_FLG"/> </schema> | |
"lookupBO" Required additional attribute lookupBO="bo name" | Defines an element that has valid values defined using an extendable lookup. The extendable lookup's business object is required. | <schema> <category dataType="lookupBO" lookupBO="CM-BusinessCategory"/> </schema> | |
"boolean" | Defines an element that has values of "Y" and "N". | <schema> <allowsEdit dataType="boolean"/> </schema> | |
"date" | Defines an element that represents a date. | <schema> <startDate dataType="date"/> </schema> | |
"dateTime" | Defines an element that represents a date and time. Note: Refer to Standard Time Considerations for additional configuration available for date / time fields that represent standard time. | <schema> <startDateTime dataType="dateTime"/> </schema> | |
"time" | Defines an element that represents a time. | <schema> <startTime dataType="time"/> </schema> | |
"uri" | Defines an element captures a URI. Elements defined with this type enable the support for URI Allowlist and Substitution as described in Referencing URIs . | <schema> <exportDirectory dataType="uri"/> </schema> |
Mnemonic | Valid Values | Description | Examples |
---|---|---|---|
mapField= | "field name" | In the case of a business object, the mapField attribute is used to identify the database column the element is related to. For business service schemas, the mapField= attribute is used to link a schema element with a service element. | <schema> <factId mapField="FACT_ID"/> </schema> |
mapChild= | "table name" | The mapChild attribute is used only for business object mapping. It is used in two ways: • First, to create a list in the business object that corresponds to a child table of an MO. • Second, you can use mapChild to identify the child table a flattened field lives in. For more information on flattening, refer to flattening section below. | Example of a list within a child table in a BO: <persons type="list" mapChild="CI_ACCT_PER" <personId mapField="PER_ID"/> </persons> |
mapList= | "list name" | The mapList attribute is used only for business service mapping. It is used in two ways: • First, to create a list in the business service that corresponds to a list in the service. • Second, you can use mapList to identify the list that a flattened field lives in. For more information on flattening, refer to flattening section below. | Example of a list within a business service: <selectList type="list" mapList="DE" <value mapField="COL_VALUE"> <row mapList="DE_VAL"> <SEQNO is="2"/> </row> </value> </selectList> |
mapXML= | "field name" | The mapXML attribute is typically used to map XML structures into a large character / XML field of the service. Note that when you use mapXML to map either a list or group structure (type="list" or type="group") you don't have to map all the child elements within the structure. It is also possible to map list elements to a large character field associated with the list child. | <enrollmentRequest type="group" mapXML="CASE_CLOB"> <messageID/> <sender/> </enrollmentRequest> <enrollmentKey mapXML="CASE_CLOB"/> <enrollmentInfo type="list" mapChild="CI_CASE_CHILD"> <sequence mapField="CHILD_SEQ"/> <name mapXML="CASE_CHILD_CLOB"/> <value mapXML="CASE_CHILD_CLOB"/> </enrollmentInfo> |
isPrimeKey= | "true" | You must specify a primary key for a list defined within a mapped XML element (type="list" mapXML="CLOB"). The primary key is used by the framework to determine whether a list element add, update or delete is required during a business object update. Note: You do not need to specify the prime key for a business object list mapped to maintenance object list. When a physical list is mapped, the prime key is derived from existing physical meta-data. | <questionnaire type="list" mapXML="CASE_CLOB"> <question isPrimeKey="true"/> <answer/> </questionnaire> |
orderBy= | "XPath asc|desc, XPath asc|desc" | By default, a list defined within a mapped XML element (type="list" mapXML="CLOB") is sorted by the first element of the list. A different sort order may be specified using the orderBy attribute. The attribute value is a comma separated list of field XPaths (relative to the list element) with an optional sort order (ascending is the default). Note: This is only available for lists mapped as XML within business objects. | <questionnaire type="list" orderBy="page/section, page/sequence" mapXML="CASE_CLOB"> <question isPrimeKey="true"/> <answer/> <page type="group"> <section/> <sequence/> </page> </questionnaire> |
Mnemonic | Valid Values | Description | Examples |
---|---|---|---|
<!-- comment --> | Use this to add a comment to a schema by using special open and close characters: <!-- and -->. | <schema> <!-- This schema is used to capture business information only, please refer to the 'HUMAN' BO for person information --> </schema> | |
description= | "text" | The description of an element may be used to provide an internal description of the element to help a reader of the schema to understand the business reason for the element. | <schema> <active type="boolean" description="active account" label="Active"/> </schema> |
label= | "text" | The label of an element is meant to be a short bit of verbiage that would typically precede the element in a user interface. | <schema> <active type="boolean" description="active account" label="Active"/> </schema> |
required= | "true" | Used to require the existence of an element during object interaction. Note: For included schemas, the required="true" attribute is not processed on business object and business service schemas when they are included within a service script schema. This is to support the ability of the service script to populate required elements before an embedded business object or business service is invoked from the service script. | <schema> <logDate mapField="LOG_DT" default="%CurrentDate" required="true" private="true" </schema> |
mdField= | "field code" | The meta-data field attribute is used to associate an element with a field's metadata. The field defines data type, as well as its label and help text. If you link an element with a meta-data field, you don't need to specify any of these attributes. Note: For a business object schema, the mapField attribute is used to derive the data type and label. An mdField attribute may be provided to override these attributes, if needed. If the element is mapped to an XML column, the mdField is needed to provide the appropriate data type and label. | <schema> <active mdField="CM_ACTIVE_SW"/> </schema> |
fkRef= | "FK Reference Code" | If the element is a foreign key, defining its FK Reference will enable framework validation of the element during schema interaction and automatically provide descriptions and navigation capability. | <schema> <person fkRef="PER" mapField="CHAR_VAL_FK1"> <row mapChild="CI_SA_CHAR"> <CHAR_TYPE_CD is="PER"/> </row> </person> </schema> |
private= | "true" | Marking an element as private will prevent it from being exposed in schema interaction. Note: A private element requires a default. | <schema> <type mdField="SA_TYPE_CD" default="E1" private="true"/> </schema> |
suppress= | "true" | This setting prevents an element from appearing in automatically generated user interfaces. Note: This attribute can be specified on a group, in which case all elements of the group will be suppressed. Note: Refer to Defaulting and System Variables for advice related to default values for suppressed elements. | <schema> <ls mdField="LIFE_SUPPORT_FLG" default="N" suppress="true"/< </schema> |
"blank" | This setting means that automatic UI rendering in display mode will hide the element if its value is blank. The element will still be modifiable on the input map whether blank or not. | <schema> <email mdField="EMAIL" suppress="blank"/> </schema> | |
"input" | This setting means that automatic UI rendering will suppress the element for input, although it may still be displayed if it is not blank. Note: Elements marked as suppress="input" will behave as with suppress="blank". If the value is blank, no value will be displayed on either the display or input map. If the element's value is present, then the element will be displayed on both the display and input map. Note: Refer to Defaulting and System Variables for advice related to default values for suppressed elements. | <schema> <email mdField="EMAIL" suppress="input"/> </schema> | |
noAudit= | "true" | This setting prevents an element from appearing as a changed element in the business object's audit plug-in spot. If specified on a group or list node it applies to the whole node. You cannot specify it on the schema root node, only on schema elements. Note: This attribute is only applicable to business object schemas. | <schema> ... <version mapField="VERSION_NBR" noAudit="true"/> ... <workFields type="group" noAudit="true" <lastProcessedId/> <lastProcessedTime/> </workFields> </schema> |
storeEmptyNodes= | "true" | By default, empty nodes are removed from a business object instance when saved. This setting allows a group or a list element to explicitly keep its empty nodes. This attribute may be useful in situations where business object data is exchanged with an external system and there is a need to distinguish between an empty value for an element that participates in the synchronization and an element that does not participate and therefore omitted from the message altogether. Note: This is only available for group and list elements. | <schema> <message type="group" storeEmptyNodes="true"> ... </message> </schema> |
emitEmptyGroups= | "true" | By default, empty nodes are not included in the output of a business object or a business service call. This attribute is set at the top level schema node, allowing empty nodes of all groups and list elements to be included in the output. This attribute may be useful in the same situations that may require the use of the storeEmptyNodes= attribute. Note: This is only available for business object and business service schemas. | <schema emitEmptyGroups="true"> <message type="group"> ... </message> </schema> |
emitEmptyElements= | "true" | This attribute is similar to the emitEmptyGroups= attribute but may also be specified at the field level. The attribute is applicable to all schema types. | <schema> <messageNumber type="field" emitEmptyElements="true"> ... </message> </schema> |
adheresToDA= | “comma separated list of data area names.” | This attribute is applicable to the schema, group and list nodes. It claims that this sub-schema node is intended to "look like" the schema of one of the listed data areas, for polymorphism reasons in general. Note: The recommended approach for enforcing the structure of a shared data area is by including it in the schema. This attribute should be limited to use cases where the ability to include the data area is not possible. | <schema> <messageNumber type="group" adheresToDA="DataAreaName"> ... </message> </schema> |
Mnemonic | Valid Values | Description | Examples |
---|---|---|---|
default= | "value" | Use this attribute to default an element to a specified value. The values that are valid depend on the dataType setting. | <schema> <perType mapField="PER_OR_BUS_FLG" default="P" required="true"/> </schema> <schema> <frequency dataType="number" default="1" required="true"/> </schema> |
"%CurrentDate" | Used to default the element to the current date. This is only applicable to date elements. | <schema> <logDate mapField="LOG_DT" default="%CurrentDate" required="true"/> </schema> | |
"%CurrentDateTime" | Used to default the element to the current date / time. This is only applicable to date / time elements. | <schema> <logDateTime mapField="LOG_DTTM" default="%CurrentDateTime" required="true"/> </schema> | |
"%StandardDateTime" | Used to default the standard date and time. The standard date and time is identical to the current date and time, unless daylight savings time / summer time is in effect for the base time zone. This may be used with the stdTime attribute. Note: Refer to Standard Time Considerations for more information. | <schema> <startDateTime mapField="START_DTTM" default="%StandardDateTime" required="true"/> </schema> | |
"%ProcessDate" | You can default the process date. The process date differs from the current date because the process date will remain constant throughout the duration of the process being executed. The current date will reflect the actual date of processing. This is similar to the batch business date that is a standard batch parameter. | <schema> <billDate mapField="BILL_DT" default="%ProcessDate" required="true"/> </schema> | |
"%ProcessDateTime" | This is similar to "%ProcessDate" but for date / time fields. | <schema> <calcDateTime mapField="CALC_DTTM" default="%ProcessDateTime" required="true"/> </schema> | |
"%CurrentUser" | Used to default the element to the current user. | <schema> <logUser mapField="LOG_USER" default="%CurrentUser" required="true"/> </schema> | |
"%CurrentUserTimeZone" | Used to default the element to the current user's time zone. If the current user's time zone is not found, the installation time zone is used. | <schema> <timeZone default="%CurrentUserTimeZone" required="true"/> </schema> | |
"%CurrentUserLanguage" | Used to default the element to the current user's language. | <schema> <custLanguage mapField="CUST_LANG" default="%CurrentUserLanguage" required="true"/> </schema> | |
"%InstallationCurrency" | Used to default the currency from the installation record. | <schema> <currency mapField="CURRENCY_CODE" default="%InstallationCurrency" required="true"/> </schema> | |
"%InstallationCountry" | You can default the country from installation record. | <schema> <country mapField="COUNTRY" default="%InstallationCountry" required="true"/> </schema> | |
"%InstallationLanguage" | You can default the language from the installation record. | <schema> <language mapField="LANGUAGE" default="%InstallationLanguage" required="true"/> </schema> | |
"%Constant( )" | You can default an element value using a schema constant. | The following is an example of a schema constant used as a default value, where the Java Value Name of the Lookup Value is 'customerLanguage'. <language mapField="CUSTOMER_LANG" default="%Constant(customerLanguage)" required="true"/> | |
"%Context( )" | You can default a value contained in a context variable. Warning: Context variables must be initialized within a server script before the schema context default can be applied. Refer to Context Variables for more information. | An example of a context variable used as a default value: <source mapField="PER_ID" default="%Context(source)" required="true"/> Note: When defining a context variable in scripting, it should be prefixed with $$. When referring to the variable in the %Context( ) syntax, the prefix is not included. | |
defaultRef= | "XPath" | Use this attribute to default the value of one element to the value of another one. | Refer to Referencing Other Elements for supported syntax for referring to other elements. |
Mnemonic | Valid Values | Description | Examples |
---|---|---|---|
is= | "value" | Use this attribute to reference a value directly. | <tdTypeCd mapField="CHAR_VAL_FK1"> <row mapChild="F1_EXT_LOOKUP_VAL_CHAR"> <CHAR_TYPE_CD is="CM-TD-TYPE"/> </row> </tdTypeCd> |
"%Constant( )" | You can configure a flattened element using a schema constant. During a service interaction the value of the schema constant will be used to identify the flattened element in its child row. | An example of a schema constant used in flattening syntax where the Java Value Name of the Lookup field value is 'cmRate'. <unitRate mapField="CHAR_VAL" dataType="number"> <row mapChild= "F1_EXT_LOOKUP_VAL_CHAR"> <CHAR_TYPE is ="%Constant(cmRate)"/> </row> </unitRate> | |
"%n" | The %n substitution value is used to reference a relative list instance. A relative list instance is typically used to configure a flattened element for a child table keyed by sequence number. The value of n should be a positive integer value. During a business object read interaction the relative list instance (position) specified by the integer will be returned. | An example with a relative list instance - where the first instance of the row is returned. <schema> <mainPhone mapField="PHONE"> <row mapChild="CI_PER_PHONE"> <PHONE_TYPE_CD is="%Constant(mainPhoneType)"/> <SEQ_NUMis="%1"/> </row> </mainPhone> </schema> |
Mnemonic | Valid Values | Description | Examples |
---|---|---|---|
is= | "%effectiveDate" | Use this configuration to indicate that current date should be used for processing. Any value added or updated using this schema will be for the current date. With this option, if the maintenance object allows for the characteristic value to be blank, then setting the flattened value to blank during the BO update will result in updating the existing record with an empty value, or adding a new row with an empty value in case the current date effective dated record is not found. | <schema> <price mapField="CHAR_VAL" dataType="number"> <row mapChild="CI_SA_CHAR"> <CHAR_TYPE is="PRICE"/> <EFFDT is="%effectiveDate"/> </row> </price> </schema> |
"%effectiveDate( )" | Use this configuration to indicate that the date to use the value of another element. Note: Refer to Referencing Other Elements for supported syntax for referring to other elements. | <schema> <price mapField="CHAR_VAL" dataType="number" required="true"> <row mapChild="CI_SA_CHAR"> <CHAR_TYPE is="PRICE"/> <EFFDT is="%effectiveDate(priceEdate)" /> </row> </price> <priceEdate mapField="EFFDT" rowRef="price"/> </schema> | |
"%effectiveDateTime" | Use this configuration to indicate that current date /time should be used for processing. Any value added or updated using this schema will be for the current date / time. | <schema> <price mapField="CHAR_VAL" dataType="number"> <row mapChild="RATE_CHAR"> <CHAR_TYPE is="PRICE"/> <EFFDT is="%effectiveDateTime" /> </row> </price> </schema> | |
"%effectiveDateTime( )" | Use this configuration to indicate that the date / time to use the value of another element. Note: Refer to Referencing Other Elements for supported syntax for referring to other elements. | <schema> <price mapField="CHAR_VAL" dataType="number"> <row mapChild="RATE_CHAR"> <CHAR_TYPE is="PRICE"/> <EFFDTTM is="%effectiveDateTime(priceEdatetime)"/> </row> </price> <priceEdatetime mapField="EFFDTTM" rowRef="price"/> </schema> |
Mnemonic | Description | Examples |
---|---|---|
<includeBO name=" "/> | Including a business object schema into another schema is allowed. Note that the mapping rules of a business object or business service schema may or may not make sense in the context of the parent schema. Include other schemas at your own risk. However, a very useful aspect of XML processing is that the framework ignores non-pertinent attributes. In other words, it will not hurt to have mapping attributes included into a script schema. | <schema> <cust type="group"> <includeBO name="C1-Person"/> </cust> <spouse type="group"> <includeBO name="C1-Person"/> </spouse> </schema> |
<includeBS name=" "/> | Used to include a business service schema. | <schema> <includeBS name="F1-ReadMOLog"/> </schema> |
<includeDA name=" "/> | Used to include a data area schema. | <schema> <includeDA name="F1CommonSchemaFieldData"/> </schema> |
<includeMP name=" "/> | Used to include a UI map schema. | <schema> <includeMP name="F1-DisplayRecordActions"/> </schema> |
<includeSS name=" "/> | Used to include a service script schema. | <schema> <includeSS name="F1-ActShowZn"/> </schema> |