Login
Register

Home

Trainings

Fusion Blog

EBS Blog

Authors

CONTACT US

Kishore Ryali
  • 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

Search Courses

In one of my old articles on OA Framework extension, I briefly mentioned about Nested Application modules. Today I will explain how Nested Application module can be used. Nested AM is an application module which is under the scope of root application module. Root application module is the AM attached to top region of the page during design time. It maintains the session state and retention level for requests between client and server.

Root AM can contain one or more nested AMs which can themselves nest children to any arbitrary level. In this scenario, the root AM has access to all the data/objects held by its children, and all children participate in the same transaction established by the root.

How do you create nested application module?
Nested application module is created in a similar fashion as any application module. You can create it using wizard in JDeveloper by selecting view objects it uses and code any custom methods in AMImpl class. You can nest an instance of an application module inside another application module in design time or run time.

Design-Time

Suppose you have two application modules XxRootAM and XxNestedAM in your project. To make XxNestedAM nested to XxRootAM, you reference XxNestedAM in Application Module section of XxrootAM Editor. Below screenshot shows editor and how XxrootAM.xml is added with AppModuleUsage tag to reference XxNestedAM.

 

Run-Time

You use createApplicationModule() method in oracle.jbo.ApplicationModule Interface, to create an instance of application module on another application module. For the above example,
assuming ram is instance of XxRootAM, below command creates instance nam for XxNestedAM.

OAApplicationModule nam = (OAApplicationModule)ram.createApplicationModule("XxNestedAM", "xxa2f.oracle.apps.icx.icatalog.shopping.server.XxNestedAM");

You have to give full-qualified name of application module as second parameter. You can then access view objects attached to root application module, in nested application module. Suppose XxRootAM has view object XxVO, you can get instance of it in XxNestedAM using

ViewObject vo = nam.findViewObject("XXVO");

Note that XxNestedAM should be created declaratively before it can be nested using createApplicationModule() in run-time.


Why use nested application module?
Nested application module promotes reusablility and modularizing business logic into smaller and specific business components. It helps to prevent root application module in growing bigger and become nightmare for maintenance and concurrent development. Starting with release 11.5.10, nested application modules are instantiated on an "as needed" basis (in previous releases, BC4J instantiated all the nested application modules when the containing application module was created). For example, if you do a findApplicationModule , BC4J will instantiate the object. If a nested application module is never accessed, it is not created.

More importantly than usual, you can use nested application module to put custom business logic in root application module for seeded pages. It is not advisable to extend root application module. You can still get away with extending root AM until your seeded page doesn't have LOV fields. If page has LOV fields, root AM extension will cause session time out when clicked on LOV. The error looks similar to

"Error: Cannot Display Page
You cannot complete this task because one of the following events caused a loss of page data:
Your login session has expired.
A system failure has occurred. "

I was stuck up with the same error when I extended root AM in the Part-2 article of Custom Defaulting and Validation in iProcurment. So solution for root AM extension is to use nested application module. They come really handy in such scenarios
.

Give me an example?
In iProcurement, I will add custom logic to print "Requisition Header Id" in console when "Add to Cart" button is pressed during requisition creation. Some details of 'About this Page' for Non-Catalog Request page.

Page Name: NonCatalogRequestPG
Controller: NonCatalogRequestCO
AM: RequisitionAM

To implement above requirement, I will create custom application module and make it nested to RequisitionAM in Controller. Then I will create printReqHeaderId() method to access PoRequisitionHeadersVO in custom application module and print Requisition Header Id in console.

Steps to use nested application module

  • Create application module XxNestedAM in JDeveloper.
  • Create a method printReqHeaderId in XxNestedAM to get instance of PoRequisitionHeadersVO via root application module. Use getter method to print requisition header id in console.



package xxa2f.oracle.apps.icx.icatalog.shopping.server;
import oracle.apps.fnd.framework.server.OAApplicationModuleImpl;
import oracle.apps.icx.icatalog.shopping.server.*;
import oracle.apps.icx.por.req.server.*;
import oracle.apps.fnd.framework.*;
import oracle.apps.fnd.common.VersionInfo;

