DOCUMENTATION ON FNDLOAD
By: SREEKANTH REDDY.M
FNDLOAD:
FNDLOAD is an API provided by Oracle to download/upload Flex fields, Concurrent programs, Value sets, Menu etc... How it Works: Conversion between database format and text file format is specified by a configuration file. Oracle does provide confirmation file and it is important to just pass the configuration file name and then just call the loader and leave everything .The schematic visual representation of the loader is like, Schematic Diagram:
FNDLOAD Flow Diagram:
What can be done? These are the extensive list which can be done through FNDLOAD, • • • • • • • • • • • • • • • •
Concurrent Programs, Executables Request Groups, Request Sets Profile Options Key and Descriptive Flex fields Menus and Responsibilities Forms and Form Functions Attachments Messages Value Sets and Values Lookup Types User Responsibilities Printer Definitions FND Dictionary Help Configuration Document Sequences Concurrent Manager Schedules
Advantages: 1. Because downloaded data is stored in a text file, version administration is possible. 2. There is nothing to worry to go to purchase because. Investment = 0 3. No learning curve. This is relief for developer/dba. 4. Fully supported and recommended by Oracle. 5. Capture the migrations in a file and use it during installations, clones etc. to migrate in batch. 6. Pin-point when something happened and where (database) easily. 7. Your AOL data migration process is now simplified and streamlined goal attained.
Disadvantages: 1. Applications patching mechanisms use FNDLOAD heavily possibility of negative impact is not zero. 2. UPLOAD_MODE=REPLACE only for menus. 3. No validations against migrating database/instance sensitive data.
Syntax: To use FNDLOAD, the following syntax is needed. FNDLOAD apps/appspwd 0 Y mode configfile data file entity [parameter1...] As you can see, some info is needed. First you will need to know the Apps password. • • • • •
The mode is either DOWNLOAD or UPLOAD. The configfile is the file that FNDLOAD needs to download or upload data. The data file is the output file, in which the downloaded data is written. The entity is the entity you want to download. Parameters van is passed to download a certain Alert.
Modes of Operation: This is important because it would drive the whole flow, and it always is two modes. Upload and Download. Example of download: FNDLOADapps/pwd 0 Y DOWNLOAD ${FND_TOP}/patch/115/import/afcpprog.lct myfile.ldt \ PROGRAM CONCURRENT_PROGRAM_NAME= concurrent_program_short_name> APPLICATION_SHORT_NAME=
Example of Upload: FNDLOAD apps/pwd 0 Y UPLOAD ${FND_TOP}/patch/115/import/afcpprog.lct myfile.ldt - CUSTOM_MODE=FORCE undocumented parameter What are FNDLOAD Load Options? •
•
•
Application level OR single entity level download o (Example) Download all the profile options of Inventory or just the INV: Default Primary UOM. Entire OR Partial upload of a data file. o (Example) Upload the entire myfile.ldt or just a single entity indicated by and mode UPLOAD or UPLOAD_PARTIAL o Entity name required for UPLOAD_PARTIAL mode Custom mode force update. o To override Oracle's upload algorithm and update the custom AOL data regardless, use CUSTOM_MODE= FORCE o UPLOAD_MODE= REPLACE (only for menus)
•
Support for NLS uploads. o NLS data uploads for translated columns are supported, use UPLOAD_MODE= NLS
Where is Config File Located? • • • • •
By default Oracle delivers most of configuration files you can use to download certain entities. Configuration files with extension .lct On Unix - all the configuration files are in $FND_TOP/patch/115/import directory On Unix Oracle also places the original configuration files in $FND_TOP/admin/import directory Data files with extension .ldt
FNDLOAD File Structures: • • • • • • •
The config files (.lct) are delivered and maintained by Oracle It has entity definitions, parent-child relationships and user input parameters identified by :NAME Downloading a parent automatically downloads all children - (Example) Concurrent Program download The data files (.ldt) have both entity definition and the data. It also shows the version and the location of the config file (.lct) that was used Without the config file, data file is useless Without the data file, config file is meaningless
Key Points in FNDLOAD Files: • • • • • •
•
Key files: .lct and .ldt You must run the FNDLOAD as apps user not as applsys or any other, otherwise you will receive Ora-6550 Both are easily readable, editable and portable DO NOT MODIFY Oracle .lct files Use your favorite editor (I would suggest Text pad or Edit plus) to manipulate only the .ldt files but be cautious about data type, length, delimiter placements etc. Use the log file outputs or .ldt file contents creatively for quick file comparisons and answer questions faster (Why can i access that? What is that profile option name, value and level? What is the value set used for that DFF segment attribute10 etc.) Partial string searches (which value set has Priority something in its where clause? etc)
Sample Script Code for Forms Personalization Objects:
Forms Personalization: Download: For the forms personalizations, two 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" ## Note that the function name above is the function short name as seen in the Function Definition Screen. We will generate and give the download ldt files to the client to deploy in any other instance.
Upload: ## 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
Deployment Instructions: Upload LDT files:
a) Connect as “applmgr” to the target instance’s unix box using any FTP client. b) Navigate to “$XX_QR_TOP ( Particular Top) c) ” folder and upload the above mentioned LDT files in ASCII mode. Command is cd $XX_QR_TOP d) Copy (FTP) all the above mentioned LDT files to the $XX_QR_TOP location from your laptop/desktop. [Note: Please select the mode of transfer as ASCII]
Execute FNDLOAD : a) Connect as “applmgr” to the target instance’s unix box using any telnet client (E.g. putty). Copy the following commands listed below and run it on $ prompt. This will upload all the custom application components definitions into the target instance. b) Replace the <password> with the database password for user apps
Notes: 1. Give special attention when downloading Menus or Responsibilities. In case your client has several developers modifying Responsibilities and Menus, then be ultra careful. Not being careful 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 flex fields 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 filtrations. 4. FNDLOAD is very reliable and stable, if used properly. 5. Last but not the least, please test your FNDLOAD properly, so as to ensure that you do not get any unexpected data. Some times we get undesired results when the Lookup gets modified manually directly on production, and then the FNDLOAD is run for similar changes.