Redline a Component Item Quantity
You can use the Product Change Orders Version 2 REST API resource to create and redline a structure component for product management objects just as you would in the user interface.
Let's discuss these scenarios in which James, a product data steward for example, prepares the production system for going live and uses REST API to do these:
- Get a change-order-affected item-structure component.
- Update the component quantity by updating the quantity related value to False.
- Add a new reference designator to the component.
- Reset the quantity related value to true.
Get a Change-Order-Affected Item-Structure Component
Let's take an item structure LAPTOPPRO5 assigned to a change order, VSECO099. Using Product Change Order Services V2, you can get the item-structure component, Keyboard1.
Example URL
Use this resource URL format:
GET
curl -u username:password -X GET -H "Content-Type:application/json' -d "https://servername/fscmRestApi/resources/version/productChangeOrdersV2/300100553901680/child/changeOrderAffectedObject/00020000000EACED00057708000110F09AE986870000000EACED00057708000110F09AE98687/child/changeOrderAffectedItemStructure/300100550454720/child/affectedItemStructureComponent/300100553901679"
Example Response
Here's an example of the response body in JSON format:
{ "ComponentQuantity": 1, "ComponentYieldFactor": 1, "ComponentRemarks": null, "OldComponentSequenceId": null, "ComponentSequenceId": 300100553901679, "BillSequenceId": 300100550454720, "ChangeId": null, "ChangeLineId": -1, "PrimaryUomCode": "Ea", "ACDTypeCode": 1, "ComponentItemId": "300100549431847", "OrganizationId": "204", "AlternateBOMDesignator": "Primary", "OrganizationCode": "V1", "ChangeNotice": null, "ComponentItemClass": "Root Item Class", "QuantityRelatedFlag": false, "ItemSequenceNumber": 150, "ComponentItemNumber": "Keyboard1", "PrimaryUOMValue": "Each", "LastUpdateDateTime": "2022-02-16T22:09:20.224+00:00", "CreationDateTime": "2022-02-16T22:09:15.089+00:00", "EffectivityDateTime": "2022-02-16T22:09:15+00:00", "ImplementationDateTime": "2022-02-16T22:09:15+00:00", "DisableDateTime": null, "Replaces": null, "ReplacedBy": null, "links": [ { "rel": "self", "href": "https://servername/fscmRestApi/resources/version/productChangeOrdersV2/300100553901680/child/changeOrderAffectedObject/00020000000EACED00057708000110F09AE986870000000EACED00057708000110F09AE98687/child/changeOrderAffectedItemStructure/300100550454720/child/affectedItemStructureComponent/300100553901679", "name": "affectedItemStructureComponent", "kind": "item", "properties": { "changeIndicator": "ACED0005737200136A6176612E7574696C2E41727261794C6973747881D21D99C7619D03000149000473697A65787000000001770400000001737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000178" } }, { "rel": "canonical", "href": "https://servername/fscmRestApi/resources/version/productChangeOrdersV2/300100553901680/child/changeOrderAffectedObject/00020000000EACED00057708000110F09AE986870000000EACED00057708000110F09AE98687/child/changeOrderAffectedItemStructure/300100550454720/child/affectedItemStructureComponent/300100553901679", "name": "affectedItemStructureComponent", "kind": "item" }, { "rel": "parent", "href": "https://servername/fscmRestApi/resources/version/productChangeOrdersV2/300100553901680/child/changeOrderAffectedObject/00020000000EACED00057708000110F09AE986870000000EACED00057708000110F09AE98687/child/changeOrderAffectedItemStructure/300100550454720", "name": "changeOrderAffectedItemStructure", "kind": "item" }, { "rel": "child", "href": "https://servername/fscmRestApi/resources/version/productChangeOrdersV2/300100553901680/child/changeOrderAffectedObject/00020000000EACED00057708000110F09AE986870000000EACED00057708000110F09AE98687/child/changeOrderAffectedItemStructure/300100550454720/child/affectedItemStructureComponent/300100553901679/child/affectedItemReferenceDesignator", "name": "affectedItemReferenceDesignator", "kind": "collection" }, { "rel": "child", "href": "https://servername/fscmRestApi/resources/version/productChangeOrdersV2/300100553901680/child/changeOrderAffectedObject/00020000000EACED00057708000110F09AE986870000000EACED00057708000110F09AE98687/child/changeOrderAffectedItemStructure/300100550454720/child/affectedItemStructureComponent/300100553901679/child/affectedItemSubstituteComponent", "name": "affectedItemSubstituteComponent", "kind": "collection" } ] }
Update the Component Quantity by Updating the Quantity Related Value to False
James wants to update the component quantity. For this, he must make sure that the quantity related value is set to false. So, James will update the quantity along with the quantity related value to False using a PATCH operation.
Example URL
Use this resource URL format:
curl -u username:password -X GET -H "Content-Type:application/json' -d "https://servername/fscmRestApi/resources/version/productChangeOrdersV2/300100553901680/child/changeOrderAffectedObject/00020000000EACED00057708000110F09AE986870000000EACED00057708000110F09AE98687/child/changeOrderAffectedItemStructure/300100550454720/child/affectedItemStructureComponent/300100553901679"
Example Request
Here's an example of the request body in JSON format:
{ "QuantityRelatedFlag":false, "ComponentQuantity":2 }
Example Response
Here's an example of the response body in JSON format.
{ "ComponentQuantity": 1, "ComponentYieldFactor": 1, "ComponentRemarks": null, "OldComponentSequenceId": null, "ComponentSequenceId": 300100553901679, "BillSequenceId": 300100550454720, "ChangeId": null, "ChangeLineId": -1, "PrimaryUomCode": "Ea", "ACDTypeCode": 1, "ComponentItemId": "300100549431847", "OrganizationId": "204", "AlternateBOMDesignator": "Primary", "OrganizationCode": "V1", "ChangeNotice": null, "ComponentItemClass": "Root Item Class", "QuantityRelatedFlag": false, "ItemSequenceNumber": 150, "ComponentItemNumber": "Keyboard1", "PrimaryUOMValue": "Each", "LastUpdateDateTime": "2022-02-16T22:09:20.224+00:00", "CreationDateTime": "2022-02-16T22:09:15.089+00:00", "EffectivityDateTime": "2022-02-16T22:09:15+00:00", "ImplementationDateTime": "2022-02-16T22:09:15+00:00", "DisableDateTime": null, "Replaces": null, "ReplacedBy": null, "links": [ { "rel": "self", "href": "https://servername/fscmRestApi/resources/version/productChangeOrdersV2/300100553901680/child/changeOrderAffectedObject/00020000000EACED00057708000110F09AE986870000000EACED00057708000110F09AE98687/child/changeOrderAffectedItemStructure/300100550454720/child/affectedItemStructureComponent/300100553901679", "name": "affectedItemStructureComponent", "kind": "item", "properties": { "changeIndicator": "ACED0005737200136A6176612E7574696C2E41727261794C6973747881D21D99C7619D03000149000473697A65787000000001770400000001737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000178" } }, { "rel": "canonical", "href": "https://servername/fscmRestApi/resources/version/productChangeOrdersV2/300100553901680/child/changeOrderAffectedObject/00020000000EACED00057708000110F09AE986870000000EACED00057708000110F09AE98687/child/changeOrderAffectedItemStructure/300100550454720/child/affectedItemStructureComponent/300100553901679", "name": "affectedItemStructureComponent", "kind": "item" }, { "rel": "parent", "href": "https://servername/fscmRestApi/resources/version/productChangeOrdersV2/300100553901680/child/changeOrderAffectedObject/00020000000EACED00057708000110F09AE986870000000EACED00057708000110F09AE98687/child/changeOrderAffectedItemStructure/300100550454720", "name": "changeOrderAffectedItemStructure", "kind": "item" }, { "rel": "child", "href": "https://servername/fscmRestApi/resources/version/productChangeOrdersV2/300100553901680/child/changeOrderAffectedObject/00020000000EACED00057708000110F09AE986870000000EACED00057708000110F09AE98687/child/changeOrderAffectedItemStructure/300100550454720/child/affectedItemStructureComponent/300100553901679/child/affectedItemReferenceDesignator", "name": "affectedItemReferenceDesignator", "kind": "collection" }, { "rel": "child", "href": "https://servername/fscmRestApi/resources/version/productChangeOrdersV2/300100553901680/child/changeOrderAffectedObject/00020000000EACED00057708000110F09AE986870000000EACED00057708000110F09AE98687/child/changeOrderAffectedItemStructure/300100550454720/child/affectedItemStructureComponent/300100553901679/child/affectedItemSubstituteComponent", "name": "affectedItemSubstituteComponent", "kind": "collection" } ] }
Add a New Reference Designator to the Component
Now that the quantity is updated, James can first use the GET action to query for Keyboard1 component, then get the Reference Designator self-link. Now he can pass the reference designator by using the POST operation
Example URL
Use this resource URL format.
POST
curl -u username:password -X POST -H "Content-Type:application/json' -d "https://servername/fscmRestApi/resources/version/productChangeOrdersV2/300100553901680/child/changeOrderAffectedObject/00020000000EACED00057708000110F09AE986870000000EACED00057708000110F09AE98687/child/changeOrderAffectedItemStructure/300100550454720/child/affectedItemStructureComponent/300100553902853/child/affectedItemReferenceDesignator"
Example Request
Here's an example of the request body in JSON format.
{ "ReferenceDesignator": "A2" }
Example Response
Here's an example of the response body in JSON format:
{ "ChangeNotice": null, "ChangeLineId": 300100553901703, "ACDType": 1, "ReferenceDesignator": "A2", "CreationDateTime": "2022-02-16T23:24:47.119+00:00", "LastUpdateDateTime": "2022-02-16T23:24:48.085+00:00", "Description": null, "ReferenceDesignatorSequenceId": 300100553904326, "ACDTypeValue": "Added", "links": [ { "rel": "self", "href": "https://servername/fscmRestApi/resources/version/productChangeOrdersV2/300100553901680/child/changeOrderAffectedObject/00020000000EACED00057708000110F09AE986870000000EACED00057708000110F09AE98687/child/changeOrderAffectedItemStructure/300100550454720/child/affectedItemStructureComponent/300100553902853/child/affectedItemReferenceDesignator/300100553904326", "name": "affectedItemReferenceDesignator", "kind": "item", "properties": { "changeIndicator": "ACED0005737200136A6176612E7574696C2E41727261794C6973747881D21D99C7619D03000149000473697A65787000000001770400000001737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000178" } }, { "rel": "canonical", "href": "https://servername/fscmRestApi/resources/version/productChangeOrdersV2/300100553901680/child/changeOrderAffectedObject/00020000000EACED00057708000110F09AE986870000000EACED00057708000110F09AE98687/child/changeOrderAffectedItemStructure/300100550454720/child/affectedItemStructureComponent/300100553902853/child/affectedItemReferenceDesignator/300100553904326", "name": "affectedItemReferenceDesignator", "kind": "item" }, { "rel": "parent", "href": "https://servername/fscmRestApi/resources/version/productChangeOrdersV2/300100553901680/child/changeOrderAffectedObject/00020000000EACED00057708000110F09AE986870000000EACED00057708000110F09AE98687/child/changeOrderAffectedItemStructure/300100550454720/child/affectedItemStructureComponent/300100553902853", "name": "affectedItemStructureComponent", "kind": "item" }, { "rel": "child", "href": "https://servername/fscmRestApi/resources/version/productChangeOrdersV2/300100553901680/child/changeOrderAffectedObject/00020000000EACED00057708000110F09AE986870000000EACED00057708000110F09AE98687/child/changeOrderAffectedItemStructure/300100550454720/child/affectedItemStructureComponent/300100553902853/child/affectedItemReferenceDesignator/300100553904326/child/affectedItemReferenceDesignatorDFF", "name": "affectedItemReferenceDesignatorDFF", "kind": "collection" } ] }
Reset the Quantity Related Value to True
Now that updating the reference designator is updated for Keyboard1, James can first use the GET action to query for the affected item structure component Keyboard1, then update the quantity related value to true with the action changed to PATCH.
Example URL
Use this resource URL format.
PATCH
curl -u username:password -X PATCH -H "Content-Type:application/json' -d "https://servername/fscmRestApi/resources/version/productChangeOrdersV2/300100553901680/child/changeOrderAffectedObject/00020000000EACED00057708000110F09AE986870000000EACED00057708000110F09AE98687/child/changeOrderAffectedItemStructure/300100550454720/child/affectedItemStructureComponent/300100553902853"
Example Request
Here's an example of the request body in JSON format.
{ "QuantityRelatedFlag":true }
Example Response
{ "ComponentQuantity": 2, "ComponentYieldFactor": 1, "ComponentRemarks": null, "OldComponentSequenceId": 300100553901679, "ComponentSequenceId": 300100553902853, "BillSequenceId": 300100550454720, "ChangeId": 300100553901680, "ChangeLineId": 300100553901703, "PrimaryUomCode": "Ea", "ACDTypeCode": 2, "ComponentItemId": "300100549431847", "OrganizationId": "204", "AlternateBOMDesignator": "Primary", "OrganizationCode": "V1", "ChangeNotice": "VSECO099", "ComponentItemClass": "Root Item Class", "QuantityRelatedFlag": true, "ItemSequenceNumber": 150, "ComponentItemNumber": "Keyboard1", "PrimaryUOMValue": "Each", "LastUpdateDateTime": "2022-02-16T23:35:03.209+00:00", "CreationDateTime": "2022-02-16T22:30:22.192+00:00", "EffectivityDateTime": "2022-02-16T23:35:02+00:00", "ImplementationDateTime": null, "DisableDateTime": null, "Replaces": null, "ReplacedBy": null, "links": [ { "rel": "self", "href": "https://servername/fscmRestApi/resources/version/productChangeOrdersV2/300100553901680/child/changeOrderAffectedObject/00020000000EACED00057708000110F09AE986870000000EACED00057708000110F09AE98687/child/changeOrderAffectedItemStructure/300100550454720/child/affectedItemStructureComponent/300100553902853", "name": "affectedItemStructureComponent", "kind": "item", "properties": { "changeIndicator": "ACED0005737200136A6176612E7574696C2E41727261794C6973747881D21D99C7619D03000149000473697A65787000000001770400000001737200116A6176612E6C616E672E496E746567657212E2A0A4F781873802000149000576616C7565787200106A6176612E6C616E672E4E756D62657286AC951D0B94E08B02000078700000000678" } }, { "rel": "canonical", "href": "https://servername/fscmRestApi/resources/version/productChangeOrdersV2/300100553901680/child/changeOrderAffectedObject/00020000000EACED00057708000110F09AE986870000000EACED00057708000110F09AE98687/child/changeOrderAffectedItemStructure/300100550454720/child/affectedItemStructureComponent/300100553902853", "name": "affectedItemStructureComponent", "kind": "item" }, { "rel": "parent", "href": "https://servername/fscmRestApi/resources/version/productChangeOrdersV2/300100553901680/child/changeOrderAffectedObject/00020000000EACED00057708000110F09AE986870000000EACED00057708000110F09AE98687/child/changeOrderAffectedItemStructure/300100550454720", "name": "changeOrderAffectedItemStructure", "kind": "item" }, { "rel": "child", "href": "https://servername/fscmRestApi/resources/version/productChangeOrdersV2/300100553901680/child/changeOrderAffectedObject/00020000000EACED00057708000110F09AE986870000000EACED00057708000110F09AE98687/child/changeOrderAffectedItemStructure/300100550454720/child/affectedItemStructureComponent/300100553902853/child/affectedItemReferenceDesignator", "name": "affectedItemReferenceDesignator", "kind": "collection" }, { "rel": "child", "href": "https://servername/fscmRestApi/resources/version/productChangeOrdersV2/300100553901680/child/changeOrderAffectedObject/00020000000EACED00057708000110F09AE986870000000EACED00057708000110F09AE98687/child/changeOrderAffectedItemStructure/300100550454720/child/affectedItemStructureComponent/300100553902853/child/affectedItemSubstituteComponent", "name": "affectedItemSubstituteComponent", "kind": "collection" } ] }