Pages

Wednesday, February 29, 2012

Modifying the Session Timeout


The default session timeout for the OTM Web Server is 30 minutes. If you leave OTM idle for 30 minutes, your session will timeout and you will need to log in again. 


For some Oracle Transportation Management installations, you may want to increase this timeout. Please note that increasing the session timeout will increase the load on your Web server and may decrease the number of simultaneous users that can access the system. Oracle doesnt recommend this setting more than 60 minutes. 


To change this setting, edit the web.xml files on your OTM Web Server(s) at
<otm_install_path>/tomcat/conf/web.xml 
<otm_install_path>/glog/gc3webapp/WEB-INF/web.xml


Below line should be edit in each file:
<session-timeout>30</session-timeout>


Change the setting to desired number of minutes. 


Restart the OTM application for these changes to take effect. 

OTM - VPD Context & VPD Profile

VPD stands for Virtual private database. These are used to restrict the user access to a particular section of the actual database. Many VPD contexts and profiles can be created based on the business requirement. 

Lets look at a scenario. 

ABC Corporation purchases items from suppliers all over the world. They use OTM to plan their shipments, etc., Since their suppliers are all over the world, based on the priority of the item, they choose the transport mode as Air, Sea, Truck, Rail. 

ABC Corporation has 4 teams D1, D2, D3, D4 who take care of orders in Mode Air, Sea, Truck & Rail respectively. Now the requirement is to create/setup VPDs in such a way that employees of D1 should be able to view orders which use 'Air' as transport mode. Similarly for D2, D3 & D4. 

If we observe the scenario, the access of a user is purely based on the transport mode. And actual value of transport mode will differ from user to user. 

Using the above scenario, lets Create VPD Context:
  1. Navigate to Configuration and Administration -> Power Data -> General -> VPD Contexts
  2. Click on 'New'
  3. Enter a VPD Context ID , say 'V_D1'
  4. Variable Name and Value are free text fields. So we can choose and name them the way want. Enter 'PO_MODE' & 'AIR' , click on save button. [We can many Variables based on the requirement. In this scenario, 'PO_MODE' is enough]
  5. Click on Finished to Save the VPD Context 'V_D1'
Repeat the same steps to create VPD's like below
VPD Context ID
Variable Name
Variable Value
V_D1
PO_MODE
AIR
V_D2
PO_MODE
SEA
V_D3
PO_MODE
TRUCK
V_D4
PO_MODE
RAIL


A VPD profile is a set of Virtual Private Database (VPD) rules. Virtual private databases provide fine-tuned access control to users, across or within domains.



VPD works by adding a WHERE clause to every table in a SQL statement. VPD does not provide functional security; rather, it controls user access to data.


We are going to define the additional condition for a table and pick the condition values from VPD Contexts. In this scenario, for OB_ORDER_BASE Table , we are going to add a condition to check if transport mode is equal to the value of variable 'PO_MODE' of that particular user. 

Below image shows how the control flow is. User queries for PO's, VPD Profile takes the relevant values from user's VPD Context and add it to the OTM queries as a conditions and brings out the appropriate data. 



VPD Profile can also be compared as a code which defines how to retrieve the data. (In our scenario, its 'based on mode'). When user takes action, VPD context passes the value 'Air' etc., to VPD profile and it queries the database and gets data. 

