280 likes | 439 Views
Simplify and Streamline Oracle AOL data migrations using FNDLOAD. A Sample Project:. 5 forms, 5 form functions, 4 reports, 10 value sets, 2 responsibilities, 2 menus and a profile option Development successfully completed. Next step? Migration to the next (Q/A) environment. How?
E N D
Simplify and Streamline Oracle AOL data migrations using FNDLOAD
A Sample Project: • 5 forms, 5 form functions, 4 reports, 10 value sets, 2 responsibilities, 2 menus and a profile option • Development successfully completed. Next step? Migration to the next (Q/A) environment. How? • What if we can bundle all these things in a script file and run it over and over and over….make changes if needed… • This indeed is possible and I will show you how.
Overview: • What is data migration? • Why and when do you need it? • What is FNDLOAD? • How does it function? What makes it tick? • What are its advantages & disadvantages?
Data Migration: • Movement of application data from one database to the other • Types Classification: • Transactional Data (Journal Entries, WIP operations, PO entry etc.) • Application Object Library Data (Concurrent programs, Profile Options etc.) • Application Setup Data (Organization, Customers, Item Categories, Templates etc.)
Overview: • What is data migration? • Why and when do you need it? • What is FNDLOAD? • How does it function? What makes it tick? • What are its advantages & disadvantages?
Data Synchronization: • AOL data migration is necessary to synchronize the data across databases during: • Installations (New desc. flexfield creations etc) • Upgrades (Apps upgrade etc) and • Maintenance (Value set changes etc) DEV DB Q/A DB PROD DB
Overview: • What is data migration? • Why and when do you need it? • What is FNDLOAD? • How does it function? What makes it tick? • What are its advantages & disadvantages?
FNDLOAD: FNDLOAD is a concurrent program that can move Oracle Applications data between database and text file representations.
Overview: • What is data migration? • Why and when do you need it? • What is FNDLOAD? • How does it function? What makes it tick? • What are its advantages & disadvantages?
Database 1 Database 2 LOADER LOADER The Generic Loader (FNDLOAD): Loader Data(ldt) Loader Config(lct) Loader Config(lct)
Concurrent Programs, Executables Request Groups, Request Sets Profile Options Key and Descriptive Flexfields Menus and Responsibilities Forms and Form Functions Attachments Messages Value Sets and Values Lookup Types User Responsibilities * Undocumented: Printer Definitions FND Dictionary Help Configuration Document Sequences Concurrent Manager Schedules Etc. AOL Entities:
Modes of Operation: • Two modes: Upload and Download Example of download: FNDLOAD apps/pwd 0 Y DOWNLOAD\ ${FND_TOP}/patch/115/import/afcpprog.lct myfile.ldt \ PROGRAM CONCURRENT_PROGRAM_NAME= \ <concurrent_program_short_name> \ APPLICATION_SHORT_NAME=<application_short_name>
Upload: Example of Upload: FNDLOAD apps/pwd 0 Y UPLOAD\ ${FND_TOP}/patch/115/import/afcpprog.lct \ myfile.ldt - CUSTOM_MODE=FORCE undocumented parameter
FNDLOAD Load Options: • Application level OR single entity level download • (Ex) Download all the profile options of Inventory or just the INV: Default Primary UOM • Entire OR Partial upload of a data file • (Ex) Upload the entire myfile.ldt or just a single entity indicated by – and mode UPLOAD or UPLOAD_PARTIAL • Entity name required for UPLOAD_PARTIAL mode
FNDLOAD Load Options: • Custom mode force update • To override Oracle’s upload algorithm and update the custom AOL data regardless, use CUSTOM_MODE=FORCE • UPLOAD_MODE=REPLACE (only for menus) • Support for NLS uploads • NLS data uploads for translated columns are supported, use UPLOAD_MODE=NLS
FNDLOAD Upload Algorithm: • Update determination using OWNER and LAST_UPDATE_DATE attributes: Data File Target DB Operation
FNDLOAD Files and Locations: • 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 - (Ex) Concurrent Program download • New patches sometimes deliver features, parameters not documented yet – use it at your own risk – YMMV - (Ex) A patch removed value set values option and modified the value set option to include values also • If you dare, there are guidelines inside fndstd.lct file to define and use your own .lct files for your own entities – create and use your own API packages – they are guidelines - NOT complete instructions
FNDLOAD File Structures: • 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
FNDLOAD Files: • Key files: .lct and .ldt • Both are easily readable, editable and portable • DO NOT MODIFY Oracle’s .lct files • Use your favorite editor 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’t 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)
FNDLOAD Creative Usage: • Your own wrapper code around FNDLOAD to simplify the process • Use FNDLOAD to do the entity copy function • Implement your own version control mechanism with comment line insertions into .ldt files with $Header string • Any other ideas?
FNDLOAD Wrapper Sample: Application Object Library Data Migration - Developer's Menu: 0. Help 1. Download Concurrent Program Executable 2. Download Concurrent Program 3. Download Request Group 4. Download Profile Options 5. Download/Copy Menu 6. Download Responsibility 7. Download Descriptive Flexfield 8. Download Form 9. Download Form Function 10. Download Value Set 11. Download Lookup Type 12. Download Value Set Values 13. Download Attachments 14. Download Request Sets 15. Exit Please make a selection [0-15]:
Watch out (undocumented) !! • “Compile Security” program deadlocks • Sensitive profile option migrations and • Obsolete function exclusions in a responsibility during upgrades
Overview: • What is data migration? • Why and when do you need it? • What is FNDLOAD? • How does it function? What makes it tick? • What are its advantages & disadvantages?
FNDLOAD Advantages: • Investment = 0$ • No learning curve • Fully supported and recommended by Oracle • Capture the migrations in a file and use it during installations, clones etc. to migrate in batch • Pin-point when something happened and where (database) easily • Your AOL data migration process is now simplified and streamlined – goal attained!!
FNDLOAD Disadvantages: • Applications patching mechanisms use FNDLOAD heavily – possibility of negative impact is not zero • UPLOAD_MODE=REPLACE only for menus • No validation against migrating database/instance sensitive data
References: • Oracle Applications Systems Administrator’s Guide [Appendix: C – Loaders ] • Metalink Notes:117084.1, 228614.1