MSCA/MWA Framework in Oracle Apps EBS
Mobile Web Application development in Oracle eBusiness Suite is very niche skill. You can count the number of consultants with this expertise on your fingertips.
One of those experts is a freelance consultant Senthil Shamungham. Senthil has done extensive development on this technology, both on 11i and 12i environments. Currently Senthil is working on a R12 project in Germany.
Please find first article in this series, whereby Senthil explains the basic fundamentals of Mobile Web Applications in Oracle eBusiness Suite.
Oracle Mobile Supply Chain applications(MSCA) enable users to perform many common warehouse and shop floor transactions through hand-held radio frequency devices, personal digital assistants and truck-mounted radio frequency scanners. Oracle Mobile Supply Chain is part of the Oracle E-Business Suite, an integrated set of business applications that delivers complete process automation and complete information.
Mobile Supply Chain Applications (MSCA) enables automated mobile user operations. This is performed using hand held radio frequency (RF) devices, PDA’s, and lift truck mounted RF scanners. Oracle has leveraged standard Internet technologies such as Java, XML, TCP/IP and Telnet to create a device independent technology platform to support these types of applications. In general, these mobile devices will be connected to the network using the radio frequency (RF) standard of 802.11b and will communicate using TCP/IP. The figure below explains the communication flow using Mobile Devices.
Functional Areas Covered by Mobile Applications
-
Manufacturing: Moves, Issues, Returns, Scrap, Completions etc
-
Receiving: Direct, Standard, Inspect, Cross-Dock, Print etc
-
Inventory: Transactions, Transfers, Counts, Labelling etc
-
Shipping: Pick confirm, Ship Confirm etc
Advantages of Using Mobile Devices
-
Improve operational productivity and reduce costs through process automation
-
Ensure accurate, up to date inventory information by using barcode scanning for data entry.
-
Increase customer satisfaction by improving inventory accuracy, shipment confirmation and quality tracking
-
Real Time Validations
Technical Overview of MSCA/MWA Framework
Oracle has built MSCA/MWA framework in order to develop Mobile Applications. A mobile application, as defined by MSCA, is built using the following Java Beans:
-
1) A MenuItemBean is needed to attach the mobile application to the Oracle Desktop ERP. It contains no page layout information on its own, but is a necessary conduit to connect the Desktop ERP to mobile transactions. At the leaf node of the FND menu structure lays an FND Form Function that points to the MenuItemBean. The MenuItemBean in itself points to the first page in the application, which is represented by a Page Bean.
-
2) A PageBean represents the unit of display (i.e. a single screen on a mobile client). To define a new page, the developer must extend the PageBean, and make a new page bean class. Within this new class, the developer must use the new PageBean's constructor to instantiate FieldBeans (graphical components), and add them to the page.
-
3) The FieldBean is a super class for all data collection/display graphical components that the developer can use in their pages. When the mobile server loads a new page, it calls the user defined PageBean's constructor, which in turn creates all of the graphical components on that page. Examples of FieldBeans are TextFieldBean, ButtonFieldBean, LOVFieldBean, MultiListFieldBean, ListFieldBean, HeadingFieldBean, SeparatorFieldBean.
MSCA/MWA Framework is based on existing Java Event-Listener Model.
An application's runtime logic is specified through the mobile applications event model, a set of interfaces that provide an infrastructure for handling events in an organized and modularized fashion. A listener can be added to any field, page, or application of your mobile transaction. The following is a list of listeners available:
-
• FieldEntered – this is called when a particular field is entered. For example, prior to entering a particular field, there may be a need to reinitialize some variables.
-
• FieldExited – this is called when a particular field is exited. The most common of the listeners, this is used for validation of user input.
-
• PageEntered – called when the page is entered, this can be used to initialize values on the page.
-
• PageExited – called when the page is exited, this can perform page level validation logic.
-
• AppEntered – called when the entire transaction is entered, this can be used to initialize transaction level variables.
-
• AppExited – called when the entire application is exit, an example use can be to close resources.
-
• SpecialKeyPressed – this is called when the user presses any special character, such as a Control character. Pressing CTRL-G to generate LPNs or Lots is one example of when this gets called.
Comments
It would be gr8 if you could attach a nugget of code for any flow. That will be of gr8 help.
Senthil will do that, but he will do it in setp by step approach.
I think he is trying to cover the fundamentals first, before jumping onto the code.
Thanks
A nil
I was worked on some MSCA customizations in 11i. Now I am working on 12i MSCA extensions.
I succesfully extend the RcptTrxPage. When I select the Item Lov in extended RcptTrxPage It is showing no results is found. I got a problem with extended page only. Vanilla version worked fine. Please share your thoughts on this.
Thanks
V eera
Did u get any meaningful information from the log files?
Can you please check the parameters passed and the output of PL/SQL procedure when the LOV is clicked?
I hope you know that the log files are .INV.log and .system.log
Th anks,
Senthil
There is no Info in .system.log and INV.log. I verified in both Vanilla and Custom files, Bothe are same. Do you have any Idea, Why Item LOV is working in Vanilla why not in Extended page. I just add two more Texfield Beans in Page. Do I need to Implement any Listener code, to resolve this. If you want look at the Code I will send you my files.
Advance Thanks for your Help.
Thanks
V eera
I faced a similiar problem in some other page which I have extended and figured out that the '%' substitution for the where clause of the LOV query was missing in the extended page. Can you check whether all the variables of your extended page binds correctly?
Tha nks and Regards,
Senthi l
Senthil' s article is very nice.I had worked on MWA customizations for around 2 years at GE C&I.I really thank you for bringing MSCA/MWA consultants together.
Please feel free to email me, it is good to keep in touch in this small world.
Cheers
Anil Passi
I tried many ways to get resolve the issue. can you give me some direction how do I find all the bind variables are extended correctly.
Tha nks
Veera
All the bind variables will be logged in the port_no.system. log file. Compare the log for the LOV click event for standard page and the extended page. You can easily find the variables bound for each of them.
use the command tail -f port_no.system. log and monitor it when you click the LOV.
Hope this helps.
Thanks,
Senthil
I found that there is one parameter is passing null instead of '%' to Item LOV. That is causing the issue for No results are found. Please find the sutem log for both vanilla and extended class.
I tried to manually passing the parameter like
String as3[] = { " ", "ORGID", "%", " and mtl_transaction s_enabled_flag = 'Y' and bom_item_type=4 " };
super.mItemLOV .setInputParame ters(as3);
for Item LOV. Still getting the same issue. Can you please share your experince how you over come this issue. I am getting this error in Subinventory Transfers, Mislaneal recept, accout alias receipt page. Right now I am working on SubXferPage and RcvTrxPage, and IssueTrxPage.
Extended Page :
loadPage: done loading 'oracle.apps.mw a.beans.LOVRunt imePageBean' (pageIx = 5, fieldIx = 0)
handleEvent: entering new page (pageIx = 5)
callListeners: executing 1 listeners, action = 0
callListeners: PageBean
Entering pageEntered of LOVRuntimePageH andler
lov stmt :INV_UI_ITEM_LO VS.GET_ITEM_LOV
inputParams[0] :
inputParamsType [0] :C
value of inputParams[0] :null
inputParams[1] :ORGID
inputParamsType [1] :N
value of inputParams[1] :367
inputParams[2] :xx.oracle.apps .inv.invtxn.ser ver.XxSubXferPa ge.INV.ITEM
inputParamsType [2] :S
value of inputParams[2] :null
inputParams[3] : and mtl_transaction s_enabled_flag = 'Y' and bom_item_type=4
inputParamsType [3] :AS
No result is found
Vanilla Page
loadPage: done loading 'oracle.apps.mw a.beans.LOVRunt imePageBean' (pageIx = 5, fieldIx = 0)
(SGARAPATI) handleEvent: entering new page (pageIx = 5)
(SGARAPATI) callListeners: executing 1 listeners, action = 0
(SGARAPATI) callListeners: PageBean
Entering pageEntered of LOVRuntimePageH andler
lov stmt :INV_UI_ITEM_LO VS.GET_ITEM_LOV
inputParams[0] :
inputParamsType [0] :C
value of inputParams[0] :null
inputParams[1] :ORGID
inputParamsType [1] :N
value of inputParams[1] :367
inputParams[2] :oracle.apps.in v.invtxn.server .SubXferPage.IN V.ITEM
inputParamsType [2] :S
value of inputParams[2] :%
inputParams[3] : and mtl_transaction s_enabled_flag = 'Y' and bom_item_type=4
inputParamsType [3] :AS
addFieldBean: type = 13
Thanks & Regards
Veera
We are trying to put a new page in the INBOUND Menu,Please let us know the way forward.If possible,Please publish u'r number so that we can reach!
It would be nice if the e-mail addressses or contact numbers are published so that we can clarify the issues in MSCA Very effectively!
R gds
You can reach me at sss2000rediffmail.com. However, i would suggest you to post the questions over here so that we get a wider audience.
Rega rding the new page development, you can refer to my article "hello world" application in MSCA and the deployment for new page, you can refer to my article name "MWA Setup, Testing, Error Logging and Debugging ".
Please feel free to email me for any issues.
Thanks and Regards,
Senthi l
Thank you so much for your reply. Could you please let me know the level of expertise in java one would need to work on this.
Regards,
Nisha
Basic Knowledge of Java Application development is sufficient. If you have knowledege on ActionListener and EventHandlers it will be an added advantage.
Tha nks and Regards,
Senthi l
Can you please let me know, how does data get populated in a custom screen in MSCA when a scan is done using a hand held
device
Regards,
Nish a
There are driver files in the Mobile Applications which decodes the information and populates the value into the Mobile screen.
Thanks and Regards,
Senthi l
Would the driver files be able to take the data from the scanner and default into the custom screen as it does it in standard one in MSCA.
Thanks,
Nisha
Thanks and Regards,
Senthi l
Thank you Senthil ! Your support has boosted our confidence.
Re gards
Nisha
Please privide patch 4205328 for MWA Testing, Error Logging and Debugging
You can also directly connect to MWA server throught telnet to perform Testing, Error Logging and Debugging.
Tha nks,
Ritesh
I am not getting how to use scanned barcode in oracle application to track the inventory item.What is the setup to be done to map barcode
with item in the inventory.
Can you please eloborate your requirement?
I t would be great if you open a thread in our forum http://apps2fusion.com/forums/viewforum.php?f=145
Thanks and Regards,
Senthi l
How to link scanned barcode obtained from any barcode scanner with oracle.What setup has to be done in application to map the the value obtained from barcode scanner and oracle.If the barcode value represent any item in the inventory....so how to save the barcode value in the database relating it to the item code.and when next time salesperson going to scan the barcode this value should get populate in the field where the cursor pointer is in the form.
Or can u just provide me with some idea about the barcode implementation in Oracle application.How we can implement the use of barcode in oracle application.
I hope metalink note 297992.1 would be a better start for you. You have to identify the type of barcode used by your client and do some setup based on that.
Please feel free to post your issues.
Thanks and Regards,
Senthi l
please solve my problem. i am new to this OA framework. i am java resource. my requrement is i taking one value in a text filed when i press enter it validate gives one
flag and one value. if the flag is yes i have to add one new text filed for input from user. my problem is how to add a text field. if flag is flase then no need to add any new text filed.please explain how to add new filed.i have seen ur previous articals also. i am using 4 classes MotShipLPNPage. java,MotShipLPN FListener.java, MotShippingLPNL OV.java,MotShip LPNFunction.jav a in which file i have to chnage. after that where i have to compile my files. please help me . thanks in advance.
Thank s,
Suresh
You have to use MotShipLPNPage. java,MotShipLPN FListener.java, MotShipLPNFunct ion.java for your requirement.
D o an extension to the above files and add new fields in this extended files. For more details refer my article:
http://www.apps2fusion.com/at/ss/293-extend-a-standard-oracle-mscamwa-page
Please feel free to post any issues.
Thanks and Regards,
Senthi l
thank s for your response. i did same thing what your are given in that artical.but its not forwording next page. its directly showing the logout. not displying dock door filed and LPN files and some buttons. how to debug which pages are calling and where i have see the error message. i did't see any error messages on the black screen. actuallu in this application its not oracle forms its a black console where we are addinging this fields. when we are scan the part number then that value needs tob appear in that field which is we are adding.
the fileds display like this in black screen. this all values comes here when scan the corton.
Dock Door>
LPN >
my text files add here when LPN no enter it need to display Part no>
please do needful help. thanks in advance.
Thank s and Regards,
Sures hKumar
C an you please upload your source file, log files (system.log and inv.log) in our forum.
The Link is :http://apps2fu sion.com/forums /viewforum.php? f=145
You can get more info on error logging/debuggi ng from my article:
http://www.apps2fusion.com/at/ss/225-mwa-setup-testing-error-logging-and-debugging
Hope this helps.
Thanks and Regards,
Senthi l
I have a class that is an extension of the standard IssueTrxPage class which extends the functionality of the Project Issue in MSCA . I want to create a class that is an extension of the standard Project Return. What is that classes name?
Thank you.
Pressing Ctrl+X will give the Class name for the current page.
Hope this helps.
Thanks and Regards,
Senthi l
I just wanted to know in brief what are the pros & cons of using GUI vs telnet scren in RF Gun.
Thanks
I dont see any pros and cons. As long as the device supports GUI you can use GUI version. It is upto the end user to decice what is comfortable to him. Afterall he/she is the person who is going to use the application.
H ope this helps.
Thanks and Regards,
Senthi l
I am now starting to work on MSCM and I have developed some pages it is working fine.
But when I thinking about Customization I need the source code of the application.is it right??
Then where Can I find it.I have decomipled the class files for source but it is showing compilation errors.
Can u please help me to solve the problem.
Thank s,
Deba
Are you planning to extend a standard page or develop a new custom page?
Thanks and Regards,
Senthi l
I have installed MSCA, i can connect GUI MSCA Interface through Telnet session to MSCA server. I can preform MSCA transactions through desktop but i want to know how can i use mobile devices for bar code scanning?
Rega rds
your mobile device comes with the barcode scanner by default. Just scan the barcode by keeping the cursor on the field which you need to input the value.
hope this helps.
Thanks and Regards,
Senthi l
I am calling quality plan in MSCA.In there i have a sql code to auto populate an element which is using FND_PROFILE pkg(to be exact FND_PROFILE.val ue('ORG_ID')).B ut it is not working.Can you give me any idea how to get profile values in sql code running in MSCA?
Thnx in advance.
I had a similar reqmt where i had to fetch some data from the Oracle tables
I wrote a pl/sql procdure to get the value and called that procedure from the mobile page code.
You can have a look at any of the std page for knowing how to execute procedure from mobile page.
Thanks
If you need a GUI version, I guess there is a patch available in metalink.
hope this clarifies.
Tha nks and Regards,
Senthi l
i am planning to extend a standard page .like new req Hide the so order no and add the line no
How to start this work. iam new to MSCA application
Thanks
akkireddy
I just implemented the GUI version of the MSCA on Motorola 9090 Barcode Scanner with WINDOWS ME5 using IBM J9 vm. I've noticed that sometimes the GUI freezes after several minutes of inactivity.
Ha s anyone noticed this?? Any ideas what it can be?
thanks,
Al en
I want to personalize WMS subinventory Transfer form to Show Secondary UOM defined in Inter Class Conversion instead of Primary UOM. is there any way I can personalize the form with out the involvement of Technical People.
Thanks ,
Chandra Sekhar
MWA Personalization framework is available on 11.5.10 and 12.1. If it supports your page, you can do it without technical work. For more details on MWA personalization s, search metalink updates.
Hope this helps.
Thanks and Regards,
Senthi l
I want to personalize the 'Enter Mobile Quality Results' (function name is QA_EQR) in MSCA. I am searching this function in the MWA Personalization s Framework.I am not finding this function.Is it possible to personalize the 'Enter Mobile Quality Results' in the R12?
Thanks,
N aresh.
MWA Personalization supports only certain pages in MSCA. If it is not specified in the MWA Personalization Framework, you cant personalize it.
Thanks and Regards,
Senthi l
Thanks for your reply.
Regards ,
Naresh
I need to install oracle mobile GUI on an RF device(Symbol MC 9060). I have performed following steps:
1) I have installed Creme 3.29 personal profile option(Evaluati on Version)
2) I have created a startup file on device with command:
\Windo ws\CrEmein\CrE me.exe" -Ob -classpath '\Windows\CrEme \lib\AWTclasses .zip;\mwagui\li b\j4205328.zip' oracle.apps.mwa .awt.client.Sta rtGUI
3) When i try to lanuch the application:
it says
class 'Windows.CrEme. lib.AWTclasses. zip;mwagui.lib. j4205328.zip'' not found
The above files are present on the windows pocket pc.
Please let me know, what is missing here..!
Regards,
Punee t
Its working fine with Windows Mobile :
Command is :
\Windows\CrEme in\CrEme.exe -Of -classpath \Windows\CrEme\ lib\AWTclasses. zip;\XONTMWA\li b\j4205328.zip oracle.apps.mwa .awt.client.Sta rtGUI
Wrong with -tiny.
Thanks You very much.
Regrads;
Piraba
Did you have any key or key issues with j4205328 and CrE-ME 3.29? We are trying Motorola(Symbol ) MC9090 and 9190's. What RF device are you using? Would you recommend others that you have had success with?
Thanks,
-Vince
Can you please help me on MSCA field customization.
We are using MSCA inventory for Counting for that we are using Physical count. but basically, rather than entering just a count tag number, we want to enter item, lot, and sublot, not just the count tag.
Can you please help to incorporate the above requirement. And where exactly need include these fileds.
Ram
T hanks,
Thiago
Thanks and regards,
Thiago
It is good you have shown the Hello World application and other programs.
I need your kind help. Can you plz tell me the installation of sws with respect to JDeveloper IDE and Configuring and SetUp accessing Oracle Ebusiness suite r12 server on my gui client device.
Your help will be deeply appreciated.
Thanks & Waiting for your response.
Has anyone customized the Mainpickpage in MSCA. If yes, please share the process to be followed in order to customize/exten sion the page without impacting the standard functionality.
Thanks in advance for your response!
here to go back the favor?.I'm trying to find issues to improve my website!I assume its ok
to make use of a few of your ideas!!
finally got the courage to go ahead and give you a shout out from Huffman Texas!
Just wanted to tell you keep up the good work!
you know a few of the pictures aren't loading properly.
I'm not sure why but I think its a linking issue. I've tried it
in two different browsers and both show the same outcome.
post is written by him as no one else know such detailed about
my difficulty. You're wonderful! Thanks!
added I get several emails with the same comment. Is there any
way you can remove me from that service? Many thanks!
sound like you know what you're talking about!
Thanks
thought this post was good. I don't know who you
are but definitely you're going to a famous blogger
if you are not already ;) Cheers!
I'm trying to find out if its a problem on my end or if it's the blog.
Any responses would be greatly appreciated.
Glance complex to more introduced agreeable from you!
By the way, how could we be in contact?
am also zealous of getting know-how.
RSS feed for comments to this post