In BA 5.5, in order to improve product quality the structure of the order flow was optimized to have single order type CH (Change Order) instead of separate UG (Upgrade) and DG (Downgrade) orders. This change is disabled by default, however we strongly recommend to enable it.
To switch to Change Orders several steps are required:
- Analyze your current Order Flow in terms of the differences against the Default Order Flow for DG and UG orders.
- Reproduce all order flow customizations you have for UG and DG orders for the new CH order type.
- Make sure there are no notification templates with conditions based on order type.
- Switch all operations that create former UG and DG orders to start generating CH orders instead.
1. Analyzing UG/DG order flow customizations.
In order to find differences in the order flow for UG and DG order you need, for each order flow used by the Provider or any of Resellers:
- Go to BA Provider CP, open System>Settings>Operations>Order Processing>All Order Flows.
- If there is no non-default order flows (ID = 1) in the system, no further actions required, you can proceed to step 3 (Switching order-generating operations to the new CH orders). Otherwise do the following.
- Pick the Default Order Flow (ID = 1).
- Choose DG order type and switch to the Order Flow Transitions tab.
- Export all table columns to Excel.
- Switch to the Order Statuses tab.
- Export all table columns to Excel.
- Return 1 level up, choose UG order type and export all Order Statuses and Order Flow Transitions like you did for DG orders.
- Repeat steps 4-8 for any non-default order flow used by resellers.
- Compare exported DG and UG order type transitions of each non-default order flow with those of the default one to understand the difference. You can use any preferred compare tool. Pay attention both to the list of objects and their attributes, e.g. notification templates.
2. Applying UG/DG order flow customizations to CH orders.
Use your findings from step 2 to reproduce the same customizations for CH order type for each non-default order flow. This is the most difficult task as you may need to thoroughly review all the changes you have for UG and DG orders and figure out the way to merge them within a single order type. Once you understand what changes need to be done for the CH order type of each non-default order flow, you can proceed with changing the transitions.
To change the transitions of an Order Flow for CH order type:
- Go to PBA Provider CP, open System>Settings>Operations>Order Processing>All Order Flows.
- Pick a non-default Order Flow.
- Choose CH order type, switch to the Order Statuses tab and apply necessary changes to the transitions.
- Switch to the Order Flow Transitions tab and apply necessary changes to the transitions.
- Synchronize all resellers that use the order flow:
- Switch to the Resellers tab on the Order Flow screen
- Choose a reseller.
- Click Synchronize Reseller.
- Check the "Update Order Flow" box.
- Click Synchronize.
- Repeat these steps for all resellers of the given order flow.
- Repeat steps 2-5 for each non-default order flow.
3. Check notifications conditions
Make sure you do not have any conditions related to order type in the notification templates. If there are any - they are to be modified (
DG), you will not able to send different notifications depending on order types, since there will be only one.
4. Switching order-generating operations to CH orders.
This step requires changes to the meta-data stored in the PBA database so it is strongly recommended to backup BA database before proceeding. From this step onward, the system will begin generating new orders as CH orders in all cases where it used to generate DG or UG orders. Make sure to apply all necessary changes and synchronizing all resellers as described in step 2 before proceeding. To switch order-generating operations to produce CH orders for all resellers on the BA installation do the following:
- Connect to the BA database.
Execute the following statement:
update "OrderOperation" set "OrderTypeID" = 'CH' where "OrderTypeID" in ('UG', 'DG');