public class XxNestedAMImpl extends OAApplicationModuleImpl
{
public XxNestedAMImpl()
{
}

public void printReqHeaderId()
{
System.out.println("Start > XxNestedAM.printReqHeaderId");
OAApplicationModule rootAM = (OAApplicationModule)getRootApplicationModule();
PoRequisitionHeadersVOImpl poh = (PoRequisitionHeadersVOImpl) rootAM.findViewObject("PoRequisitionHeadersVO");
PoRequisitionHeadersVORowImpl pohr = (PoRequisitionHeadersVORowImpl) poh.getCurrentRow();
System.out.println("POHeaderId=" + pohr.getRequisitionHeaderId());
System.out.println("End > XxNestedAM.printReqHeaderId");
}

public static final String RCS_ID = "$Header: XxNestedAMImpl.java 115.30 2009/05/13 21:40:39 kryali noship $";
public static final boolean RCS_ID_RECORDED = VersionInfo.recordClassVersion("$Header: XxNestedAMImpl.java 115.30 2009/05/13 21:40:39 kryali noship $", "xxa2f.oracle.apps.icx.icatalog.shopping.server");
}


  • Create extension NonCatalogRequestCO controller by naming it as xxNonCatalogRequestCO. In processFormRequest() method for AddToCart event, use createApplicationModule() to create instance of XxNestedAM and call method in nested application module using invokeMethod() method.



package xxa2f.oracle.apps.icx.icatalog.shopping.webui;

import oracle.apps.fnd.common.*;
import oracle.apps.fnd.framework.*;
import oracle.apps.fnd.framework.webui.*;
import oracle.apps.fnd.framework.webui.beans.*;
import oracle.apps.icx.por.req.webui.*;
import oracle.jbo.ViewObject;
import oracle.apps.icx.icatalog.shopping.webui.NonCatalogRequestCO;
import oracle.apps.icx.icatalog.shopping.server.*;
import oracle.apps.icx.por.req.server.*;
import oracle.apps.fnd.common.VersionInfo;

public class xxNonCatalogRequestCO extends NonCatalogRequestCO
{
public xxNonCatalogRequestCO()
{
}

public void processFormRequest(OAPageContext oapagecontext, OAWebBean oawebbean)
{
try
{
if(oapagecontext.getParameter("AddToCart") != null)
{
System.out.println("*** XX Custom Code Start ***");
OAApplicationModule ram = oapagecontext.getApplicationModule(oawebbean);
// Create Nested Application Module
OAApplicationModule nam = (OAApplicationModule)ram.findApplicationModule("XxNestedAM");
if (nam == null)
nam = (OAApplicationModule)ram.createApplicationModule("XxNestedAM", "xxa2f.oracle.apps.icx.icatalog.shopping.server.XxNestedAM");
nam.invokeMethod("printReqHeaderId");
System.out.println("*** XX Custom Code End ***");
}
}
catch (Exception e)
{
System.out.println("Error=" + e);
}

super.processFormRequest(oapagecontext, oawebbean);
}

public static final String RCS_ID = "$Header: xxNonCatalogRequestCO.java 115.30 2009/05/13 21:40:39 kryali noship $";
public static final boolean RCS_ID_RECORDED = VersionInfo.recordClassVersion("$Header: xxNonCatalogRequestCO.java 115.30 2009/05/13 21:40:39 kryali noship $", "xxa2f.oracle.apps.icx.icatalog.shopping.webui");
}



I've used findApplicationModule() method to check if nested AM is already created, before creating another instance with the same name.

  • Personalize NonCatalogRequestPG page to provide extended Controller XxNonCatalogRequestCO as controller.
  • Run NonCatalogRequestPG in JDeveloper. Enter details in Non-Catalog Request page and hit Add to Cart button. This prints requisition header id in console output in JDeveloper.



This demonstrates how nested application module can be used to add custom business logic in seeded OA Framework pages.

Any other approach?

You can create a custom region say xxCustomRN with application module XxNestedAM and attach the region using OAF Personalization. So the application module XxNestedAM becomes nested to root application module via region. This involves more steps as you have to load custom region definition into MDS repository using XMLImporter utility and create flexible layout to attach custom RN to seeded page. I'll create my next article on this topic.

Update: I've implemented alternate approach in the article How to extend root AM using nested AM. I did not seem bad as I expected.


Kishore Ryali

Comments   

0 #1 AnilSharma 2009-05-15 01:41
Hi Kishore,

Just want to confirm that this is useful when we want to extend the AM i.e Root AM then we can create another AM and make it nested AM.

So through Nested AM we can achieve the business need.

Thanks
- -Anil
Quote
0 #2 Kishore Ryali 2009-05-15 11:20
Hi Anil,

You are right. You can use nestedAM to extend rootAM, without the LOV issue.

