Specifying MDC Field Keys
Several pricing configuration items have definitions that include MATRIXX Data Containers (MDCs) and MDC field names, such as normalizer template fields, event field mappings, and so forth. When specifying an MDC name in the edit field for any of these configuration items, you can begin typing an MDC name or MDC field name and a drop-down menu of all valid MDC containers available to the component that you are creating appears. After specifying an MDC name, you can specify an MDC field name in the drop-down menu in the field value field. Available fields are determined by the selected MDC.
Drop-down menus list available MDCs and their fields in
the following pricing configuration items.
- Announcement Variables — The container and field name.
- Audit Field Maps — The source and destination container names and field names.
- Event Field Maps — The source field name, event field name, and aggregation field name.
- Normalizer Templates — The normalized field name, result field name, and result field description.
- Policy Field Maps — The source and destination container names and field names.
- Session Field Maps — The source field name, destination field name, and session field name.
- Field definitions used in rating.
Field values frequently use dot notation. Using
the field key example
A.B.C
, any of A
,
B
, or C
can be a list or an array, subject to the
following rules. - If
A
orB
is a list or an array, it refers to the "current" element. For most lists and arrays, this is the first element. For example, on containerMtxDiamRoMsg
, the field keyServiceInfo.SmsInfo.RecipientInfoList.RecipientAddressList.AddressData
refers to theAddressData
of the first address of the first recipient of the SMS. - As an exception, when rating each MSCC
MtxMultiServiceData
value in theMultiServiceList
of theMtxDiamRoMsg
MDC, the current value is the one being rated. - If
C
is a list or an array, it has to be used in a list or an array context. For example, if an event-field map says to copy fieldA.B.C
to fieldX.Y.Z
,C
andZ
must both either be lists, arrays, or scalar (neither a list nor an array). For instance, ifC
is a single phone number,Z
cannot be a list of phone numbers, even ifA
orB
is a list.
When manually entering a field after a container has been selected (for example, when
adding a field to a normalizer template), the name entered is based on the MDC
definition of the container and each level within the container should be included in
the field name. For example, if you pick the container MtxDeviceObject, the field could
be one of the following:
- (one layer) The field
ActivityId
defined in the class is written asActivityId
. - (two layer) The field
CatalogItemId
defined in container "MtxPurchasedOffer" that is defined as "OneTimeOfferArray" in "MtxDeviceObject" is written asOneTimeOfferArray.CatalogItemId
. - (three layer) The field
CycleOffset
is defined in container "MtxPeriodicCycle," which is defined in "MtxPurchasedOffer" as "ActiveCycleDefn." Container "MtxPurchasedOffer" is defined as "OneTimeOfferArray" in "MtxDeviceObject," so the field is written asOneTimeOfferArray.ActiveCycleDefn.CycleOffset
.