Apps To Fusion

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

 
  • Increase font size
  • Default font size
  • Decrease font size



MWA Java Doc Part 1 - Oracle Mobile Web Applications

E-mail
User Rating: / 1
PoorBest 

MSCA/MWA Java API Documentation – Part1

In this article we will start with the common Java APIs used in MSCA/MWA Framework.
The intention behind this article is lack of sufficient documentation on MWA/MSCA Framework.

 

I assume that the users of this article will have basic exposure to Java application development and
used the Java documentation for development purpose.




MWABean (oracle.apps.mwa.beans.MWABean) is the base class for all the beans used in Mobile Applications.
This 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


 

 

MWA Java Bean Hierarchy:

 

Now we will see about the 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:

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

This 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.Segment Seg)

removes a segment


 

Field Bean:

FieldBean is the base class for all user developed field level beans.

Examples of FieldBeans are TextFieldBean, ButtonFieldBean, LOVFieldBean, MultiListFieldBean, ListFieldBean, HeadingFieldBean, 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.

 

 

In the next article, we will get into details of each type of field beans like TextBean,LOVBean etc..


Comments (144)add
...
written by Hameed , April 02, 2008
Hi Anil,

Thanx for your quick response. Now I am trying to customize a po requisition Approval workflow, I need to know how can I add an extra column to the Requisition Lines table in the Notifcation sent for the approval. If you can guide it will be great help.

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

Please Provide the same for MWA Testing, Error Logging and Debugging.
report abuse
vote down
vote up
Votes: -1
Unsuccessful row construction
written by Himanshu Joshi , May 06, 2008
Hi

I am very new to MSCA framework.

I am getting an error while populating LOV.On the first hit, I am getting the error below:

(Thread-13) MWA_LOV_ROW_CONS_FAIL: Unsuccessful row construction
java.lang.NullPointerException
at oracle.apps.mwa.container.LOVRuntimePageHandler.pageEntered(LOVRuntimePageHandler.java:89)
at oracle.apps.mwa.container.StateMachine.callListeners(StateMachine.java:1666)
at oracle.apps.mwa.container.StateMachine.handleEvent(StateMachine.java:1067)
at oracle.apps.mwa.presentation.telnet.PresentationManager.handle(PresentationManager.java:702)
at oracle.apps.mwa.presentation.telnet.ProtocolHandler.run(ProtocolHandler.java:820)

But when I go to next LOV and traverse back to first one, It gives me the LOV.

Please help me in resolving the issue.
report abuse
vote down
vote up
Votes: -1
MWA Page !Need urgent help
written by Srinivas Reddy , May 12, 2008
Hi
1. we have this requirement from user 'The screen consists one textfeild i.e lot number, as soon as the lot is scanned,
the scanned lot value should be sent to server, without pressing anybutton or key' -- can this be achieved. User insists they dont
want to press button/key.

report abuse
vote down
vote up
Votes: +0
cursor position in mwa page
written by Srinivas Reddy , May 12, 2008
Hi
Please advise if we set the cursor position programmatically in textfields.
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , May 12, 2008
Hi Srinivas,

Query 1: Not sure what do u mean by sending to "server" ... but u can do everything at the fieldExit() method of the field bean. there is no need to press any key/button explicitly.

Query 2: I will look into it and get back regarding the API... But normally what we do is, we will hide the unnecessary fields in between so that the cursor goes to the next expected Inputtable bean.

Hope this helps. Feel free to post any issues or queries.

Thanks and Regards,
Senthil

report abuse
vote down
vote up
Votes: -1
fieldExist
written by Srinivas Reddy , May 13, 2008
Hi Senthil
Thanks for immediate reply.
The fieldExited function will be invoked by the container when an event happens.
If a page have multiple textfields, i believe after each scan there will be fieldexist of current textfield and cursor goes to next input field automatically.
About My Query is if you have only one textfeild in the page (ex: for lot number). , after you scanned lot,the fieldexit happen when do tab or enter. My user donot want to tab/pressenter after scan. If there is only one textfied in page, how does implicitly fieldexit happens after you scan. This urgent requirement to solve for us. I am very new to MSCA. Pls correct me if I am wrong and advise how i can do fieldExist in a page with only one textfield.

report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , May 13, 2008
Hi Srinivas,

As soon as the you scan the lot, the field exit fires ... there is no need to press tab or enter key. Did you test your page with the Mobile device and try to scan something?

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +1
lot validation/transactions
written by Srinivas Reddy , May 13, 2008
Hi Senthil,
Thanks for your prompt reply. I will check on feildexit function with mobile device. I have given task of developing custom page for Lot Receiving/anPacking/Sealing d weighing etc. Now i am able to do UI part after reading your articles. Each of the page require validations (like lotnumber valid, not duplicate, locator not full etc) and requires to perform transactions (like move lot between different stages). Pls advise on approaching doing validations and transactions.
1. Is there any existing oracle Java API where i can pass value which perform validations or transactions and return results.
2. (OR) I have to write custom java code that calls PL/SQL API.
Pls advise me which API i can use to perform above validations/transactions.

Thank you very much,
srinivas
report abuse
vote down
vote up
Votes: -1
...
written by Senthilkumar Shanmugam , May 13, 2008
Hi Srinivas,

If your validations are already availble in std PLSQL packages, you can call them directly from your Page or Listener Java Class. Otherwise you can create your own custom PLSQL package and do the validations.

You can find some java wrappers for most commonly used std PLSQL APIs in oracle.apps.inv.utilities.server.UtilFns.ProcessAPI as well

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
Mobile Device Inputfield Cursor positioning
written by Srinivas Reddy , May 14, 2008
Hi Senthil
Thank for update, now I am able to do API calls and java wrappers available.
I have tested fieldExit, it is firing field exit after scanning without pressing enter key/submit button.
We still facing following issues
1) When a page is selected, the cursor is not defaulting to first Input field. We have to explicitly
Select the input field and scan.
2) After scanning, the cursor is not positioning in next Inputfield again we have to explicitly
select the next input field to scan.
3) Even when to enter in Mobile device, it is not coming to next field.
3) Standard MSCA pages also same.

We are using Intermec 730 Pocket PC Mobile Computer Window 2003. When scanned on excel/word, cursor postioning to next line after scan.

Is it the problem with device setting/application. Or It is expected behavior in MSCA page(i.e. it is required select each input field before scan). Is there a way to positioning cursor in the input field. Please advise…

Thanks and regards
Srini

report abuse
vote down
vote up
Votes: +0
Mobile Device Inputfield Cursor positioning
written by Srinivas Reddy , May 14, 2008
correction: 3) Even when we press enter key in Mobile device after scanning, it is not coming to next field.
-- we aslo did devise setting - postable and
to place after each scan. i.e working when scanned on word/excel doc but not on MSCA custom/standard pages

report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , May 14, 2008
Hi Srini,

I guess the problem is more related to the mobile device. I deployed the "Hello World" Mobile page(the code is available in other article) in our mobile device and performed a scan using the mobile device, I have my cursor on the first filed and as soon as I scan the LPN, it automatically goes to the next field. Please go through the user manual for the hardware device.

Thanks and Regards,
Senthil


report abuse
vote down
vote up
Votes: +0
Cursor Positioning
written by Srinivas Reddy , May 16, 2008
Thanks., The issue is resolved, it is related to jvm
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , May 16, 2008
Hi Srini,