Kishore
Quote
0 #3 Kishore Ryali 2009-05-15 11:25
Anil,
One thing that still bothers me is ... According to OAF User Guide, Nested AM shares same transaction and context with root AM. So I should be able to get instance of VOs attached to root AM in Nested AM using statement

PoRequisition HeadersVOImpl poh = (PoRequisitionH eadersVOImpl) nestedAM.findViewObject ("PoRequisition HeadersVO");
Bu t for some reason, I'm always getting null even when I extend nested AM from root AM in design-time. So for this reason, I got handle to root AM in nested AM using getRootApplicat ionModule() in the tutorial.

Kish ore
Quote
0 #4 AnilSharma 2009-05-18 03:11
Thanks Kishore,

You mean to say always do with....
PoRequ isitionHeadersV OImpl poh = (PoRequisitionH eadersVOImpl) rootAM.findView Object("PoRequi sitionHeadersVO ");

and if we will test with nestedAM.findVi ewObject("PoReq uisitionHeaders VO"); then we will get NULL.

--Anil
Quote
0 #5 Kishore Ryali 2009-05-18 07:26
Anil,

Yes. I meant the same. Also check another article http://apps2fusion.com/at/kr/407-how-to-extend-root-application-module-using-nested-application-module for extending root AM.

Kishore
Quote
0 #6 Lakshminarayana 2009-10-14 01:54
Hi All,

I need add two fields in global header and data display from data base table.

how to slove the issue..

Naraya na
Quote
0 #7 mysticsoulshee1 2022-03-20 03:29
My family every time say that I am killing my time here at net,
but I know I am getting know-how all the time by reading thes nice
posts.
Quote
0 #8 Гадания онлайн, 2022-03-23 01:26
Good day! Do you use Twitter? I'd like to follow
you if that would be okay. I'm definitely enjoying your blog and
look forward to new updates.
Quote
0 #9 Wiley 2022-05-18 12:05
Hi there, I found your website via Google at the same time as looking for a related topic, your website came up,
it looks good. I have bookmarked it in my
google bookmarks.
Hi there, simply become aware of your weblog thru Google, and located that
it's really informative. I am going to watch out for brussels.
I will be grateful in case you proceed this in future.
Many other folks will likely be benefited from your
writing. Cheers!
Quote
0 #10 Bonnie 2022-05-24 22:37
Having read this I thought it was extremely
enlightening. I appreciate you spending some time and
energy to put this information together. I once again find myself spending way
too much time both reading and posting comments. But so what,
it was still worthwhile!
Quote
0 #11 比特幣賭博 2022-07-07 18:47
Hey very nice blog!
Quote
0 #12 Jyhbraffruilm 2022-08-04 15:32
cialis no prescription overnight cialis forsale https://xucialika.com/
Quote
0 #13 WrfvBeary 2022-08-05 16:34
cheap viagra wholesale purchase sildenafil 100 mg sildenafil 100mg online
Quote
0 #14 Jrvxniday 2022-08-07 13:35
where to buy sildenafil in canada mexico viagra prices sildenafil 50 mg buy online
Quote
0 #15 Junbraffruilm 2022-08-07 22:45
how often can i take cialis cialis 5mg no perscription no prescription cialis
Quote
0 #16 Nrfxniday 2022-08-09 05:32
Baclofen Inderal Celexa
Quote
0 #17 Egwwherb 2022-08-09 15:28
Noroxin Dilantin Levitra with Dapoxetine
Quote
0 #18 AfgoJoils 2022-08-10 08:21
purchase cialis with paypal cialis in canada cheap generic cialis canada
Quote
0 #19 Jxedraffruilm 2022-08-13 22:48
snorting cialis generic cialis super active tadalafil 20mg cialis pharmacy https://ciallsed.com/
Quote
0 #20 Jrnoniday 2022-08-13 23:30
viagra vs cialis/strong> black cialis overnight canada drugs cialis https://qcialiuss.com/
Quote
0 #21 Eiawherb 2022-08-15 16:12
purchase viagra pills buy viagra online canada paypal sildenafil 6mg https://viagrjin.com/
Quote
0 #22 Ntceniday 2022-08-15 17:35
viagra tadalafil cialis and viagra cialis manufactured in canada https://pocialgo.com/
Quote
0 #23 AfxxJoils 2022-08-16 09:44
affordable drugs canada best pet pharmacy online buy prescription drugs online xanax https://mgpharmmg.com/
Quote
0 #24 WgsBeary 2022-08-17 21:12
thesis acknowledgement examples thesis definition and examples thesis and outline examples https://thesismelon.com/
Quote
0 #25 Jxesniday 2022-08-19 17:21
high quality article writing service paper writers for college write my paper one day https://paperabbrs.com/
Quote
0 #26 Jxwwraffruilm 2022-08-20 03:37
research paper thesis statement cause and effect thesis statement examples euthanasia thesis statement https://thesismetre.com/
Quote
0 #27 baclofen2022.top 2022-08-20 15:01
Fastidious replies іn return ⲟf tһіs issue with genuine arguments ɑnd
describing all аbout tһɑt.

