0% found this document useful (0 votes)
798 views9 pages

Customize MSCA Oracle EBS

The document discusses the technical details and framework of Oracle's Mobile Supply Chain Applications (MSCA). It describes the different bean classes used to build mobile applications with MSCA, including MenuItemBean, PageBean, FlexFieldBean, and FieldBean. It provides examples of commonly used APIs for each bean class and describes how events are handled through listeners.

Uploaded by

qkhan2000
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
798 views9 pages

Customize MSCA Oracle EBS

The document discusses the technical details and framework of Oracle's Mobile Supply Chain Applications (MSCA). It describes the different bean classes used to build mobile applications with MSCA, including MenuItemBean, PageBean, FlexFieldBean, and FieldBean. It provides examples of commonly used APIs for each bean class and describes how events are handled through listeners.

Uploaded by

qkhan2000
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 9

I was just recently assigned a project to modify/customize Oracle's Mobile Supply Chain Applications

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

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, and SeparatorFieldBean.

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

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 addListener(MWAListener)

Add a listener to event listener list

public void
removeListener(MWAListener)

Remove a listener from event


listener list.

Note: oracle.apps.mwa.eventmodel.MWAListener is an Interface


which handles the event and is derived from java.util.EventListener.

Sub classes associated with the MWA Bean


MenuItemBean
MenuItemBean is the base class for all user developed menu item level beans

Commonly used APIs

public java.lang.String getFirstPageName()

Get name of the first page within the menu item.

public void setFirstPageName(java.lang.String)

Set name of the first page within the menu item.

public java.lang.String getMenuConfirmMessage()

get the menu confirmation message

public void setMenuConfirmMessage(java.lang.String) set the menu confirmation message


When the user tries to go to main menu, it asks for
confirmation something like, Go to Menu?. This
message can be changed using this method

PageBean
The PageBean is the base class for all user developed page level beans.

Commonly used APIs

public void addFieldBean(FieldBean)

Add the bean at end of page

public void addFieldBean(int index,FieldBean)

Add the bean at specified index

public void removeFieldBean(FieldBean)

Removes the field bean from the page

public String getName()

Get fully qualified class path of the page

public Session getSession()

Get the session of page bean.


The return type
session(oracle.apps.mwa.container.Session) is
derived from the class
oracle.apps.mwa.container.BaseSession

public void setSession(Session)

Sets the session for the page.

public String getPrompt()

Get the Page Title

public void setPrompt(java.lang.String)

Set the Page Title

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

Commonly used APIs

public oracle.apps.fnd.flexj.Flexfield getFlexfield()

Returns the underlying FlexField


or returns null on error

protected Boolean

add a segment to Flex field

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.

The Commonly used APIs

public String getName()

Get Unique Id for the field

public void setName(java.lang.String)

Set Unique Id for the field

public String getPrompt()

Get Label for the field.

public void setPrompt(java.lang.String)

Set Label for the field.

public void setHidden(boolean)

Make the field visible or not.

FieldBean Types and Technical Details


The types of FieldBeans supported in Oracle MSCA include:

LOV
List
Button
Heading1
Heading2
Line Separator
Space Separator

Sub classes associated with the MWA Bean


MenuItemBean

MenuItemBean is the base class for all user developed menu item level
beans
Commonly used APIs

public java.lang.String
getFirstPageName()

Get name of the first page within the


menu item.

public void
setFirstPageName(java.lang.String)

Set name of the first page within the


menu item.

public java.lang.String
getMenuConfirmMessage()

get the menu confirmation message

public void
setMenuConfirmMessage(java.lang.Strin
g)

set the menu confirmation message


When the user tries to go to main
menu, it asks for confirmation
something like, Go to Menu?. This
message can be changed using this
method

PageBean
The PageBean is the base class for all user developed page level beans.
Commonly used APIs

public void addFieldBean(FieldBean)

Add the bean at end of page

public void addFieldBean(int


index,FieldBean)

Add the bean at specified index

public void removeFieldBean(FieldBean)

Removes the field bean from the


page

public String getName()

Get fully qualified class path of the


page

public Session getSession()

Get the session of page bean.


The return type
session(oracle.apps.mwa.contain
er.Session) is derived from the
class
oracle.apps.mwa.container.BaseSess
ion

public void setSession(Session)

Sets the session for the page.

public String getPrompt()

Get the Page Title

public void setPrompt(java.lang.String)

Set the Page Title

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

Commonly used APIs

public oracle.apps.fnd.flexj.Flexfield
getFlexfield()

Returns the underlying


FlexField or returns
null on error

protected Boolean
addSegmentBean(oracle.apps.fnd.flexj.Segment
Seg)

add a segment to Flex


field

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 String getName()

Get Unique Id for the field

public void
setName(java.lang.String)

Set Unique Id for the field

public String getPrompt()

Get Label for the field.

public void
setPrompt(java.lang.String)

Set Label for the field.

public void setHidden(boolean)

Make the field visible or not.

FieldBean Types and Technical Details


The types of FieldBeans supported in Oracle MSCA include:

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.

You might also like