Thanks for the update. Can you brief what did you do to fix the issue so that it will be useful to others who face the same problem in future.

Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
...
written by Srinivas Reddy , May 20, 2008
Hi
The issue is resolved by installing the new tiny jvm CrEme v.4.2
report abuse
vote down
vote up
Votes: +0
My Experience with MWA
written by Srinivas Reddy , May 20, 2008
Hi,
Untill a week ago, i am not heared of this MWA framework. I worked in java for 6 yrs and switched to working on integration of
oracle apps to web applications using Webmethods/Adoptors (before we implemented 11i). For 3 yrs i am working j2ee/webmethods/and oracle apps functional (PO/INV/Planning). A week ago i was asked to do develop shipping execution on mobile which involve receiving to shipping bay, location transfer, picking , sealing , packing, ship confirm etc. You article on net helped to understand framework. Having worked a number of year on java i did not faced much problem in doing application.
I have completed my project project in a week.

Thanks and regards.
Srini
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , May 20, 2008
Cheers Srini

-Senthil
report abuse
vote down
vote up
Votes: +0
PO receipt customization.
written by Naveen Adepu , May 28, 2008
Hi Senthil,

I am new to the MSCA framework and got some idea on it by going through this article.
I have a requirement from client that when we are receiving an item against a PO and if the item requires inspection then the client want to suppix".Q" to the Lot number and also status to 'Q'. Can you please let me know how i can achieve this.
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , May 28, 2008
Hi Naveen,

For this requirement, you need to analyse whether it can be done through extension or you need to go for customization. If it is very simple process just extend the Java classes for the std PO receipt page and fulfil you customer requirement OR you can create a new mobile form which fulfils the customer requirement.

Feel free to post any issues.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
...
written by Naveen Adepu , June 13, 2008
Hi Senthil,
Thanks for your reply. I have taken the RcptGenPage.class file and decompiled it. When i am trying to compile the generated java file, without making any modification to it and still it is giving me lot errors. Can you please tell me what wight be the problem? where can i find the source code (java files) for the MSCA application.


report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , June 13, 2008
Hi Naveen,

You need to have all the library files and necessary java files referenced by your RcptGenPage.class before compiling it locally. Oracle doesnt ship any source code for java files.

Hope this helps.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
...
written by Naveen Adepu , June 14, 2008
Hi Senthil,

I have taken all the java class files referenced by RcptGenPage.class file. Still it is not compiling. In the code there are some break statements available such as

break MISSING_BLOCK_LABEL_1816;

These statements are giving me the errors.

report abuse
vote down
vote up
Votes: +0
...
written by Ritesh M , June 17, 2008
Decompilers won't decompile whole code line by line or word by word......

suggest you to extend the RcptGenPage.class and add additional functionality as desired.

What are the changes you wanna make to original page ?

Cheers!!!
Ritesh
report abuse
vote down
vote up
Votes: +0
MWA Stress Testing
written by Ravi D , June 24, 2008
Hi Senthil,

Can you please let me know how many maximum concurrent users MWA can support. Considering we have multiple CPUs and multiple MWA servers running ( Dispatcher is used ). We need to test it for 600 users. Please let us know if it is been stress tested or any scenarios(Cust site) where 600 users are using MWA simultaneously.
report abuse
vote down
vote up
Votes: +0
Extending OA Framework
written by Rajeev Dave , July 02, 2008
I want to change Existing screen in OA Framework like want to change look and feel of exsting page and AM, VO and CO will remain same as it was earlier implemented.

I have created total new RN and used preciously used AM , VO through extend can i do this.

I have just added detail in advance table and this is not possible through personalization.

Please sugget


report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , July 02, 2008
Hi Rajeev,

Can you explain your requirement in detailed manner? I could not understand what you are trying to do..

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
MSCA customization
written by Amit Goel , July 02, 2008
Hi Senthil,

I need to make certain fileds like 'Airway bill number' and 'carrier' mandatory in receipt screen on WMS mobile application. I know
the java file that is used for this. But where can i get some documentation on java file so that I can extend it and make these mandatory. I searched enough on metalink etc but no luck. Also can you please give some idea how can i achieve this
customization. What properties etc i should set for making field mandatory.

Thanks and regards,
Amit
report abuse
vote down
vote up
Votes: +0
setMenuConfirmMessage Issue
written by Himanshu Joshi , July 17, 2008
Hi Senthil

Need to display our own customized warning message on the screen
confirming from the user using (Y/N) input from the user.

We are using setMenuConfirmMessage(String s) method for this.

When user press F2 key to exit the screen ,we need to display our own message
on a particular page/screen and not on all the screens used under the same menu.
report abuse
vote down
vote up
Votes: +1
...
written by Senthilkumar Shanmugam , July 17, 2008
Hi Himanshu,

Did you try session.setStatusMessage()?

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
...
written by Himanshu Joshi , July 18, 2008
Hi Senthil

I have tried with setStatusMessage(), but at that point I am not able to capture "Y" and "N" event. (Y/N)

Regards:
Himanshu
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , July 18, 2008
Hi Himanshu,

Can you please brief about your requirement? how are you getting the value Y/N from the user and where do you want to display the warning message?

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
...
written by Himanshu Joshi , July 21, 2008
Actully for this requirement we have 3 screens.

Client wants a custom warning "Untransacted lines exist, Ok to exit?(Y/N)" on screen-2 only where he can input (Y/N).Therefore I have used setMenuConfirmMessage() method, So that I dont need to write code for inputs (Y/N).

In another approach I have also used session.setStatusMessage() to display the warning, but in this case I have not proper code to capture user Inputs (Y/N).

I want to display this messgae on the bottom of MSCA screen.


report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , July 21, 2008
Hi Himanshu,

Did you give a try for Dialog page approach? you can see the sample code in the "comment" section of the thread

http://apps2fusion.com/at/ss/43-ss/221-hello-world-mobile-supply-chain-application-framework

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
Thanks !!
written by Himanshu Joshi , July 22, 2008
Thanks a LOT Senthil.....!!!

This Dialog Approach did the trick.

Thanks once again !!!
report abuse
vote down
vote up
Votes: +1
...
written by Pramod , July 22, 2008
Hi Naveen Adepu,
were you able to extend RcptGenPage?, please post your experience.

Regards,
Pramod
report abuse
vote down
vote up
Votes: +0
hi
written by Mayra , August 09, 2008
i need one tutorial about Oracle mobile please i need your help.


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

Already I have written a article on "Hello World" mobile applications. Do you need something else?

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
Please Help
written by Irawan , August 19, 2008
Hi, i'm using intermec 730, we have custom some process in pick confirm menu, we create custom code in customscanmanager.java, the purpose is when user scan lot number barcode (contain lot number and expired date) system will automatic separate the code. if we are not using the intermec 730 RF device, the customscanmanager can call and run successfully, but if we are using the device, customscanmanager is not calling or launching. have you experience with problem ? we have checked all setup for the device.
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , August 20, 2008
Hi Irawan,

I can think of 2 problems:

1) Check whehter intermec 730 is certified by oracle.
2) If the customscanmanager.java is called and executed when you test it from Telnet/GUI clinet and not from the handheld mobile device, please check and bounce the port used by mobile device.

Also, I would recomend you to post your queries on our forum for wider audience.

http://apps2fusion.com/forums/viewtopic.php?f=145&t=137&st=0&sk=t&sd=a&start=10

You can share your experience and help others as well.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
Need help (Mobile Device) in R12
written by Mo Osman , August 20, 2008
We are using intermec CK31 to connect to mwa server. While loggin in to the MWA server, user is prompted to select the mobile device from a device list. here is the device list

Default
Symbol device
Intermec Device
Gui Client
Do you know how I can map the device name into the deviceIP.ini file so when logging in it will automaticcaly select intermec device instead of giving me these 4 different choices?

Thanks
MO

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

Can you please share your contents in deviceIP.ini file?

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
Need help (Mobile Device) in R12
written by Mo Osman , August 20, 2008
HI Senthil
Here are the content of my deviceIP.ini

[host]
TelnetServer=hostname.company.com
//# Begin customizations
//#
//# ********************
//# Customizations below this line will be preserved if patching this
//# file via the instantiation utility.

