Skip to main content

The environment is on V15SP1HF9.  

If  a customer is placed on Hold on a particular date, all its subsequent orders created past this date, will also be placed on Hold/Suspended - This is standard functionality.

Is there a way (without a customisation), to retrospectively place all its open orders which were created prior to the customer going on Hold, also being placed in a Hold/Suspended status?

Could one perhaps set up a Process Flow to achieve  this?

Hi Ugo,

 

You could create an import template that calls the SUSPENDORDER macro.  This macro takes one string attribute for the comment text.  Alternatively, you can use the CHANGESTATUS macro which takes three attributes: Comment (String), Activity (String), and Status (Integer).

For example, the following API command will change the status to “Suspended - On Hold for Credit” for Service Order # SV2105010001@@1.

<root xmlns:dt="urn:schemas-microsoft-com:datatypes">
  <session email="" alias="">
    <state bc_name="Service_Order">
      <action name="execmacro">
        <attribute bo_name="main" macro_name="RETRIEVE" />
        <attribute dtype="string" in_var="" value="SV2105010001@@1" />
      </action>
      <action name="execmacro">
        <attribute bo_name="main" macro_name="CHANGESTATUS" />
        <attribute dtype="string" in_var="" value="Suspend Order via API" />
        <attribute dtype="string" in_var="" value="Changing_Status" />
        <attribute dtype="integer" in_var="" value="455" />
      </action>
      <action name="execmacro">
        <attribute bo_name="main" macro_name="SAVE" />
      </action>
    </state>
  </session>
</root>

 

Thanks,

Andrew


Hi Andrew,

 

Perhaps it’s worth exploring in more depth. Ideally, we’d need something (thinking out loud here) where the order number does not need to be qualified. In simplistic terms, change the status of the associated orders where the status <> ‘Invoiced’ to ‘Suspended’ , if the order creation date <=   to the date when the credit status was changed/updated in Customer Centre.  It might need to be a Process F:low with some built in SQL logic. I  will look into this further.

 

Regards,

Ugo


Reply