Creating VPD Profile
  1. Navigate to Configuration and Administration -> VPD Management -> VPD Profile
  2. Click on the 'New' Button
  3. Enter a VPD Profile ID , say VPD_ABC_CORP
  4. Select the check box 'Use External Predicate Rule'
  5. Select a Table Name for which to apply a predicate. [OB_ORDER_BASE]
  6. Enter the predicate exists(OB_ORDER_BASE.TRANSPORT_MODE_GID = SYS_CONTEXT('gl_user_ctx','PO_MODE')
  7. Select the predicate access 'Read'
  8. Save & Finish 
SYS_CONTEXT('gl_user_ctx',VPD Variable) is used to retrieve the VPD Value from VPD Context. 

With out these VPDs , let assume the query is 
Select * from OB_ORDER_BASE;
Since we have added this predicate with a VPD, the query will become 
(when User from Dept1 (air) queries)
select * from OB_ORDER_BASE
Where Exists (OB_ORDER_BASE.TRANSPORT_MODE_GID='AIR');

Later we can create User Roles linking VPD's

User Role
VPD Profile
VPD Context
V_D1
VPD_ABC_CORP 
V_D1
V_D2
VPD_ABC_CORP
V_D2
V_D3
VPD_ABC_CORP
V_D3
V_D4
VPD_ABC_CORP
V_D4


Database Tables
VPD Contexts are stored in VPD_CONTEXT table.
VPD Context variables and their values are stored in VPD_CONTEXT_VARIABLE
VPD Profile details are stored in VPD_PROFILE table

User Management

User Management is an important part in OTM Setup. 


Below are the list of setup's required as part of User Management. 
1. VPD Contexts
2. VPD Profile
3. User Role
4. User Preferences
5. User Menu
6. Creating Users
7. Assigning Preferences & Menus to users. 


VPD stands for Virtual private database. These are used to restrict the user access to a particular section of the actual database. Many VPD contexts and profiles can be created based on the business requirement. 
For Eg: A Logistics Manager should be able to view all orders where as a merchandiser should be able to see only orders with Destination Country 'USA'. 


User role can be created by linking the VPD Context and Profile to it. 


User Preferences can be created an linked to a individual user or a user role. Preferences usually contain the options like Business Monitor, Date format, language, etc.,


User Menu's can be created by the admin and assign to a user based on the requirement. 


We'll look into each module separately in subsequent posts. 

Tuesday, February 28, 2012

OTM - Login Remember

OTM does provide an option to enable 'Remember password' option with which users can save user id and password on the OTM login page. 


To Enable this feature, modify the file glog.webserver.properties in webserver. 
File is available at folder <OTM_installation_path>/glog/config/


Change the below to property to disable
glog.webserver.login.remember=false
and to enable
glog.webserver.login.remember=true


Application need  to be restarted/bounced for these changes to take effect. 


When the feature is enabled, you will see a 'Remember Me' check box. Once you select it and login , user id/password will be auto filled every time login page is accessed. 




After you logout, if you select 'Login as a different user' , OTM will take you to login page and the saved password details will be erased. 

OTM Business Monitor



The Business Monitor is designed to monitor business objects like Purchase orders, shipments etc., 
You can launch it by clicking on 'b' icon after logging into OTM. 


Creating a Business Monitor:
----------------------------
Assuming that saved queries and screensets are already created, lets see how to create a BM.

  1. Navigate to Configuration and Administration -> Preferences -> Manager Business Monitors
  2. Click on 'New' Button
  3. Enter the follow details 
    • Business Monitor ID* : Unique ID to identify a BM
    • Refresh Interval (in Minutes)*: Enter the frequency of BM Refresh
    • Domain Name: Choose it from drop down button
  4. Enter the Sequence, Query Id (OrderBase/OrderRelease/etc), Saved Query Id, Screen Set ID (Data will be opened in this screen set). Click on save button
  5. Repeat step 4 to enter all Saved queries & relevant screensets. 
  6. Click on Finish to save the BM setup data. 
Assigning BM to a user:
------------------------
After BM is created, it can be linked to a user preference, than that preference can be assigned to a user or a role. 
  1. Navigate to Configuration and Administration -> Preferences -> User Preference
  2. Search for the User Preference you want to attach the BM
  3. Click on the Edit
  4. Select 'Business Monitor' from the Name and choose the BM id under the 'Value' drop down list. 
  5. Click on Finished.

Database table names:
---------------------
Table : BUSINESS_MONITOR
Stores the Business Monitors defined by users
(BUSINESS_MONITOR_GID is the primary key)


Table : BUSINESS_MONITOR_D
Stores the Saved Query, Screenset details of a particular Business Monitor ID
(Columns: BUSINESS_MONITOR_GID, SEQUENCE form the composite Primary key for this table) 


Disable/Enable Business Monitor Auto Refresh:
---------------------------------------------
We have an option to Enable or Disable the business Monitor. 


When creating a Business Monitor, we can specify the refresh interval. If your BM has too many saved queries which results in lot of data, Auto Refresh could be a disadvantage for the application. For every refresh interval, it has to run all the saved queries, get their counts and display it. This will be a lot of load on the database. 
Disabling Business Monitor Auto Refresh is a very common activity done to improve the database performance. 


To Disable/Enable Auto Refresh of Business Monitor, you need to edit glog.properties file in your app/webservers. File is available at <OTM_path>/glog/config/glog.properties
Eg: /appl/otm/v55/glog/config/glog.properties


To disable, change the below setting to
glog.webserver.businessMonitor.autoRefresh=false
To Enable
glog.webserver.businessMonitor.autoRefresh=true


You will have to restart/bounce your application for these changes to take effect. 



Oracle Transportation Management


Oracle Transportation Management delivers robust transportation planning and execution capabilities to shippers and third party logistics providers. It integrates and streamlines transportation planning, execution, freight payment, and business process automation on a single application across all modes of transportation, from full truckload to complex multileg air, ocean, and rail shipments.


Oracle Transportation Management lowers transportation costs, improves customer service and asset utilization, and provides flexible, global fulfillment options.


Regardless of the size or volume of your business, Oracle Transportation Management delivers the capabilities you need in an open, standards-based architecture that allows you to start with a single component or a mix of components. It also provides the flexibility to grow easily, without installing or reinstalling added functionality.


Oracle Transportation Management can be used with an enterprise resource planning or legacy order management system, as well as any commercial best-of-breed or legacy warehouse management system.


Oracle Transportation Management integrates with Oracle E-Business suite, Oracle Order Management, JD Edwards Enterprise One, Siebel CRM and Oracle Warehouse Management.


Source