MSCA/MWA Framework in Oracle Apps EBSMobile 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.

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.

Technical Overview of MSCA/MWA FrameworkOracle 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.

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.

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.

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?

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.

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.