EG Answers To Lab Questions v9
EG Answers To Lab Questions v9
EG Answers To Lab Questions v9
1. What are the four main sections of the Cart? Cart header, Cart, Total Bar and Product
List
2. How does the Cart determine which products to display? The Cart uses price lists and
Industries CPQ rules to determine which products to display in the PRODUCTS list.
3. What type of prices appear in the Products list? The price list provides the base or list
prices, and they appear in the PRODUCTS list on the left. Once the product is added to
the cart, the Cart calculates the price for each item based on any active pricing rules or
promotions that have been applied, and so the price in the cart may be different than
the base price. You may see recurring prices or one-time prices in your cart. You will
also see totals for each.
4. What technology was used to develop the Cart? The Cart is developed using OmniStudio
FlexCards. Can it be configured? yes - you can customize the appearance and behavior of
the Cart by cloning and configuring the cards, layouts, and templates that are provided
as part of the Salesforce Industries managed package.
5. What happens when you click the Take Me There icon? You are taken to the
configuration of each line item which has mandatory configuration not yet completed.
6. How does the Cart ensure that every order is a perfect order? Product configuration and
rules are validated before the order is allowed to be placed. When the order is ok to
continue, the button changes from Incomplete to Submit Order.
7. What happens when you click Submit Order in the Cart? Clicking the Submit Order
button invokes this chain of events: Create Assets Action>CPQ/SubmitOrder
OmniScript>Submit Order Integration Procedure. The assets are installed as part of the
managed package, and they call various classes and methods to transform the order line
items into service assets.
LESSON-2
LESSON-3
1. How do you specify a supplemental order when clicking the New button from the Orders
tab? You don’t. Supplemental orders are automatically generated by CPQ during the
order cancellation process. They are not specified when creating new orders.
2. Where do you initiate an order cancellation from? Configure the in-progress order from
within the Orders tab. You will see there an Actions drop down in the upper right.
Select Cancel from the drop down menu.
3. What is the difference between a canceled task and a discarded task? Cancelled tasks
show black on the orchestration plan because they will probably have “undo” or rollback
subtasks within them that need to be completed to cancel the task. Discarded tasks
shown brown on the orchestration plan. They were never started, so have nothing to
undo.
LESSON-4
1. How are quotes and orders different in the Cart? Quote has “Create Order” button to
submit, Order has “Submit Order”. Quote has a “Quote to pdf” button, and different
actions in the actions menu. How are they the same? Same layout for both - products
list, cart, pricing, etc.
2. What is Industries Document Template? What does it do? Industries Document
Template is a document-creation tool for defining the structure, content, and format of
documents. This tool is designed primarily for contract documents in Contract Lifecycle
Management (CLM). However, Industries Document Template is also used to
dynamically create PDFs for opportunities, quotes and orders.
3. What are the buttons in the Cart header? Quote: Price List Dropdown, View Record,
Quote to PDF, Edit. Order: Price list drop-down, View Record, Decompose Order,
Generate Document PDF, Action dropdown.
4. How can you delete or disconnect an asset? Click on the service asset on the account,
click on Change to Order, create a future dated order to delete the asset.
LESSON-5
1. What does it mean to make a product not assetizable? A Not Assetizable field exists on
products but is not copied to orders when products are added to the Cart. This means it
won’t show in the Assets list.
2. What is Field Mapper? Field Mapper is a field mapping tool to map fields between the
Opportunity, Quote, Order, and Asset objects. What purpose does it serve? Using Field
Mapper, you can move any field from any source object to any field of the same type in
any destination object. In our case, we used it to map the Products’ Non-Assetizable
field onto the Order Products.
3. What two types of functions does Field Mapper allow you to do? map fields and filter
fields.
4. If a formula is not used when creating a filter, how are multiple filters joined? with an
AND join
____________________________________________________________________________
EPC-1
1. List three benefits of using our shared Enterprise Product Catalog: provides a complete
PSR model, a collaborative space for people to work, transformational - can bring
information from other sources into it, so it acts as the main point of information.
2. Identify which of the following are products, services, resources or attributes, attributes
or object types:
● Data storage facility used by your company to provide cloud storage for your
customers. Resource
● Smartwatch color. Attribute
● iPhone and Apple Watch offer. Product
● Voicemail offered as part of the iPhone X purchase. Service
● Smartphone. Object Type.
EPC-2
1. Are picklists in EPC the same as picklists elsewhere in Salesforce? No - the EPC picklists
are set up within the Vlocity Product Console and are used for product configuration.
2. Why would you create a picklist? What purpose does it serve? When users have to enter
the same information a lot. Saves time and reduces potential for error.
3. Which fields of the picklist or picklist item are visible to the user at run-time? Picklist
item label and the picklist name.
4. Which field in a picklist item is used for programmatic evaluation? The value - e.g. Text
Value
EPC-3
1. What are attribute categories and how are they used? Used to group attributes. Shown
as headings in the interface
2. What are product attributes and how are they used? Attributes are characteristics of a
product, such as its color, download speed, etc. Used for configuration of product, to
change pricing and to map commercial to technical products for order management and
fulfillment.
3. What interface should be used to manage attribute categories? Product attributes?
Vlocity Product Console
4. What fields will display at run-time in the Cart for attribute categories? Product
attributes? Attribute Category name displays; for attributes, the attribute name,
attribute category, value (or picklist) will display.
EPC-4
1. What is a product object type? A product object type is a reusable entity that describes a
common set of fields and attributes as well as the layouts for all linked products. What
purpose does it serve? You can use object types to group products with similar
characteristics, to ensure consistent behavior and application of rules.
2. What type of inheritance architecture do product object types use? Object types are
designed with an IS-A inheritance type architecture. For those familiar with object-
oriented programming and design, you’ll recognize that object types create relationships
between abstractions where one object type is a subtype of another object type. The
first level of abstraction is called simply an object type, and the subsequent levels are
called subtypes.
3. What types of information can be inherited through object types? Layout, fields, and any
attributes
4. How are attributes and fields inherited? Within the object type hierarchy, attribute
inheritance is a true dynamic inheritance. If you assign new attributes to an object type,
all object subtypes and products linked to the object type hierarchy will dynamically be
assigned those attributes. Importantly, however, any attributes or fields that are
inherited cannot be deleted from the object type, and instead must be unassigned from
the object type or deactivated at the product level.
5. What is the difference between overridable and non-overridable attribute metadata?
Attribute metadata is overridable or non-overridable depending on which attribute
metadata is selected. Non-overridable metadata includes Run-time Configurable, Is
Encrypted, Is Not Assetizable, and Is Not Translatable. These attribute metadata flags
must be set at the object type level and cannot be changed at the product level.
Overridable metadata includes Has Rule, Hidden, Read Only and Required, and these
can be changed at the product level. Both are demonstrated later in this module.
6. What is an object type layout? Object type layouts are like Salesforce page layouts, and
they allow you to control the layout and organization of an object type’s attributes and
fields. Using object type layouts, you can customize layouts for each class of product, so
that the attributes and fields displayed at design-time for a SmartPhone are different to
those of a backpack, for example.
What are they comprised of? An object type layout is made up of facets, sections, and
section elements. As you have seen in the past few exercises, a facet displays on the left
navigation menu, and it contains sections and section elements.
7. What is a section? What are the two view types of a section? A section is essentially a
container for a Visualforce page, and a section can have either a standard field layout
view type or a custom view type. Salesforce provides several common custom view
types, and customers can create their own custom view types by creating custom
Visualforce pages.
8. How are object type layouts inherited? What implications does the inheritance model
have on product catalog change management? Unlike the attribute and field dynamic
inheritance model, object type layouts use a “hybrid” inheritance model. When a new
object subtype is created, the Vlocity Product Console creates a new layout for the
object subtype via a deep copy. What this means is that any subsequent changes to the
object subtype’s layout will not be replicated down the hierarchy after initial creation.
This allows you to change the layout, adding or deleting fields for each object type,
without having to worry about your layouts being altered with the additions of any fields
on the object subtype.
EPC-5
1. What does it mean if a product does not have product selling period dates populated?
This implies that the product will be available and on sale forever.
2. If a product is used in a bundle, do the selling period dates need to match? They should
fulfil the requirements of the bundle.
3. When would you want to use the Find References button? Product administrators use
the Find References button to find references to a given product in active promotions,
product bundles, assets, quote line items, order line items and opportunity line items.
The button helps administrators determine the effect of changing product selling period
and end of life dates.
4. In the products list and/or the cart, what do the green, yellow, and red clock icons
indicate? Green = can order but not available yet; yellow = can’t be added to the cart for
new orders but can be configured or deleted as part of MACD ordering; red= passed end
of life - can’t be added to cart or configured, but can be deleted during MACD.
EPC-6
1. What two product fields are searchable using the Search dialog in the Cart? Product
name and description, product code
2. What is the Specification Type field? Defines the type of product. Specification Type is
aligned with the four SID layers of Offer, Product, Service and Resource.
3. What are the three things required in order for a product to display in the Cart?
Orderable, active and has a price list variable
4. What is attribute metadata? What can it control? Attribute metadata is information
about the attribute and how it should behave. Attribute metadata can control whether
the attribute value is active, editable or required as well as default values.
In addition, you can override the attribute data type and picklist that has been inherited
from the object type. Attribute metadata inherited from the product object type are not
editable.
5. Can you override attribute properties inherited from an object type? Depends how these
have been set on the object. How? Amend using the Attribute Details - eg. delete picklist
attribute and add a new one.
6. What happens when you assign attributes directly to a product that has an object type?
When you assign attributes and fields directly to a product, you “break” the dynamic
attribute inheritance from the object type, and all subsequent attribute assignment
changes must continue to be directly managed at the product level.
7. What happens when you click the Create Custom Layout button? When you click the
Create Custom Layout button, the Vlocity Product Console will perform a “deep copy” of
the object type layout and then “break” the link to the object type’s layout. All
subsequent layout changes must be directly managed at the product level.
EPC-7
1. What is product cardinality? Product cardinality defines the default, minimum and
maximum quantities of the product that are allowed in the product bundle. You can also
override the cardinalities of product bundles when they are included within another
product bundle.
2. What is the correct term for a child product? product child item (PCI)
3. What is a virtual item? The Virtual Item flag, when checked, makes the product item not
assetizable. How is it typically used? As a grouping mechanism, and to set cardinality for
the parent product nodes.
4. How can you remove a child product from a bundle that is added to another product
bundle? Set cardinality to 0:0:0 in your overarching bundle structure
5. How can you override the cardinality of a child product of bundle within another product
bundle? Create an override within the overarching bundle structure.
EPC-8
1. What is the name of the platform cache required by the CPQ used in the
Communications, Media, and Energy and Utilities Clouds? CPQPartition
What is it comprised of? What are their purposes? Session Cache is a cache space for
individual user sessions but is currently not used. Org cache stores items for any user
across the application e.g. product hierarchy properties, rules, line item properties and
pricing. Depending on what else you use, there are other caches eg Salesforce Digital
Commerce API caching.
2. What must you do if you make changes to your product hierarchies (e.g. change product
cardinalities)? Any time you make changes to product bundles (such as product
cardinality), you must rebuild the product hierarchy data store and cache, which means
you must run the Product Hierarchy Maintenance job, followed by the Clear Managed
Platform Cache job and the Refresh Platform Cache job. Otherwise, you will not see your
cardinality changes applied at run-time in the Cart.
3. What is the purpose of the EPCProductAttribJSONBatchJob? Used to calibrate product
attributes. When should it be run? whenever you spin an org or import data that
contains product attributes. You can also try it as a troubleshooting step if you
encounter an issue with attributes, for example, not displaying at runtime.
4. What job should you run if you need to troubleshoot changes to a product’s attributes?
see above
5. How can you check to make sure your batch jobs have run successfully? Go to Salesforce
setup/Apex jobs and check the job statuses for ResolveProductHierarchyBatchJob
(Product hierarchy maintenance), ProductHierarchyBatchProcessor (Refresh Platform
Cache), ProductAttributesBatchProcessor (Refresh Platform Cache) and
EPCProductAttribJSONBatchJob (Regeneration of attribute fields)
EPC-9
1. Where do product images display in the Cart? When you click on the More button beside
the product in the the product list pane of the Cart.
2. What happens if you exceed the minimum or maximum quantities of a product as
defined by its cardinality? You will see a red error message above the line item in the
cart, and you will not be able to submit your order.
3. How does the Cart represent products with a default quantity cardinality of 0? Provides
an Add to Cart button to the right of the line item in the Cart.
4. How does the Cart know to include the Search Item dialog for a product bundle? If you
check the Collapse Hierarchy flag when designing the bundle.
OVW-1
1. What are the two main areas of order management as defined by the TMForum?
C_________ Order Management (COM)
S______ Order Management (SOM)
● Commercial Order Management (COM)
● Service Order Management (SOM)
2. Does Salesforce Industries Order Management address COM, SOM, or both COM and
SOM? Both COM and SOM
OVW-2
1. Why is a single source of truth like Salesforce Industries EPC so vital when it comes to
next generation Order Management? Without a catalog driven single source of truth,
different people with different responsibilities end up looking in different places and
even coming to incorrect conclusions about what needs to be built, how to build it, how
to test it out, etc.
OVW-3
OVW-4
OVW-5
1. What is a technical product? The shared catalog contains commercial products (what the
customer “sees”) and technical products, which contain technical information needed by
order fulfillment systems (and would only confuse customers if they saw the technical
information.)
2. Can you use commercial products without a corresponding technical product in Order
Management? Technically speaking, yes. You can. From a practical standpoint it simply
does not make sense however, and hence is rarely done
3. How are technical products used? Technical products include attributes that are
communicated to order fulfillment systems for billing, scheduling, warehousing, etc
4. What is a decomposition attribute? An attribute that is used in the decomposition
process. Commercial product attributes are mapped to decomposition attributes during
the decomposition process.
5. Should technical products have an object type? If so, why? Object Types in the product
model allow for reseuse and inheritance
6. Are technical products orderable? No. Technical products are not orderable and have
not price associated with them
DCP-1
DCP-3
1. What is a many-to-one decomposition? When multiple products on the same order are
decomposed to a single shared technical product to fulfill the products.
2. What is the field setting that controls many-to-one decomposition, thereby consolidating
fulfillment requests (and the technical attributes within them)? Setting the Scope field on
the product to Account
DCP-4
1. What is a product class? Technically speaking, it is a product with the Product Record
Type set to “Class”. (The default is “Product”.) Practically speaking, a product class can
be used to identify similar types of products and allow them to share in a single
decomposition relationship (rather than creating many individual decomposition
relationships).
2. How can you associate similar commercial products to use the same decomposition
relationship? What field must be set on the commercial products? The Parent Class for
similar commercial products should be set the same. (Which is the source side of the
decomposition relationship.)
ORC-1
ORC-2
ORC-3
1. What is a manual task? A type of Orchestration Item Definition, that requires manual
intervention before completing.
2. What is a manual queue? Queues created by the Administrator that process Manual
Tasks
3. What color represents an orchestration item in a Ready state? Blue
4. Name three operations you can perform on manual tasks in a manual queue. Clear
Assignment in queue; Assign (to me, or different user); Retry; Complete; Assign to
different queue
5. What high level tasks are needed to auto-assign Manual Tasks to Salesforce users in the
Manual Queue? Create Salesforce Users; Create Manual Queue (and add Members, set
the Queue Type); Create Manual Tasks
ORC-4
1. What is an auto task? A task that automatically executes by invoking an Apex class
associated with the orchestration item
2. Name an item implementation provided as part of the managed package. Assetize
3. What types of products are assetizable? Commercial products. (Technical products
cannot be assetized.)
ORC-5
ORC-6
1. What are orchestration systems? Defines and external system that OM communicates
with during order fulfillment
2. Can an orchestration system have more than one interface? Yes. Each system may define
one or more interfaces
3. What is the name of the interface implementation provided by Salesforce Industries?
DefaultSystemImplementation
4. What is required to enable an orchestration system’s endpoint? It must allowed in Setup
> Remote Site Settings, and in Order Management (specified in System Configuration and
System Interface Configuration)
ORC-7
1. What are Push Events? Push Events are a type of Orchestration Item Definition.
2. How are Push Events used in an orchestration plan? They pause execution in an
orchestration plan until a condition evaluates to true.
3. How does Salesforce Industries implement Push Events? Push Events use triggers. They
can evaluate a change of a Field or Attribute of an Order Item or Fulfillment Request
Line.
ORC-8
1. When ordering new products or services, what will the order line item action be? Add
2. Why does the SMS Welcome task only have one segment attached to it in the executed
Orchestration Plan? SMS Welcome is dependent on one task, but no tasks are
dependent on it
3. Why might viewing the decomposition not include assets (even if assetization is correctly
configured as part of the orchestration plan) ? Because assetization as the result of a
task in an orchestration plan can take a little while. Also, it may wait a long time for a
dependent task to complete
4. When will Spotify Provision execute? Once Spotify Start completes. Further, since Spotify
Start is a milestone, it will complete almost immediately when the plan starts execution.
(Milestones always evaluate to true.)
ORC-9
1. What action is used in the Orchestration Scenario for a MACD disconnect? A Disconnect
action. (Again, some refer to the “D” in MACD as Disconnect, Delete, or even
Discontinue. The action in the scenario is Disconnect however.)
2. Where and how do you initiate a MACD disconnect? Perform a Change to Order on the
account’s asset, then select Delete from the drop-down menu on that asset.
ORC-10
1. What are Fulfillment Request Lines (FRLs) stored as during the assetization process?
Inventory Items
2. What are Order Line Items (OLIs) stored as during the assetization process? Assets
3. For a change to an order involving a 1:M decomposition model, what actions may result
in decomposed fulfillment requests instead of a “modify” action? Add and Disconnect
actions can result rather than a Modify. (The decomposition model impacts the ultimate
actions in the decomposition relationship results.)
ORC-11
1. Name three new states for tasks used to implement order cancellation in an
orchestration plan. Canceled; Discarded; Frozen
2. What is used to associate a task in an orchestration plan with the rollback swimlane that
should be executed when an order is canceled? The Rollback Plan Definition field
3. What is the Order Status of the original in-flight order when a cancel request gets
rejected due to PONR? What about the supplemental order in this scenario? Original in-
flight eventually settles as In Progress. The supplemental settles as Rejected.
ORC-12
1. How does the execution order of multiple orchestration items within a rollback plan
change if the plan is part of a Rollback Group? The execution order of tasks within a
rollback plan does not change. (The execution order of entire rollback plans do
however.)
2. What part do Orchestration Scenarios play when it comes to executing Rollback Plans?
They play no part at all. Orchestration Scenarios are not configured for Rollback Plan
execution. (The Rollback Plan Definition of tasks within a regular Orchestration Plan are)
3. When an order is canceled and OM attempts to freeze it, by default are running tasks
frozen or not? What configuration option changes the default behavior? They are not
frozen (they are allowed to complete). Set the Cancel/Amend Behavior field to Smart
Freeze to allow the running task to be frozen.