[device]
DEFAULT=default_key.ini
SYMBOL=symbol.ini
INTERMEC=intermec.ini
GUI=gui_key.ini

// Wildcard at the end of IP add***s is supported.
[map]
127.0.0.1=default_key.ini

//# ********************
//#
//# End customizations

report abuse
vote down
vote up
Votes: +0
...
written by suresha , August 28, 2008
Hi Senthil,

We have requirement to print a custom message, say "Do you want to print the report ? Y/N" and depending on the response we need to perform next action.
currently if we press F2 the option “Go to Menu?. Y/N ” is coming. How it is done? Can we customize it or can we have such our own prompts?

Also how to capture the response? (Y/N)

Please help.
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , August 28, 2008
Hi Suresha,

You can use dialog pages for this kind of requirentment.

Sample Code and the snapshotes are available in "comments" section of my "Hello World" Article.
http://apps2fusion.com/at/ss/43-ss/221-hello-world-mobile-supply-chain-application-framework

Please feel free to post any issues.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
Calling a page from another Page
written by Vyaghresh , October 08, 2008
Hi Senthil,
Thanks for your documentation.
I have a concern. I am in one Mobile Page say Sub Inventory Transfer. From that Page i would like to call a page called Update Serial Attrributes.
How this can be achievd. For calling a page from another page any Java API are available.

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

You can use the API setNextPageName() for the same. But if you are doing some modification on the standard Oracle page, you can do this via extension but before that you have to analyse and get clear picture of the navigation in std pages.

Feel free to post any issues.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
...
written by Vyaghresh , October 08, 2008
Thats fine. I am extending the std page to a custom one and from that i can call to another std page.am i right,
the challenge here is in the first Std page there is a button,upon clcking this the 2nd std page will appear where the fields setEditableProperty is set to false.
Now i need to change that button name and need to make the fields setEditable to true.
Current page is like this
Std Page 1 -> Button1 -> (Upon clicking this) Std page 2 is coming and all the fields's setEditable property set to false.
My approach
Custo page Extends Std Page1 -> Button 2( need to rename Button1 above) ->(Upon clicking this) Std page 2 should come and all the fields's setEditable property set to true.
Hope this is clear now.

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

I can understand your requirement. What is the issue/error you are facing? Where are you struck up?

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
...
written by Vyaghresh , October 13, 2008
Whenever i am adding a button then i m loosing the existing behaviour of that form and it is coming to Login page again.
Please tell me how to stop it.
Also i am not able to undertand what to put in the method initCustomPage when we extend any standard class.

report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , October 13, 2008
Hi ,

Please follow the steps mentioned in my article "http://apps2fusion.com/at/ss/293-extend-a-standard-oracle-mscamwa-page" to extend and standard page. and kindly paste the error stack.

You can also open a new thread in our forum (http://apps2fusion.com/forums/viewforum.php?f=145) where you have options to upload files.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
...
written by Vyaghresh , October 13, 2008
Hi
I will post the exact error in the Log file.
Meanwhile can you please explain me the following code snippet in your example:
//The purpose of this method will be explained in later articles.

public void initCustomPage(MWAEvent e) {

//Doc Door LOV initialization
String[] inputs =
{ " ", "TXN.DOCK", "ORGID", "xxx.oracle.apps.inv.wshtxn.server.XXShipLPNPage.ShipLPN.DockDoor" };
getDockDoorFld().setInputParameters(inputs);

//LPN Lov initialization
String[] lpnInputs =
{ " ", "ORGID", "LOCATORID", "TRIPID", "TRIPSTOPID",
"xxx.oracle.apps.inv.wshtxn.server.XXShipLPNPage.ShipLPN.LPN" };
getLpnFld().setInputParameters(lpnInputs);

Session session = e.getSession();

//Continue button initialization
ButtonFieldBean continueButton =
(ButtonFieldBean)session.getFieldFromCurrentPage("ShipLPN.Ship");
continueButton.removeListener((MWAListener)continueButton.getListeners().firstElement());
continueButton.addListener(xxListener);
}


What will it does? This code esp for SHipment LPN. If we are extenidng a diff page how this code can be modified.
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , October 13, 2008
Hi,

All the LOVs in Oracle Standard Mobile pages have the LOV path hardcoded. So it is necessary to do this for all the LOV's in the page which you plan to extend.

Hope this helps.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
...
written by Vyaghresh , October 13, 2008
Fine.But how to find out these hardcoded path. By decompiling the class files only or ant other option?

report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , October 13, 2008
Yep .. You need to decompile and find it out
report abuse
vote down
vote up
Votes: +0
...
written by Vyaghresh , October 13, 2008
But when i try decompiling not every piece of code is decompiled.There were some errors while deccompiling.
Also i can see break MISSING_BLOCK_LABEL_1816; in the decompiled file. I am not able to understand this,
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , October 13, 2008
Give a try using JAD.exe .. and dont try to use that file in your Java IDE.
report abuse
vote down
vote up
Votes: +0
...
written by nisha , October 15, 2008
Hi Senthil,

I need to prepare a design and development standard document for MWA. Do you have any template or standard separately for MWA? If so , please let me know.

Thanks and Regards,
Nisha
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , October 15, 2008
Hi Nisha,

I dont have any such document. You can prepare that using the Dev Guide and Generalising the Technical Design document of any one of the customizations you have built.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
Custom Mobile
written by Arik , October 22, 2008
Hi,

I need to customize the mobile (oracle 11.5.9)....
For example, after choosing Move Assy in the main menu, I have a menu to select the organization code.
How can I customize this menu? I want it to take a default Org' without this menu...
Is it possible??

Thanks
Arik
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , October 22, 2008
Hi Arik,

Can you please brief about your requirement?

You can also open a new thread in our forum (http://apps2fusion.com/forums/viewforum.php?f=145) where you have options to upload scrrenshots/files

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
Custom Mobile
written by Arik , October 22, 2008
10x for your reply.

When I'm loggin into the Mobile (via telnet), I have list of menus.
One of the submenus (under Assy & Material Tx --> Move Assy) is "Org Code".
Unlike the previos menu, I can't customize this subfolder, because I think it's comming from some java class.
I want the org code will be save in harcoded, but I don't know where to do it, or how...
I only know that this sub folder (Org Code) has a function that point --> MOVEMENUITEM.class.

Any ideas??

Thanks
Arik
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , October 22, 2008
Hi Arik,

If you are spaking about the LOV which is asking to enter the Oragnaization, then here is my reply:

1) Oracle Applications is designed in such a way that the user needs to enter the current organization before starting with any transaction on the system.It is a common behaviour and you can see that in Forms based applications as well.
2) The Oraganization info will be asked only for the first time and it will not popup again until you log out and log in. It is one time exercise for your entire session.

Please let me know if you have any issues/concerns.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
Mobile Customize
written by Arik , October 22, 2008
Senthil,

Yes this is whay I'm asking...but -
The requirnment is that this first time info will not be at all. There are few users that will use the same devise, and they don't want it. Again, I know how to change
the menu (add or drop), but the ORG info I didn't find in the application menu.
The question is(also for other future customization I will have to do): Where can I handle it, If I want to drop it? Is it java class?Menu?Setup?

Thanks
Arik
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , October 22, 2008
Arik,

It is not based on menu but based on the session value for Org code. I guess you cannot change this behaviour in std forms and even if you try to change it, all the underlying API may fail because of missing org info.

You can avoid this info in the custom built form.