Stop by my website :: һow to get cheap baclofen without a prescription (baclofen2022.t օp: https://baclofen2022.top)
Quote
0 #28 Ecrwherb 2022-08-22 07:05
luthers 95 thesis thesis proposal sample how to write a thesis examples https://thesisabbess.com/
Quote
0 #29 WdxcBeary 2022-08-23 07:06
thesis introduction paragraph what was the frontier thesis thesis statement definition and examples
Quote
0 #30 Jvbyraffruilm 2022-08-26 06:45
short essay examples how many sentences are in a essay how to write a college application essay
Quote
0 #31 Nbfyniday 2022-08-27 10:16
persuasive essay thesis statement examples poverty thesis statement thesis acknowledgement s examples
Quote
0 #32 WxevBeary 2022-08-28 05:25
how to start a college essay best essay writer thesis statement example essay
Quote
0 #33 Jxecniday 2022-08-30 01:08
essay meaning in spanish friendship essay essay outline
Quote
0 #34 Jxcrraffruilm 2022-08-31 14:07
500 words essay example outline essay how to quote in an essay
Quote
+1 #35 Nxerniday 2022-08-31 17:24
self evaluation sample essay thesis essay example police brutality essay
Quote
0 #36 Merlebob 2022-09-01 01:23
zithromax for sale online macrodantin antibiotic
Quote
0 #37 Robertcoica 2022-09-01 03:10
plaquenil weight loss hydroxychloroqu ine order online
Quote
0 #38 Raymondweast 2022-09-01 10:23
https://sildenafil.pro/# sildenafil over the counter united states
Quote
0 #39 Merlebob 2022-09-02 14:29
buy cheap bactrim zithromax buy
Quote
0 #40 Waynecal 2022-09-02 16:33
tadalafil pills 20mg how much is tadalafil
Quote
0 #41 Raymondanges 2022-09-03 04:48
https://lisinopril.icu/# 40 mg lisinopril for sale
Quote
0 #42 BradleyGag 2022-09-03 14:25
https://pharmacy.ink/# canada rx pharmacy world
lisinopril price without insurance lisinopril 2.5 mg for sale
Quote
0 #43 Jwnvniday 2022-09-04 00:53
can you buy generic viagra over the counter in canada best over the counter female viagra buy viagra soft tabs online
Quote
0 #44 Jmgtraffruilm 2022-09-04 09:29
cialis vs. viagra buying cialis from canada cialis viagara
Quote
0 #45 WmfsBeary 2022-09-04 15:31
why nyu essay examples essay questions good introduction for essay
Quote
0 #46 Raymondanges 2022-09-04 17:47
https://pharmacy.ink/# pharmacy canadian superstore
Quote
0 #47 baclofen2022.top 2022-09-04 23:59
Nice post. I useԀ to ƅe checking cߋnstantly this blog and where can i buy cheap baclofen prices (baclofen2022.t ⲟp: https://baclofen2022.top)'m impressed!
Veгy useful inf᧐rmation specially tһe ultimate ρart :
) I care fоr ѕuch info mսch. Ι was seeking this paгticular
іnformation f᧐r a ѵery long time. Thаnks and best of luck.
Quote
0 #48 Nsbuniday 2022-09-05 17:34
cost of prescription viagra generic viagra 150 mg pills order sildenafil 20 mg
Quote
0 #49 Ewbwherb 2022-09-06 02:01
buy cialis online in new zealand cialis 20 mg cheap taking cialis and viagra together
Quote
0 #50 Raymondanges 2022-09-06 05:54
https://lisinopril.icu/# lisinopril 3760
Quote
0 #51 Raymondanges 2022-09-07 04:22
https://withoutdoctorprescription.xyz/# buy prescription drugs without doctor
buy nolvadex online tamoxifen brand name
Quote
0 #52 Josephjoync 2022-09-07 13:39
what is paxlovid pfizer covid pill
https://viagracanada.xyz/# do i need a prescription for viagra
Quote
0 #53 WnwxBeary 2022-09-08 09:05
order viagra pills online generic viagra for sale buy online viagra tablets
Quote
0 #54 Raymondanges 2022-09-08 15:21
https://withoutdoctorprescription.xyz/# buy prescription drugs from india
tamoxifen and grapefruit tamoxifen moa
Quote
0 #55 Raymondanges 2022-09-10 02:25
https://molnupiravir.life/# molnupiravir 800 mg tablet
tamoxifen cancer tamoxifen postmenopausal
Quote
0 #56 Raymondanges 2022-09-11 12:55
https://molnupiravir.life/# molnupiravir drug
molnupiravir brand name monapinavir
Quote
0 #57 Glenna 2022-09-11 16:02
I would like to thank you for the efforts you have put in writing this
blog. I'm hoping to view the same high-grade blog posts by you
in the future as well. In truth, your creative writing abilities has motivated me to get my own, personal blog now ;)
Quote
0 #58 Mirta 2022-09-11 17:41
Hey exceptional website! Does running a blog such as this require a
large amount of work? I've very little knowledge of computer programming however I was hoping to start my own blog in the near future.

