Monday, April 18, 2016

Oracle FNDLOAD

What is Data Synchronization ?
Data Synchronization is a process in which some setup data would be synchronized, and this would be more important when you are working in oracle application development/implementation project? The equally important that AOL data Migration takes place necessary to synchronize the data across databases instance during
·                     Installations (New desc. flex field creations etc)
·                     Upgrades (Apps upgrade etc)
·                     Maintenance (Value set changes etc)

What.. FNDLOAD
Yes, that is one and only oracle solution. It can be defined as a concurrent program that can move Oracle Applications data between database and text file representations. Or this can be defined as FNDLOAD can download data from an application entity into an editable text file, which can be uploaded to another database.

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:


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 Flexfields
·                     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

What are advantages when using FNDLOAD are :
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’s
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!!

And these are some Disadvantages also :
1.                  Applications patching mechanisms use FNDLOAD heavily – possibility of negative impact is not zero
2.                  UPLOAD_MODE=REPLACE only for menus
3.                  No validation against migrating database/instance sensitive data

The Syntax
To use FNDLOAD, the following syntax is needed.
FNDLOAD apps/appspwd 0 Y mode configfile datafile 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 on 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 be two mode .. 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=<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 IS FNDLOADLoad 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 enity 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
o        On Unix - all the configuration files are in $FND_TOP/patch/115/import directory
o        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
o        Downloading a parent automatically downloads all children - (Example) Concurrent Program download

Take a note 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

Remember regarding FNDLOAD Files
·                     Key files: .lct and .ldt
·                     You must run the FNDLOADas 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’s .lct files
·                     Use your favorite editor (I would suggest Textpad or Editplus) 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)




Profile Options:
Source:
FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afscprof.lct XXPRNAME.ldt PROFILE PROFILE_NAME="XXPRNAME" APPLICATION_SHORT_NAME="PN"
Target:
1. FNDLOAD apps/apps O Y UPLOAD $FND_TOP/patch/115/import/afscprof.lct XXPRNAME.ldt
2. FNDLOAD apps/apps 0 Y UPLOAD_PARTIAL $FND_TOP/patch/115/import/afscprof.lct XXPRNAME.ldt PROFILE PROFILE_NAME=" XXPRNAME" APPLICATION_SHORT_NAME="PN"

Forms:
Source:
FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct XXFRMNAME.ldt FORM APPLICATION_SHORT_NAME="PN" FORM_NAME="XXFRMNAME"
Target:
FNDLOAD apps/apps 0 Y UPLOAD @FND:patch/115/import/afsload.lct XXFRMNAME.ldt

Functions:
Source:
FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct XXFUNNAME.ldt FUNCTION FUNC_APP_SHORT_NAME="PN" FUNCTION_NAME="XXFUNNAME"
Target:
FNDLOAD apps/apps O Y UPLOAD @FND:patch/115/import/afsload.lct XXFUNNAME.ldt

Menus:
Source:
FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct XXMNNAME.ldt MENU MENU_NAME="XXMNNAME"
Target:
FNDLOAD apps/apps 0 Y UPLOAD @FND:patch/115/import/afsload.lct XXMNNAME.ldt

Responsibilities:
Source:
FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct XXRESNAME.ldt FND_RESPONSIBILITY RESP_KEY="XXRESNAME"
Target:
1. FNDLOAD apps/apps O Y UPLOAD $FND_TOP/patch/115/import/afscursp.lct XXRESNAME.ldt
2. FNDLOAD apps/apps 0 Y UPLOAD_PARTIAL $FND_TOP/patch/115/import/afscursp.lct XXRESNAME.ldt FND_RESPONSIBILITY RESP_KEY="XXRESNAME" APPLICATION_SHORT_NAME="PN"

Request Groups:
Source:
FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afcpreqg.lct XXRQGNAME.ldt REQUEST_GROUP REQUEST_GROUP_NAME="XXRQGNAME" APPLICATION_SHORT_NAME="PN"
Target:
1. FNDLOAD apps/apps O Y UPLOAD $FND_TOP/patch/115/import/afcpreqg.lct XXRQGNAME.ldt
2. FNDLOAD apps/apps 0 Y UPLOAD_PARTIAL $FND_TOP/patch/115/import/afcpreqg.lct XXRQGNAME.ldt REQUEST_GROUP REQUEST_GROUP_NAME="XXRQGNAME" APPLICATION_SHORT_NAME="PN"

Request Sets:
Source:
Step1:
FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcprset.lct XXRQSNAME.ldt REQ_SET REQUEST_SET_NAME="XXRQSNAME"
Step2:
FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcprset.lct XXRQSLNAME.ldt REQ_SET_LINKS REQUEST_SET_NAME="XXRQSNAME"

Target:
Step1:
FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/afcprset.lct XXRQSNAME.ldt
Step2:
FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/afcprset.lct XXRQSLNAME.ldt

