MWA SetupThis article will explain to you
a. Where the Mobile Web Apps config files are located
b. MWA Startup and Shutdown Scripts and how those are used
c. Directory Structure for MWA in both 11i and R12
d. How to develop and test your pages
e. Where the log files are created, and tips to debug MWA Applications
· mwa.cfg: This file has information about the DBC file location, Log Dir Location, Telnet Port no Location, Error Logging Level etc.
This info will be used by Mobile Applications on runtime.
· default_key.ini: This file is used to map the keys of the mobile device to some specific functionality.
Use the default file if you don’t want to customize anything.
· deviceIP.ini: This file maps the configuration files and host name with the mobile device
MWA server start-up and shutdown:
· mwactl.sh: This file is used to start/stop the MWA listener on specific port.
Basically, if you develop and deploy a Mobile page into the instance, you have to bounce the MWA server by
stopping and starting the Listener at your port to see your changes.
Directory Structure in R11
Directory structure in R12
(eg)In R12, INST_TOP may look like:
MWA GUI Client Setup
In order to simulate the Mobile Device on your PC, you have to do the following setup:
Create 2 directories say C:\MWA\lib and C:\MWA\log
Extract the files from the patch 4205328 into C:\MWA\lib
Download jdk1.1.8 from java.sun.com and place it in C:
Create a batch file say Start_MWA.bat with the following contents
%JAVA_TOP%\bin\java -classpath %JAVA_TOP%\lib\classes.zip;%MWA_GUI_TOP%\lib\j4205328.zip oracle.apps.mwa.awt.client.StartGUI
Whenever you run this batch file, you must be able to see the GUI client for MWA
MWA Error Logging and Debugging:
When you develop and test mobile applications, you may need to write some logging information which will be useful in debugging.
There are different levels of Logging that can be set for obtaining more debug information.
The different Log level from highest to lowest is as follows:
This logging information can be set using the “mwa.LogLevel” variable in mwa.cfg file.
How to write logging information?
While we code, we can call the APIs to log the information. The methods used for logging can be found in the following Java helper class.
For example, we can use the following code snippets and based on the log level set, we can find this information from the log files.
UtilFns.trace("#########Trace Level Logs#########");
UtilFns.log("#########Log level logs#########");
UtilFns.error("#####Error Level logs#########");
There are lot of other utility APIs available in this helper class (UtilFns.java) which can be used for various other aspects.
Example code snippet for error logging:public void fieldEntered(MWAEvent mwaevent)
UtilFns.trace("Inside Field Entered");
ses = mwaevent.getSession();
String s = UtilFns.fieldEnterSource(ses);
// Prints the Current Bean's ID
In the above snippet, we print a message “Inside Field Entered” when the user enters any field in the Mobile Application
Also, we print the name of the field using the line
Please note that, the above log messages can be found only when the log level is set to “trace” in mwa.cfg file.
Where to look for log information?
The log files are located under $INST_TOP/logs (in R12).
Mainly we will be using the following log files to see our log files.
All the log files start with Telnet_port_no as a prefix.
Example log files for port no 10240:
[appldev@w-oraap01 logs]$ pwd
[appldev@w-oraap01 logs]$ ls -al 10240*
-rw-r--r-- 1 appldev dba 255626 Feb 8 13:28 10240.INV.log
-rw-r--r-- 1 appldev dba 83 Feb 8 13:26 10240.sta
-rw-r--r-- 1 appldev dba 154063 Feb 8 13:50 10240.system.log
-rw-r--r-- 1 appldev dba 3296 Feb 4 11:11 10240.WMS.log
All the log information written using the “UtilFns” will be located under .INV.log
All the system level log like page names, parameter passed to PLSQL APIs, LOVs etc can be found under .system.log
Easiest way to look at log files:
Since the volume of information written in the log file is huge, it is tough to go through the entire file.
A simpler way which I used to find the log information is to run the command
tail -f 10240.INV.log
By doing so, you can see the updated log information as and when you click on the fields on mobile application.
HAPPY LEARNING !!!