Anyways, should you have any recommendations or techniques for new blog owners please share.
I know this is off topic however I simply had to ask.
Cheers!
Quote
0 #59 Nbqzniday 2022-09-12 15:07
buy sildenafil online uk price of viagra 100mg in canada best female viagra tablets
Quote
0 #60 Eugenetok 2022-09-13 04:22
mectizan stromectol buy ivermectin for humans uk
https://stromectol1st.com/# ivermectin rats
Quote
0 #61 AllenTal 2022-09-13 14:03
ivermectin toxicity dog ivermectin safety
https://stromectol1st.com/# buy liquid ivermectin
Quote
0 #62 Enswherb 2022-09-13 14:22
viagra online over the counter viagra in india cost viagra from canada
Quote
0 #63 WiqzBeary 2022-09-14 17:47
tadalafil tablets for sale cialis sex viagra tadalafil
Quote
0 #64 Eugenetok 2022-09-14 17:57
stromectol tab price ivermectin toxicity in cats treatment
https://stromectol1st.com/# ivermectin merck
Quote
0 #65 Jamesunton 2022-09-15 03:26
what are ed drugs natural ed remedies
https://clomid.pro/# where to buy clomid canada
Quote
0 #66 BrianFus 2022-09-15 12:37
https://24hr-pharmacy.top/# how to order prescription drugs from canada
Quote
0 #67 Jamesunton 2022-09-16 14:02
buying from canadian online pharmacies best canadian online pharmacies
https://clomid.pro/# buy clomid online cheap
Quote
0 #68 QlzIPQR 2022-09-16 15:48
Medicines prescribing information. What side effects?
propecia
cheap motrin
propecia brand name
Everything what you want to know about drugs. Read here.
Quote
0 #69 Jpplraffruilm 2022-09-17 01:28
cialis 10mg ireland cialis support 365 cialis indien bezahlung mit paypal
Quote
0 #70 Jrczniday 2022-09-17 10:55
purchase cialis on line is there a generic equivalent for cialis cialis daily vs 36 hour
Quote
0 #71 Jamesunton 2022-09-18 00:43
doxycycline hyclate 100mg where to get doxycycline in singapore
https://doxycycline.pro/# doxycycline pills cost
Quote
0 #72 Ewxrtwherb 2022-09-18 20:03
cialis sale cialis buy paypal cialis and nitrates
Quote
0 #73 Ntvcniday 2022-09-19 07:44
buy cipla tadalafil cialis prescription cialis free 30 day trial
Quote
0 #74 DycMOUC 2022-09-19 21:17
Medicines information for patients. Short-Term Effects.
levitra
zithromax pill
propecia
Some trends of medicine. Read information here.
Quote
0 #75 lyrica2us.top 2022-09-20 00:21
obviously likе yоur web site but you need to taкe a look ɑt thе spelling on severaⅼ
of your posts. А number of tһеm arе rife with spelling issues аnd I
find it ѵery troublesome һow to buy generic pregabalin ρrice (lyrica2ᥙs.top: https://lyrica2us.top) inform the truth neѵertheless
І wіll definiteⅼy come back again.
Quote
0 #76 JasonReigh 2022-09-20 11:22
cheapest pharmacy to fill prescriptions without insurance canadian prescription pharmacy
Quote
0 #77 Charlesphort 2022-09-20 17:21
https://canadianpharmacy.best/# real canadian pharmacy
Quote
0 #78 nexium4us.top 2022-09-20 18:27
Quality articles or reviews іs the іmportant to attract
the people tⲟ visit tһe web page, tһat's wһat tһis site is providing.


Ηere is my site - can i ordeг cheap nexium ᴡithout a prescription (nexium4սs.top: https://nexium4us.top)
Quote
0 #79 JacobboOda 2022-09-20 23:20
reputable online pharmacy no prescription no prescription needed pharmacy
https://pharmacywithoutprescription.best/# pharmacy coupons
Quote
0 #80 Nengniday 2022-09-21 18:41
generic sildenafil 92630 viagra over the counter uk price viagra 50 mg tablet price in india
Quote
0 #81 AnwnJoils 2022-09-22 09:03
how to take levitra levitra coupon 2019 levitra for sale
Quote
0 #82 JacobboOda 2022-09-22 10:46
buy cheap doxycycline online cheap zithromax pills
https://canadianpharmacy.best/# canada pharmacy online
Quote
0 #83 JasonReigh 2022-09-23 06:55
best canadian pharmacy no prescription canadian pharmacies not requiring prescription
Quote
0 #84 JacobboOda 2022-09-23 21:49
overseas pharmacy no prescription rx pharmacy coupons
https://canadianpharmacy.best/# canadian pharmacy in canada
Quote
0 #85 JasonReigh 2022-09-24 20:11
ed pills natural ed medications
Quote
0 #86 Ecxzwherb 2022-09-25 07:17
is tadalafil generic tadalafil (tadalis-ajanta ) reviews buy cialis online reviews
Quote
0 #87 mobic2all.top 2022-09-25 11:28
Wow, this piece of writing is good, my younger sister іs analyzing thеѕe kinds ⲟf things,
tһerefore I am going to tell her.

Have a look at my web blog - can уou buy cheap mobic pills (mobic2аll.toр: https://mobic2all.top)
Quote
0 #88 lyrica2us.top 2022-09-25 11:43
Ꭲhіs paragraph ԝill һelp tһе internet viewers foг
setting up new blog or even a weblog from start to end.


Feel free tⲟ visit my site can i purchase generic pregabalin ѡithout dr prescription (lyrica2սs.top: https://lyrica2us.top)
Quote
0 #89 Joxwniday 2022-09-25 16:11
cialis commercial 2016 cialis 20mg cialis 5mg australia
Quote
0 #90 Jntzraffruilm 2022-09-25 23:59
free trial cialis use cialis promise coupon orlando fl buying viagra or cialis min canada
Quote
0 #91 JasonReigh 2022-09-26 09:45
buy amoxicillin online without prescription buy amoxicillin online no prescription
Quote
0 #92 JacobboOda 2022-09-26 21:08
zithromax online no prescription cheap amoxicillin 500mg
https://canadianpharmacy.best/# canadian neighbor pharmacy
Quote
0 #93 SkpGVPL 2022-09-27 00:43
Uptown Casino is a state-of-the-ar t Las Vegas experience with all the bells and whistles of your favorite Vegas casino, but in a more upscale, casual atmosphere. Find an array of popular slot games like jackpots, progressive machines and video poker. There's even a poker room at Uptown.
uptown casino no deposit bonus codes 2022
Quote
0 #94 AcrnJoils 2022-09-27 08:18
phendimetrazine online pharmacy cialis generic canadian pharmacy pharmacy store fixtures and design
Quote
0 #95 JacobboOda 2022-09-28 00:18
bactrim without prescription bactrim antibiotic online prescriptions
https://antibioticwithoutpresription.shop/# bactrim antibiotic online prescriptions
Quote
0 #96 Euuywherb 2022-09-30 06:24
can you get high off lisinopril what is the drug hydrochlorothia zide used for hydrochlorothia zide (microzide)
Quote

Add comment


Security code
Refresh

Search Trainings

Fully verifiable testimonials

Apps2Fusion - Event List

<<  Mar 2024  >>
 Mon  Tue  Wed  Thu  Fri  Sat  Sun 
      1  2  3
  4  5  6  7  8  910
11121314151617
18192021222324
25262728293031

Enquire For Training

Related Items

Fusion Training Packages

Get Email Updates


Powered by Google FeedBurner