The other option which comes into my mind is to extend the std java class "oracle.apps.inv.utilities.server.OrgFunction" and try to default to the org id and see if it works.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , October 22, 2008
I am afraid that the second option will work only for the custom forms.
report abuse
vote down
vote up
Votes: +0
Custom Mobile
written by Arik , October 22, 2008
Again thanks for your quick and great response.
I'm sorry but it is a little bit complicated to me....is it possible for you to be more specific regarding your second solution?
I've opend the OrgFunction.class, but I didn't understand: 1. do I need to change the current class or create another one?
2. If to change - then what to change? 3. If create new class, then what to do with it...?

Thanks
Arik
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , October 22, 2008
I am outlining a solution based on my understanding as i am not fully aware of the requirement.

1)Extend the OrgFunction.java and default the Org Id.(say CustomOrgFunction.java)
2)Identify the pages in which the user need to avoid the pop up of Org LOV
3)Extend the function class for that page and make this to inherit CustomOrgFunction.java
4)Follow the steps in my article "Extend MSCA page" for the deployment.

But, please note that this needs to be done for every single page where you feel to avoid Org LOV. And I am not sure if it is worth doing such customization just for the sake of avoiding an single entry into a LOV bean.

Please analyse it before you work on it.

Hope this helps.

Thanks and Regards,
Senthil


report abuse
vote down
vote up
Votes: +0
Custom Mobile
written by Arik , October 22, 2008
Thanks a lot!!
I will try your solution.....
report abuse
vote down
vote up
Votes: +0
Custom Mobile
written by Arik , October 23, 2008
Senthil Hi Again,

I need to understand something please....
If I want to add hard coded value in a field, inside the mobile, it is not possible?
For example, the org code, or from/to sequence. If the user is enter to the mobile, choose Assembly ext..and when he will choose
"from seq" and press TAB, the "to seq" will come automaticlly.
Where(if possible at all) I can handle it? (I know how to do it in Oracle Forms but not here)
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , October 23, 2008
Hi,

Do you want to default some values to some field in a standard page? If that is the case, you can extend the standard page and default the value. If you are on 11.5.10, you can acheive this by Personalization framework but I guess you are on 11.5.9
report abuse
vote down
vote up
Votes: +0
Custom Mobile
written by Arik , October 23, 2008
Yes I am at 11.5.9
What do you mean by extend the standard page ? How can i get to this page....?
I'm very sorry for all the questions but I didn't find any documentation...and it seems very complicated...
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , October 23, 2008
Hi,

Kindly go through my article on extension:

http://apps2fusion.com/at/ss/293-extend-a-standard-oracle-mscamwa-page

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
How can I use rs.next() to show the next record on the TextFieldBean using a ButtonFieldBean
written by Deepak71178 , October 24, 2008
Hi Senthil this is the peace of code i wrote

public void getNextPack(MWAEvent e) throws SQLException,AbortHandlerException, InterruptedHandlerException, DefaultOnlyHandlerException
{
Session consession1 = e.getSession();
Connection con1 = consession1.getConnection();
PreparedStatement pstmt1 = null;
pstmt1 = con1.prepareStatement("select RECEIPT_TYPE, RECEIPT_IDENTIFIER,INTERNAL_PACKAGE_ID, SO_TO_SHIP_AGAINST, SO_LINE_TO_SHIP_AGAINST,RECEIPT_STATUS, COMMENTS from GSS_PENDING_RECEIPTS_ALL");
ResultSet rset1 = pstmt1.executeQuery();
if(rset1.next())
{
mReceiveAlltoBin.setValue(rset1.getString(1));
mSubInventory.setValue(rset1.getString(2));
mPackageQty.setValue(rset1.getString(3));
mItemNo.setValue(rset1.getString(4));
rset1.next();
}
}
public void fieldExited(MWAEvent mwaevent) throws AbortHandlerException, InterruptedHandlerException, DefaultOnlyHandlerException {
Session ses = mwaevent.getSession();
if (s.equals("TEST.NEXTPACKAGE")) {
ses.setStatusMessage("This is Next Package");
try{
pg.getNextPack(mwaevent);
}catch(SQLException sqle){}
}
}
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , October 24, 2008
Hi,

Can you please brief about your requirement?

