251628

From CTMS
Revision as of 11:37, 5 February 2009 by Kingj (talk | contribs)

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



IMAGE


References

IMAGE


Glossary

IMAGE



Document History

IMAGE


Authorised By

Dave Meir Development Manager
Suk Sandhu TMSCC MTS Product Manager