Login
Register

Home

Trainings

Fusion Blog

EBS Blog

Authors

Contact Us

Authors
  • Register

Oracle Gold Partners, our very popular training packages, training schedule is listed here
Designed by Five Star Rated Oracle Press Authors & Oracle ACE's.

webinar new Click here to raise Support Ticket. Get reply within 48 hours.

Search Courses

User Rating: 5 / 5

Star ActiveStar ActiveStar ActiveStar ActiveStar Active
 

A recent project required me to extend and customize the PO Receipt page in the MWA MSCA. The extension of the RcptGenPage and RcptGenFListener was a little more complicated than some of the examples you see out there. It requires a lot more customization and bringing over oracle seeded attributes and private methods. It also requires you to have patience and using the trace debugging method that MWA provides. In this article I hope to help you learn more about how I was able to get this extended and customize the page to allow for a new field and calling pl/sql functions/procedures from within the mobile application.

Source code is available here

The business requirement was pretty simple, but the task was quite daunting. I needed to display an “Item Weight” field after the population of the “Item Number” LOV was populated. The item weight field is required and pre-populated from the item master table (if it exists). The most difficult task for me to do was actually getting the standard functionality of the PO Receipt page implemented. It always seemed to call the original seeded Listener code instead of my listener. I couldn’t figure out why until I brought over every “Private” method that the original listener used. Once I was able to do this it would make a call to my listener first.
The business requirement was pretty simple, but the task was quite daunting. I needed to display an “Item Weight” field after the population of the “Item Number” LOV was populated. The item weight field is required and pre-populated from the item master table (if it exists). The most difficult task for me to do was actually getting the standard functionality of the PO Receipt page implemented. It always seemed to call the original seeded Listener code instead of my listener. I couldn’t figure out why until I brought over every “Private” method that the original listener used. Once I was able to do this it would make a call to my listener first.

Up until now all the code has been “extended” from the oracle seeded receipt pages. Now the customized code processing of this customization starts at the Item text field. When the Item LOV is exited it calls a method fieldExited(). This determines if the INV.ITEM LOV field was the field that was exited. Since it was it called my page code to actually “display” it, then it calls my custom itemExitedX() method. Note, that this method is copied directly from the Oracle seeded code, but has been changed just be executed specifically for the PO RECEIPT page. If you want to implement it for different pages (ie. RMA) then you’ll need to copy it over and insert debug statements to find out its flow through the method call.

Within the itemExitedX() method it does some code handling to determine if the mOrigitemWeightValue variable has been populated. If it hasn’t then it executes another custom method setItemWeight(). This call actually uses a CallableSTatement to call a function I created to pass in the item and return the “unitWeight” stored in the item master table.

Now when the item weight field is modified and exited it always calls another custom method called updItemWeight(). This is called in the locationEntered() method because it is the field that is entered when the Item Weight field is exited.

This is about the gist of the customization I needed to do for the PO Receipt form. If you look through my code you may have done some things different and you may need to change the way things are done. If you know other ways (maybe more efficient ways) to do things please let me know. I always want to learn better ways to do things. We all know that the documentation out there isn’t all that great and doesn’t work for every customization we need to do.

If you need consulting help in MSCA/MWA extensions/OAF customizations or any other consulting needs please contact us. You can also visit us at www.luciditycg.com



Materials & Mfg Receipts PO


 


Kyle Thomas

Comments   

0 #1 Rohini 2009-02-28 16:28
Excellent work Kyle.

Thanks and Regards,
Senthi l
Quote
0 #2 Anil Passi-- 2009-02-28 16:31
Hi kyle

This will help many people.
apps2fu sion.com/forums had too many requests for this article, thanks for publishing the same.

Cheers,
Anil Passi
Quote
0 #3 tutu1121 2009-03-01 18:41
Thansk a ton
Quote
0 #4 Moahmmed 2011-02-03 08:41
am try to do same thing , but its not working
when i enter the Po Num , it give me ( No result is found ), and the LOV is empty , when i press on it , give me the same error
Quote
0 #5 shailendrasingh 2011-02-04 09:12
hello Senthil,
i am cutomizing PO reciept form,in this i have to add two fields so i extend all three classes,
every thing is working fine but LPN field is not getting display on the page.

