SalesOrder - methods
AcknowledgeLineOrder
Driver Type: SASI
Use this method to acknowledge one or more sales order lines. If no line numbers are specified in the payload, the entire order including all lines is acknowledged.
Allocate
Driver Type: SASI
Use this method to allocate a part quantity on a sales order line.
The quantity to be allocated is set in MiscellaneousInput2.
- Before you run the Allocate method, verify that there is sufficient stock to allocate. SSC does not report an error if there is insufficient stock, because SunSystems displays the insufficient stock message in the status bar, which is not detected by SSC.
- For the Allocate method, it is recommended to use a separate sales order element for each sales order line in the input payload. That is, replicate the SalesOrderTransactionReference element for every individual line in an order, rather than adding all of the order lines within the one sales order element. This is because if an error occurs on one line, subsequent lines are not processed in that sales order element.
CreateOrAmend
Driver Type : SASI
This method creates a sales order if it does not exist already and amends it if it does.
- Manual allocation is not supported by SSC. If the payload contains an Item that has an allocation type of Manual Allocation at Order Entry, no manual allocation takes place but the order is created.
- If amending a sales order, SalesOrderTransactionReference must be provided. If SalesOrderTransactionReference is specified in the payload, but there is no existing order with this reference, then a new order is created. However, the new order may have a different transaction reference, depending on the Sales Transaction Type used, i.e. if the associated transaction reference format does not contain any items for a user to specify, then the sales order reference will be system generated, and the existing payload values not used.
CreateOrAmendAndGenerateInvoice
Driver Type : SASI
Use this method to create or amend a sales order and then to generate a sales invoice. If the sales order does not exist already it is created and the sales invoice is generated, otherwise it is amended and the sales invoice is generated.
DeleteLineOrder
Driver Type : SASI
Use this method to delete one or more sales order lines. If no line numbers are specified in the payload, the entire order including all lines is deleted.
SalesOrderTransactionReference is mandatory. If the Line section is included in the payload, it must contain LineNumber or SalesOrderLineNumber. If both are provided, LineNumber is used.
DeleteLines
Driver Type : SASI
Use this method to delete specific lines from a sales order.
SalesOrderTransactionReference is mandatory, plus either LineNumber or SalesOrderLineNumber. If both are provided, LineNumber is used.
DeleteWholeOrder
Driver Type : SASI
Use this method to delete one sales order and all lines.
SalesOrderTransactionReference is mandatory.
GenerateInvoice
Driver Type : SASI
Use this method to generate a sales invoice from an existing sales order.
SalesOrderTransactionReference is mandatory.
HoldLineOrder
Driver Type : SASI
Use this method to hold one or more sales order lines. If no line numbers are specified in the payload, the entire order including all lines is held.
Query
Driver Type : Export
Use this method to obtain sales order details or to extract sales order data from SunSystems.
ReleaseLineOrder
Driver Type : SASI
Use this method to release one or more sales order lines. If no line numbers are specified in the payload, the entire order including all lines is released.
SalesOrderTransactionReference is mandatory. If the Line section is included in the payload, it must contain LineNumber or SalesOrderLineNumber. If both are provided, LineNumber is used.
ReprocessWholeOrder
Driver Type : SASI
Use this method to reprocess the whole order specified in the input payload.
SalesOrderTransactionReference is mandatory.
Notes on AcknowledgeLineOrder, Allocate, HoldLineOrder, ReleaseLineOrder, DeleteLineOrder and DeleteLines
From version 6.1.0, when the two xml tags 'USER_LINE_NUM' (represents Line Number) and 'SOL_NUM' (represents Sales Order Line Number) are run by methods AcknowledgeLineOrder, DeleteLineOrder and DeleteLines, the following logic is applied:
1) AcknowledgeLineOrder, HoldLineOrder, ReleaseLineOrder and DeleteLineOrder methods
SalesOrderTransactionReference is mandatory, and if not provided, an error is reported.
If the Line section is not included in the payload, the entire order is acknowledged, held, released or deleted.
If the Line section is included, it must contain LineNumber or SalesOrderLineNumber. If both are provided, LineNumber is used. If neither are provided, an error is reported. Individual lines are processed according to the line numbers specified in the payload.
2) Allocate and DeleteLines methods
SalesOrderTransactionReference is mandatory, and if not provided, an error occurs.
The payload must contain either LineNumber or SalesOrderLineNumber, or an error is reported. If both are provided, LineNumber is used.
Note on AbortOnZeroSubstitutionMessage
When creating or amending a sales order, if the payload element AbortOnZeroSubstitutionMessage is supplied with Y, and if the following zero substitution message is displayed:
"Value using formula SELLING_PRICE could not be calculated, as part of the information required by the formula is not available. A value of zero has been substituted",
the create or amend processing is aborted. If this element is set to anything other than Y, for example N, or no value, the create or amend processing continues. In this case, the zero substitution message is truncated in the Transfer Desk output, but is captured in full in the transfer log.
The element is defined in the payload as follows:
<?xml version="1.0" encoding="UTF-8"?> <SSC> <Payload> <SalesOrder> <FlagOptions> <AbortOnZeroSubstitutionMessage>Y</AbortOnZeroSubstitutionMessage> </FlagOptions> </SalesOrder> </Payload> </SSC>