You can also open a new thread in our forum (http://apps2fusion.com/forums/viewforum.php?f=145) where you have options to upload scrrenshots/files

Thanks and Regards,
Senthil

report abuse
vote down
vote up
Votes: +0
...
written by Deepak71178 , October 24, 2008
Hi Senthil,

My requirement is, If I select a ButtonFieldBean name "NextPackage", i want to move to next record those record should be displayed in following TextFieldBean mReceiveAlltoBin, mSubInventory, mPackageQty, mItemNo. which i called the methode getNextPack(MWAEvent e) in FieldExited event. So when i exit from the buttom "Next Package", a new connection will be established from session, the data will be assigned to Resultset, the data are assigned from record set to TextfieldBean. Since every time when i click the button a new connection is established so i am unable to move to the next record. I also tried a global connection but its hanging.
Can you please help in this regard.....
Thanks

report abuse
vote down
vote up
Votes: +0
...
written by Deepak71178 , October 24, 2008
global connection means static Connection con;
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , October 25, 2008
Hi,

Quick question:

Why do u need to call "getNextPack" when you want to fecth the next record?

Just try to get the next record from the resultset?

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: -1
Using WM6.1 device (Intermec CK3) with Pracle MWA GUI
written by JJ , October 29, 2008
Trying to get the Oracle Mobile Client to work on the new Intermec CK3 (WM 6.1). Not sure we have the right files.

Everthing works fine on Win CE 5.0, but customer want the the new WM 6.1 device.

Within the Oracle Mobile Client, you are suppose to be able to use the barcode scanner to scan the barcode: (30)12 (91)GTA12251, and the Java application is suppose to parse it out.

If you Scan the barcode, "(30)12 (91)GTA12251", at the "Qty" field, you are suppose to get just "12"
If you Scan the barcode, "(30)12 (91)GTA12251", at the "Item" field, you are suppose to get just "GTA12251"

However, since the Parsing does not work... it just dumps the complete barcode.

Current Load:
Intermec CK3 - WM 6.1, CrEme JVM version 4.12 (with the Tiny AWT DLL's)

Thoughts:
- May need a different clientfor WM 6.1
- Once place suggested loading windowsatlce400.dll, windowsmfcce400.dll, and windows
egsvrce.exe

Any idea? Anyone up and running on WM 5.0 or WM 6.1?
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , October 30, 2008
Hi,

Are you using CustomScanManager.java to decode your barcode?

Can you please check whether the DFIs are set properly and also the profile options.

Also please check the log files to check whether the barcode is scanned and decoded properly.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
I want to update a record in a table, How can i do it, will the below code help?
written by Deepak71178 , October 31, 2008
Connection con = consession.getConnection();
PreparedStatement pstmt = null;
pstmt = con.prepareStatement("update inventory_master set BIN_NUMBER='"+"BINABCDEF"+"', SUBINVENTORY ='"+"SUBABCDEF"+"'");
pstmt.executeUpdate();
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , October 31, 2008
Yep .. This would work!! ... If you want to perform some complex operations, you can call a PLSQL procedure and perfrom the same.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
...
written by Deepak71178 , October 31, 2008
Hi Senthil,
Thanks for your Help,

But when i click button to update the record, its taking lot of time to update in database. Is that because of server Performance? or....
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , October 31, 2008
Is the behaviour same in multiple environments?

Senthil
report abuse
vote down
vote up
Votes: +0
...
written by Deepak71178 , October 31, 2008
Do you mean the multiple or differenct Test Instance
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , October 31, 2008
Do you have the same problem in DEV/TEST/PROD isntance? or is it only in one instance. If it is across all instance, then it might be the problem with code. Otherwise, it might the problem with that instance.

Hope this helps.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
...
written by Deepak71178 , October 31, 2008
whenever i click a button, it displaying status message as Please Wait..../
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , October 31, 2008
Have you investigated the log files? If you repalce the update statement with a PLSQL procedure what is the behaviour?
report abuse
vote down
vote up
Votes: +0
Dear Senthil How to set the Hot Key for a Buttonfieldbean
written by Deepak71178 , November 03, 2008
setAcceleratorKeyIndex is deprecated. So can i set the Hot key
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , November 03, 2008
Hi,

You can use AK repository to set the Hot Keys.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
...
written by Deepak71178 , November 03, 2008
you mean setting the AK prompt in AK Html Resp
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , November 03, 2008
Yep ...

The Navigation is

AK Developer -> Define Attibutes -> Search for the prompt -> Set the Hot Key in the "Label" field.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
...
written by Deepak71178 , November 03, 2008
do I want to mention like "C&lear" for clear button

Thanks
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , November 03, 2008
Hi Deepak,

It depends on the Hot Key you may want to use. In the above case, the hot key will be "l".

Hope this helps.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
...
written by Deepak71178 , November 03, 2008
Thank you very much
report abuse
vote down
vote up
Votes: +0
oracle tec. consultant
written by smabbas91 , January 19, 2009
Hi , I am new to MWA frame work , please let me know what do i need to start
modificaion in mwa , I mean what should i install and from where to start ....

Please help to set the enviornment for development / customization
report abuse
vote down
vote up
Votes: +0
Custom telnet forms are not opening
written by kiran kumar G , January 20, 2009
Hi,

I am working on wms telnet customizations,
we are facing an issue , we are not able to open any of the custom java forms from the telnet.. Standard forms are working fine ..

for example stage move form which calls xxxStagemove.class is not getting opened and we are able to see the error message in system log

[Tue Jan 20 10:58:27 EST 2009] (Thread-12) Couldn't load given class : oracle.apps.wms.td.server.GEPSStagingMoveFunction
java.lang.ClassNotFoundException: oracle.apps.wms.td.server.GEPSStagingMoveFunction


But the class file and java file both are in place. This worked fine till now, but suddenly we r facing this issue
Please can input any comments .

Thanks,
Kiran


report abuse
vote down
vote up
Votes: +0
Anyone get the intermec CK3 working with windows Mobile 6.1?
written by Chiggins , January 28, 2009
I just received two CK3 and I am stuggling to get them working. creme is installed but will not launch the java.

Can anyone share their shortcut file they are using to launch?
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , January 29, 2009
Hi,

Are you able to launch the MSCA via telnet from your PC?

cmd: telnet

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
MWA_LOV_ROW_CONS_FAIL: Unsuccessful row construction
written by Anju , March 05, 2009
Hi Senthil,

I am facing "MWA_LOV_ROW_CONS_FAIL: Unsuccessful row construction" when i hit CTRL L in a LOV field.
I have followed the simillar approach in another page where it is working fine.

Please help me out in fixing this issue.

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

"Unsuccessful row construction" occurs when the query fails to fetch rows from DataBase. This may be either due to wrong parameters or bind variables. Can you please upload your code and log files?

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
Apps Technical Developer
written by Yogasri , March 22, 2009
Hi Senthil,
Thanks to you and Anil for the great work!!! I enjoy reading the articles of Anil. Now I am assigned to work on the Mobile Web Applications. I am pretty new to the Web-based version of APPS. As per Anil's documents, I installed Jdeveloper on my machine, gotten all the files from server (the files $JAVA_TOP/class*, $MWA_TOP/mds/*, etc) and placed them on my client machine. Here is my requirement which I need to accomplish in MWA inbound/Receipts.

In Receipts, when once user enters the Item number, I need to display a popup/ alert saying that "This is a BackOrdered Item". To do this, I created a pl/sql function say ABC_Fun that accepts item number as input and return Y or N. If the return value is Y then i need to display the alert.

Can you please help with this?

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

Your requirement looks very straight forward. You can call the PLSQL function on the fieldexit() of Item Number field and display the popup message.

You can find the code and screen shot for Dialog page in the comments section of my article "http://www.apps2fusion.com/at/ss/221-hello-world-mobile-supply-chain-application-framework".

Hope this helps.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
Mr.
written by OmkarLathkar , March 28, 2009
Hi Senthi,

Currently I am working on a MSCA form development which has following functionality to be incorporated:
On a particular user action, the fom needs to ask a Yes/No type of fuction to user and depending on the user option,
the form needs to perform spefic action.

Please guide me if such Interactive functionality is possible in mSCA. If possible plz gude me thru sample code..

Thanks.
Omkar

report abuse
vote down
vote up
Votes: +0
Using setNextPageName
written by OmkarLathkar , March 28, 2009

Hi Senthil,

Currently I am working on a page which has following functionality.

When the user presses a button, a new page should get open. I used following code:

-----
else if (s.equals("STT.SHORTAGE") && mwaEvent.getAction().equals("MWA_SUBMIT") )
{
UtilFns.error("sttScanLoadListener: fieldExited : in Shortage");

pg.getSDetailsBtn().setNextPageName("xxbcg.oracle.apps.bcg.stt.server.helloWorldFunction");

UtilFns.error("sttScanLoadListener: fieldExited : Before refresh");

mSes.setRefreshScreen(true);

UtilFns.error("sttScanLoadListener: fieldExited : After refresh");

return;
}
------
This code is written in the fieldExited exited event for the action 'when button STT.SHORTAGE is pressesed'.
The method getSDetailsBtn() returns an object of class ButtonFieldBean.

The problem here is that, though the code gets executed and I get all the status messages but the required page does not open.

Please guide me if I need to do any additional steps so that the page gets open in the same session. Its assured that the page is present in the
given path.

Thanks
Omkar

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

for q 1) please refer to the sample code and screen shots in the "comments" section of my article http://www.apps2fusion.com/at/...-framework

for q 2) can u provide the log messages so that we can investigate further on why the new page fails to open.

Hope this helps.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
MWA Inbound receipts Extension
written by Yogasree , March 28, 2009
Hi Senthil,
Thanks for your response to my question posted on March 22nd. I tried to write code by reading your sample "Hello-World-mobile-supply-chian" but not very confident of what i wrote. Here is the outline of my script.

--Code for field exit on item_number
package xxx.custom.server

import oracle.apps.inv.utilities.server.UtilFns;
import oracle.apps.mwa.beans.FieldBean;
import oracle.apps.mwa.container.Session;
import oracle.apps.mwa.eventmodel.AbortHandlerException;
import oracle.apps.mwa.eventmodel.DefaultOnlyHandlerException;
import oracle.apps.mwa.eventmodel.InterruptedHandlerException;
import oracle.apps.mwa.eventmodel.MWAEvent;
import oracle.apps.mwa.eventmodel.MWAFieldListener;


public class CustomTestFListener implements MWAFieldListener
{
public CustomTestFListener() {}


public void (MWAEvent mwaevent) throws AbortHandlerException,
InterruptedHandlerException,
DefaultOnlyHandlerException
{

// check if the filed is item number

String s = ((FieldBean)mwaevent.getSource()).getName();

//replace with itemnumber field name below
if (s.equals("TEST.SUBMIT"))
{

//call the function

if retun_value = ‘Y’
{
//call the dialogue page method
}
}
}
}

--Dialogpage


import oracle.apps.mwa.presentation.telnet.TelnetSession;
String dialogPageButtons[] = {
"OK"
};

TelnetSession telnetsession1 = (TelnetSession)ses;
int k = telnetsession1.showPromptPage("Backorder Status","This is a BackOrdered Item!!! ",dialogPageButtons);


Here are my questions, I appreciate if you can help me understand....

1) I need to place this java file in $CUSTOM_TOP/java and compile the same correct?

2) In the above script, I am getting the name of the field into the variable called "s". Then Once i make sure that it is item_number field of (inbound-> Receipts screen) then I need to call my function. So to check the filed name tehre is a statement saying : if (s.equals("TEST.SUBMIT")) , so my question is how do i know the field name?
what should i replace the TEST in the above statement and how do i get the values for TEST and SUBMIT?

