Skip to Content
0
Jan 25 at 02:13 PM

How do i Define a simple product schema in CPI

70 Views Last edit Jan 25 at 02:15 PM 4 rev

Hi everyone I am trying to define a schema for a simple product in SAP CPI, in order to be able to map data that is coming from a source which is S4/HANA and the target is SAP CPQ. I have tried the following and it did not work can someone point me into the right direction cause the documentation seem not to be clear enough for me. Your assistance will be highly appreciated.

 <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://webcominc.com/"> <soapenv:Header/> <soapenv:Body> <web:SimpleProductAdministration> <!--Optional:--> <web:userName>CPQ_Test_User</web:userName> <!--Optional:--> <web:password>ABCpassword567</web:password> <!--Optional:--> <web:action>ADDORUPDATE</web:action> <!--Optional:--> <xs:element name="Products"> <xs:complexType> <xs:sequence> <xs:element name="Product"> <xs:complexType> <xs:sequence> <xs:element type="xs:string" name="CPQProductID"/> <xs:element type="xs:string" name="Identificator" maxOccurs="unbounded" minOccurs="0"/> <xs:element type="xs:boolean" name="Active"/> <xs:element name="Categories"> <xs:complexType> <xs:sequence> <xs:element type="xs:string" name="USEnglish"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ProductName"> <xs:complexType> <xs:sequence> <xs:element type="xs:string" name="USEnglish"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element type="xs:string" name="UnitOfMeasure"/> <xs:element name="Description"> <xs:complexType> <xs:sequence> <xs:element type="xs:string" name="USEnglish"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="CartDescription"> <xs:complexType> <xs:sequence> <xs:element type="xs:string" name="USEnglish"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element type="xs:string" name="PartNumber"/> <xs:element type="xs:string" name="ProductSystemId"/> <xs:element type="xs:string" name="ProductType"/> <xs:element type="xs:string" name="DisplayType"/> <xs:element type="xs:string" name="PriceFormula"/> <xs:element type="xs:string" name="CostFormula"/> <xs:element type="xs:float" name="Price"/> <xs:element type="xs:string" name="Image"/> <xs:element type="xs:string" name="Weight"/> <xs:element type="xs:date" name="StartDate"/> <xs:element type="xs:date" name="EndDate"/> <xs:element type="xs:string" name="Permissions"/> <xs:element name="Obsolete"> <xs:complexType> <xs:sequence> <xs:element type="xs:string" name="Status"/> <xs:element type="xs:string" name="ProductSysId"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element type="xs:string" name="PricingMechanism"/> <xs:element type="xs:string" name="PricingCode"/> <xs:element type="xs:string" name="UPC"/> <xs:element type="xs:string" name="MPN"/> <xs:element name="ShippingCosts"> <xs:complexType> <xs:sequence> <xs:element type="xs:string" name="CustomShipping"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element type="xs:string" name="ProductFamilyCode"/> <xs:element type="xs:string" name="RecurringPriceFormula"/> <xs:element type="xs:string" name="RecurringCostFormula"/> <xs:element type="xs:string" name="BaseRecurringPrice"/> <xs:element type="xs:string" name="Inventory"/> <xs:element type="xs:string" name="LeadTime"/> <xs:element type="xs:string" name="ProductVersion"/> <xs:element type="xs:string" name="ExternalId"/> <xs:element type="xs:byte" name="UserCanEnterQuantity"/> <xs:element type="xs:string" name="LongDescription"/> <xs:element type="xs:string" name="RDResponderTemplate"/> <xs:element name="ResponderAttributes"> <xs:complexType> <xs:sequence> <xs:element name="Attribute" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element type="xs:string" name="Name"/> <xs:element type="xs:int" name="Rank"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="ResponderLineItems"> <xs:complexType> <xs:sequence> <xs:element name="Attribute"> <xs:complexType> <xs:sequence> <xs:element type="xs:string" name="Name"/> <xs:element type="xs:int" name="Rank"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Tabs"> <xs:complexType> <xs:sequence> <xs:element name="Tab" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element type="xs:string" name="SystemId"/> <xs:element type="xs:string" name="Name"/> <xs:element type="xs:int" name="Rank"/> <xs:element type="xs:string" name="LayoutTemplate"/> <xs:element type="xs:string" name="RDTemplate"/> <xs:element type="xs:string" name="VisibilityPermission"/> <xs:element type="xs:string" name="VisibilityCondition"/> <xs:element type="xs:byte" name="ShowTabHeader"/> <xs:element name="Attributes"> <xs:complexType> <xs:sequence> <xs:element name="Attribute" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element type="xs:string" name="Name"/> <xs:element type="xs:int" name="Rank"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="GlobalScripts"> <xs:complexType> <xs:sequence> <xs:element name="Script" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element type="xs:string" name="Name"/> <xs:element type="xs:int" name="Rank"/> <xs:element name="Events"> <xs:complexType> <xs:sequence> <xs:element type="xs:string" name="Event" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Attributes"> <xs:complexType> <xs:sequence> <xs:element name="Attribute" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:choice maxOccurs="unbounded" minOccurs="0"> <xs:element name="AttributeName"> <xs:complexType> <xs:sequence> <xs:element type="xs:string" name="USEnglish"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Triggers"> <xs:complexType> <xs:sequence> <xs:element name="Trigger" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element type="xs:string" name="Type"/> <xs:element type="xs:byte" name="Engine"/> <xs:element type="xs:string" name="Formula"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element type="xs:string" name="ScriptOnRowAdded"/> <xs:element type="xs:string" name="ScriptOnRowCopied"/> <xs:element type="xs:string" name="ScriptOnRowDeleted"/> <xs:element type="xs:string" name="ScriptOnCellEdited"/> <xs:element type="xs:byte" name="InheritQuantity"/> <xs:element type="xs:string" name="UnitOfMeasurement"/> <xs:element type="xs:string" name="AttributeType"/> <xs:element type="xs:string" name="DisplayType"/> <xs:element type="xs:byte" name="IsRequired"/> <xs:element type="xs:byte" name="IsLineItem"/> <xs:element type="xs:byte" name="IsFirstValuePreselected"/> <xs:element type="xs:string" name="ExternalId"/> <xs:element type="xs:date" name="StartDate"/> <xs:element type="xs:date" name="EndDate"/> <xs:element type="xs:int" name="RankWithinCart"/> <xs:element type="xs:string" name="AttributeSystemId"/> <xs:element type="xs:byte" name="SpansAcrossEntireRow"/> <xs:element type="xs:byte" name="ShowOneTimePrice"/> <xs:element type="xs:byte" name="ShowRecurringPrice"/> <xs:element type="xs:string" name="ButtonText"/> <xs:element type="xs:string" name="AttachScriptButton"/> <xs:element name="ButtonScripts"> <xs:complexType> <xs:sequence> <xs:element name="ButtonScript" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element type="xs:string" name="Name"/> <xs:element type="xs:int" name="Rank"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element type="xs:string" name="LineItemDescription"/> <xs:element type="xs:string" name="Label"/> <xs:element type="xs:string" name="Hint"/> <xs:element name="Values"> <xs:complexType> <xs:sequence> <xs:element name="Value" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element type="xs:string" name="USEnglish"/> <xs:element type="xs:string" name="ValueCode"/> <xs:element type="xs:byte" name="UsePricebook"/> <xs:element type="xs:string" name="CatalogCode"/> <xs:element type="xs:string" name="Price"/> <xs:element type="xs:string" name="AttributeValueSystemId"/> <xs:element type="xs:int" name="Rank"/> <xs:element type="xs:byte" name="Selected"/> <xs:element type="xs:byte" name="Preselected" minOccurs="0"/> <xs:element type="xs:byte" name="Sort"/> <xs:element type="xs:string" name="RefProduct"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:choice> <xs:attribute type="xs:boolean" name="UpdateOnlyListedValues" use="optional"/> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute type="xs:boolean" name="UpdateOnlyListedAttributes"/> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute type="xs:boolean" name="SkipCategoriesOnProductUpdate"/> <xs:attribute type="xs:boolean" name="SkipPermissionsOnProductUpdate"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </web:SimpleProductAdministration> </soapenv:Body></soapenv:Envelope>