Customize MSCA Oracle EBS
Customize MSCA Oracle EBS
(MSCA). At the time of the assignment, I couldn't spell MSCA. I searched and searched and found a lot
of information most of which was incomplete or useless. I finally found a white paper written by Oracle in
2002 on this very topic. The white paper is very hard to find and no longer available through My Oracle
Support (formly MetaLink).
This blog is going to have two main parts. I have had to change the order in which I planned to address
customizing MSCA because I'm still waiting for Oracle to release a text version of the white paper which I
was going to put first. So, I am going to put my design document in the blog first. You will probably find it
more useful anyway. I am going to sensor it removing any reference to my company but the content will
still achieve the objective of this blog article. Here goes....
Well, if anyone has followed my saga, I am having a heck of a time getting images for which I don't have a
url uploaded into my article. I am also having a heck of a time uploading a white paper that Oracle finally
released to me on customizing MSCA. Through all of that I have decided to not turn this blog entry into a
300 page novel so this first blog is just going to focus on technical and theoretical concepts. My next blog
will be on the actual design, build, and implementation of a customization to the standard Pick Confirm
functionality.
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, and SeparatorFieldBean.
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.
MWABean (oracle.apps.mwa.beans.MWABean)
This is the base class for all the beans used in Mobile Applications. It is
derived from Java.lang.Object class. It has four main sub classes. They are:
Field Bean
FlexField Bean
Menu Item Bean
Page Bean
Commonly used APIs
public void
removeListener(MWAListener)
PageBean
The PageBean is the base class for all user developed page level beans.
FlexfieldBean
The FlexFieldBean is used to handle the Flex Field beans in Mobile Applications. This implements the
following interfaces:
java.util.EventListener
oracle.apps.fnd.flexj.event.FlexfieldListener
java.io.Serializable
protected Boolean
addSegmentBean(oracle.apps.fnd.flexj.Segment Seg)
protected void
removes a segment
removeSegmentBean(oracle.apps.fnd.flexj.Segment Seg)
Field Bean
The FieldBean is the base class for all user developed field level beans. Examples of FieldBeans are
TextFieldBean, ButtonFieldBean, LOVFieldBean, MultiListFieldBean, ListFieldBean, HeadingFieldBean,
and SeparatorFieldBean.
LOV
List
Button
Heading1
Heading2
Line Separator
Space Separator
MenuItemBean is the base class for all user developed menu item level
beans
Commonly used APIs
public java.lang.String
getFirstPageName()
public void
setFirstPageName(java.lang.String)
public java.lang.String
getMenuConfirmMessage()
public void
setMenuConfirmMessage(java.lang.Strin
g)
PageBean
The PageBean is the base class for all user developed page level beans.
Commonly used APIs
FlexfieldBean
The FlexFieldBean is used to handle the Flex Field beans in Mobile
Applications. This implements the following interfaces:
java.util.EventListener
oracle.apps.fnd.flexj.event.FlexfieldListener
java.io.Serializable
public oracle.apps.fnd.flexj.Flexfield
getFlexfield()
protected Boolean
addSegmentBean(oracle.apps.fnd.flexj.Segment
Seg)
protected void
removeSegmentBean(oracle.apps.fnd.flexj.Segm
ent Seg)
removes a segment
Field Bean
The FieldBean is the base class for all user developed field level beans.
Examples of FieldBeans are TextFieldBean, ButtonFieldBean, LOVFieldBean,
MultiListFieldBean, ListFieldBean, HeadingFieldBean, and SeparatorFieldBean.
The Commonly used APIs
public void
setName(java.lang.String)
public void
setPrompt(java.lang.String)
LOV
List
Heading2
Line Separator
Button
Heading1
Space Separator
Ok, enough of theory. Now I will cover the "real world" side of how to customize
MSCA. It is in my coming blog.