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”
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
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
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:
- For NLS Language using FNDLOAD : Note: 434724.1
- Troubleshooting
Incorrect translation with FNDLOAD : Note: 299080.1
No comments:
Post a Comment