IBM Support

Running changeOrder API to change the Kit Quantity of component leads to the error YFS: Key Fields cannot be modified in Sterling Order Management 9.3

Troubleshooting


Problem

Attempts to run changeOrder API to change the Kit Quantity of components results in the error YFS: Key Fields cannot be modified in IBM Sterling Order Management 9.3.

Symptom

Steps to reproduce:

  1. Created a order for a bundled item 'Parent'
    input.xml:
    ------------------
    <Order BillToID="test_101"  DocumentType="0001" DraftOrderFlag="Y" EnteredBy="113174" EnterpriseCode="" EntryType="COM" OrderType="" SellerOrganizationCode="" OrderNo="Test_1303" >
    <OrderLines>
               <OrderLine  PrimeLineNo="1" SubLineNo="1"
     OrderedQty="1" KitCode="BUNDLE">      
               
    <Item ItemID="Parent" ProductClass="GOOD" UnitOfMeasure="EACH" />          <PersonInfoShipTo AddressID="" AddressLine1="" AddressLine2="" AddressLine3="" AddressLine4="" AddressLine5="" AddressLine6="" AlternateEmailID="" Beeper="" City="qwqq" Company="" Country="US" DayFaxNo="" DayPhone="" Department="" EMailID="" EveningFaxNo="" EveningPhone="" FirstName="" IsCommercialAddress="" JobTitle="" LastName="" MiddleName="" MobilePhone="" OtherPhone="" PersonID="" State="" Suffix="" TaxGeoCode="" Title="" ZipCode=""/>
           </OrderLine>
                  <OrderLine  PrimeLineNo="2" SubLineNo="1"
     KitQty="1">      
             
     <Item ItemID="C1" ProductClass="GOOD" UnitOfMeasure="EACH" />
               <BundleParentLine PrimeLineNo="1" SubLineNo="1"/>          
               <PersonInfoBillTo AddressID="" AddressLine1="" AddressLine2="" AddressLine3="" AddressLine4="" AddressLine5="" AddressLine6="" AlternateEmailID="" Beeper="" City="qwqq" Company="" Country="US" DayFaxNo="" DayPhone="" Department="" EMailID="" EveningFaxNo="" EveningPhone="" FirstName="" IsCommercialAddress="" JobTitle="" LastName="" MiddleName="" MobilePhone="" OtherPhone="" PersonID="" State="" Suffix="" TaxGeoCode="" Title="" ZipCode=""/>
           </OrderLine>      
         </OrderLines>
       <Priceinfo Currency="USD"/>
    </Order>

    ------------------

  2. Run changeOrder to change the Kit Quantity of component C1
    input.xml:
    ------------------
    "20140609085414101784" Override="Y">
    <OrderLines>
                      <OrderLine  PrimeLineNo="2" SubLineNo="1"
     KitQty="2">       
               <Item
    ItemID="C1" ProductClass="GOOD" UnitOfMeasure="EACH" />      
           </OrderLine>                              
       </OrderLines>  
    </Order>

    ------------------

    Output:.xml
    ------------------
    <Errors>
    -
    <Error ErrorCode="YFS10415" ErrorDescription="YFS: Key Fields cannot be modified." ErrorRelatedMoreInfo="" ErrorUniqueExceptionId="127.0.1.114023185920060000000000194">
     <Attribute Name="ErrorCode" Value="YFS10415" />
     <Attribute Name="ErrorDescription" Value="YFS: Key Fields cannot be modified." />
     <Attribute Name="Name" Value="KitQty" />
     <Attribute Name="PrimeLineNo" Value="2" />
     <Attribute Name="SubLineNo" Value="1" />
     <Attribute Name="ModificationLevel" Value="ORDER_LINE" />
     <Attribute Name="ErrorUniqueExceptionId" Value="127.0.1.114023185920060000000000194" />

    ------------------

Cause

This is working as designed.

Resolving The Problem

KitQty is not a modifiable field. OrderedQty should be modifiable. If you want to update the KitQty, then you will have to remove and add with a new KitQty.

[{"Product":{"code":"SS6PEW","label":"Sterling Order Management"},"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Component":"Documentation","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"9.3","Edition":"","Line of Business":{"code":"LOB59","label":"Sustainability Software"}}]

Document Information

Modified date:
11 February 2020

UID

swg21677637