please give me soltion.

thank s
shailendra
Quote
0 #6 Vincent Maseko (South Africa) 2011-03-24 03:36
Hi Kyle,

This is a brilliant post!
Especiall y the source code - it is helping me a lot in my customization.

Ta,
Vincent
Quote
0 #7 Kyle Thomas 2011-03-24 06:51
You're very welcome Vincent! Glad you found it resourceful.
Quote
0 #8 Gowri Shankar 2011-04-07 09:46
Hi Kyle,
We are in R12.1.1. We are using the Mobile Application for receiving the LPNs. There is a requirment to have the following restrictions in Receiving

To restrict the multiple receipts of single LPN. (sometimes user are doing muliple LPN scanning while Receiving, we need to avoid this).
To restrict the assignment of more than one item in a LPN (while receiving).

I believe we need to extend the PO Receipt MWA form. Can you please guide me on this, as I am new to Mobile Application.
Th anks,
Gowri.
Quote
0 #9 Kyle Thomas 2011-04-07 10:16
Gowri,

I recommend you going through and doing a few of the samples: http://www.apps2fusion.com/apps-training/mobile-supply-chain-application-framework

This will guide you to learn how extending these forms work and what you need to do to set them up.

You can refer to my source code to give you some help as well. I no longer work with the mobile web apps so I won't be much help unless you're stuck with an issue that I faced.

Regards ,
Kyle
Quote
0 #10 mobidev 2011-04-21 23:14
Would like to run Mobile PO receipt on Browser enabled mobile device.
Without installing patches or Java classes on mobile device, is there a way we can get GUI feature for Mobile PO receipt?
Quote
0 #11 Kyle Thomas 2011-04-22 07:24
Not to my knowledge. The only way I see that possible is recreating the application using ADF. This would allow you to develop an application that not only runs on a regular browser but has the capability to run on any mobile device as well.

You would not be able to "extend" these classes as this would be a complete rewrite of the application.
Quote
0 #12 AmitSrivastava 2011-05-09 00:19
Hi Senthil,

I wanted to add a new field in PO receipt mobile form. Please advise how to do this.

Regards,

Amit
Quote
0 #13 Junaid Iftikhar 2011-05-23 03:03
AS PER MY BUSINESS REQUIREMENT, I WANT CONTAINER NUMBER FIELD TO BE ADDED TO MOBILE RECEIVING FORM , AS I HAVE ONE ASN WITH MULTI-CONTAINER S INSIDE IT . SO I WILL RECEIVE BY CONTAINER AND ASSIGN LPN TO IT..

LOKING FORWARD FOR YOUR KIND RESPONSE,
Quote
0 #14 swapnaj 2011-12-09 00:41
Hi kyle,
After extending the page,in the new page i am not getting the values for the old lov fields.(for example for existing field like Dock door,field are getting displayed but LOV is not getting displayed)

Can you please help on this.
Quote
0 #15 Vishy 2013-12-11 23:50
I have a requirement to call MWA_MENU which is same as clicking F2 button in oracle mobile without key press but in a listener. How can i approach
Quote
0 #16 aaron12332132 2014-11-19 23:20
Using the code below I have added a DescriptiveFlex FieldBean to a Receive All Page.

I am unable to get it to display inline, how can I achieve this?


this.mDffBean = new DescriptiveFlex FieldBean("WMS", "WMS_LICENSE_PL ATE_NUMBERS", null, "DEFAULT",paramSession);
this.mDffBean.s etDisplayInline (true);

ArrayList localArrayList1 = new ArrayList();
localArrayList1 .add(mDffBean);
this.setInlineD ffBeans(localAr rayList1);

this.mDffBean.s etName("LPNDFF" );
this.mDffBean.s etDisplayInline (true);
this.mDffBean.s etHidden(false) ;
this.mDffBean.s etDisplayInline (true);
UtilFns.trace(" this.mDffBean.i sDisplayInline( ): " + this.mDffBean.i sDisplayInline( ));
FileLogger.getSystemLogger().trace("this.mDff Bean.isDisplayI nline(): " + this.mDffBean.i sDisplayInline( ));