Lookups:
Source:
FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/aflvmlu.lct XXLKPNAME.ldt FND_LOOKUP_TYPE APPLICATION_SHORT_NAME="PN" LOOKUP_TYPE="XXLKPNAME"

Target:
1. FNDLOAD apps/apps 0 Y UPLOAD aflvmlu.lct XXLKPNAME.ldt
2. FNDLOAD apps/apps 0 Y UPLOAD_PARTIAL $FND_TOP/patch/115/import/aflvmlu.lct XXLKPNAME.ldt FND_LOOKUP_TYPE LOOKUP_TYPE="XXLKPNAME" APPLICATION_SHORT_NAME="PN"

Value Sets:
Source:
FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct XXVALSNAME.ldt VALUE_SET FLEX_VALUE_SET_NAME="XXVALSNAME"
Target:
1. FNDLOAD apps/apps 0 Y UPLOAD afffload.lct XXVALSNAME.ldt
2. FNDLOAD apps/apps 0 Y UPLOAD_PARTIAL $FND_TOP/patch/115/import/afffload.lct XXVALSNAME.ldt VALUE_SET FLEX_VALUE_SET_NAME="XXVALSNAME" APPLICATION_SHORT_NAME="PN"

Descriptive Flex-fields:
Source:
FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct XXDFFNAME.ldt DESC_FLEX P_LEVEL='COL_ALL:REF_ALL:CTX_ONE:SEG_ALL' APPLICATION_SHORT_NAME="PN" DESCRIPTIVE_FLEXFIELD_NAME="PN_LEASE_DETAILS" P_CONTEXT_CODE="Global Data Elements"
Target:
FNDLOAD apps/apps 0 Y UPLOAD @FND:patch/115/import/afffload.lct     XXDFFNAME.ldt

Key Flex-fields:
Source:
FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct XXKFFNAME.ldt KEY_FLEX P_LEVEL=’COL_ALL:FQL_ALL:SQL_ALL:STR_ONE:WFP_ALL:SHA_ALL:CVR_ALL:SEG_ALL’ APPLICATION_SHORT_NAME="FND" ID_FLEX_CODE="key flex code" P_STRUCTURE_CODE="structure name”
Target:
FNDLOAD apps/apps 0 Y UPLOAD @FND:patch/115/import/afffload.lct XXKFFNAME.ldt

Concurrent Programs:
Source:
FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct XXCPNAME.ldt PROGRAM APPLICATION_SHORT_NAME="PN" CONCURRENT_PROGRAM_NAME="XXCPNAME"
Target:
1. FNDLOAD apps/apps 0 Y UPLOAD @FND:patch/115/import/afcpprog.lct XXCPNAME.ldt
2. FNDLOAD apps/apps 0 Y UPLOAD_PARTIAL $FND_TOP/patch/115/import/afcpprog.lct XXCPNAME.ldt PROGRAM CONCURRENT_PROGRAM_NAME="XXCPNAME" APPLICATION_SHORT_NAME="PN"

Form Personalization:
Source:
FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct XXFPNAME.ldt FND_FORM_CUSTOM_RULES function_name="XXFPNAME"
Target:
FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/affrmcus.lct XXFPNAME.ldt

FND Users:
Source:
FNDLOAD apps/apps 0 Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct ./XXUSERNAME.ldt FND_USER USER_NAME='XXUSERNAME'
Target:
FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/afscursp.lct ./ XXUSERNAME.ldt

Printer Styles:
Source:
FNDLOAD apps/apps O Y DOWNLOAD $FND_TOP/patch/115/import/afcppstl.lct XXPRSTYLE.ldt STYLE PRINTER_STYLE_NAME="XXPRSTYLE"

Target:
FNDLOAD apps/apps 0 Y UPLOAD $FND_TOP/patch/115/import/afcppstl.lct XXPRSTYLE.ldt

Alert
Source:
FNDLOAD apps/apps 0 Y DOWNLOAD $ALR_TOP/patch/115/import/alr.lct
alralert.ldt ALR_ALERTS APPLICATION_SHORT_NAME=ALR ALERT_NAME = “XXXALERT”

Target:
FNDLOAD apps/apps 0 Y UPLOAD $ALR_TOP/patch/115/import/alr.lct
alrgldef.ldt ALR_ALERTS APPLICATION_SHORT_NAME=SQLGL

Some additional parameters that can be used are:
APPLICATION_SHORT_NAME
ALR_DISTRIBUTION_LISTS
ALR_LOOKUPS
ALR_MESSAGE_SYSTEMS
ALR_ORACLE_MAIL_ACCOUNTS
ALR_PROFILE_OPTIONS
ALR_PERIODIC_SETS APPLICATION_SHORT_NAME=ALR


Some useful Meta-link Notes related to FNDLOAD:

  1. For NLS Language using FNDLOAD : Note: 434724.1
  2. Troubleshooting Incorrect translation with FNDLOAD : Note: 299080.1

No comments:

Post a Comment

Best Blogger TipsGet Flower Effect