Apps To Fusion

.......Our Journey from Apps To Fusion

 
  • Increase font size
  • Default font size
  • Decrease font size
We have launched several Development, Functional and DBA Trainings. Visiti http://focusthread.com/training

Mobile Supply Chain Application Framework -Introduction

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. 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. 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. 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:

  1. • 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.

  2. • FieldExited – this is called when a particular field is exited. The most common of the listeners, this is used for validation of user input.

  3. • PageEntered – called when the page is entered, this can be used to initialize values on the page.

  4. • PageExited – called when the page is exited, this can perform page level validation logic.

  5. • AppEntered – called when the entire transaction is entered, this can be used to initialize transaction level variables.

  6. • AppExited – called when the entire application is exit, an example use can be to close resources.

  7. • 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 (43)add
Excellent Article
written by Vani , January 30, 2008
Dear Mr. Senthil,

It would be gr8 if you could attach a nugget of code for any flow. That will be of gr8 help.
report abuse
vote down
vote up
Votes: +0
...
written by Anil Passi , January 30, 2008
Hi Vani

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
Anil
report abuse
vote down
vote up
Votes: +0
MSCA 12 Customizations
written by Veera , January 30, 2008
Hi senthil,

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
Veera

report abuse
vote down
vote up
Votes: +0
...
written by SenthilKumar , January 30, 2008
Hi veera,

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

Thanks,
Senthil
report abuse
vote down
vote up
Votes: +0
...
written by Veera , January 31, 2008
Hi 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
Veera
report abuse
vote down
vote up
Votes: +0
...
written by SenthilKumar , January 31, 2008
Hi Veera,

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?

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
...
written by Sreeni , February 01, 2008
Hi Anil,

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.
report abuse
vote down
vote up
Votes: +0
...
written by Anil Passi , February 01, 2008
Good to hear from you Sreeni.
Please feel free to email me, it is good to keep in touch in this small world.

Cheers
Anil Passi
report abuse
vote down
vote up
Votes: +0
...
written by Veera , February 04, 2008
Hi Senthil,

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.

Thanks
Veera
report abuse
vote down
vote up
Votes: +0
...
written by SenthilKumar , February 04, 2008
Hi 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
report abuse
vote down
vote up
Votes: +0
...
written by Veera , February 04, 2008
Hi 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_transactions_enabled_flag = 'Y' and bom_item_type=4 " };
super.mItemLOV.setInputParameters(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.mwa.beans.LOVRuntimePageBean' (pageIx = 5, fieldIx = 0)
handleEvent: entering new page (pageIx = 5)
callListeners: executing 1 listeners, action = 0
callListeners: PageBean
Entering pageEntered of LOVRuntimePageHandler
lov stmt :INV_UI_ITEM_LOVS.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.server.XxSubXferPage.INV.ITEM
inputParamsType[2] :S
value of inputParams[2] :null
inputParams[3] : and mtl_transactions_enabled_flag = 'Y' and bom_item_type=4
inputParamsType[3] :AS
No result is found

Vanilla Page

loadPage: done loading 'oracle.apps.mwa.beans.LOVRuntimePageBean' (pageIx = 5, fieldIx = 0)
(SGARAPATI) handleEvent: entering new page (pageIx = 5)
(SGARAPATI) callListeners: executing 1 listeners, action = 0
(SGARAPATI) callListeners: PageBean
Entering pageEntered of LOVRuntimePageHandler
lov stmt :INV_UI_ITEM_LOVS.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] smilies/shocked.gifracle.apps.inv.invtxn.server.SubXferPage.INV.ITEM
inputParamsType[2] :S
value of inputParams[2] :%
inputParams[3] : and mtl_transactions_enabled_flag = 'Y' and bom_item_type=4
inputParamsType[3] :AS
addFieldBean: type = 13



Thanks & Regards
Veera

report abuse
vote down
vote up
Votes: +0
...
written by nisha , April 17, 2008
Hi Senthil,
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!

report abuse
vote down
vote up
Votes: +0
...
written by nisha , April 17, 2008
Hi Everyone,
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!

Rgds

report abuse
vote down
vote up
Votes: +0
...
written by nisha , April 17, 2008
Hi Senthil,

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
report abuse
vote down
vote up
Votes: +0
...
written by SenthilKumar , April 17, 2008
Hi,

Basic Knowledge of Java Application development is sufficient. If you have knowledege on ActionListener and EventHandlers it will be an added advantage.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
...
written by nisha , April 17, 2008
Hi Senthil,

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,
Nisha
report abuse
vote down
vote up
Votes: +0
...
written by SenthilKumar , April 17, 2008
Hi Nisha,

