Loading
Salesforce now sends email only from verified domains. Read More
Communications Cloud
Table of Contents
Select Filters

          No results
          No results
          Here are some search tips

          Check the spelling of your keywords.
          Use more general search terms.
          Select fewer filters to broaden your search.

          Search all of Salesforce Help
          Abstraction Framework Concepts and Terminology (Managed Package)

          Abstraction Framework Concepts and Terminology (Managed Package)

          The abstraction framework abstracts out the essential structure of a product model so that it can locate a product or an attribute anywhere in the product model, without any knowledge of the product model itself.

          Managed Package Icon This feature is part of the Communications Cloud managed package.

          A product model is represented by a comprehensive set of metadata and the abstraction framework uses its knowledge of the metadata structure to locate products and attributes in a product model. Any changes in a product model, therefore, are communicated to the framework simply by updating the relevant custom metadata.

          The custom metadata used by the product model abstraction layer consists of the following columns:

          Column Name Description
          IntegrationKey

          A unique identifier for the product, attribute, or field that you want to access. It maps to the label of the custom metadata object. In the custom metadata provided by default, the prefix VPL_ is used to indicate targets in the reference product model. Don't use this prefix for products in your product model. It is recommended that you implement a robust naming convention for your integration keys to ensure that placement and use of each target is clear.

          Target

          The name of the target.

          • For a field, use the field API name.
          • For an attribute, use the attribute code.
          • For a product, use the product code.

          The target must exist in your org.

          TargetType

          The target type. A target can be one of the following types:

          • Product
          • Attribute
          • Field

          The TargetType must be consistent with the method used. For example, the method to set an attribute can be used only with the TargetType attribute, while the method to add or disconnect a product can be used only with the TargetType product.

          TargetEntity

          The Product Code of the product that you want to access. If the target that you want to access is a product, the TargetEntity is the same as the Target. If the target that you want to access is an attribute or a field, the TargetEntity is the Product Code of the product or the product specification to which the attribute or field belongs.

          TargetEntityContext

          The location of the TargetEntity in the product model hierarchy. A TargetEntity can have one of the following contexts:

          • Root - Used for a root product in a product model.
          • RootChild - Used for a direct child of the root product.
          • Child - Used for any child product that is not a root product or a RootChild.
          ParentEntity

          The Product Code of the entity that is the parent of the TargetEntity. ParentEntity can be null for an attribute or a field where the TargetEntityContext is Root or RootChild.

          ParentEntityContext

          The location of the ParentEntity in the product model hierarchy. A ParentEntity can have one of the following contexts for each value of TargetEntityContext:

          • Root:
            • None
          • RootChild:
            • None
            • Root
            • RootChild
          • Child:
            • None
            • RootChild
            • Child

          If ParentEntityContext is Child, then you should use options such as ContextId, Mode, and Depth to provide more information about the context of the target in the product hierarchy.

          Flow

          The name of the workflow where the target is used. This allows you to define the context at a more granular level when you search for a target in the custom metadata table. It is useful if you want to find a target for which the IntegrationKey is not known. It also allows you to group together target products and attributes based on the workflow they are used in.

          TargetGroup

          A name that allows you to group identical targets that occur in different places in the hierarchy, so that the MatchData method can act on all the targets in a single call. For example, consider a nested hierarchy where a particular product occurs at different places in the product model. Let's say the target product can be either a RootChild, or a Child. The integration key for the product is unique to the target's place in the product model. So if you want to act on just one specific occurrence of the product, you can use its integration key. If, however, you want to act on all instances of the target, wherever they occur in the product model, then you can specify the target group. Specifying the target group returns all rows in the custom metadata table that match the given target group.

          TargetDataType

          The data type of the target. A target can have one of the following data types:

          • Currency
          • Double
          • Reference
          • String
          • Text area
          • Date
          • DateTime
          • Picklist
          • Boolean
          Comment

          Any comment pertaining to the target. This comment is returned in the output of the GetData method.

           
          Loading
          Salesforce Help | Article