Tips on using Product IDs and External IDs to locate the appropriate records.You are bringing in opportunity line items from another system. However, you only have the
productid.
How do you lookup the
productid in an
externalid field on that product to then locate the Salesforce
productid to find the appropriate
pricebookentryid to put into the
productlineitem record?
First, use the
source.ProductId to perform a Seek against the
target.Product2 entity (where Source.ProductId = Target.ExternalProductId). Then, create a target variable on this Seek step to return its
Product2.Id.
See
About Target Variables for more information.
In the second step, Create or Upsert, on the target
PricebookEntry, you need to know the
Product.Id from your target variable (whereTargetVarliableName = PricebookEntry.ProductId). You also need to know the appropriate
PricebookId for your target operation – this might be better handled by a
DBLOOKUPCACHED formula if you are repeating the lookup for the same group of
Pricebooks. This can be done using a friendly name or external Id, depending on how it was synched over.
See
DBLOOKUPCached for more information.
If this scenario is for a large data migration, you may need to make use of Cross Reference Keys to improve performance and use fewer API hits on your target Salesforce. Consider loading the appropriate XREF table in your Scribe Internal Database prior to running a DTS that would perform 1 or more Lookups for each source record.
See
About Cross Reference Keys for more information.