addFieldBean(this.mDffBean);
Quote
0 #17 Arun Minnasandran 2015-04-18 04:41
I have an MSCA requirement where we need MSCA support for fusion receiving. Currently Oracle does not support it, is there a way we can leverage existing MSCA for fusion receiving or any other method to accomplish this. We need to scan barcodes for receiving. Appreciate any inputs on this
Quote
0 #18 Bhavesh 2015-08-21 05:37
Hello Kyle,

We had a requirement to add po line shipment number(for both standard and blanket release PO) and and PO line number for Blanket release.

Thanks to your article we have managed to extend all three classes and was able to display the the 2 fields as per the above requirement.

However the challenge remains is for the internal api call to accept the line_location_id.

We are trying to override the standard api call with our custom api call to pass additional parameter which is line_location_id.

The issue is we are not override the standard listener call for RCV_BUTTON even though in the page class in the initcustom we have added the custom listener initialization.

getDoneBut().addListener(this.xxListener);


However if you notice in the below log it is still calling the standard listener for "RCV.RCPT_DONE".

xRcptGenFListene r.fieldEntered - complete
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCV: RcvButton - fieldExited
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCV: RcptGenFListene r.fieldExited
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCV: RcvFListener.fi eldExited - fldName = RCV.RCPT_NEXT_ITEM
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCV: RcptGenFListene r.fieldExited - fldName = RCV.RCPT_NEXT_ITEM
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCV: RcptGenFListner .nextItemExited
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCV: RcptGenFListene r.fieldExited - complete
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCV: xRcptGenFListene r.fieldExited
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCV: xRcptGenFListene r.fieldExited -RCPT_NEXT_ITEM
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCV: xxRcptGenFListner .nextItemExited
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCV: RcvButton - fieldEntered
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCV: RcptGenFListene r.fieldEntered
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCV: RcvFListener.fi eldEntered - fldName = RCV.RCPT_DONE
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCV: RcptGenFListene r.fieldEntered - fldName = RCV.RCPT_DONE
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCV: RcptGenFListene r.fieldEntered - complete
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCV: RcvButton - fieldExited
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCV: RcptGenFListene r.fieldExited
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCV: RcvFListener.fi eldExited - fldName = RCV.RCPT_DONE
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) Base next item exited called
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCV: RcptGenFListene r.fieldExited - fldName = RCV.RCPT_DONE
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCV: RcptGenFListner .doneButExited
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCV: RcptGenFListner .doneButExited 10
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCV: RcptGenFListner .doneButExited 20 - calling nextItemExited
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCV: RcptGenFListner .nextItemExited
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCV: RcptGenFListner .nextItemExited 10
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) Inside isSerialControl led 1
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCV: insertLotRecord s - Creating the savepoint: PROCESS_LOT_REC
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) Create savepoint PROCESS_LOT_REC complete.
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCV: RcptGenFListner.insertLotRecord s
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) Before returning, clearing the lot, interface and the attributes vectors
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27) RCPTGEN: RcptGenFListner .nextItemExited 10
[Wed Aug 19 03:53:16 PDT 2015] (Thread-27)

Any help or pointers will be highly appreciated.

