292360
DHL C-TMS
Segrgate Reason Codes to Contract
FUNCTIONAL SPECIFICATION - 10.7
17/11/11 - 1.0
Reference: 292360 PM-8LZN7Z
Client Requirement
This should be taken from the Estimate
Solution
OBS will add a Cost Centre (COST_CENTRE) field to the reason codes table (SCH_REASON_CODE) and make it part of the primary key so that records are segregated by the new field.
NB) All existing data within the reason codes table will need the new COST_CENTRE field setting to ‘+’ before the primary key can be changed. This will then be used in future to show that a reason code is applicable to all cost centres.
Modules that need changing in C-TMS to take this database change into account include 10 packages, 2 triggers and 9 forms. As detailed below:
Packages :-
Module | Code Segment | Notes |
DP_CSV3 | Write_Failed_Shipment | Change to add cost centre from order to link to reason table |
Write BGW_Debrief | Change to pass cost centre from order to cursor to retrieve correct reason code description | |
DP_ORS_FUNCS | SCH_Ord_Non_Conform | Change to pass cost centre from order to cursor to retrieve the correct reason code description |
INT_XML | Create_PO_File | Change to pass cost centre from INT_PO_OUTBOUND_FILE to cursor to retrieve the correct reason code description |
INT_XML_MIC | Gen_Order_Det_STK | Change to pass the cost centre from the order to the cursor to retrieve the correct reason code description |
Process_Mic_Trip_XML_In | Change to pass the cost centre from the order to the cursor to retrieve the correct reason code description | |
INT_XML_OUT2 | Gen_Order_Det_STK | Change to pass the cost centre from the order to the cursor to retrieve the correct reason code description |
Process_LOTS_Trip_XML_In | Change to pass the cost centre from the order to the cursor to retrieve the correct reason code description | |
Process_ZET_Trip_XML_In | Change to pass the cost centre from the order to the cursor to retrieve the correct reason code description | |
Module | Code Segment | Notes |
INT_XML_SMA | Gen_Order_Det_STK | Change to pass the cost centre from the order to the cursor to retrieve the correct reason code description |
Process_Sma_Trip_XML_In | Change to pass the cost centre from the order to the cursor to retrieve the correct reason code description | |
INT_XML_TOK | Process_POD_XML_In | Change to pass the cost centre from the order to the cursor to retrieve the correct reason code description |
KPI | Write_KPI_OPS_Detail | Change to add cost centre from order to link to reason table |
Write_KPI_Campus_Detail | Change to add cost centre from order to link to reason table | |
Write_KPI_DNG_Detail | Change to add cost centre from order to link to reason table | |
PROCESS_POD_XML_IN | Change to pass the cost centre from the order to the cursor to retrieve the correct reason code description |
Triggers :-
Module | Notes |
T_SCH_ORD_NON_CONFORM_BI | Change to pass the cost centre from the order to the cursor to retrieve the correct reason code description |
T_SCH_REASON_CODE_BIU | Inserting to default cost centre to ‘+’ when NULL. |
Forms :-
Module | Notes |
BDM | New and Edit canvases on Reason Codes tab to include Cost Centre (LOV including ‘+’ for all). |
INT_ERR | Use cost centre from INT_PO_Outbound_File to get correct reason code. |
ORD_DEBRIEF | Use cost centre from order to get the correct reason codes. |
ORDERS | Use cost centre from order to get the correct reason codes. |
PURCH_ORD | Use cost centre from the control block to get the correct reason codes. |
TRACKING | User’s cost centre to control the correct reason codes. |
TRIPDTL | Use cost centre from order to get the correct reason codes. |
OBS will add a Customer Group (CUST_GROUP) field to the reason codes table (SCH_REASON_CODE) and make it part of the primary key so that records are segregated by the new field.
NB) All existing data within the reason codes table will need the new CUST_GROUP field setting to ‘+’ before the primary key can be changed. This will then be used in future to show that a reason code is applicable to all customer groups.
A system parameter will be created to indicate which level the system is segregating reason codes. Users will be able to set the system parameter to COST_CENTRE, CUST_GROUP, BOTH or null.
Where applicable, the customer group will be derived from the customer on the current order. Code will be required to deal with customers which have not been assigned to a customer group.
Modules that need changing in C-TMS to take this database change into account include 10 packages,
2 triggers and 9 forms. As detailed below:
Packages :-
Module | Code Segment | Notes |
DP_CSV3 | Write_Failed_Shipment | Change to add customer from order to link to reason table |
Write BGW_Debrief | Change to pass customer from order to cursor to retrieve correct reason code description | |
DP_ORS_FUNCS | SCH_Ord_Non_Conform | Change to pass customer from order to cursor to retrieve the correct reason code description |
INT_XML | Create_PO_File | Change to pass customer from INT_PO_OUTBOUND_FILE to cursor to retrieve the correct reason code description |
INT_XML_MIC | Gen_Order_Det_STK | Change to pass the customer from the order to the cursor to retrieve the correct reason code description |
Process_Mic_Trip_XML_In | Change to pass the customer from the order to the cursor to retrieve the correct reason code description | |
INT_XML_OUT2 | Gen_Order_Det_STK | Change to pass the customer from the order to the cursor to retrieve the correct reason code description |
Process_LOTS_Trip_XML_In | Change to pass the customer from the order to the cursor to retrieve the correct reason code description | |
Process_ZET_Trip_XML_In | Change to pass the customer from the order to the cursor to retrieve the correct reason code description |
Module | Code Segment | Notes |
INT_XML_SMA | Gen_Order_Det_STK | Change to pass the customer from the order to the cursor to retrieve the correct reason code description |
Process_Sma_Trip_XML_In | Change to pass the customer from the order to the cursor to retrieve the correct reason code description | |
INT_XML_TOK | Process_POD_XML_In | Change to pass the customer from the order to the cursor to retrieve the correct reason code description |
KPI | Write_KPI_OPS_Detail | Change to add customer from order to link to reason table |
Write_KPI_Campus_Detail | Change to add customer from order to link to reason table | |
Write_KPI_DNG_Detail | Change to add customer from order to link to reason table | |
PROCESS_POD_XML_IN | Change to pass the customer from the order to the cursor to retrieve the correct reason code description |
Triggers :-
Module | Notes |
T_SCH_ORD_NON_CONFORM_BI | Change to pass the customer from the order to the cursor to retrieve the correct reason code description |
T_SCH_REASON_CODE_BIU | Inserting default cust group to ‘+’ when NULL. |
Forms :-
Module | Notes |
BDM | New and Edit canvases on Reason Codes tab to include Cost Centre (LOV including ‘+’ for all). |
INT_ERR | Use customer from INT_PO_Outbound_File to get correct reason code. |
ORD_DEBRIEF | Use customer from order to get the correct reason codes. |
ORDERS | Use customer from order to get the correct reason codes. |
PURCH_ORD | Use customer from the control block to get the correct reason codes. |
TRACKING | Add customer and customer group to the STOP_LIST data block for reference when selecting non-conformance. |
TRIPDTL | Use cost centre from order to get the correct reason codes. |
Scope
This change will be applied to system version 10.7
Set-up
Pre-requisites
Menu Structure
Unchanged
Data
Existing reason codes will be amended setting the new Cost Centre and Cust Group fields to ‘+’
New system parameter to control the level of segregation.
ORD_REASON_CODE_FILTER
Implementation Advice
Functional Description
Two new columns will be added to the reason codes maintenance table (SCH_REASON_CODE).
- COST_CENTRE
- CUST_GROUP
These new columns will be incorporated into the primary key of the table so the records can be segregated based on the fields.
To allow the primary key of the table to be changed the existing records on the table will need to be updated. Both of the new columns will be set to ‘+’ for all the existing records in the table. This value can also be used to identify reason codes that are applicable to all cost centres or cust groups.
Any programs that currently utilise the SCH_REASON_CODE table will need to be altered to accommodate the addition of the two columns. When selecting a reason code in the code the cost centre and / or cust group must be taken into account and the reason codes restricted based on this.
A new system parameter ORD_REASON_CODE_FILTER will be added to control the level at which the reason codes should be segregated. The values for the parameter will be :-
- COST_CENTRE
- CUST_GROUP
- BOTH
- NULL
If ‘BOTH’ is selected for the parameter then both the cost centre and cust group will be used to restrict the reason codes. If NULL is selected then neither will be used when selecting the reason codes.
All changes to forms, packages and triggers will reference the system parameter to determine what restrictions should be used on the reason codes.
The trigger T_SCH_REASON_CODE_BIU will be changed to insert ‘+’ against the cost centre and cust group columns if they have not been populated.
The customer group will be derived from the customer on an order. Customers who do not belong to a customer group will only have access to reason codes that have a ‘+’ for the cust group column, when the system parameter is set to CUST_GROUP or BOTH.
Program Changes - Packages
Module | Code Segment | Notes |
BKG | Reverse_TIs | No changes |
DP_CSV3 | Write_Failed_Shipment | Change to add cost centre and/or cust group from order to cursor c_non_conform to link to reason table |
Write BGW_Debrief | Change to pass cost centre and/or cust group from order to cursor c_get_nonc to retrieve correct reason code description | |
DP_ORS_FUNCS | SCH_Ord_Non_Conform | Change to pass cost centre and/or cust_group from order to cursor c_oms_non_conform to retrieve the correct reason code description |
INT_XML | Create_PO_File | Change to pass cost centre and/or cust group from INT_PO_OUTBOUND_FILE to cursor c_non_conform to retrieve the correct reason code description |
INT_XML_MIC | Gen_Order_Det_STK | Change to pass the cost centre and/or cust group from the order to the cursor c_late_reasons to retrieve the correct reason code description |
Process_Mic_Trip_XML_In | Change to pass the cost centre and/or cust group from the order to the cursors c_reason and c_reas_code to retrieve the correct reason code description | |
INT_XML_OUT2 | Gen_Order_Det_STK | Change to pass the cost centre and/or cust group from the order to the cursor to c_late_reasons retrieve the correct reason code description |
Process_LOTS_Trip_XML_In | Change to pass the cost centre and/or cust group from the order to the cursors c_reason and c_reas_code to retrieve the correct reason code description | |
Process_ZET_Trip_XML_In | Change to pass the cost centre and/or cust group from the order to the cursors c_reason and c_reas_code to retrieve the correct reason code description | |
INT_XML_SMA | Gen_Order_Det_STK | Change to pass the cost centre and/or cust group from the order to the cursor c_late_reasons to retrieve the correct reason code description |
Process_Sma_Trip_XML_In | Change to pass the cost centre and/or cust group from the order to the cursors c_reason and c_reas_code to retrieve the correct reason code description | |
INT_XML_TOK | Process_POD_XML_In | Change to pass the cost centre and/or cust group from the order to the cursor c_non_conform and c_get_detail_created to retrieve the correct reason code description |
KPI | Write_KPI_OPS_Detail | Change to add cost centre and/or cust group from order to cursors c_get_detail_sched, c_get_detail_created and c_get_detail_delivered to link to reason table |
Write_KPI_Campus_Detail | Change to add cost centre and/or cust group from order to cursors c_get_detail_sched, c_get_detail_created and c_get_detail_delivered to link to reason table | |
Write_KPI_DNG_Detail | Change to add the cost centre and/or cust group from order to the cursors c_get_detail_sched, c_get_detail_created and c_get_detail_delivered to link to reason table | |
PROCESS_POD_XML_IN ?? | Change to pass the cost centre and/or cust group from the order to the cursors c_reason and c_reas_code to retrieve the correct reason code description |
Program Changes – Triggers
Module | Notes |
T_SCH_ORD_NON_CONFORM_BI | Change to pass the customer and/or cost centre from the order to the cursors c_get_non_con and c_get_action to retrieve the correct reason code description |
T_SCH_REASON_CODE_BIU | Inserting default cust group to ‘+’ when NULL. |
Program Changes – Forms
BDM
The BDM form will be changed to include the CUST_GROUP and COST_CENTRE fields for the reason codes data.
The Insert reason code canvas will be expanded to allow space for the two new fields.
The edit canvas will also be changed to include the fields.
An LOV will be added for COST_CENTRE and CUST_GROUP. Each LOV will included a ‘+’ value. If no value is entered in the COST_CENTRE or CUST_GROUP field the value should default to ‘+’.
Interface Errors
The Interface Errors screen references SCH_REASON_CODE when displaying the PO Outbound information. The post query trigger on block INT_PO_OUTBOUND_NON_CONFORM will be changed to reference the customer (cust group) and cost centre of the purchase order when looking for the reason code.
Order Debrief
The Order Debrief form will be changed to use the cost centre (not displayed) and the customer (to derive the cust group) from the order to restrict the reason codes available in the two drop down lists.
Collection
Delivery
Orders
The Orders form will be changed to include the cost centre and customer (cust group) for the orders to segregate the reason codes available. The reason codes can be selected in a list for the order non conformance. The population of this list will be moved to the processing behind the non conformance button so the current orders details can be used to segregate the reason codes.
The order items reason codes are validated against an LOV. This LOV will be dynamically set to restrict the reason codes based on the cost centre and customer (cust group) of the order.
The post query trigger on the item non conformance block will also be change to retrieve the correct description based on the order.
Purchase Order
The Purchase order screen will be changed to use the cost center and customer (cust group) from the PO to segregate the reason codes and retrieve the correct description when populating the reason code field.
The LOV’s for the 3 reason code fields will be set dynamically when a PO is edited to populate the lists based on the PO’s cost centre and customer.
Tracking
The Tracking screen will be changed to use the cost centre and customer (cust group) from the order selected to segregate the reason codes.
The List for the reason codes is currently populated when the form is first opened. This will be changed to populate when the Non Conformance button is pressed for a particular order allowing the orders details to be used to segregate the list of reason codes.
Trip Debrief
The Trip Debrief screen will be changed to use the cost centre and customer (cust group) from the selected order to segregate the reason codes available in the Reason Code list and LOV.
The list item against order non conformance is currently populated when the form is first opened. This will be changed to populate the list when an order has been selected and the Non Conformance button is pressed.
The LOV against the order items reason code will be populated dynamically based on the cost centre and cust group of the order selected.
Table Updates Required
Alter table SCH_REASON_CODE ADD COST_CENTRE varchar2(12),
Alter table SCH_REASON_CODE ADD CUST_GROUP varchar2(12).
Modules to be changed
Module Name | Module Type | Notes |
DP_CSV3 | Package | |
DP_ORS_FUNCS | Package | |
INT_XML | Package | |
INT_XML_MIC | Package | |
INT_XML_OUT2 | Package | |
INT_XML_SMA | Package | |
INT_XML_TOK | Package | |
KPI | Package | |
PROCESS_POD_XML_IN | Procedure | |
T_SCH_ORD_NON_CONFORM_BI | Trigger | |
T_SCH_REASON_CODE_BIU | Trigger | |
BDM | Form | |
INT_ERR | Form | |
ORD_DEBRIEF | Form | |
ORDERS | Form | |
PURCH_ORD | Form | |
TRACKING | Form | |
TRIP_DTL | Form |
References
{Detail attachments to RIO here} | |||
Glossary
C-TMS | Calidus TMS |
Document History
Initial version | ||||
Reviewed & Issued | ||||
AUTHORISED BY
Matt Crisford | Development Manager | |
Peter Greer | TMSCC MTS Product Manager |