251628
251628 PA-7FZBNZ Amend Order Tracking Screen
Copyright OBS Logistics © 2007
The information contained herein is the property of OBS Logistics and is supplied without liability for errors or omissions. No part may be reproduced or used except as authorised by contract or other written permission. The copyright and foregoing restriction on reproduction and use extend to all media in which the information may be embodied
FUNCTIONAL OVERVIEW
Client Requirement
Amend ORDER TRACKING screen TRACKING V2.55 - add to search facility.
Add to Search drop Down Box - [CUSTOMER] & [OMS REF] and associated searches
Added by NW - 27/06/08: The OMS Ref can be added to the existing search drop down. The Customer search should be added as a filter rather than a search and added to the form above the current Carrier filter. This is because the Customer is static data whereas the references are not taken from a list.
Solution
After investigation into the different searches available in the search drop down list, there is no need to add OMS REF to the existing search drop down, as this functionality is currently there in the form of the ‘Order Ref’ search item. Inputting an OMS REF into the editable text box and selecting Order Ref in the search drop down allows the user to search by OMS REF. Suggest changing the text of ‘Order Ref’ to ‘OMS Ref’ in the Search Drop Down List of the TRACKING screen to avoid any confusion.
Below shows what each item in the Search List corresponds to in relation to an Order or a Trip: Order Ref OMS Ref (of an Order) Trip Reference Bill of Lading (of a Trip) Customer Ref External Ref (of an Order) Carrier Ref Carrier Ref (of a Trip) Bill of Lading (Order) Bill of Lading (of an Order) Container No (Order) Container No (of an Order) Container No (Trip) Container No (of a Trip) Booking Ref Booking Ref (of an Order)
We will also include a search by ‘Order ID’ (e.g. EX__S934037) in this drop down so that the available search options are in line with the search options available in the Trip Debrief (TRIPDTL) screen.
Add filter to TRACKING screen just above current Carrier filter to allow users to filter by Customer. The drop down list will display a list of Customers in a lookup table. The list of Customers in the lookup table will also be filtered according to the current users CUSTOMER and CUST_GROUP parameters set up in the Access Control screen. Refreshing the screen after a Customer is selected in this filter, will only show trips in the lower part of the screen for the customer referenced in the filter.
Scope
This change will be applied to system version 10.6 on CONTST and once approved CONPRD. The nature of this change does not impact on the current functionality of the screen and therefore makes it applicable to all MTS environments.
FUNCTIONAL DESCRIPTION
New Functionality
The screenshot below shows the current Search drop down list in the TRACKINGS screen and those search items currently available:
IMAGE
The new drop down list will display the item ‘OMS Ref’ instead of ‘Order Ref, it is OMS Ref that is searched on when the Order Ref is selected. Changing the text to ‘OMS Ref’ will avoid any confusion.
The new Search list will also include a search by ‘Order Id’ - this will bring the list of search options into line with the search options currently available on the TRIPDTL screen. An example Order Id is EX__S934037.
Below is a screenshot sample of what the Search List will display (including these two changes):
IMAGE
Below is a screenshot displaying the top section of the current TRACKING screen that holds the search and filter information:
IMAGE
After the addition of the ‘Customer Filter’, above the current Carrier Filter, the TRACKING screen will display as follows:
IMAGE
The fields ‘From Date’ and ‘To Date’ will require moving slightly to the right to allow space for the new Customer filter on the screen.
Procedure for Customer Filter
Create a new Item on Data Block TRACKING_CTRL called CUSTOMER_ID with an associated Customer Lookup. The CUSTOMER_ID will reference an LOV. The LOV will set up the list of Customers available in the Lookup table, depending on the parameters CUST and CUST_GROUP, set up in Access Control for the current user using the TRACKING screen.
Below is a preliminary example of the procedure that will need to be constructed within the POP_LISTS Program Unit to set up the Customer List:
PROCEDURE Customer_List IS
----------------------------------------------------------------------------- -- Populate the Customer List with all available customers ----------------------------------------------------------------------------- v_retnum NUMBER; v_customer_string ADM_USER_PARAM_TYPE.sql_string%TYPE; v_cust_group_string ADM_USER_PARAM_TYPE.sql_string%TYPE; v_default VARCHAR2(2000); v_sql_string VARCHAR2(2000); v_no_of_params NUMBER; v_total NUMBER; v_query VARCHAR2( 1000 );
BEGIN
----------------------------------------------------------------------------- MESSAGE( 'Populating Customer List...', NO_ACKNOWLEDGE ); Set_Application_Property( CURSOR_STYLE, 'BUSY' );
v_List_Grp := Find_Group( 'CUSTOMER1' ); IF NOT Id_Null( v_List_Grp ) THEN Delete_Group( v_List_Grp ); END IF; v_customer_string := ADM.Get_Multiple_User_Param( 'CUSTOMER', v_default, v_sql_string, v_no_of_params); v_cust_group_string := ADM.Get_Multiple_User_Param( 'CUST_GROUP', v_default, v_sql_string, v_no_of_params); IF v_cust_group_string = 'ALL' THEN IF v_customer_string = 'ALL' THEN v_List_Grp := Create_Group_From_Query( 'CUSTOMER1', 'SELECT DISTINCT customer_id, customer_name
FROM org_customer
ORDER BY 2' ); ELSE v_List_Grp := Create_Group_From_Query( 'CUSTOMER1', 'SELECT DISTINCT customer_id, customer_name FROM ORG_Customer WHERE customer_id ' || v_customer_string || ' ORDER BY 2' ); END IF; ELSE IF v_customer_string = 'ALL' THEN v_List_Grp := Create_Group_From_Query( 'CUSTOMER1', 'SELECT DISTINCT customer_id, customer_name FROM ORG_Customer WHERE cust_group ' || v_cust_group_string || ' ORDER BY 2' ); ELSE v_List_Grp := Create_Group_From_Query( 'CUSTOMER1', 'SELECT DISTINCT customer_id, customer_name FROM ORG_Customer WHERE customer_id ' || v_customer_string || ' AND cust_group ' || v_cust_group_string || ' ORDER BY 2' ); END IF; END IF; ----------------------------------------------------------------------------- v_retcode := Populate_Group( v_List_Grp ); Set_LOV_Property( 'CUSTOMERS', GROUP_NAME, 'CUSTOMER1' ); ----------------------------------------------------------------------------- v_total := Get_Group_Row_Count(v_List_Grp); CLEAR_MESSAGE; Set_Application_Property( CURSOR_STYLE, 'DEFAULT' );
EXCEPTION
WHEN OTHERS THEN Set_Application_Property( CURSOR_STYLE, 'DEFAULT' ); ADM.WRITE_MSG( 'ORD_DETAIL', 'ERROR', 'WOE populating customer list. '||SQLERRM ); MESSAGE( 'WOE populating customer list. '||SQLERRM, no_acknowledge );
END Customer_List;
Also, include in Procedure F_REFRESH_STOP_LIST the selected customer from the Filter, when the ‘Refresh’ button is clicked:
IF :TRACKING_CTRL.CUSTOMER_ID IS NOT NULL THEN
v_where_clause := v_where_clause || ' AND Customer_id = || :TRACKING_CTRL.CUSTOMER_ID || ';
END IF;
Update for Search By ‘Order ID’
Requires an update of elements in List Items SEARCH_BY on the TRACKING_CTRL Data Block. ‘Order ID’ will need to be included and reference ORDER_ID on table SCH_ORD. Here the text of ‘Order Ref’ will also be changed to ‘OMS Ref’. Below is a screenshot of the Elements in List Property Palette after the update:
IMAGE
APPENDIX A TABLE UPDATES REQUIRED
No table changes are required for this development.
APPENDIX B QUOTE & DOCUMENT HISTORY
IMAGE
References
IMAGE
Glossary
IMAGE
Document History
IMAGE
Authorised By
Dave Meir | Development Manager |
Suk Sandhu | TMSCC MTS Product Manager |