There are driver files in the Mobile Applications which decodes the information and populates the value into the Mobile screen.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
...
written by nisha , April 17, 2008
Hi,
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
report abuse
vote down
vote up
Votes: +0
...
written by SenthilKumar , April 17, 2008
Yep ... It should work fine for both custom and standard forms. No additional effort is needed while developing the custom forms.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
...
written by nisha , April 18, 2008
Hi l,

Thank you Senthil ! Your support has boosted our confidence.

Regards
Nisha
report abuse
vote down
vote up
Votes: +0
Please privide patch 4205328
written by Himanshu Joshi , April 21, 2008
Hi

Please privide patch 4205328 for MWA Testing, Error Logging and Debugging


report abuse
vote down
vote up
Votes: +0
patch 4205328
written by Ritesh M , April 22, 2008
patch 4205328 is for GUI client setup. you can easily download it from oracle metalink....make sure that you have access to download patches. If you don't have access...DBA can do it on your behalf.

You can also directly connect to MWA server throught telnet to perform Testing, Error Logging and Debugging.

Thanks,
Ritesh
report abuse
vote down
vote up
Votes: +0
How to use scanned barcode in oracle application
written by sarang , August 31, 2008
Hi Santhil,
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.

report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , August 31, 2008
Hi Sarang,

Can you please eloborate your requirement?

It would be great if you open a thread in our forum http://apps2fusion.com/forums/viewforum.php?f=145

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
Barcode Scanning in Oracel....
written by sarang , September 01, 2008
Hi Senthil
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.
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , September 01, 2008
Hi Sarang,

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,
Senthil
report abuse
vote down
vote up
Votes: +0
how to add new filed in MWA applications
written by suresh , December 06, 2008
hi all,
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,MotShipLPNFListener.java,MotShippingLPNLOV.java,MotShipLPNFunction.java in which file i have to chnage. after that where i have to compile my files. please help me . thanks in advance.

Thanks,
Suresh
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , December 08, 2008
Hi Suresh,

You have to use MotShipLPNPage.java,MotShipLPNFListener.java,MotShipLPNFunction.java for your requirement.

Do 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,
Senthil
report abuse
vote down
vote up
Votes: +0
How to add new text filed in MWA application
written by sureshkumar , December 14, 2008
Hi Senthil,

thanks 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.

Thanks and Regards,

SureshKumar
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , December 15, 2008
Hi Sureshkumar,

Can you please upload your source file, log files (system.log and inv.log) in our forum.

The Link is :http://apps2fusion.com/forums/viewforum.php?f=145

You can get more info on error logging/debugging from my article:
http://www.apps2fusion.com/at/ss/225-mwa-setup-testing-error-logging-and-debugging


Hope this helps.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
Systems Analyst
written by bteague , February 12, 2009
Hello Senthil,

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.
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , February 12, 2009
Hi,

Pressing Ctrl+X will give the Class name for the current page.

Hope this helps.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
HI Once again
written by tutu112 , March 13, 2009
Hi
I just wanted to know in brief what are the pros & cons of using GUI vs telnet scren in RF Gun.

Thanks
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , March 13, 2009
Hi,

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.

Hope this helps.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
Source code for MSCM Customization.
written by Deba , March 16, 2009
Hi,

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.

Thanks,
Deba
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , March 16, 2009
Hi,

Are you planning to extend a standard page or develop a new custom page?

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
Use of Bar Code Scanning through MSCA without WMS
written by Abeer Zia , April 06, 2009
Hi

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?

Regards
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , April 07, 2009
Hi,

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,
Senthil
report abuse
vote down
vote up
Votes: +0
Need Info regarding MSCA
written by Kaushik , May 12, 2009
Hi,
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.value('ORG_ID')).But it is not working.Can you give me any idea how to get profile values in sql code running in MSCA?
Thnx in advance.
report abuse
vote down
vote up
Votes: +0
!!!
written by Kaukabss , May 20, 2009
Hi
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
report abuse
vote down
vote up
Votes: +0
Mobile Terminal question
written by Amitaneja , May 03, 2010
Hi Mate, We are implementing Oracle WMS 12.1 and the question I have is : Do I need to install any software application on the RF device to get it to talk to Oracle. The RF guns are connected to the network and are ready to be tested.
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam1 , May 04, 2010
I dont think there is any software needs to be installed. A simple telnet application on the RF device should be fine.

If you need a GUI version, I guess there is a patch available in metalink.

hope this clarifies.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
Write comment
quote
bold
italicize
underline
strike
url
image
quote
quote
smile
wink
laugh
grin
angry
sad
shocked
cool
tongue
kiss
cry
smaller | bigger

security image
Write the displayed characters


busy