Description | Manage Product Designs |
Name | ManageProductDesignIn |
Namespace | http://sap.com/xi/A1S/Global |
Product | SAP Business ByDesign |
Process component | Product Engineering |
Process component namespace | http://sap.com/xi/AP/PC/ProductEngineeringFoundation/Global |
Deployment unit | Foundation |
Endpoint Activation | By Scoping of Process Component | Operations |
|
Release Status | Released |
Technical documentation on the SAP API Business Hub | Manage Product Designs |
General web service documentation | A2X Web Services (SOAP) |
An interface to manage product designs.
The web service interface Manage Product Design In enables you to connect external applications to your SAP Business ByDesign system and to create and edit accounts and their assigned contacts in your system. The web service interface Manage Product Design In is relevant if your company wants to access and manage business partner data from external applications.
The web service interface Manage Product Design In offers the operation READ_PD.
Here is an example of a simple web service request:
<n0:ProductDesignByIDQuery_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <ProductDesign> <UUID>00163E02-518D-1ED1-91E6-0ACA45858FAA</UUID> </ProductDesign> </n0:ProductDesignByIDQuery_sync>
Creation of Product Design:
To manage a product design, the product design must be created first.
Action codes represent an instruction to the recipient of the web service request to process transmitted message node elements.
Action Code | Description |
---|---|
01 | Create; the system returns an error message if the node element already exists. |
02 | Update; the system returns an error message if the node element does not exist. |
03 | Delete; the system returns an error message if the node element does not exist. |
04 | Save; the system creates or changes the node element data. |
05 | Remove; the system deletes the node element. If the node element does not exist, the system does not send an error message. |
06 | No Action; the system does not change the node element. |
Default action code: 04 (Save).
Note: Action code 04 (Save) creates business documents if the system cannot identify a matching target business document. This applies in particular if no business document ID or UUID is provided by the web service consumer. The web service consumer (external application) is responsible for providing correct business document IDs or UUIDs and to avoid accidental creation of duplicate business documents.
The processing of node elements with cardinality > 1 (for example a list of descriptions in different languages or a list of telephone numbers) can be controlled using List Complete Transmission Indicators (LCTI). The LCTI indicates whether a list of node elements is transmitted completely. The LCTI of a node element with cardinality > 1 is modeled as an attribute of its parent node element (attribute name: <name of child element>ListCompleteTransmissionIndicator).
LCTI | Description |
---|---|
false | The list of node elements is not transmitted completely and hence all node elements that are not transmitted remain unchanged.If transmitted node elements in the list can be identified uniquely, the system processes the node elements according the action code.If transmitted node elements in the list cannot be identified uniquely, the system appends the node element to the corresponding list of node elements in the target business document. |
true | The list of elements is transmitted completely and hence all node elements that are not transmitted are removed.If no node element is transmitted, the complete list is removed. |
Default list complete transmission indicator: false.
Note: The LCTI refers to the completeness of the list of node elements and does not state completeness of sub-elements.
Example
A new description with language code DE (German) is created while an existing description with language code EN (English) is updated. Moreover, an existing description with language code FR (French) remains unchanged and any other description (with language code ES (Spanish), for example) is deleted. An error is raised if there is already a German description or if the English or French description does not exist.
<Root actionCode="04" descriptionListCompleteTransmissionIndicator="true" > <Description actionCode="01"> <Description languageCode="DE">neuer deutscher Text </Description> <Description actionCode="02"> <Description languageCode="EN">changed english text </Description> <Description actionCode="06"> <Description languageCode="FR"></Description> </Description> </Root>
Optional leaf elements in request messages that are not transmitted within a web service request are not changed in corresponding business documents.
Example
While updating a postal address, the request updates the city name, street postal code, street name, and house ID. The country code remains unchanged, as the element CountryCode is not contained in the XML document (commented out).
<PostalAddress actionCode="02"> <!-- <CountryCode>DE</CountryCode> --> <CityName>Heidelberg</CityName> <StreetPostalCode>69117</StreetPostalCode> <StreetName>Hauptstrasse</StreetName> <HouseID></HouseID> </PostalAddress>
Note: The request deletes the house ID or updates the house ID with its initial value.
Maintain bundle and check maintain bundle operations are mass-enabled stateless synchronous web service operations. Transferring or requesting amounts of data that are too large causes communication timeouts. The web service consumer is responsible for ensuring reasonable sizes of data for mass operations.
Maintain bundle and check maintain bundle operations support exactly one execution (idem potency). To ensure exactly one execution of web service requests, the web service consumer has to provide unique values for the elements ID or UUID of the BasicMessageHeader node element.
Using change state identifier (element name ChangeStateID), external applications can enforce that a modifying operation is not executed because the state of the business document has changed since the external application last read its data.
The change state ID is an uninterpretable string that is provided by query and read operations and can be utilized by all modifying operations. If the change state identifier is provided when calling a modifying operation, the system does not perform the operation if the state of the business document instance has changed since the change state ID was computed. If the change state ID is not provided by the web service consumer, the system performs the web service operation without checking the state of the business document.
The web service consumer (external application) is responsible for preventing accidental changes to business documents.
Note: For this web service the change state ID does not apply to the ContactPerson, Relationship, CommunicationArrangement, DirectResponsibility, SalesArrangement, or PaymentData node elements.
The structure of the response message consists of two parts:
A business document-specific part containing information about IDs and UUIDs of the created and changed business documents
Log items containing system messages including errors, warnings, and information messages raised by the system during processing of the web service request
- <nm:ProductDesignByIDResponse_sync xmlns:nm="http://sap.com/xi/SAPGlobal20/Global" xmlns:prx="urn:sap.com:proxy:ASL:/1SAI/TAE4C6C8FC0DA29D50E1732:804"> - <ProductDesign> <UUID>00163e02-518d-1ed1-91e6-0aca45858faa</UUID> <CategoryCode>1</CategoryCode> - <EngineeringDesignIdentification> <EngineeringDesignBusinessSystemID>TDM1</EngineeringDesignBusinessSystemID> <EngineeringDesignBusinessSystemName>CatiaV5R9</EngineeringDesignBusinessSystemName> <EngineeringDesignID>YC_COMP_100_ED</EngineeringDesignID> <EngineeringDesignInternalID>YC_COMP_02_ED</EngineeringDesignInternalID> </EngineeringDesignIdentification> <MostRecentlyCreatedVersionUUID>00163e02-518d-1ed1-91e6-0aca4585afaa</MostRecentlyCreatedVersionUUID> - <SystemAdministrativeData> <CreationDateTime>2012-01-25T08:41:13.601296Z</CreationDateTime> <CreationIdentityUUID>00163e02-25d5-1ee1-87a3-8f1850cf5a5b</CreationIdentityUUID> <LastChangeDateTime>2012-01-25T08:41:13.601296Z</LastChangeDateTime> <LastChangeIdentityUUID>00163e02-25d5-1ee1-87a3-8f1850cf5a5b</LastChangeIdentityUUID> </SystemAdministrativeData> <CreationIdentity /> <LastChangeIdentity /> - <Version> <UUID>00163e02-518d-1ed1-91e6-0aca4585afaa</UUID> <ID>1</ID> <Name>A</Name> - <EngineeringDesignVersionIdentification> <EngineeringDesignVersionID>A</EngineeringDesignVersionID> <EngineeringDesignVersionInternalID>A</EngineeringDesignVersionInternalID> </EngineeringDesignVersionIdentification> <AssemblyIndicator>true</AssemblyIndicator> <BaseQuantity unitCode="EA">1.0</BaseQuantity> <BaseQuantityTypeCode>EA</BaseQuantityTypeCode> <EngineeringDesignVersionStatusName>Released by Engineering</EngineeringDesignVersionStatusName> <ApplicationLogUUID>00163e02-518d-1ed1-91e6-0aca4586cfaa</ApplicationLogUUID> <EngineeringDesignVersionCreationDateTime>2009-12-01T08:37:40Z</EngineeringDesignVersionCreationDateTime> <EngineeringDesignVersionLastChangeDateTime>2009-12-01T08:37:40Z</EngineeringDesignVersionLastChangeDateTime> - <SystemAdministrativeData> <CreationDateTime>2012-01-25T08:41:13.601296Z</CreationDateTime> <CreationIdentityUUID>00163e02-25d5-1ee1-87a3-8f1850cf5a5b</CreationIdentityUUID> <LastChangeDateTime>2012-02-06T08:21:49.934779Z</LastChangeDateTime> <LastChangeIdentityUUID>00163e02-25d5-1ee1-81c3-6b9b2cf07f12</LastChangeIdentityUUID> </SystemAdministrativeData> <CreationIdentity /> <LastChangeIdentity /> - <Component> <UUID>00163e02-518d-1ed1-91e6-0aca4585cfaa</UUID> <BaseQuantity unitCode="EA">2.0</BaseQuantity> <BaseQuantityTypeCode>EA</BaseQuantityTypeCode> - <ProductDesignEngineeringDesignIdentification> <EngineeringDesignBusinessSystemID>PS01</EngineeringDesignBusinessSystemID> <EngineeringDesignBusinessSystemName>Producstream</EngineeringDesignBusinessSystemName> <EngineeringDesignID>EDID_Ex01_MW02</EngineeringDesignID> <EngineeringDesignInternalID>EDIntID_Ex01_MW02</EngineeringDesignInternalID> </ProductDesignEngineeringDesignIdentification> - <ProductDesignVersionEngineeringDesignVersionIdentification> <EngineeringDesignVersionID>Vers A</EngineeringDesignVersionID> <EngineeringDesignVersionInternalID>VersA_IntID</EngineeringDesignVersionInternalID> </ProductDesignVersionEngineeringDesignVersionIdentification> </Component> - <Description> <Description languageCode="EN">Uploaded Design</Description> </Description> </Version> <ChangeStateID /> </ProductDesign> <Log /> </nm:ProductDesignByIDResponse_sync>
You can find general information about Web services, their structure and consumption in the Web Services documentation. Please open the Web Services document in a new window.
Sample example of web service request that requests to read Product Design based on Product Design ID:
<n0:ProductDesignByIDQuery_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <ProductDesign> <ID schemeID="Token 3" schemeVersionID="Token 4" schemeAgencyID="Token 5">TEST_A2X_READ</ID> </ProductDesign> </n0:ProductDesignByIDQuery_sync>
Sample example of web service response that reads Product Design based on Product Design ID:
nm:ProductDesignByIDResponse_sync xmlns:nm="http://sap.com/xi/SAPGlobal20/Global" xmlns:prx="urn:sap.com:proxy:ASL:/1SAI/TAE4C6C8FC0DA29D50E1732:804"> <ProductDesign> <UUID>00163e02-8638-1ee1-bbba-21db0a99dc7a</UUID> <MostRecentlyCreatedVersionUUID>00163e02-8638-1ee1-bbba-2412d15f5c7a</MostRecentlyCreatedVersionUUID> <SystemAdministrativeData> <CreationDateTime>2012-08-24T09:50:28.400669Z</CreationDateTime> <CreationIdentityUUID>00000000-0001-1ed1-8ada-aeec348e347c</CreationIdentityUUID> <LastChangeDateTime>2012-08-24T09:50:28.400669Z</LastChangeDateTime> <LastChangeIdentityUUID>00000000-0001-1ed1-8ada-aeec348e347c</LastChangeIdentityUUID> </SystemAdministrativeData> <CreationIdentity /> <LastChangeIdentity /> <Version> <UUID>00163e02-8638-1ee1-bbba-2412d15f5c7a</UUID> <ID>1</ID> <ManuallyCreatedIndicator>true</ManuallyCreatedIndicator> <BaseQuantity unitCode="EA">1.0</BaseQuantity> <BaseQuantityTypeCode>EA</BaseQuantityTypeCode> <SystemAdministrativeData> <CreationDateTime>2012-08-24T09:50:28.400669Z</CreationDateTime> <CreationIdentityUUID>00000000-0001-1ed1-8ada-aeec348e347c</CreationIdentityUUID> <LastChangeDateTime>2012-08-24T09:50:28.400669Z</LastChangeDateTime> <LastChangeIdentityUUID>00000000-0001-1ed1-8ada-aeec348e347c</LastChangeIdentityUUID> </SystemAdministrativeData> <Status> <LifeCycleStatusCode>1</LifeCycleStatusCode> </Status> <CreationIdentity /> <LastChangeIdentity /> </Version> <ChangeStateID /> </ProductDesign> <Log /> </nm:ProductDesignByIDResponse_sync>
Sample example of web service request that requests to read Product Design based on Product Design UUID:
<n0:ProductDesignByIDQuery_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <ProductDesign> <UUID schemeID="Token 2841" schemeAgencyID="Token 2842">00163e02-8638-1ee1-bbba-21db0a99dc7a</UUID> </ProductDesign>
Sample example of web service response that reads Product Design based on Product Design UUID:
nm:ProductDesignByIDResponse_sync xmlns:nm="http://sap.com/xi/SAPGlobal20/Global" xmlns:prx="urn:sap.com:proxy:ASL:/1SAI/TAE4C6C8FC0DA29D50E1732:804"> <ProductDesign> <UUID>00163e02-8638-1ee1-bbba-21db0a99dc7a</UUID> <MostRecentlyCreatedVersionUUID>00163e02-8638-1ee1-bbba-2412d15f5c7a</MostRecentlyCreatedVersionUUID> <SystemAdministrativeData> <CreationDateTime>2012-08-24T09:50:28.400669Z</CreationDateTime> <CreationIdentityUUID>00000000-0001-1ed1-8ada-aeec348e347c</CreationIdentityUUID> <LastChangeDateTime>2012-08-24T09:50:28.400669Z</LastChangeDateTime> <LastChangeIdentityUUID>00000000-0001-1ed1-8ada-aeec348e347c</LastChangeIdentityUUID> </SystemAdministrativeData> <CreationIdentity /> <LastChangeIdentity /> <Version> <UUID>00163e02-8638-1ee1-bbba-2412d15f5c7a</UUID> <ID>1</ID> <ManuallyCreatedIndicator>true</ManuallyCreatedIndicator> <BaseQuantity unitCode="EA">1.0</BaseQuantity> <BaseQuantityTypeCode>EA</BaseQuantityTypeCode> <SystemAdministrativeData> <CreationDateTime>2012-08-24T09:50:28.400669Z</CreationDateTime> <CreationIdentityUUID>00000000-0001-1ed1-8ada-aeec348e347c</CreationIdentityUUID> <LastChangeDateTime>2012-08-24T09:50:28.400669Z</LastChangeDateTime> <LastChangeIdentityUUID>00000000-0001-1ed1-8ada-aeec348e347c</LastChangeIdentityUUID> </SystemAdministrativeData> <Status> <LifeCycleStatusCode>1</LifeCycleStatusCode> </Status> <CreationIdentity /> <LastChangeIdentity /> </Version> <ChangeStateID /> </ProductDesign> <Log /> </nm:ProductDesignByIDResponse_sync>
Description | Read product designs |
Name | Read |
Synchronous | yes |
Release Status | Released |
To read product design master data.
The request message of the operation Read_PD contains the Body node that groups all possible read elements.
The following table shows the list of attributes for the request message types that can be used for executing the read operation:
Parameters | Remarks |
---|---|
UUID | Product Design UUID |
ID | Product Design ID |
The response contains the information about the product design and log items.
The following table shows the list of attributes for the Body node:
Parameters | Remarks |
---|---|
UUID | Product Design UUID |
ID | Product Design ID |
CategoryCode | Product Design Category Code: 1-Mechanics,2-Electronics,3-Software,4-Mechatronics |
CategoryCodeName | Read product design based on Category Code Name |
RespEmployeeUUID | UUID of the responsible employee of the Product Design |
RespEmployeeID | ID of the responsible employee of the Product Design |
EngDsgnIdn | Product Design Response Engineering Design Identification |
MostRecentlyCrVersUUID | Most Recently Created Version UUID |
SystemAdministrativeData | Product Design System Administrative Data |
CreationIdentity | Product Design Response Creation Identity |
Description | Product Design Response Description |
LastChangeIdentity | Product Design Response Last Change Identity |
PBOMVarHo | Product Design Response Production Bill Of Material Variant Handover |
RespEmployee | Product Design Response Responsible Employee |
Version | Product Design Response Version |
AttachmentFolder | Access Attachment Folder |
TextCollection | Access Text Collection |
ChangeStateID | Product Design Change State ID |
The following table shows the list of attributes for the PBOMVarHo node.
Parameters | Remarks |
---|---|
UUID | UUID |
ID | Product Design ID |
CategoryCode | Product Design Category Code |
RespEmployeeUUID | Responsible Employee UUID |
RespEmployeeID | Responsible Employee ID |
EngDsgnIdn | Engineering Design Identification |
MostRecentlyCRVersUUID | Most Recently Created Version UUID |
SystemAdministrativeData | System Administrative Data |
CreationIdentity | Creation Identity |
EngineeringChangeOrder | Engineering Change Order |
LastChangeIdentity | Last Change Identity |
PBOMvar | Production Bill Of Material Variant |
The following table shows the list of attributes for the Version node:
Parameters | Remarks |
---|---|
UUID | Version UUID |
ID | Version ID |
Name | Version Name |
EngDsgnVersIdn | Engineering Design Version Identification |
ManuallyCreatedInd | Manually Created Indicator |
AssemblyInd | Assembly Indicator |
PrdcssrVersUUID | Predecessor Version UUID |
PrdcssrVersEngDsgnVersIdn | Predecessor Version Engineering Design Version Identification |
BaseQuantity | Base Quantity |
BaseQuantityTypeCode | Base Quantity Type Code |
BaseQuantityTypeName | Base Quantity Type Name |
ProposedProcurementMethodCode | Proposed Procurement Method Code |
ProposedProcurementMethodName | Proposed Procurement Method Name |
ValidityStartDate | Validity Start Date |
ActivationDate | Activation Date |
ActivationTime | Activation Time |
EngDsgnVersStatusName | Engineering Design Version Status Name |
EngDsgnVersRelDate | Engineering Design Version Release Date |
EngDsgnChangeOrderID | Engineering Design Change Order ID |
ApplicationLogUUID | Application Log UUID |
SystemAdministrativeData | System Administrative Data |
Status | Status |
The following table shows the list of attributes for the Status node:
Parameters | Remarks |
---|---|
LifeCycleStatus | A coded representation of the Life Cycle Status of a Version of a Product Design |
ObsolescenceStatus | A coded representation of an Obsolescence Status |
BlockingStatus | Can be used in cases where no partial block is possible |
ReviewProcessingStatusCode | A coded representation of a processing status |
Activation ENG_DSGN_VERS_REL_STATUSStatusCode | Can be used in cases where no partial activation is possible |
EngDsgnVersRelStatus | A coded representation of the Status of the Release of an Engineering Design Version |
ConsistencyStatus | A coded representation of the Consistency Status of an object |
The following table shows the list of attributes for the Log node:
Parameters | Remarks |
---|---|
BusDocProcessingResultCode | Processing Result Code |
MaximumLogItemSeverityCode | A coded representation of the maximum severity of a log message in a given log |
Item | Individual log message |
The Product Design can be created or updated by the asynchronous service Product Design Replication Request. In most cases, there will be a corresponding object in the engineering system. In the service definition and in this document the corresponding object of the engineering system is called Engineering Design. In concrete systems, this object would be called differently, for example, Engineering BOM, Assembly, Part, or Item.
The logical communication takes place between the objects Engineering Design and Product Design. In SAP Business ByDesign, materials can be assigned to Product Designs, and Product Designs can be converted into Production Bills of Material Variants. Production Bills of Material Variants are not created directly using the inbound interface, but require additional steps on the SAP Business ByDesign side.
An Engineering Design cannot be assigned to more than one Product Design. In addition, one Product Design can refer to only one Engineering Design.
If an Engineering Design is not assigned to a Product Design, this means that the Engineering Design has not been replicated in SAP Business ByDesign. The second Engineering Design is assigned to a Product Design in SAP Business ByDesign. This assignment cannot be changed later, and the Engineering Design cannot be assigned to another Product Design. The last Product Design has no reference to an Engineering Design, which means that this Product Design has been created manually in SAP Business ByDesign.
Besides the mapping between an Engineering Design and a Product Design, there is also the mapping between an Engineering Design Version and a Product Design Version. In existing engineering systems Engineering Design Version may represent a version, a revision or another entity. Once a Product Design Version has been assigned to an Engineering Design Version via the CAD-integration interface, the assignment cannot be changed any longer.
Each Product Design must have at least one version in order to be displayed in the UI. Similar to the mapping between Engineering Design and Product Design, a version of an Engineering Design can be assigned at maximum to one version of a Product Design and vice versa.
Not all versions of an Engineering Design need to be replicated in SAP Business ByDesign. On the other hand, it is possible to manually create a version for a Product Design that refers to an Engineering Design.
Example of web service request that requests to read Product Design based on Product Design ID:
<n0:ProductDesignByIDQuery_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global"> <ProductDesign> <ID schemeID="Token 3" schemeVersionID="Token 4" schemeAgencyID="Token 5">TEST_A2X_READ</ID> </ProductDesign> </n0:ProductDesignByIDQuery_sync>
Example of web service response that reads Product Design based on Product Design ID:
nm:ProductDesignByIDResponse_sync xmlns:nm="http://sap.com/xi/SAPGlobal20/Global" xmlns:prx="urn:sap.com:proxy:ASL:/1SAI/TAE4C6C8FC0DA29D50E1732:804"> <ProductDesign> <UUID>00163e02-8638-1ee1-bbba-21db0a99dc7a</UUID> <MostRecentlyCreatedVersionUUID>00163e02-8638-1ee1-bbba-2412d15f5c7a</MostRecentlyCreatedVersionUUID> <SystemAdministrativeData> <CreationDateTime>2012-08-24T09:50:28.400669Z</CreationDateTime> <CreationIdentityUUID>00000000-0001-1ed1-8ada-aeec348e347c</CreationIdentityUUID> <LastChangeDateTime>2012-08-24T09:50:28.400669Z</LastChangeDateTime> <LastChangeIdentityUUID>00000000-0001-1ed1-8ada-aeec348e347c</LastChangeIdentityUUID> </SystemAdministrativeData> <CreationIdentity /> <LastChangeIdentity /> <Version> <UUID>00163e02-8638-1ee1-bbba-2412d15f5c7a</UUID> <ID>1</ID> <ManuallyCreatedIndicator>true</ManuallyCreatedIndicator> <BaseQuantity unitCode="EA">1.0</BaseQuantity> <BaseQuantityTypeCode>EA</BaseQuantityTypeCode> <SystemAdministrativeData> <CreationDateTime>2012-08-24T09:50:28.400669Z</CreationDateTime> <CreationIdentityUUID>00000000-0001-1ed1-8ada-aeec348e347c</CreationIdentityUUID> <LastChangeDateTime>2012-08-24T09:50:28.400669Z</LastChangeDateTime> <LastChangeIdentityUUID>00000000-0001-1ed1-8ada-aeec348e347c</LastChangeIdentityUUID> </SystemAdministrativeData> <Status> <LifeCycleStatusCode>1</LifeCycleStatusCode> </Status> <CreationIdentity /> <LastChangeIdentity /> </Version> <ChangeStateID /> </ProductDesign> <Log /> </nm:ProductDesignByIDResponse_sync>