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:

  1. Get a change-order-affected item-structure component.
  2. Update the component quantity by updating the quantity related value to False.
  3. Add a new reference designator to the component.
  4. 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:

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 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

Here's an example of the response body in JSON format:
{
    "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"
        }
    ]
}