3) how to call my function, I saw calls to procedures in your script but no call to function atleast from whatever i understood. Because i need to declare a char variable
to receive the return value of the function. something like v_ret_val char(1); v_ret_val := ABC_FUN(item_number). something like that.
Can you please tell me the function call in above script?

4) Once I get the return value as 'Y' then i have to call the dialog page. How can i achieve this? Meaning can i create that as another method and make it part of the same pkg or it has to be something else? if so, can u please help me with the script?

Senthil, sorry for asking so many questions, I clearly understood your hello-world extension (i guess). But it is a complete extension, where as mine is just a field extension hense I am not able to understand what is just needed.

I sincerely appreciate your help.

Regards,
yogasri





report abuse
vote down
vote up
Votes: +0
Page Open Problem with setNextPageName
written by OmkarLathkar , March 30, 2009
Hi Senthil,

Thanks for promt reply to my query on Saturday.

My both the problems are solved today.

First Problem: I got code from the link u provided. Thanx a ton again!

Second Problem: I had a problem opening a new page using method setNextPageName.

In the code I was using a new intantiation of the page class using following code:
pg = new sttScanLoadPage();
Instead, I should be using following code
pg = (sttScanLoadPage)mSes.getCurrentPage();
This code ensured that the object pg is instantiated with a page from which I want to open a new page.

Thanks a ton for ur initiative and is helping all of us in MSCA.

Omkar


report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , March 30, 2009
My Pleasure

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
MWA Inbound receipts Extension
written by Yogasri , March 31, 2009
MWA Inbound receipts Extension

Hi Senthil,
Thanks for your response to my question posted on March 22nd. I tried to write code by reading your sample "Hello-World-mobile-supply-chian" but not very confident of what i wrote. Here is the outline of my script.

--Code for field exit on item_number
package xxx.custom.server

import oracle.apps.inv.utilities.server.UtilFns;
import oracle.apps.mwa.beans.FieldBean;
import oracle.apps.mwa.container.Session;
import oracle.apps.mwa.eventmodel.AbortHandlerException;
import oracle.apps.mwa.eventmodel.DefaultOnlyHandlerException;
import oracle.apps.mwa.eventmodel.InterruptedHandlerException;
import oracle.apps.mwa.eventmodel.MWAEvent;
import oracle.apps.mwa.eventmodel.MWAFieldListener;


public class CustomTestFListener implements MWAFieldListener
{
public CustomTestFListener() {}


public void (MWAEvent mwaevent) throws AbortHandlerException,
InterruptedHandlerException,
DefaultOnlyHandlerException
{

// check if the filed is item number

String s = ((FieldBean)mwaevent.getSource()).getName();

//replace with itemnumber field name below
if (s.equals("TEST.SUBMIT"))
{

//call the function

if retun_value = ‘Y’
{
//call the dialogue page method
}
}
}
}

--Dialogpage


import oracle.apps.mwa.presentation.telnet.TelnetSession;
String dialogPageButtons[] = {
"OK"
};

TelnetSession telnetsession1 = (TelnetSession)ses;
int k = telnetsession1.showPromptPage("Backorder Status","This is a BackOrdered Item!!! ",dialogPageButtons);


Here are my questions, I appreciate if you can help me understand....

1) I need to place this java file in $CUSTOM_TOP/java and compile the same correct?

2) In the above script, I am getting the name of the field into the variable called "s". Then Once i make sure that it is item_number field of (inbound-> Receipts screen) then I need to call my function. So to check the filed name tehre is a statement saying : if (s.equals("TEST.SUBMIT")) , so my question is how do i know the field name?
what should i replace the TEST in the above statement and how do i get the values for TEST and SUBMIT?

3) how to call my function, I saw calls to procedures in your script but no call to function atleast from whatever i understood. Because i need to declare a char variable
to receive the return value of the function. something like v_ret_val char(1); v_ret_val := ABC_FUN(item_number). something like that.
Can you please tell me the function call in above script?

4) Once I get the return value as 'Y' then i have to call the dialog page. How can i achieve this? Meaning can i create that as another method and make it part of the same pkg or it has to be something else? if so, can u please help me with the script?

Senthil, sorry for asking so many questions, I clearly understood your hello-world extension (i guess). But it is a complete extension, where as mine is just a field extension hense I am not able to understand what is just needed.

I sincerely appreciate your help.


Regards,
yogasri

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

Quick question

Are you extending a standard page or building a custom new page? If you are extending the standard page, please follow th instructions on my article http://apps2fusion.com/at/ss/2...amwa-page.

If you are extending a standard page, the code mentioned above is not following the standards of the extension.

Kindly clarify.


report abuse
vote down
vote up
Votes: +0
MWA Inbound Receipts Extension
written by Yogasri , April 01, 2009
Senthil,
Here is the assumption i made. As I am not adding any field or changing anything in the layout, i thought I can just add my customization to the standard page. Firts of all i would like to know if that is recommended. Otherwise I will create a custom new page.

I just took the souce from your custom page script. Not sure what are the standards of extenstions to make to the standard page. I am pretty new to this stuff. Please help me.

Also, can u pl tell me how to refer to my actual question in this forum. I guess that really helps to link your answer.... Thanks

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

If you plan to modify the functionality provided by Oracle, it is called Extension. In this case, you need to follow the steps which is needed to extend a standard page.

Hope this helps.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
No result is found
written by Anju , September 17, 2009
Hi Senthil,

I have added a new LOVField in Receipt screen.
The query is returning values.
But when I do a CTRL L in the LOV field, "No result is found" message is coming up.

Please clarify.

Thanks,
Anju
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , September 17, 2009
Hi Anju,

Can you please look at the log file and see if all the bind parameters (if any) are passed correctly?

You can also upload your source/log files in our forum to get wider audience.

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

Hope this helps.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
...
written by Anju , September 17, 2009
Thanks Senthil. Issue is resolved now.

Issue was because the proper parameter was not being passed.

Regards,
Anju
report abuse
vote down
vote up
Votes: +0
Is it possible to send how many labels to print when receiving Item using RF Device
written by sbt , February 05, 2010
Hi,
We are using MSCA and receiving items using Motorola Symbol device. by default it prints one label per item , I want to customize the form so tht user can enter the no. of labels to print. How to send no. of labels to print in the XML file ?

Thanks,
SBT
report abuse
vote down
vote up
Votes: +0
...
written by senthilss , February 06, 2010
Hi,

You can do this by extending the std oracle page

Refer to http://www.apps2fusion.com/at/...camwa-page for an example.

Add a field in Std Oracle page for entering the no of prints. and then call the underlying PLSQL api n number of times where n is no of copies to be printed.

Hope this helps.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
Using multiple character sets
written by Joi F , March 11, 2010
Hi, Senthil!

I was hoping you might have some insight to my problem .. it seems that you are the main wiz when it comes to MWA. smilies/grin.gif

We are currently in the process of migrating from a telnet client solution to the Oracle MWA GUI client.

We have translated a lot of the applications (including our own customizations) to Icelandic, as we are an Icelandic company. Icelandic has a few special Icelandic characters.

What we are dealing with is that our MWA server is currently configured to use UTF8 (in default_key.ini), and all of the mobile (telnet) devices (of which there are plenty, in different locations) are configured to use UTF8, also. Everything is working smoothly.

Now. The GUI client on the other hand seems not to support UTF8. All the special Icelandic characters get messed up.

I modifed default_key.ini to: CHARACTER_SET=CP1252 and the GUI client works fine. All Icelandic characters show up.
But this causes the telnet clients to stop working (as they are expecting UTF8 characters, not CP1252).