Regards
Bhavesh
Quote
0 #19 AAjsjrv 2021-06-25 09:56
http://clck.ru/Vhqmh http://clck.ru/Vhqsf http://clck.ru/Vhqsm http://clck.ru/Vhqti http://clck.ru/Vhqsh http://clck.ru/Vhqsd http://clck.ru/Vhqte http://clck.ru/VhqtL http://clck.ru/VhqsH http://clck.ru/VhqsV http://clck.ru/Vhqtg http://clck.ru/VhqtQ http://clck.ru/Vhqt6 http://clck.ru/Vhqt8 http://clck.ru/VhqtW http://clck.ru/VhqsR http://clck.ru/VhqtU http://clck.ru/Vhqt4 http://clck.ru/Vhqsw http://clck.ru/VhqsZ http://clck.ru/VhqsF http://clck.ru/VhqtJ http://clck.ru/Vhqsy http://clck.ru/Vhqtt http://clck.ru/Vhqtk http://clck.ru/VhqtE http://clck.ru/VhqtN http://clck.ru/Vhqtx http://clck.ru/Vhqsb http://clck.ru/Vhqt2 http://clck.ru/VhqvQ http://clck.ru/VhqvL http://clck.ru/Vhqv8 http://clck.ru/Vhqu9 http://clck.ru/VhquK http://clck.ru/Vhqva http://clck.ru/Vhqub http://clck.ru/VhqvG http://clck.ru/VhquM http://clck.ru/VhqvS http://clck.ru/VhquR http://clck.ru/Vhqvg http://clck.ru/Vhqu3 http://clck.ru/Vhqv2 http://clck.ru/VhqvU http://clck.ru/VhquT http://clck.ru/Vhquh http://clck.ru/Vhqu5 http://clck.ru/VhquD http://clck.ru/VhquP http://clck.ru/Vhqum http://clck.ru/VhqvN http://clck.ru/VhqvC http://clck.ru/VhquX http://clck.ru/Vhqvc http://clck.ru/VhqvJ http://clck.ru/Vhquy http://clck.ru/VhqvW http://clck.ru/Vhqvi http://clck.ru/VhqvE http://clck.ru/VhquV http://clck.ru/Vhquf http://clck.ru/VhquF http://clck.ru/Vhqvk http://clck.ru/Vhqu7 http://clck.ru/VhquZ http://clck.ru/VhqvY http://clck.ru/Vhqud http://clck.ru/Vhqv6 http://clck.ru/Vhquj http://clck.ru/Vhqvn http://clck.ru/VhquB http://clck.ru/Vhqv4 http://clck.ru/VhquH http://clck.ru/Vhqve http://clck.ru/Vhquo http://clck.ru/Vhquw http://clck.ru/Vhquu http://clck.ru/Vhquq http://clck.ru/Vhqus http://clck.ru/VhqxL http://clck.ru/VhqxJ http://clck.ru/VhqxQ http://clck.ru/VhqxN http://clck.ru/VhqwK http://clck.ru/VhqxU http://clck.ru/VhqwT http://clck.ru/Vhqws http://clck.ru/VhqwF http://clck.ru/VhqxY http://clck.ru/VhqwR http://clck.ru/Vhqvv http://clck.ru/Vhqxc http://clck.ru/VhqwM http://clck.ru/Vhqwq http://clck.ru/VhqxS http://clck.ru/VhqwP http://clck.ru/VhqwH http://clck.ru/Vhqvt http://clck.ru/Vhqvz http://clck.ru/Vhqw7 http://clck.ru/VhqwD http://clck.ru/Vhqx4 http://clck.ru/Vhqwm http://clck.ru/Vhqx2 http://clck.ru/VhqxW http://clck.ru/Vhqw5 http://clck.ru/Vhqwh http://clck.ru/VhqxC http://clck.ru/Vhqw3 http://clck.ru/Vhqw9 http://clck.ru/VhqwB http://clck.ru/Vhqwu http://clck.ru/VhqwV http://clck.ru/Vhqx6 http://clck.ru/VhqwX http://clck.ru/Vhqwf http://clck.ru/Vhqwy http://clck.ru/VhqwZ http://clck.ru/Vhqwo http://clck.ru/Vhqwd http://clck.ru/Vhqwj http://clck.ru/VhqxE http://clck.ru/Vhqwb http://clck.ru/Vhqvx http://clck.ru/Vhqxa
svnjdzcvcxbnnxg dnl
Quote

Add comment


Security code
Refresh

Search Trainings

Fully verifiable testimonials

Apps2Fusion - Event List

<<  Aug 2021  >>
 Mon  Tue  Wed  Thu  Fri  Sat  Sun 
        1
  2  3  4  5  6  7  8
  9101112131415
16171819202122
23242526272829
3031     

Enquire For Training

Related Items

Fusion Training Packages

Get Email Updates


Powered by Google FeedBurner