Siebel eSales Administration Guide > Shopping Service API > Workflow Methods >
DiscardCart
DiscardCart discards the Current Quote and clears the CurrentQuoteId profile attribute. If the current quote type is Persistent Cart or Anonymous Quote, it will also delete the record from the Quote business component. Expected Preconditions Before the Method Can Be Called
- This method is invoked in the following workflows:
- The field value of Quote Type for the current quote record can be Persistent Cart, Auction Quote, Quotation, or Anonymous Quote. When the quote type is Persistent Cart or Anonymous Quote, the quote record is deleted.
Arguments
The DiscardCart method has the arguments shown in Table 46.
Table 46. DiscardCart Arguments
|
|
|
|
|
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. |
ReturnVal |
Output |
String |
Y |
Returns Success or Fail. Not used. |
Pseudo-Algorithm
- Get the Quote business component.
- Get the Id of the current record in the Quote business component:
If Id <> CurrentQuoteId profile attribute, go to step 3;
Else go to step 4.
- DiscardCart is being invoked from the eSales - Edit Quote Process,
eSales - Order Quote Process, eSales - Modify Order Process, or eSales - Reorder Process workflow. The current record in the Quote business component is the quote being acted upon, and it is not the current quote in the Shopping Cart.
Get another instance of the Catalog business object and the Quote business component, and position the second instance of the Quote business component on the quote record as indicated by the CurrentQuoteId profile attribute. As the first instance of the Quote business component is not being acted upon, from now on Quote means the second instance of the Quote business component.
- Set the CurrentQuoteId profile attribute = EMPTY_CART.
- Check the field value of [Quote Type]:
If it is Persistent Cart or Anonymous Quote, then delete the record.
|