updateProductInstance

Description
This transaction updates the details of an existing product instance.
Web Services
Operation name: updateProductInstance
Service name: ProductService
Example
Update the description for the Everyday Savings Account banking product.
Usage information

The product type cannot be updated.

UpdateProductInstance can be used as a coarse-grained transaction to add or update the following business objects:
  • ProductIdentifierBObj
  • ProductAdminSysKeyBObj
  • ProductCategoryAssociationBObj
  • ProductRelationshipBObj
  • ProductSpecValueBObj
  • TermConditionBObj
For root products and variant products, the VariantAllowedInd and VariantOfProductId elements can be updated if certain conditions are met:
  • VariantAllowedInd can be changed to N if the product has no existing variant products.
  • VariantAllowedInd can be changed to Y or null if the product is not a variant product (VariantOfProductId must be empty).
  • VariantOfProductId can be updated to include the related root product ID if VariantAllowedInd is N and the product is a variant of another product.
For more information about root and variant products, see the transaction addProductInstance.

Localized content can be added for the Name, ShortDescription, and Description elements. Product spec values can also be localized.

For more information about product spec values and related rules, see the transaction addProductInstance and the related developer documentation.

When updating product spec values where the spec is accessed through the product type, the following conditions must be met:
  • The SpecFormatId, ProductSpecValueId, and LastUpdateDate must be provided.
  • The entity spec use that associates the spec with the product type must be active.
  • The StartDate of the product spec value must be on or after the StartDate of the product type.
  • The StartDate and EndDate of the product spec values must be within the date range defined by the StartDate and EndDate of the entity spec use.
  • The start and end dates cannot overlap for multiple ProductSpecValueBObjs that reference the same spec.
  • If AttributeValueBObj is provided, you must use the update action to specify whether the provided spec attribute values are to be added, updated, removed, or replaced.
When updating product spec values where the spec is accessed through the product's categorizations, the following conditions must be met:
  • The SpecFormatId, ProductSpecValueId, and LastUpdateDate must be provided.
  • If accessing a spec located on an ancestor node, the category path must be active. The category path includes all categories and category relationships between the category associated with the product and the category where the spec is located.
  • The entity spec use associating the spec with the category (or ancestor) must be active.
  • The StartDate and EndDate of the product spec values must be within the date range defined by the StartDate and EndDate of the product category association.
  • The StartDate and EndDate of the product spec values must be within the date range defined by the StartDate and EndDate of the entity spec use.
  • The start and end dates cannot overlap for multiple ProductSpecValueBObjs that reference the same spec.
  • If AttributeValueBObj is provided, you must use the update action to specify whether the provided spec attribute values are to be added, updated, removed, or replaced.

Spec values cannot be added or updated if the entity spec use that references the spec is inactive.

Preconditions
When adding or updating a relationship to another product, that product must exist.

When adding or updating an association to a category, that category must exist and allow products to be categorized to it. Also the product cannot already be in that category for the start and end dates provided.

When adding or updating product spec values, the spec usage on which the values are based must be active.

Mandatory input
  • ProductId
  • ProductLastUpdateDate
Inquiry levels
Not applicable
Filter values
Not applicable
Transaction behavior
When adding or updating product spec values, all product spec values are validated against the provided spec format.
When adding or updating a ProductSpecValueBObj, either the SpecFormatId (associated with the ProductSpecValueBObj) or the target SpecNameSpace in the XML document must be provided.
  • If one of these values is missing, both SpecFormatId and SpecNameSpace will be available and in synch before validation. In other words, they will both identify the same Spec format.
  • If both the SpecFormatId and the SpecNameSpace are provided, validation is performed to ensure that they both identify the same Spec format.

When adding a TermConditionBObj, an EntityConditionAssociationBObj is required. Within the EntityConditionAssociationBObj, the EntityName must be either PRODUCT or PRODUCTREL.

Request message

<TCRMTxType> updateProductInstance

<TCRMTxObject> ProductBObj

<TCRMObject> ProductBObj

Response objects
ProductBObj
Special note
Not applicable