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 or B 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 container MtxDiamRoMsg, the field key ServiceInfo.SmsInfo.RecipientInfoList.RecipientAddressList.AddressData refers to the AddressData of the first address of the first recipient of the SMS.
  • As an exception, when rating each MSCC MtxMultiServiceData value in the MultiServiceList of the MtxDiamRoMsg 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 field A.B.C to field X.Y.Z, C and Z must both either be lists, arrays, or scalar (neither a list nor an array). For instance, if C is a single phone number, Z cannot be a list of phone numbers, even if A or B 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 as ActivityId.
  • (two layer) The field CatalogItemId defined in container "MtxPurchasedOffer" that is defined as "OneTimeOfferArray" in "MtxDeviceObject" is written as OneTimeOfferArray.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 as OneTimeOfferArray.ActiveCycleDefn.CycleOffset.
For more information, see the discussion about product offer MDCs in MATRIXX Subscriber Management API.