Siebel eSales Administration Guide > Shopping Service API > Workflow Methods >

Reorder


Reorder is the reverse of CreateOrder. It creates a quote from an existing order.

Expected Preconditions Before the Method Can Be Called

Arguments

The Reorder method has the arguments shown in Table 53.

Table 53. Reorder Arguments
Name
Type
Data Type
Optional
Comments
Return Error Code
Input
String
Y
If equal to N, the method will not return errors.
When a method returns an error, the workflow stops. In order not to kill the workflow, you can set this input to N. This way the Shopping Service will not return an error, but instead will save the error message in the output argument Error Message. You can then handle the error message as you wish.
Error Message
Output
String
Y
Stores error messages.
Quote Id
Output
String
Y
ID of the quote that is created.
Order Id
Output
String
Y
Not used.
ReturnVal
Output
String
Y
Returns Success or Fail. Not used.

Pseudo-Algorithm

  1. Get the Order Entry - Orders, Order Entry - Line Items, and Order Item XA business components. Get an instance of the Catalog business object and of the Quote, Quote Item, and Quote Item XA business components from this Catalog business object instance.
  2. The Order Entry - Orders business component is already positioned on the correct record, as the Reorder method is row-sensitive.

  3. Create a record in the Quote business component. Use Quote|Order FieldMap n to copy fields from the Order Entry - Orders business component to Quote.
  4. For each record in the Order Entry - Line Items business component, copy it to the Quote Item business component using Quote Item|Order Item FieldMap n field maps. To maintain hierarchical relationships, copy the parent record before copying its child records. Also copy records from the grandchild business component Order Item XA to Quote Item XA.
  5. NOTE:  As Order Entry - Line Items and Quote Item have hierarchies, you cannot simply loop through the records in Order Entry - Line Items and copy them to Quote Item. You need to maintain the hierarchical relationship. To do this, you need to copy the parent record before you copy its child records.

    In the Shopping Service implementation, records are first loaded from Order Entry - Line Items and a tree in the memory is generated. The tree is then traversed from the root, so the parent record is copied before the child records.

  6. When doing step 3, for each record in the Order Entry - Line Items business component:
  7. If the record is a Siebel eTraining item, confirm the registration record in the eTraining business component.

  8. Set the Error Message output argument if there is any error;
  9. If Return Error Code = N, do not return an error;

    Else return an error.


 Siebel eSales Administration Guide 
 Published: 18 April 2003