Sales Order Entry
The Sales Order service is designed to create/update/and cancel sales orders with some limitations. The NER’s design has been taken from the R47011 and R47131 so when trying to debug issues its is best to test through these UBE’s first for if they do not support a functionality you are trying to process then it is most likely we don’t support it as well. An example of this is Transfer Orders, they are not supported by the R47011 so we cannot guarantee they will work with our function.
Design
Due to a sales order having a header and multiple detail lines it is not possible to have a single function call to process a transaction like allot of our other provided services. So the sales order service works by using work files to first store all the transactions to be processed, and once all transactions have been written to the work files then the process function can be called to process the transactions.
The intention of the function is to make it simple and easy to use, most of the time this means keeping the data structure small i.e less cluttered with unknown data item's but there is a catch 22 with the way most JDE Master Business Functions work, in that they require you to pass all fields else it will blank out values. So to work around this issue the functions are designed in a way that we have what you could call two detail/complicated function calls (Q35CreateSalesOrderHeader/Q35CreateSalesOrderDetailLine) and then a simplified/easy function call (Q35AddSOLineForNewOrder).
The detail function call has all the fields that are on the R47011 tables. Where as the simplified function call has the bare bones of what we think is required for creating/editing/canceling sales orders. If you fell the simplified function call is missing a field feel free to either log a enchantment request through our Support Portal or create a copy of the Q35SimplifiedCreateSO function and create your own function with an extended data structure.
The Q35 Sales Order Service is broken into two core functions and one helper function this is done to reduce complexity and separate the maintenance of the work tables from the logic of dealing with the F4211 Master Business Function. These core functions are.
Using the Service
To use the sales order service only 2 functions are really required. Below are some example's of how one might use the sales order service.
Scenario 1
Lets say I want to create a new sales order with five lines for five different items, to do this I would make the following function calls.
- First call Q35AddSOLineForNewOrder to create each FQ354202 record for each line to be created.
- Q35AddSOLineForNewOrder - Item 1
- Q35AddSOLineForNewOrder - Item 2
- Q35AddSOLineForNewOrder - Item 3
- Q35AddSOLineForNewOrder - Item 4
- Q35AddSOLineForNewOrder - Item 5
- With all lines created you can now call Q35ProcessSalesOrderTransaction to process those lines. If all is successfully the order number to your newly created sales order will be returned.
Note: Refer to above function definitions for required parameters, processing logic, and expected returns.
Scenario 2
Let us assume I already have an existing sales order by I want to update the pricing on one line, cancel another lines, and change the dates on the final line of an existing sales order.
- First call Q35SimplifiedCreateSOLine to create each FQ354202 record for each line to be updated.
- Q35SimplifiedCreateSOLine - Change Pricing Line
- Q35SimplifiedCreateSOLine - Update Dates Line
- Q35SimplifiedCreateSOLine - Cancel Order Line
- With all lines created you can now call Q35ProcessSalesOrderTransaction to process those lines. If all is successfully the order number to your updated sales order will be returned.
Note: Refer to above function definitions for required parameters, processing logic, and expected returns.
Unsupported Functionality
- Multiple ship-to or mark-for locations for Shipping, Destination, Quantity (SDQ) processing.
- Global Location Numbering (GLN)
- Taxed Prices for Sales Orders
- Sold To/Shipped To Address Overrides for detail line records
- Kit Processing
- Transfer Orders
On This Page