Order Creation Overview
Order Creation in JDE through EASYProcess is comprised of these main areas:
- Item Source - Depending on where the order is created from, the items on the order could come from the shopping cart, a JDE order template, or a JDE Quote (SQ order type).
- K-Rise Web Order Creation - When an order is going to be created, we first create the order in K-Rise tables. Once an order is saved in the K-Rise tables, it is considered a success, because it is recorded somewhere and even if it fails in JDE order creation, it can be resubmitted without any further information needed from the user who placed the order. From this step forward, no other tables other than the information in the K-Rise Web Order should be referenced to create the order. This is because it is a snapshot of the information as it existed when the user on the site clicked to submit the order.
- ERP Order Creation - This is the final step of order creation in JDE. Using only the K-Rise web order records in the K-Rise tables, we send that information to JDE to create the ERP order.
- Orders in Error - If an order fails, it enters an “Orders in Error” error queue available to the admin. The page displays some basic information about the order (who ordered it, what items are on the order, when was the order created). It also displays information about the order failure as returned from JDE. From here, the admin can review the message and choose which action to take: Resubmit, edit order, delete order.
Item Source for Order Creation
In the order creation process, the items on the order must come from a source. This is the process that is responsible for retrieving all necessary information and calling the next step of order creation (Web Order creation). The Item source will also wait for the Web Order creation process to finish processing. Different actions will be taken depending on the Success flag returned by the Web Order creation process.
The most common Item Source for an order is the Shopping Cart. This is the typical process flow of adding items to the cart, proceeding to checkout, and submitting the order. This is done by EASYProcess process PRC-10000275 (Create Cart To Sales Order).
- Cart Discounts
- Items on Order
- Shipping/Freight Cost
- Order Total
- User Information
Database Tables Accessed
- Related to Drop Ship addresses:
- Related to Items in Cart:
- EC_ShoppingCart_Segments (Used in configured items)
- EC_ShoppingCart_KitComponents (Used in kit items)
- Related to Promotions Feature (used with carts):
- Related to User (if guest)
Action Taken When Web Order Creation is Successful
When the call to the Web Order creation process returns a “Success” flag equal to “True”, the shopping cart table records are deleted as part of clean up. Below are all the tables where records are deleted.
After all records related to the previous shopping cart are deleted, a new shopping cart id is requested and a new cart is created.
If the My Lists feature is used and a default list is saved, the items in the default list are then added to the newly created shopping cart. The default list is found with the following query:
SELECT * FROM EC_List WHERE
(( OwnerType = 'User' and OwnerId =[UserId] ) or ( OwnerType = 'Account' and OwnerId = [AddressBookId] )) and DefaultToShoppingCart = 'true'
PRC275 returns three values: Success, Message, and WebOrderNumber. These values come from the call to the Web Order Creation process, so they are also output from that process.
K-Rise Web Order Creation
In the order creation process, the order is first recorded in the K-Rise database. This is done by EASYProcess process PRC-10000132 (CreateWebSalesOrder). This process is the step in order creation is where K-Rise tables can be referenced or written to when recording usage patterns.
How The EASYProcess Process Works
Input: This process should have all information regarding the items, promotions, and user passed into it as input.
Outside Resources Used: If necessary, this process can reference EASYCommerce tables such as the item master, but only if the information needed is not passed in as input. This process will not query the database to gather information about the particular user or their item source (list, jde order template, quote, or cart).
Output: This process outputs a success flag, message, exception (if exists) and the WebOrderNumber (internal K-Rise order id).
Database Tables Accessed
All information about the order is saved into designated order tables.
- Overall Order Info:
- Related to Drop Ship/Bill addresses:
- EC_Order_Addresses (for Drop Ship and Drop Bill)
- Related to Items
- EC_Order_Detail_Segments (Used in configured items)
- EC_Order_Detail_Components (Used in kit items)
- Related to Promotions Feature (used with carts)
This process is the place during order creation where any EASYCommerce system tables are reference, such as usage patterns. The following tables are updated with usage information:
- EC_Item_Usage (item ordering frequency)
- EC_Promotion_Coupon_Usage (promotion feature)
Order Creation Failures
This process is responsible for writing to K-Rise tables, however if they fail, depending on the importance of the table record, it may or may not be considered an order failure. The behavior when it comes to each database table can be altered to add additional error handling, but the the default behavior is shown below.
Failure in Insert Considered Web Order Failure
No - but an email is sent to Admin (Subject: Possible Drop Ship/Bill Failure for Order)
If Web Order creation fails, order creation stops and it will never reach ERP Order Creation. The information needed for the order cannot be saved and in order to resubmit the order, action on the user’s side is necessary. For this reason, the user is informed of the order creation failure. The EASYCommerce site admin is also informed via an email (Subject: Internal Order # has failed).
Call to ERP Order Creation Process
The initiation of the ERP order creation can be done in two ways: Workflow or direct call to the process responsible for ERP order creation. The decision is made by a configuration variable:
Direct Process Call
If the configuration variable is set to “False”, the ERP Order Creation process will be called directly. This will immediately begin the next step of the order creation process flow.
If the configuration variable is set to “True”, a request is made for the EASYProcess Workflow WFLOW-10000102 (EASYCommerce Order Creation Workflow) and the workflow is executed with that request.
Depending on the workflow approvers set up in EASYProcess, the order can be sent to approvers for approval who can either approve or deny the order request. This workflow structure is used so that if approvers are needed, a workflow can handle the approval system customizations.
After the order is approved, it calls the process to create the ERP Order Creation process.