So I thought I could solve this by using the gui_key.ini file to be able to select the "GUI Client" menu item instead of "Default" when logging in.

I added the "GUI=gui_key.ini" line to the deviceIP.ini file. I modified the "mwa.cfg" file: mwa.LogLevel=trace, and when I connect via the GUI client and select "GUI Client" from the appropriate menu I can see from the trace that the MWA server indeed loads the gui_key.ini file (I even tried renaming the file (gui_key.ini) to some garbage name and I saw the error in the trace log, so I'm sure that it's loading the correct file).

However, the "CHARACTER_SET=" line in gui_key.ini file seems to have no effect on the character set that MWA sends to the client. It still uses the configuration specified in "default_key.ini".

I.e. it seems like the MWA server can only use a single global character set configuration.

So, it seems to me that in order to be able run both the telnet clients and the GUI clients I will need to change this global setting to CP1252 and reconfigure all of the telnet clients to use CP1252 instead of UTF8. This would be quite a massive deployment as we would need to reconfigure every single mobile device in all different locations.

Is this correct or am I missing something? Is it possible to solve this somehow, without having to reconfigure all the telnet clients? Do you know if this has been fixed in R12?

I should probably mention that I'm running the GUI client using the CrEme JVM on the mobile device and also on my workstation using J2SE, version 1.6. Both setups yield the same result. The both behave exactly the same, so I don't think it's a JVM problem.

Thanks in advance,
Joi F
report abuse
vote down
vote up
Votes: +0
single scan of barcode-- populate all info from barcode at one go
written by Moiz , August 25, 2010
Hi All,

I am currently working on Oracle WMS and MSCA implementation project. One requirement from client is

Single barcode ( 2-d barcode) is having following information in it,

1. Item Code

2 Lot Number

3 UOI (unit of issue)

4 Manufacture Name.


Now, Requirement is, In one barcode scan all above information should be populated onto respective field ( if present ) on current page.

Client does not want to scan four times barcode to populate above information into four different field.

Kindly let me know, how i can achieve this through CustomScanManager preprocessing functionality? Whether it can be achievable or not?
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , August 25, 2010
Hi,

Did you go through the article

http://www.apps2fusion.com/at/70-kt/372-msca-barcode-scanning-mobile-supply-chain

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
removeListener
written by shailendrasingh , December 22, 2010
hello Senthil,
ButtonFieldBean continueButton =
(ButtonFieldBean)session.getFieldFromCurrentPage("ShipLPN.Ship");
continueButton.removeListener((MWAListener)continueButton.getListeners().firstElement());
continueButton.addListener(xxListener);

taking refrence of above code i am removing listner but still old listner is getting called
can u tell me how to remove existing listner on any button
report abuse
vote down
vote up
Votes: +0
Change The First Page with the second Level page
written by PrabhakarReddy , January 28, 2011
Dear Senthil,
I would like to do the following
a) In order to get to the login screen, the user has to select default from the menu. This step should be made redundant. Is there a way to make the second page as first page
b) Default Items for a LOV
c) Sequential Number generation for LPN.

Thanks in Advance!! Really appreciate your effort
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , January 28, 2011
Hi,

a) I am not sure whether we can avoid first page.
b) & c) Yes - you can do it.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
...
written by PrabhakarReddy , February 02, 2011
Thanks for your answer. After good(?) experiences with various other blogs, I never thought I will get replies so fast !! smilies/wink.gif Thanks again!!
report abuse
vote down
vote up
Votes: +0
Cursor Position
written by Manjula Rani , March 14, 2011
Hi,

There are 4 fields in a page. Initially, Field B , D are empty and cursor focus will be in field B. My customization is, FieldB should be defaulted to field A and field D should be defaulted with value field C and cursor focus should be on Done button which is after field D.

I have done the values assignment in pageenetered. values are getting defaulted to both B and D. But still the cursor is focussing at fieldB. Please let me know how to make cursor position to Done button after field D.

report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , March 14, 2011
Hi,

The API setNextFieldName() should do this job.

sample code:

mSes.setNextFieldName("XXQtyCfm");



Hope this helps.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
how to pass values to LOV setInputParameters? I get Unsuccessful row construction error
written by Dhamayanthi , April 12, 2011
This is a customized RCV page where I have LPN lov, PO Number Lov, Supplier name, PO Line Number Lov, LineItem. Im getting PO Number LOV and from that I get Supplier name as part of it and POHeaderId. After that I need to pass POHeaderId to get PO Line Number LOV.

I have created XXP4URetailPOLOV and XXP4URetailPOLineLOV for this. Below are the code snippets. In POLINENumber field, if I press Ctl+ L it shows me " Unsuccessful row construction " but, If i manually type 1 in that coulmn, It gives me correct item as below.

LPN>2012
PO No>1001
Supplier: O3 Orange
PO Line No>1
Itemsmilies/tongue.gif10343223

I set the below prompts and flags to get POLIneNumber LOV

public XXP4URetailPOLineLOV()
{
if(UtilFns.isTraceOn)
{
UtilFns.trace("XXP4URetailPOLineLOV: XXP4URetailPOLOV()");
}

setName("PO_LINE_NO");
setRequired(true);
setValidateFromLOV(true);
String resultPrompts[] = {"PO_LineNo", "PO_LineItem", "PO_LineId"};
boolean resultFlags[] = {true, true, false};

setSubfieldPrompts(resultPrompts);
setSubfieldDisplays(resultFlags);

addListener(this);
}

public XXP4URetailPOLineLOV(String paramString)
{
this();

if (paramString.equals("PO_LINE_POREV"))
{
setlovStatement("XXP4U_PO_REVERSAL_PKG.GET_RETURN_PO_LINE_LOV");

String inputParams[]={"C", "AN", "N"};

setInputParameterTypes(inputParams);
}
}


I set inputParameters as below in Listeners :
public void Po_Line_Entered(MWAEvent mwaevent)
{
XXP4URetailPOLOV poLov = pg.getPOFld();

if (UtilFns.isTraceOn)
{
UtilFns.trace("XXP4UReturnFListener - Inside -> Po_Line_Entered: ");
UtilFns.trace("XXP4UReturnFListener - Inside -> Po_Line_Entered: Header Id: " + poLov.getPOHeaderID());
}

pg.getPOLineNoFld().setInputParameters(new String[] {" ", poLov.getPOHeaderID(),
"oracle.apps.inv.rcv.server.XXP4UReturnPage.PO_LINE_NO"});
}

The procedure is as below:
PROCEDURE get_return_po_line_lov (
x_po_lov OUT NOCOPY t_genref,
p_po_hdr_id IN NUMBER,
p_po_line_num IN NUMBER
)
IS
--
lc_debug NUMBER := NVL (fnd_profile.VALUE ('INV_DEBUG_TRACE'), 0);
--
BEGIN
--
OPEN x_po_lov FOR
SELECT DISTINCT
pol.line_num,
msi.segment1,
pol.po_line_id
FROM po_lines_all pol,
mtl_system_items_b msi
WHERE
pol.po_header_id = p_po_hdr_id
AND pol.item_id = msi.inventory_item_id
ORDER BY pol.line_num;

END get_return_po_line_lov;

Appreciate your help on this.
Thanks.

report abuse
vote down
vote up
Votes: +0
Oracle MSCA - New Applications on Browser enabled mobile device
written by mobidev , April 21, 2011
Hi apps gurus,

We are developing new application that uses Oracle inventory.
These applications should run on browser enabled mobile device.

Oracle MSCA runs on Telnet device.
With patch on desktop, Oracle MSCA application gives GUI look and feel.

Question is

a) Can we run Oracle MSCA on browser enabled device w/o installing any software on desktop?

b) We are trying to find out, should we start with standard OAF so that applications can run on browser and
make modifications so that mobile device constraints are taken into account ?

