Oracle FNDLOAD Script Examples .In this article I wish to give real working examples of Oracle's FNDLOAD utility. Besides that, I have included some notes at the bottom of this article. I have used FNDLOAD successfully in past for several different entities/data types within Oracle 11i for almost all my previous clients, ever since this utility became available. Some of the examples in this FNDLOAD article include:- FNDLOAD to transfer Request Groups FNDLOAD for moving Concurrent Programs FNDLOAD to download and upload Forms Personalizations ( or Personalisations depending on where you are located ) Use FNDLOAD for transferring value set definitions. -->Please note that when transferring Key Flex Fields and Descriptive flex fields the respective value sets against each segment will be extracted and loaded automatically. Also, FNDLOAD can be used to migrate Key FlexFields, Descriptive Flexfields, Responsibilities and almost every other FND entity. Please note that the text written down here could get wrapped in the browser. Hence you may have to use \ to continue the single line command on Unix, in case you find the lines wrapping In my case I am ensuring that $CLIENT_APPS_PWD has the apps password before running the scripts ------------------------------------------------------------------------------------------ ##To FNDLOAD Request groups FNDLOAD apps/$CLIENT_APPS_PWD O Y DOWNLOAD $FND_TOP/patch/115/import/afcpreqg.lct XX_MY_REPORT_GROUP_NAME.ldt REQUEST_GROUP REQUEST_GROUP_NAME="XX_MY_REPORT_GROUP_NAME" APPLICATION_SHORT_NAME="XXGMS" ##Note that ##--------- ## < ## XX_MY_REPORT_GROUP_NAME Will be the name of your request group ## ##To upload this Request Group in other environment after having transferred the ldt file FNDLOAD apps/$CLIENT_APPS_PWD O Y UPLOAD $FND_TOP/patch/115/import/afcpreqg.lct ------------------------------------------------------------------------------------------ ##To FNDLOAD Concurrent Programs FNDLOAD apps/$CLIENT_APPS_PWD O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct XX_CUSTOM_ORACLE_INTERFACE_PROG.ldt PROGRAM APPLICATION_SHORT_NAME="XXGMS" CONCURRENT_PROGRAM_NAME="XX_CUSTOM_ORACLE_INTERFACE_PROG" ##Note that ##--------- ## XXGMS will be your custom GMS Application Shortname where concurrent program is registered ## XX_CUSTOM_ORACLE_INTERFACE_PROG Will be the name of your request group ## XX_CUSTOM_ORACLE_INTERFACE_PROG.ldt is the file where concurrent program definition will be extracted ## ##To upload FNDLOAD apps/$CLIENT_APPS_PWD O Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct XX_CUSTOM_ORACLE_INTERFACE_PROG.ldt ------------------------------------------------------------------------------------------ ##To FNDLOAD Oracle Descriptive Flexfields $FND_TOP/bin/FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct XX_PO_REQ_HEADERS_DFF.ldt DESC_FLEX APPLICATION_SHORT_NAME=PO DESCRIPTIVE_FLEXFIELD_NAME='PO_REQUISITION_HEADERS' ##Note that ##--------- ## PO is the Application Shortname against which descriptive flexfield against PO Headers is registered ## PO_REQUISITION_HEADERS is the name of Descriptive Flexfield against PO Requisition Headers ## Use the SQL below to find the name of DFF, rather than logging into the screen (ooops via jinitiator) ########----->SELECT ########----->application_id, DESCRIPTIVE_FLEXFIELD_NAME, application_table_name ########----->FROM ########-----> fnd_descriptive_flexs_vl ########----->WHERE ########-----> APPLICATION_TABLE_NAME like '%' || upper('&tab_name') || '%' ########----->ORDER BY APPLICATION_TABLE_NAME ########----->/ ## To upload into another environment $FND_TOP/bin/FNDLOAD apps/$CLIENT_APPS_PWD 0 Y UPLOAD $FND_TOP/patch/115/import/afffload.lct XX_PO_REQ_HEADERS_DFF.ldt ## OK another example for DFF against FND_LOOKUPS FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct XX_FND_COMMON_LOOKUPS_DFF.ldt DESC_FLEX APPLICATION_SHORT_NAME=FND DESCRIPTIVE_FLEXFIELD_NAME='FND_COMMON_LOOKUPS' ## OK another example for DFF against Project Accounting Expenditure Types FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct XX_PA_EXPENDITURE_TYPES_DESC_FLEX_DFF.ldt DESC_FLEX APPLICATION_SHORT_NAME=PA DESCRIPTIVE_FLEXFIELD_NAME='PA_EXPENDITURE_TYPES_DESC_FLEX' ------------------------------------------------------------------------------------------ ##To FNDLOAD Oracle Menus $FND_TOP/bin/FNDLOAD apps/$CLIENT_APPS_PWD O Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct ICX_POR_SSP_HOME.ldt MENU MENU_NAME="ICX_POR_SSP_HOME" ##Note that ##--------- ## Oracle Menus are not attached to applications. Hence no need to include application short name ## ICX_POR_SSP_HOME is the menu name. This can be validated via below SQL ## select user_menu_name from fnd_menus_vl where menu_name = 'ICX_POR_SSP_HOME' ; ## Also note that we do not pass in the User_menu_name in this example ## OK, now to upload this file $FND_TOP/bin/FNDLOAD apps/$CLIENT_APPS_PWD O Y UPLOAD $FND_TOP/patch/115/import/afsload.lct ICX_POR_SSP_HOME.ldt ---------------------------------------------------------------------------------------------------------------------------- ## Well, now for FND Messages to download a single message FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/afmdmsg.lct XX_ICX_POR_LIFECYCLE_PAY_TIP.ldt FND_NEW_MESSAGES APPLICATION_SHORT_NAME='ICX' MESSAGE_NAME=XX_ICX_POR_LIFECYCLE_PAY_TIP ##or you may as well download all the messages within an application FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/afmdmsg.lct XX_ALL_GMS_MESSAGES_00.ldt FND_NEW_MESSAGES APPLICATION_SHORT_NAME='XXGMS' ## now to upload using FNDLOAD FNDLOAD apps/$CLIENT_APPS_PWD 0 Y UPLOAD $FND_TOP/patch/115/import/afmdmsg.lct XX_ICX_POR_LIFECYCLE_PAY_TIP.ldt ---------------------------------------------------------------------------------------------------------------------------- ## Now it's the turn of Lookup values. Again, its not a rocket science FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD aflvmlu.lct XX_TRX_BATCH_STATUS.ldt FND_LOOKUP_TYPE APPLICATION_SHORT_NAME ='XXGMS' LOOKUP_TYPE="XX_TRX_BATCH_STATUS" ## Note that ## XX_TRX_BATCH_STATUS is the name of FND Lookup Type in this example ## This will download all the lookup codes within the defined lookup ## To upload FNDLOAD apps/$CLIENT_APPS_PWD 0 Y UPLOAD aflvmlu.lct XX_TRX_BATCH_STATUS.ldt ---------------------------------------------------------------------------------------------------------------------------- ## Now lets have a look at the profile option using oracle's FNDLOAD FNDLOAD apps/$CLIENT_APPS_PWD O Y DOWNLOAD $FND_TOP/patch/115/import/afscprof.lct POR_ENABLE_REQ_HEADER_CUST.ldt PROFILE PROFILE_NAME="POR_ENABLE_REQ_HEADER_CUST" APPLICATION_SHORT_NAME="ICX" ## Note that ## POR_ENABLE_REQ_HEADER_CUST is the short name of profile option ## We aren't passing the user profile option name in this case. Validate using ... ########----->select application_id, PROFILE_OPTION_NAME || '==>' || profile_option_id || '==>' || ########----->USER_PROFILE_OPTION_NAME ########----->from FND_PROFILE_OPTIONS_VL ########----->where PROFILE_OPTION_NAME like '%' || upper('&profile_option_name') || '%' ########----->order by PROFILE_OPTION_NAME ########----->/ ## Now to upload FNDLOAD apps/$CLIENT_APPS_PWD O Y UPLOAD $FND_TOP/patch/115/import/afscprof.lct POR_ENABLE_REQ_HEADER_CUST.ldt ---------------------------------------------------------------------------------------------------------------------------- ## Now for the request sets that contain the stages and links for underlying concurrent programs ## For this you will be firstly required to download the request set definition. ## Next you will be required to download the Sets Linkage definition ## Well, lets be clear here, the above sequence is more important while uploading FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcprset.lct XX_GL_MY_INTERFACE_SET.ldt REQ_SET REQUEST_SET_NAME="FNDRSSUB4610101_Will_look_like_this" FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcprset.lct XX_GL_MY_INTERFACE_SET_LINK.ldt REQ_SET_LINKS REQUEST_SET_NAME="FNDRSSUB4610101_Will_look_like_this" ## Note that FNDRSSUB4610101 can be found by doing an examine on the ########----->select request_set_name from fnd_request_sets_vl ########----->where user_request_set_name = 'User visible name for the request set here' ## Now for uploading the request set, execute the below commands FNDLOAD apps/$CLIENT_APPS_PWD 0 Y UPLOAD $FND_TOP/patch/115/import/afcprset.lct XX_GL_MY_INTERFACE_SET.ldt FNDLOAD apps/$CLIENT_APPS_PWD 0 Y UPLOAD $FND_TOP/patch/115/import/afcprset.lct XX_GL_MY_INTERFACE_SET_LINK.ldt ---------------------------------------------------------------------------------------------------------------------------- ## Now for the responsibility FNDLOAD apps/$CLIENT_APPS_PWD O Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct XX_PERSON_RESPY.ldt FND_RESPONSIBILITY RESP_KEY="XX_PERSON_RESPY" ## note that XX_PERSON_RESPY is the responsibility key ## Now to upload FNDLOAD apps/$CLIENT_APPS_PWD O Y UPLOAD $FND_TOP/patch/115/import/afscursp.lct XX_PERSON_RESPY.ldt ---------------------------------------------------------------------------------------------------------------------------- ## OK, now for the forms personalizations ## For the forms personalizations, I have given three examples as below. FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct XX_PERWSHRG.ldt FND_FORM_CUSTOM_RULES function_name="PERWSHRG-404" FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct XX_HZ_ARXCUDCI_STD.ldt FND_FORM_CUSTOM_RULES function_name="HZ_ARXCUDCI_STD" FNDLOAD apps/$CLIENT_APPS_PWD 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct XX_AP_APXVDMVD.ldt FND_FORM_CUSTOM_RULES function_name="AP_APXVDMVD" ## Note that the function name above is the function short name as seen in the Function Definition Screen ## Now to upload the forms personalizations that are defined against these forms functions.... FNDLOAD apps/$CLIENT_APPS_PWD 0 Y UPLOAD $FND_TOP/patch/115/import/affrmcus.lct XX_PERWSHRG.ldt FNDLOAD apps/$CLIENT_APPS_PWD 0 Y UPLOAD $FND_TOP/patch/115/import/affrmcus.lct XX_HZ_ARXCUDCI_STD.ldt FNDLOAD apps/$CLIENT_APPS_PWD 0 Y UPLOAD $FND_TOP/patch/115/import/affrmcus.lct XX_AP_APXVDMVD.ldt ---------------------------------------------------------------------------------------------------------------------------- Notes:- 1. Give special attention when downloading Menus or Responsibilities. In case your client has several developers modifying Responsibilities and Menus, then be ultra carefull. Not being carefull will mean that untested Forms and Functions will become available in your clients Production environment besides your tested forms, functions and menus. 2. Be very careful when downloading flexfields that reference value sets with independent values for GL Segment Codes. By doing so, you will download and extract all the test data in GL Codes that might not be applicable for production. 3. There are several variations possible for FNDLOAD, for example you can restrict the download and uploads to specific segments within Descriptive Flex Fields. Please amend the above examples as desired for applying appropriate filterations. 4. The list of examples by no mean cover all possible FNDLOAD entities. 5. FNDLOAD is very reliable and stable, if used properly. This happens to by one of my favourite Oracle utilities. 4. Last but not the least, please test your FNDLOAD properly, so as to ensure that you do not get any unexpected data. In past I have noticed undesired results when the Lookup gets modified manually directly on production, and then the FNDLOAD is run for similar changes. If possible, try to follow a good practice of modifying FNDLOADable data only by FNDLOAD on production environment. |
About Me
- Name: Anil Passi
- Location: United Kingdom
The desire to be extraordinary is a very ordinary desire. To relax and to be ordinary is really extraordinary
Previous Posts
- Encumbrance Migration to Oracle Grants for Open Pu...
- Oracle iProcurement DemoAfter much popular demand,...
- Oracle HRMS Payroll Interview QuestionsQns 1. Can ...
- Oracle Payroll Accounting & Costing Basic Fundamen...
- Restart / Bounce Apache in Oracle Apps 11iPlease f...
- Oracle Workflow Timeouts design with Bank Holidays...
- My IntroductionHello All,I am a Oracle Apps Techni...
Comments on ""
Very useful this one, copy pasted, tweaked a bit, and it worked ! Was struggling earlier for Request Sets. Thanks, Sunil
Can the afcpprog.lct (or any of the other .lct's) be edited so that no flex fields are downloaded?
Thanks.
Hi there,
I am yet to modify the lct file.
But in case you do wish to modify afcpprog.lct, then take a copy of it as xxafcpprog.lct and modify that by adding a where clause of "and 1=2" to the query where is selects parameters to build Descr Flex for parameters.
Thanks,
Anil
Its really helpfull Thanks,
Roopa
Its very Helpfull,
Thanks
Dear readers,
For the latest modifications to FNDLOAD, I am maininting the link http://oracle.anilpassi.com/oracle-fndload-script-examples.html
Sometime this week I will be migrating Web Adi stuff to another environment using FNDLOAD ( fingers crossed that should work). Once that gets done, I will update
FNDLOAD Link on oracle.anilpassi.com
Its really helpful.u r helping so many people who are stuckup with probs.
Thanx
With all the benefits of FNDLOAD, somehow I have never seen an example to package all objects needed to be migrated into a single simply organized list - some kind of batch. So I did it and it works really well. The benefit is obviously that you can easily manipulate or build the list and then run the whole list. You still have to verify your log files, which can be automated using shell features. You can find it on my freshly started blog Oracle APPS and Surroundings. Any comments will be greatly appreciated. Thanks for these beatifully organized examples.