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.