c) Should we start with using Oracle MSCA base classes and make modifications so that new application
can run on a browser enabled device.

We are trying to find out whether to go with Option b) or Option c)
Any inputs are appreciated.

Thank you,
report abuse
vote down
vote up
Votes: +0
how to add multilistbean into a msca page ?
written by X_Dev , April 26, 2011
Hi,

i must do multiple selection from lov. i thought doing this with multilistbean, but i couldn't any source code about multilistbean.
Can i do multiple selection with multilistbean?
Have you any sources?

Thanks.
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , April 26, 2011
Hi,

Please try it and check if it works.


mlb = new MultiListRuntimeFieldBean();
mlb.addRowValue("A1");
mlb.addRowValue("A2");
mlb.addRowValue("A3");
mlb.setName("MLB");

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
...
written by X_Dev , April 27, 2011
Hi,

i tried your code, but it didn't work.
when i used addFieldBean(mlb), it had unexpexted error.
i checked the system logs.

[Wed Apr 27 11:15:36 EEST 2011] (Thread-15) MWA_PM_UNEXPECTED_ERROR_MESG: Unexpected error occurred, Please check the log.
java.lang.NullPointerException
at oracle.apps.mwa.presentation.telnet.PresentationManager.handle(PresentationManager.java:1287)
at oracle.apps.mwa.presentation.telnet.ProtocolHandler.run(ProtocolHandler.java:849)

when i deleted addFieldBean(mMultiListRuntimefield1) line, i hadn't error.

have you any idea?

my code is

...
...
import oracle.apps.mwa.beans.MultiListRuntimeFieldBean;
...
...

public class XxMyPage extends PageBean
{
mfieldListener = new xxmyListener();
...
...
...
mMultiListRuntimefield1 = new MultiListRuntimeFieldBean() ;
mMultiListRuntimefield1.addRowValue("A1");
mMultiListRuntimefield1.addRowValue("A2");
mMultiListRuntimefield1.addRowValue("A3");
mMultiListRuntimefield1.setName("MLB");

addFieldBean(mMultiListRuntimefield1);
mMultiListRuntimefield1.addListener(xxmyListener);
...
...
}

Thanks & Regards

report abuse
vote down
vote up
Votes: +1
Re: Oracle MSCA - New Applications on Browser enabled mobile device
written by kalimuthu V , April 27, 2011
Hi,
We cannot run the MSCA client from the browser, but we can develop a custom OAF Application and run in Mobile Browser.
The development is same as desktop, but we need to take care of layout. And some of the Beans will not work like desktop browser.

And there are plugins in Firefox to test the pages(it will look like mobile browser). And what kind of Mobile browser and OS you are going to use
some of them are not supported by Oracle.
Let me know if you want more details, we have developed a custom application which runs on Mobile Browser.

Thanks,
With regards,
Kali.

report abuse
vote down
vote up
Votes: +0
Simulate Key Strokes - Like Ctrl +G , Ctrl + L on field entered
written by Prabhakar Kommera , May 16, 2011
Senthil,
The customer wants to default certain field on entering the screen. There are certail fields like the Drop Door LOV which they want to be populated the moment they enter the field. Even certain LPN they want to generate the moment they enter the field (Simulate Ctrl + G). Is there a way to do this in MWA ?

Thanks for your help!!

Regards,
prabhakar
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , May 16, 2011
Hi,

Yes you can do that by 2 options:

1) If you are on 11.5.10 or 12.1 you can do it via MWA Personalization.
2) You can do an extension and achieve the same.

Hope this helps.

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
Simulate Key Strokes - Like Ctrl +G , Ctrl + L on field entered
written by Prabhakar K , May 16, 2011
Senthil,
Our functional consultant says that these pages cannot be found to do the MWA Personilization , so I am left with option of customization. I will be grateful if you can provide me a code snippet to generate the Key strokes in the extension pages.

Thanks for your quick reply.

Best Regards,
Prabhakar
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , May 16, 2011
Hi,

I guess you can use the following method to capture the key strokes

public void specialKeyPressed(MWAEvent mwaevent)
throws AbortHandlerException, InterruptedHandlerException, DefaultOnlyHandlerException
{

}

Thanks and Regards,
Senthil
report abuse
vote down
vote up
Votes: +0
Simulate Key Strokes - Like Ctrl +G , Ctrl + L on field entered
written by Prabhakar K , May 16, 2011
I think this works for Cntl + G where I could get the event and generate the LPNs.. But it does not work for Cntl + L for defaulting the LOVs.. It is not being captured by spcialKeyPressed method in the FListener class.. Do you have any other suggestions on this ?

Can you tell me how to do this using personilizations. I could query this page in the personilization page, however lack the knowledge to default it there..

regards,
Prabhakar
report abuse
vote down
vote up
Votes: +0
...
written by Senthilkumar Shanmugam , May 16, 2011
I think you can use the method setValue() to default values for LOVs
report abuse
vote down
vote up
Votes: +0
Problem with textfieldbean
written by Sergio , June 17, 2011
Hi,

I have a problem when I try to show the textfieldbean on screen.
My code:

TextFieldBean cajaPrueba = new TextFieldBean();
cajaPrueba.setName("prueba");
cajaPrueba.setPrompt("Prueba: ");
cajaPrueba.setEditable(true);
cajaPrueba.addListener(listener);
addFieldBean(cajaPrueba);

The screen show this:

Prueba[:[7m[0m]

And I can't write in the textfield.

I don't know what could be the problem.

Can you help me?

Thanks and Regards,
Sergio
report abuse
vote down
vote up
Votes: +0
TAB Key is not workking in Mobile GUI (11i)
written by Raj Takur , July 18, 2011
Hi All,
I am trying to use mobile GUI but whenever we are using TAB key ,UI behaves in weired way.For example in my login page after entering user I tab out to password field and after entering password when I press Enter my password field value gets copied in user field and user field value removes from there .

So basicaly field value jumps 1 field up .This happens for all pages along with login page and only when I use tab key to navigate .

I am using jdk 1.8.1.

Please let me know if anyone have any idea or solution.Application is in 11i

Thanks ,
Raj
report abuse
vote down
vote up
Votes: +0
TAB Key is not workking in Mobile GUI (11i)
written by Raj Takur , July 20, 2011
Hello Senthil & Group,
TAB key is not working in Mobile GUI while trying to navigate from one field to another ,however it works in telnet screen.Is there anything I need to set ?I am in 11i application.

Regards,
Raj
report abuse
vote down
vote up
Votes: +0
TAB Key is not working in Mobile GUI (11i)
written by Vince Solis , December 30, 2011
Raj,

We have j4941477 and 1.3.1_20 JRE and that seems to work fine (worked also with 1.1.8 JDK). not working with 1.4.x or higher. but we're in R12 (j4941477 is 11.5 and higher I think).

-Vince
report abuse
vote down
vote up
Votes: +0
Oracle MSCA - Function Keys on Windows Mobile
written by Piraba , January 13, 2012
I need your helps on Oracle MWA. I have successfully installed mwa application in windows mobile 6.0
The function key doesn't work on the windows mobile.Some forum they said put the "key_gui.ini" in the secure folder. I couldn't find out the location.is it located in the client patch or server patch ? & this patch j4205328 doesn't contain the secure folder or default_key.ini or gui_key.ini

This is my command:

WindowsCrEmeinCrEme.exe -Of -classpath WindowsCrEmelibAWTclasses.
zip;XONTMWAlibj4205328.zip oracle.apps.mwa.awt.client.StartGUI

I am using this patch : j4205328.zip

Please let me know where we want to put this application.


I am looking forward your reply.

Thanks in advance

Regards;
Piraba
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
Last Updated ( Thursday, 01 January 2009 09:00 )  

Search apps2fusion