We have in the past articles seen various examples of FNDLOAD, for both AOL objects and web ADI. In this article, you will see how to move AME Definitions from one instance to another. The confusing thing about AME FNDLOAD is that these scripts are available in two locations, which are
$AME_TOP/patch/115/import
$PER_TOP/patch/115/import
It is recommended to use the LCT files in $AME_TOP where possible.
In this article, you will learn to download and upload the following AME Components
1. AME Conditions
2. AME Groups
3. AME action type usages
4. AME Rules
These are in $AME_TOP/patch/115/import
$ ls –lx
amesaagc.lct amesaatc.lct amesactu.lct amesacus.lct
amesappg.lct amesappo.lct amesapty.lct amescond.lct
amesconk.lct amescvar.lct amesicls.lct amesiclu.lct
amesmatr.lct amesmatt.lct amespdan.lct amesrule.lct
amesrulk.lct US
I want to download AME Conditions. How can I do that.
For downloading and uploading custom AME Conditions, you need to use LCT file amesconk.lct. Please note that Oracle also delivers another LCT file named amescond.lct. However amescond.lct works only for the standard/seeded AME conditions. In order to download custom AME Conditions, you must use amesconk.lct
What is the information required to download AME Conditions.
In order to download any object that is associated with a given AME Transaction type, you will need the Application Short Name and the AME Transaction Type short name. Both of these can be found from AME Configuration screens. However for downloading AME Conditions, you need to know something known as AME Condition Key. All these details can be found by running the SQL Statement as shown below
select FA.APPLICATION_SHORT_NAME,
ACA.TRANSACTION_TYPE_ID,
ACON.CONDITION_KEY,
ACON.CONDITION_ID,
ACON.CONDITION_TYPE,
AATT.NAME,
nvl(ACON.PARAMETER_ONE, null),
nvl(ACON.PARAMETER_TWO, null),
nvl(ACON.PARAMETER_THREE, null),
nvl(ACON.INCLUDE_UPPER_LIMIT, null),
nvl(ACON.INCLUDE_LOWER_LIMIT, null),
to_char(ACON.LAST_UPDATE_DATE, 'YYYY/MM/DD HH24:MI:SS'),
substrb(FND_LOAD_UTIL.OWNER_NAME(ACON.LAST_UPDATED_BY), 1, 100) OWNER
from AME_ATTRIBUTE_USAGES AAU,
AME_ATTRIBUTES AATT,
AME_CALLING_APPS ACA,
AME_CONDITIONS ACON,
AME_STRING_VALUES ASV,
FND_APPLICATION_VL FA
where /*:APPLICATION_SHORT_NAME is not null
and :TRANSACTION_TYPE_ID is not null
and FA.APPLICATION_SHORT_NAME like :APPLICATION_SHORT_NAME
and */ACON.CONDITION_ID = ASV.CONDITION_ID(+)
and FA.APPLICATION_ID = ACA.FND_APPLICATION_ID
/* and ((:TRANSACTION_TYPE_ID = 'NULL' and ACA.TRANSACTION_TYPE_ID is null) or
ACA.TRANSACTION_TYPE_ID like :TRANSACTION_TYPE_ID)*/
and ACON.ATTRIBUTE_ID = AATT.ATTRIBUTE_ID
and AAU.APPLICATION_ID = ACA.APPLICATION_ID
and AAU.ATTRIBUTE_ID = AATT.ATTRIBUTE_ID
/* and (:ATTRIBUTE_NAME is null or
(:ATTRIBUTE_NAME is not null and AATT.NAME like :ATTRIBUTE_NAME))
*//* and (:CONDITION_KEY is null or (:CONDITION_KEY is not null and
ACON.CONDITION_KEY like :CONDITION_KEY))
*/ and ACON.CONDITION_TYPE in ('pre', 'auth')
and AATT.NAME not in
('ALLOW_DELETING_RULE_GENERATED_APPROVERS',
'ALLOW_REQUESTOR_APPROVAL', 'AT_LEAST_ONE_RULE_MUST_APPLY',
'EFFECTIVE_RULE_DATE', 'EVALUATE_PRIORITIES_PER_ITEM',
'USE_RESTRICTIVE_ITEM_EVALUATION')
and sysdate between AAU.START_DATE and
nvl(AAU.END_DATE - (1 / 86400), sysdate)
and sysdate between AATT.START_DATE and
nvl(AATT.END_DATE - (1 / 86400), sysdate)
and sysdate between ACA.START_DATE and
nvl(ACA.END_DATE - (1 / 86400), sysdate)
and sysdate between ACON.START_DATE and
nvl(ACON.END_DATE - (1 / 86400), sysdate)
order by ACON.creation_date desc
--Note this SQL will return the most recently created AME Conditions on top
--Therefore you can find the condition key
How can I download the AME Condition?
After knowing the Application Short Name, Transaction Type Short Name, and Condition Key, you can then run the FNDLOAD command for downloading the AME Condition as shown below, one single line
FNDLOAD apps/appsPassword 0 Y DOWNLOAD $AME_TOP/patch/115/import/amesconk.lct XX_apps2fusion_HR_AME_COND.ldt AME_CONDITIONS APPLICATION_SHORT_NAME='PER' TRANSACTION_TYPE_ID='SSHRMS' CONDITION_KEY='143353006:10371'
Of course the values for PER, SSHMS and ‘143353006:10371’ are derived from the SQL statement shown as above.
How can I upload the AME Condition?
In order to upload this AME Condition, run the command as shown below
FNDLOAD apps/appsPassword 0 Y UPLOAD $AME_TOP/patch/115/import/amesconk.lct XX_apps2fusion_HR_AME_COND.ldt
How can I download and upload AME Approval Groups?
For migrating AME Approval Groups, you will use LCT Configuration file named amesappg.lct. In order to use this LCT file in FNDLOAD command, you must find out the name of the approval group. Use the SQL as shown below to find the AME Approval Group Name
select apg.name,
nvl(apgtl.user_approval_group_name, apg.name),
nvl(apgtl.description, apg.description),
replace(apg.query_string, fnd_global.local_chr(13), null),
apg.is_static,
to_char(apg.last_update_date, 'YYYY/MM/DD HH24:MI:SS'),
substrb(FND_LOAD_UTIL.OWNER_NAME(apg.LAST_UPDATED_BY), 1, 100) OWNER
from ame_approval_groups apg,
(select approval_group_id, user_approval_group_name, description
from ame_approval_groups_tl
where language = userenv('LANG')) apgtl
where sysdate between apg.start_date and
nvl(apg.end_date - (1 / 86400), sysdate)
and apg.is_static = 'N'
and apg.approval_group_id = apgtl.approval_group_id(+)
/* and (:APPROVAL_GROUP_NAME is null or (:APPROVAL_GROUP_NAME is not null and
apg.name like :APPROVAL_GROUP_NAME))*/
ORDER BY apg.CREATION_DATE DESC
To download the Approval group, use the command that is similar to as shown below
FNDLOAD apps/appsPassword 0 Y DOWNLOAD $AME_TOP/patch/115/import/amesappg.lct XX_apps2fusion_HR_APP_GRP.ldt AME_APPROVAL_GROUPS APPROVAL_GROUP_NAME='XX_FT_3RD_LEVEL_APPROVER'
In order to upload the Approval Group in new environment, use the command as shown below
FNDLOAD apps/appsPassword 0 Y UPLOAD $AME_TOP/patch/115/import/amesappg.lct XX_apps2fusion_HR_APP_GRP.ldt
To download the AME Rule, use amesrulk.lct
In order to build the download command for AME Rules, you will require the following information
APPLICATION_SHORT_NAME
TRANSACTION_TYPE_ID
RULE_KEY
All these can be derived by running the SQL Statement as shown below
--ame rules sql
select ARUL.RULE_KEY,
ARUL.RULE_ID,
AAT.NAME,
AA.PARAMETER,
to_char(ARUL.RULE_TYPE),
nvl(ARULTL.DESCRIPTION, ARUL.DESCRIPTION),
AIC.NAME,
to_char(ARUL.LAST_UPDATE_DATE, 'YYYY/MM/DD HH24:MI:SS'),
substrb(FND_LOAD_UTIL.OWNER_NAME(ARUL.LAST_UPDATED_BY), 1, 100) OWNER
from AME_RULE_USAGES ARU,
AME_ACTIONS AA,
AME_ACTION_TYPES AAT,
AME_ACTION_USAGES AAU,
AME_ITEM_CLASSES AIC,
AME_RULES ARUL,
AME_CALLING_APPS ACA,
FND_APPLICATION_VL FA,
(select RULE_ID, DESCRIPTION
from AME_RULES_TL
where LANGUAGE = userenv('LANG')) ARULTL
where /*:APPLICATION_SHORT_NAME is not null
and :TRANSACTION_TYPE_ID is not null
and */
/* FA.APPLICATION_SHORT_NAME like :APPLICATION_SHORT_NAME
and */
FA.APPLICATION_ID = ACA.FND_APPLICATION_ID
and ARUL.RULE_ID = ARULTL.RULE_ID(+)
/* and ((:TRANSACTION_TYPE_ID = 'NULL'
and ACA.TRANSACTION_TYPE_ID is null)
or ACA.TRANSACTION_TYPE_ID like :TRANSACTION_TYPE_ID)
*/
and ACA.APPLICATION_ID = ARU.ITEM_ID
and ARU.RULE_ID = ARUL.RULE_ID
and AAU.RULE_ID = ARUL.RULE_ID
and AAU.ACTION_ID = AA.ACTION_ID
and AA.ACTION_TYPE_ID = AAT.ACTION_TYPE_ID
and AAU.ACTION_ID = (select ACTION_ID
from AME_ACTION_USAGES AU1
where AU1.RULE_ID = ARUL.RULE_ID
and sysdate between AU1.START_DATE and
nvl(AU1.END_DATE - (1 / 86400), sysdate)
and rownum < 2)
and ARUL.ITEM_CLASS_ID = AIC.ITEM_CLASS_ID
/* and (:RULE_KEY is null
or (:RULE_KEY is not null
and :RULE_KEY = ARUL.RULE_KEY))
*/
and ARUL.RULE_TYPE in (1, 2, 5, 6, 7)
and sysdate between ARU.START_DATE and
nvl(ARU.END_DATE - (1 / 86400), sysdate)
and sysdate between ARUL.START_DATE and
nvl(ARUL.END_DATE - (1 / 86400), sysdate)
and sysdate between ACA.START_DATE and
nvl(ACA.END_DATE - (1 / 86400), sysdate)
and sysdate between AAU.START_DATE and
nvl(AAU.END_DATE - (1 / 86400), sysdate)
and sysdate between AA.START_DATE and nvl(AA.END_DATE -
(1 / 86400), sysdate)
and sysdate between AAT.START_DATE and
nvl(AAT.END_DATE - (1 / 86400), sysdate)
and sysdate between AIC.START_DATE and
nvl(AIC.END_DATE - (1 / 86400), sysdate)
and AA.ACTION_ID in
(select ACT.ACTION_ID
from AME_ACTIONS ACT, AME_ACTION_TYPES ACTY, AME_APPROVAL_GROUPS AAG
where to_char(AAG.APPROVAL_GROUP_ID) = ACT.PARAMETER
and ACT.ACTION_TYPE_ID = ACTY.ACTION_TYPE_ID
and ACTY.NAME in ('pre-chain-of-authority approvals',
'post-chain-of-authority approvals',
'approval-group chain of authority')
and AAG.IS_STATIC = 'N'
and sysdate between ACTY.START_DATE and
nvl(ACTY.END_DATE - (1 / 86400), sysdate)
and sysdate between ACT.START_DATE and
nvl(ACT.END_DATE - (1 / 86400), sysdate)
and sysdate between AAG.START_DATE and
nvl(AAG.END_DATE - (1 / 86400), sysdate)
UNION
select ACT.ACTION_ID
from AME_ACTIONS ACT, AME_ACTION_TYPES ACTY
where ACT.ACTION_TYPE_ID = ACTY.ACTION_TYPE_ID
and ACTY.NAME not in ('pre-chain-of-authority approvals',
'post-chain-of-authority approvals',
'approval-group chain of authority')
and sysdate between ACT.START_DATE and
nvl(ACT.END_DATE - (1 / 86400), sysdate)
and sysdate between ACTY.START_DATE and
nvl(ACTY.END_DATE - (1 / 86400), sysdate))
order by ARU.last_update_date desc
Once you know the RULE_KEY, then AME Rule can be downloaded by running the FNDLOAD command as shown below
FNDLOAD apps/appsPassword 0 Y DOWNLOAD $AME_TOP/patch/115/import/amesrulk.lct XXTHR_apps2fusionAME_RULE.ldt AME_RULES APPLICATION_SHORT_NAME='PER' TRANSACTION_TYPE_ID='SSHRMS' RULE_KEY='143353006:10184'
In order to upload the AME Rule in another instance, use the SQL as shown below
FNDLOAD apps/appsPassword 0 Y UPLOAD $AME_TOP/patch/115/import/amesrulk.lct XXTHR_apps2fusionAME_RULE.ldt
To download AME Action Type Usages, you will use amesacus.lct
The list of parameters for downloading the AME Action Type Usages is the same as those for AME Rules.
For example, the FNDLOAD command for downloading the Action Type Usages in AME will be
FNDLOAD apps/appsPassword 0 Y DOWNLOAD $AME_TOP/patch/115/import/amesacus.lct XXTHR_apps2fusion_AUSG.ldt AME_ACTION_USAGES APPLICATION_SHORT_NAME='PER' TRANSACTION_TYPE_ID='SSHRMS' RULE_KEY='143353006:10184'
Likewise, to upload the AME Action Type usage in another eBusiness Suite instance, use a command similar to as shown below
FNDLOAD apps/appsPassword 0 Y UPLOAD $AME_TOP/patch/115/import/amesacus.lct XXTHR_apps2fusion_AUSG.ldt
In order to find the parameters for AME Action Type Usages, use SQL below
select ARUL.RULE_KEY,
AAT.NAME,
AAC.PARAMETER,
AAC.PARAMETER_TWO,
AAU.LAST_UPDATE_DATE
from AME_CALLING_APPS ACA,
AME_RULES ARUL,
AME_RULE_USAGES ARU,
AME_ACTION_TYPES AAT,
AME_ACTIONS AAC,
AME_ACTION_USAGES AAU,
FND_APPLICATION_VL FA
where /*:APPLICATION_SHORT_NAME is not null
and :TRANSACTION_TYPE_ID is not null
and */ /*FA.APPLICATION_SHORT_NAME like :APPLICATION_SHORT_NAME
and */
FA.APPLICATION_ID = ACA.FND_APPLICATION_ID
/* and ((:TRANSACTION_TYPE_ID = 'NULL'
and ACA.TRANSACTION_TYPE_ID is null)
or ACA.TRANSACTION_TYPE_ID like :TRANSACTION_TYPE_ID)
*/
and ACA.APPLICATION_ID = ARU.ITEM_ID
and ARUL.RULE_ID = ARU.RULE_ID
and AAC.ACTION_TYPE_ID = AAT.ACTION_TYPE_ID
and AAU.RULE_ID = ARUL.RULE_ID
and AAU.ACTION_ID = AAC.ACTION_ID
/* and (:RULE_KEY is null
or (:RULE_KEY is not null
and :RULE_KEY = ARUL.RULE_KEY))
*/
and ARUL.RULE_TYPE in (1, 2, 7)
and AAT.NAME not in ('approval-group chain of authority')
and sysdate between ACA.START_DATE and
nvl(ACA.END_DATE - (1 / 86400), sysdate)
and sysdate between AAT.START_DATE and
nvl(AAT.END_DATE - (1 / 86400), sysdate)
and sysdate between AAU.START_DATE and
nvl(AAU.END_DATE - (1 / 86400), sysdate)
and sysdate between AAC.START_DATE and
nvl(AAC.END_DATE - (1 / 86400), sysdate)
and sysdate between ARUL.START_DATE and
nvl(ARUL.END_DATE - (1 / 86400), sysdate)
and sysdate between ARU.START_DATE and
nvl(ARU.END_DATE - (1 / 86400), sysdate)
UNION
select ARUL.RULE_KEY, AAT.NAME, AAG.NAME, null, AAU.LAST_UPDATE_DATE
from AME_CALLING_APPS ACA,
AME_RULES ARUL,
AME_RULE_USAGES ARU,
AME_ACTION_TYPES AAT,
AME_ACTIONS AAC,
AME_ACTION_USAGES AAU,
AME_APPROVAL_GROUPS AAG,
FND_APPLICATION_VL FA
where /*:APPLICATION_SHORT_NAME is not null
and :TRANSACTION_TYPE_ID is not null
and */ /*FA.APPLICATION_SHORT_NAME like :APPLICATION_SHORT_NAME
and */
FA.APPLICATION_ID = ACA.FND_APPLICATION_ID
/* and ((:TRANSACTION_TYPE_ID = 'NULL'
and ACA.TRANSACTION_TYPE_ID is null)
or ACA.TRANSACTION_TYPE_ID like :TRANSACTION_TYPE_ID)
*/
and ACA.APPLICATION_ID = ARU.ITEM_ID
and ARUL.RULE_ID = ARU.RULE_ID
and AAC.ACTION_TYPE_ID = AAT.ACTION_TYPE_ID
and AAU.RULE_ID = ARUL.RULE_ID
and AAU.ACTION_ID = AAC.ACTION_ID
/* and (:RULE_KEY is null
or (:RULE_KEY is not null
and :RULE_KEY = ARUL.RULE_KEY))
*/
and ARUL.RULE_TYPE in (1, 2, 5, 6)
and AAT.NAME in
('pre-chain-of-authority approvals', 'post-chain-of-authority approvals',
'approval-group chain of authority')
and AAG.IS_STATIC = 'N'
and AAC.PARAMETER = to_char(AAG.APPROVAL_GROUP_ID)
and sysdate between AAG.START_DATE and
nvl(AAG.END_DATE - (1 / 86400), sysdate)
and sysdate between ACA.START_DATE and
nvl(ACA.END_DATE - (1 / 86400), sysdate)
and sysdate between AAT.START_DATE and
nvl(AAT.END_DATE - (1 / 86400), sysdate)
and sysdate between AAU.START_DATE and
nvl(AAU.END_DATE - (1 / 86400), sysdate)
and sysdate between AAC.START_DATE and
nvl(AAC.END_DATE - (1 / 86400), sysdate)
and sysdate between ARUL.START_DATE and
nvl(ARUL.END_DATE - (1 / 86400), sysdate)
and sysdate between ARU.START_DATE and
nvl(ARU.END_DATE - (1 / 86400), sysdate)
and sysdate between AAC.START_DATE and
nvl(AAC.END_DATE - (1 / 86400), sysdate)
and sysdate between ARUL.START_DATE and
nvl(ARUL.END_DATE - (1 / 86400), sysdate)
and sysdate between ARU.START_DATE and
nvl(ARU.END_DATE - (1 / 86400), sysdate)
order by 5 desc
Comments
thanks
rabindra
I have created a Special Information Type say snispecial . In Custom Responsibility Say MurResp (Forms not OAF) I want only this SIT to be available separatley to
make entries(there are more than 10 sits I want this alone to be displayed) have have done it in OAF page by putting it in the Segment List but in the Forms I am not sure how to dot it . Is is that we have to create a Taks Flow Node? If so how to do it or is there any other way it can be achieved.
Plea se advise
Regards ,
R.MURUGESH
Can we upload AME Actions using FNDLOAD?
If no, is there any other way to migrate AME actions between instances.
Tha nks,
Sandip
in it or something. I thyink that you could do with a few pics
to drive the message home a bit, but other than that, this is fantastic blog.
An excellent read. I'll definitely be back.
Check out my site; RuneScape minigame: https://probemas.com/osrs-minigame-services
(from what I've read) Is thaqt what you're sing on your blog?
Check out my homepage :: Old Schooll RuneScape miinigames services, Keira: https://probemas.com/osrs-minigame-services,
data concerning my study and knowledge.
my blog ... Old School RS quests: https://honknews.com/osrs-quests-with-the-most-experience/65292/
I'm starting a blog soon but have no coding experience so I wanted to get guidance frokm
someone with experience. Any help would be greatly appreciated!
my webb ste Zul-Andra
OSRS: https://Webmobistar.com/most-profitable-osrs-bosses-for-farming-gold/
Do you know how to make your site mobile friendly? My
blog looks weird when browsing from my iphone. I'm trying to find a themme or plugkn that mght be
able to correct this problem. If you have any suggestions, please share.
Thank you!
Feeel free to surf to my blog - buy RuneScape
gold (probemas.com: https://probemas.com/buy-rs3-gold)
I too am an aspiring blog writer but I'm still new
to thhe wjole thing. Do you have any suggestions ffor beginner blog writers?
I'd genuinely appreciate it.
Visit my weeb sitte :: Old School RuneScape minigames; techpages.net: https://techpages.net/10-best-osrs-minigames-you-should-play/,
I appreciate you taking the time and effort to put this short article together.
I once again find myself spending a lot of time both reading and posting comments.
But so what, it wwas still worthwhile!
my web blog ... OSRS quest guide: https://probemas.com/buy-rs3-gold
thats whhy i have read it fully
Also visit my website :: Runescape bonds (Stewart: https://Probemas.com/blog/earn-osrs-bonds-fast)
and what you desire to say about thhis paragraph, in my
view its truly amazing for me.
Here is my weeb site; Prifddinas OSRS; Shirley: https://webmobistar.com/most-profitable-osrs-bosses-for-farming-gold/,
sikte by accident, and I'm surprised whyy this twist
of fate did not happened earlier! I bookmarked it.
my website ... RuneScape guide for beginjners [Azucena: http://dailyrochdaleuknews.com/osrs-infernal-cape-everything-you-need-to-know/]
its really really nicee post oon buolding up new blog.
Visit my blog poszt buy Runescape 3 gold: https://Probemas.com/buy-rs3-gold
read other news.
Here is my web blog :: Haunted Woods OSRS: https://webmobistar.com/most-profitable-osrs-bosses-for-farming-gold/
That is the first time I frequnted yourr webb page and so far?
I amazed with thhe research you made to create this particular publish extraordinary.
Excellent process!
Have a look at my blog post RS3 Gold: https://probemas.com/buy-rs3-gold
Also visit my site: RuneScape questing: https://probemas.com/osrs-questing-services
Here iss my blog :: unban OSRS guide: https://probemas.com/blog/osrs-unban-guide
basis to geet updated fromm newest information.
Also visit my blog :: Old School RS quests: https://probemas.com/osrs-questing-services
I'm using thee same blg platform as yours and I'm having trouble finding one?
Thanks a lot!
My blog :: rent OSRS staker (probemas.com: https://probemas.com/osrs-max-main-rentals)
favor”.I'm attempting to find things to enhance my site!I suppose
its ok to usse some of your ideas!!
my blog: RuneScape 2007
Quest: https://probemas.com/osrs-questing-services
mmay just I aam getting that kind of information written in such a perrfect manner?
I've a venture that I am just nnow running on, and I have been on tthe look out for such information.
Also visit my blog post :: 2007 RuneScape: https://probemas.com/osrs-questing-services
am reading this wonderful paragraph to increase my knowledge.
compatibility issues. When I look at your blog in Opera, it looks fine but when opening in Internet Explorer, it has some overlapping.
I just wanted to give you a quick heads up!
Other then that, terrikfic blog!
Feel free to surf too myy webpage; OSRS beginners quests (Barlecoq.com: https://Barlecoq.com/2021/07/19/best-osrs-quests-for-new-players/)
My last blog (wordpress) was hacked and I ended up losing a
few months of hard work duue to no back up. Do you hhave any methods guide to OSRS: https://probemas.com/osrs-bossing-service prevent hackers?
print, we all bbe awaare of media is a enormous source of data.
Here is my web-site - buy RuneScape membership, probemas.com: https://probemas.com/buy-runescape-membership,
aam a blogger, and I wwas wanting to know ypur situation; we have created some nnice methods and we aare looking
to exchange strategies with othe folks, please shoot me an e-mail
if interested.
my web page; 2007 runescape: https://www.newsanyway.com/2021/07/30/6-things-osrs-beginners-should-know/
websites onn the net. I am going to highly recommend this site!
Feel free to surf to my page ... OSRS: https://probemas.com/buy-osrs-account
blogosphere. Brief but very precise info… Thanks for sharing this one.
A musat read post!
Here is my blog; RuneScape acckunt (Ryan: https://probemas.com/buy-osrs-account)
my website RS
2007: https://probemas.com/osrs-bossing-service
excellent blog! I guess for now i'll settle for book-marking
and adding your RSS feed to my Google account.
I look forward to brand new updates and will share this
blog with my Facebook group. Chat soon!
My web-site; RuneScape 2007: https://probemas.com/osrs-bossing-service
but it has pretty much the same layout and design.
Great cchoice of colors!
my blog post; RS 2007: https://probemas.com/buy-osrs-account
and be updsated with the newest news update posed here.
Also visit my blog post; best online games: https://getassist.net/make-money-playing-mmorpgs/
RSS feed for comments to this post