FNDLOAD
FNDLOAD is a concurrent program that can move Oracle Applications data between database and text file. FNDLOAD can download data from an application entity into an editable text file, which can be uploaded to another database. Conversion between database format and text file format is specified by a configuration file.
Oracle currently supports the migration of the following types of data using FNDLOAD
- Printers / Print queues / Executables Printers / Print queues / Executables.
- Roles / Responsibilities / Forms Roles / Responsibilities / Forms.
- Menus / Users / Request Sets Menus / Users / Request Sets.
- Request Groups / Request Queues Request Groups / Request Queues.
- Work shifts / Programs / Libraries Work shifts / Programs / Libraries.
- Attachments / Help Files Attachments / Help Files.
- Mime Types Mime Types.
- Security Information.
.ldt & .lct stands for Loader datafile & Loader configuration files, used frequently in migrating customization, profile options, configuration data, etc.. across Instances.
Advantages when using FNDLOAD
Because downloaded data is stored in a text file, version administration is possible
No learning curve. this is relief for developer/dbas
Fully supported and recommended by Oracle
Capture the migrations in a file and use it during installations(log file).
Pin-point when something happened and where (database) easily
AOL data migration process is now simplified!
Disadvantages
Applications patching mechanisms use FNDLOAD heavily possibility of negative impact is not zero
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.....]
The mode is either DOWNLOAD or UPLOAD.
The configfile is the file that Fndload needs to download on upload data.
T he data file is the output file, in which the downloaded data is written
The entity is the entity you want to download
0 & Y are flags for FND Executable like FNDCPASS & FNDLOAD where
'0' is request id (request ID 0 is assigned to request ID's which are not submitted via Submit Concurrent Request Form.
'Y' indicates the method of invocation. i.e. it is directly invoked from the command-line not from the Submit Request Form.
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
Where is Config File Located
Configuration files with extension .lct
On linux – all the configuration files are in $FND_TOP/patch/115/import directory
On linux Oracle also places the original configuration files in $FND_TOP/admin/import directory
Data files with extension .ldt
The configfiles (.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
Working example for these code objects :
Printer Styles
FNDLOAD apps/apps@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afcppstl.lct file_name.ldt STYLE PRINTER_STYLE_NAME=printer style name
Lookups
FNDLOAD apps/apps@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/aflvmlu.lct file_name.ldt FND_LOOKUP_TYPE APPLICATION_SHORT_NAME=prod LOOKUP_TYPE=lookup name
Descriptive Flexfield with all of specific Contexts
$ FNDLOAD apps/ 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct XX_PO_HEADERS_DFF.ldt DESC_FLEX APPLICATION_SHORT_NAME=PO DESCRIPTIVE_FLEXFIELD_NAME='PO_HEADERS'
Please note that PO is the Application Shortname against which descriptive flexfield against PO Headers is registered
PO_HEADERS is the name of Descriptive Flexfield against PO Headers
You can find the details using this script
SELECT application_id, DESCRIPTIVE_FLEXFIELD_NAME, application_table_name
FROM fnd_descriptive_flexs_vl
WHERE APPLICATION_TABLE_NAME like 'PO_HEAD%' 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_HEADERS_DFF.ldt
Concurrent Programs
$ FNDLOAD apps/ O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct XX_CUST_PROG_IMP.ldt PROGRAM APPLICATION_SHORT_NAME="XX_GS_IMP" CONCURRENT_PROGRAM_NAME="XX_CUST_PROG_IMP"
Please note that XX_GS_IMP will be your custom Application Shortname where concurrent program is registered
XX_CUST_PROG_IMP Will be the name of your request group
XX_CUST_PROG_IMP.ldt is the file where concurrent program definition will be extracted to upload to the target instance
$ FNDLOAD apps/ O Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct XX_CUST_PROG_IMP.ldt
Value Sets
FNDLOAD apps/apps@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt VALUE_SET FLEX_VALUE_SET_NAME=value set name
Value Sets with values
FNDLOAD apps/apps@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt VALUE_SET_VALUE FLEX_VALUE_SET_NAME=value set name
Profile Options
FNDLOAD apps/apps@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afscprof.lct file_name.ldt PROFILE PROFILE_NAME=profile option APPLICATION_SHORT_NAME=prod
Requset Group
$ FNDLOAD apps/ O Y DOWNLOAD $FND_TOP/patch/115/import/afcpreqg.lct XX_REPGROUP_NAME.ldt REQUEST_GROUP REQUEST_GROUP_NAME="XX_REPGROUP_NAME" APPLICATION_SHORT_NAME="XX_MYGROUP"
Please note that XX_MYGROUP will be your Application Shortname where request group is registered
and XX_REPGROUP_NAME Will be the name of your request group
Next need to upload this Request Group info to the target instance after having transferred the ldt file
FNDLOAD apps/ O Y UPLOAD $FND_TOP/patch/115/import/afcpreqg.lct XX_REPGROUP_NAME.ldt
Request Sets
FNDLOAD apps/apps@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afcprset.lct file_name.ldt REQ_SET APPLICATION_SHORT_NAME=prod REQUEST_SET_NAME=request set
Responsibilities
FNDLOAD apps/apps@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct file_name.ldt FND_RESPONSIBILITY RESP_KEY=responsibility
Menus
FNDLOAD apps/apps@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct file_name.ldt MENU MENU_NAME=menu_name
Forms/Functions
FNDLOAD apps/apps@seed115 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct file_name.ldt FND_FORM_CUSTOM_RULES The Upload syntax for all styles: FNDLOAD apps/apps@seed115 0 Y UPLOAD $FND_TOP/patch/115/import/affrmcus.lct file_name.ldt
Responsibilities
$ FNDLOAD apps/ O Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct XX_RESPON_NAME.ldt FND_RESPONSIBILITY RESP_KEY="XX_RESPON_NAME"
please note that XX_RESPON_NAME is the responsibility key in source instance
Now need to upload this information to target instance after having transferred the ldt file
FNDLOAD apps/ O Y UPLOAD $FND_TOP/patch/115/import/afscursp.lct XX_RESPON_NAME.ldt
Users
FNDLOAD apps/ 0 Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct XX_FND_USER_PASSWD.ldt FND_USER USER_NAME='USER_NAME'
When you look at the ldt file, you can find this kind info, and do not worry about password, it will be encrypted only.
BEGIN FND_USER "username"
OWNER = "ANONYMOUS"
LAST_UPDATE_DATE = "2010/01/07"
ENCRYPTED_USER_PASSWORD =
"ZG19D5C2DB16C4F5DD4D5D9A2F0CE3FEEB07BAF9CD0A591B64CA8B357C38EE7B17533B0C00D1DBA278D83E0A8994737B2C63"
SESSION_NUMBER = "3375"
START_DATE = "2007/01/01"
END_DATE = "*NULL*"
LAST_LOGON_DATE = "2010/04/30"
DESCRIPTION = "Name of the user"
PASSWORD_DATE = "2010/01/07"
PASSWORD_ACCESSES_LEFT = "*NULL*"
PASSWORD_LIFESPAN_ACCESSES = "*NULL*"
PASSWORD_LIFESPAN_DAYS = "*NULL*"
EMAIL_ADDRESS = "username@test.com"
FAX = "*NULL*"
To upload the FND_USER using FNDLOAD command use
FNDLOAD apps/ 0 Y UPLOAD $FND_TOP/patch/115/import/afscursp.lct XX_FND_USER_PASSWD.ldt
when you upload the FND_USER details with FNDLOAD, need to be complete these actions priorily.
1. After uploading using FNDLOAD, user will be promoted to change their password again during their next signon attempt.
2. All the responsibilities will be extracted by FNDLOAD alongwith User Definition in FND_USER
3. In the Target Environment , make sure that you have done FNDLOAD for new responsibilities,functions, menu, request group etc., prior to running FNDLOAD on users.
FNDLOAD is a concurrent program that can move Oracle Applications data between database and text file. FNDLOAD can download data from an application entity into an editable text file, which can be uploaded to another database. Conversion between database format and text file format is specified by a configuration file.
Oracle currently supports the migration of the following types of data using FNDLOAD
- Printers / Print queues / Executables Printers / Print queues / Executables.
- Roles / Responsibilities / Forms Roles / Responsibilities / Forms.
- Menus / Users / Request Sets Menus / Users / Request Sets.
- Request Groups / Request Queues Request Groups / Request Queues.
- Work shifts / Programs / Libraries Work shifts / Programs / Libraries.
- Attachments / Help Files Attachments / Help Files.
- Mime Types Mime Types.
- Security Information.
.ldt & .lct stands for Loader datafile & Loader configuration files, used frequently in migrating customization, profile options, configuration data, etc.. across Instances.
Advantages when using FNDLOAD
Because downloaded data is stored in a text file, version administration is possible
No learning curve. this is relief for developer/dbas
Fully supported and recommended by Oracle
Capture the migrations in a file and use it during installations(log file).
Pin-point when something happened and where (database) easily
AOL data migration process is now simplified!
Disadvantages
Applications patching mechanisms use FNDLOAD heavily possibility of negative impact is not zero
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.....]
The mode is either DOWNLOAD or UPLOAD.
The configfile is the file that Fndload needs to download on upload data.
T he data file is the output file, in which the downloaded data is written
The entity is the entity you want to download
0 & Y are flags for FND Executable like FNDCPASS & FNDLOAD where
'0' is request id (request ID 0 is assigned to request ID's which are not submitted via Submit Concurrent Request Form.
'Y' indicates the method of invocation. i.e. it is directly invoked from the command-line not from the Submit Request Form.
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
Where is Config File Located
Configuration files with extension .lct
On linux – all the configuration files are in $FND_TOP/patch/115/import directory
On linux Oracle also places the original configuration files in $FND_TOP/admin/import directory
Data files with extension .ldt
The configfiles (.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
Working example for these code objects :
Printer Styles
FNDLOAD apps/apps@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afcppstl.lct file_name.ldt STYLE PRINTER_STYLE_NAME=printer style name
Lookups
FNDLOAD apps/apps@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/aflvmlu.lct file_name.ldt FND_LOOKUP_TYPE APPLICATION_SHORT_NAME=prod LOOKUP_TYPE=lookup name
Descriptive Flexfield with all of specific Contexts
$ FNDLOAD apps/ 0 Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct XX_PO_HEADERS_DFF.ldt DESC_FLEX APPLICATION_SHORT_NAME=PO DESCRIPTIVE_FLEXFIELD_NAME='PO_HEADERS'
Please note that PO is the Application Shortname against which descriptive flexfield against PO Headers is registered
PO_HEADERS is the name of Descriptive Flexfield against PO Headers
You can find the details using this script
SELECT application_id, DESCRIPTIVE_FLEXFIELD_NAME, application_table_name
FROM fnd_descriptive_flexs_vl
WHERE APPLICATION_TABLE_NAME like 'PO_HEAD%' 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_HEADERS_DFF.ldt
Concurrent Programs
$ FNDLOAD apps/ O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct XX_CUST_PROG_IMP.ldt PROGRAM APPLICATION_SHORT_NAME="XX_GS_IMP" CONCURRENT_PROGRAM_NAME="XX_CUST_PROG_IMP"
Please note that XX_GS_IMP will be your custom Application Shortname where concurrent program is registered
XX_CUST_PROG_IMP Will be the name of your request group
XX_CUST_PROG_IMP.ldt is the file where concurrent program definition will be extracted to upload to the target instance
$ FNDLOAD apps/ O Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct XX_CUST_PROG_IMP.ldt
Value Sets
FNDLOAD apps/apps@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt VALUE_SET FLEX_VALUE_SET_NAME=value set name
Value Sets with values
FNDLOAD apps/apps@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afffload.lct file_name.ldt VALUE_SET_VALUE FLEX_VALUE_SET_NAME=value set name
Profile Options
FNDLOAD apps/apps@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afscprof.lct file_name.ldt PROFILE PROFILE_NAME=profile option APPLICATION_SHORT_NAME=prod
Requset Group
$ FNDLOAD apps/ O Y DOWNLOAD $FND_TOP/patch/115/import/afcpreqg.lct XX_REPGROUP_NAME.ldt REQUEST_GROUP REQUEST_GROUP_NAME="XX_REPGROUP_NAME" APPLICATION_SHORT_NAME="XX_MYGROUP"
Please note that XX_MYGROUP will be your Application Shortname where request group is registered
and XX_REPGROUP_NAME Will be the name of your request group
Next need to upload this Request Group info to the target instance after having transferred the ldt file
FNDLOAD apps/ O Y UPLOAD $FND_TOP/patch/115/import/afcpreqg.lct XX_REPGROUP_NAME.ldt
Request Sets
FNDLOAD apps/apps@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afcprset.lct file_name.ldt REQ_SET APPLICATION_SHORT_NAME=prod REQUEST_SET_NAME=request set
Responsibilities
FNDLOAD apps/apps@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct file_name.ldt FND_RESPONSIBILITY RESP_KEY=responsibility
Menus
FNDLOAD apps/apps@seed115 O Y DOWNLOAD $FND_TOP/patch/115/import/afsload.lct file_name.ldt MENU MENU_NAME=menu_name
Forms/Functions
FNDLOAD apps/apps@seed115 0 Y DOWNLOAD $FND_TOP/patch/115/import/affrmcus.lct file_name.ldt FND_FORM_CUSTOM_RULES The Upload syntax for all styles: FNDLOAD apps/apps@seed115 0 Y UPLOAD $FND_TOP/patch/115/import/affrmcus.lct file_name.ldt
Responsibilities
$ FNDLOAD apps/ O Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct XX_RESPON_NAME.ldt FND_RESPONSIBILITY RESP_KEY="XX_RESPON_NAME"
please note that XX_RESPON_NAME is the responsibility key in source instance
Now need to upload this information to target instance after having transferred the ldt file
FNDLOAD apps/ O Y UPLOAD $FND_TOP/patch/115/import/afscursp.lct XX_RESPON_NAME.ldt
Users
FNDLOAD apps/ 0 Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct XX_FND_USER_PASSWD.ldt FND_USER USER_NAME='USER_NAME'
When you look at the ldt file, you can find this kind info, and do not worry about password, it will be encrypted only.
BEGIN FND_USER "username"
OWNER = "ANONYMOUS"
LAST_UPDATE_DATE = "2010/01/07"
ENCRYPTED_USER_PASSWORD =
"ZG19D5C2DB16C4F5DD4D5D9A2F0CE3FEEB07BAF9CD0A591B64CA8B357C38EE7B17533B0C00D1DBA278D83E0A8994737B2C63"
SESSION_NUMBER = "3375"
START_DATE = "2007/01/01"
END_DATE = "*NULL*"
LAST_LOGON_DATE = "2010/04/30"
DESCRIPTION = "Name of the user"
PASSWORD_DATE = "2010/01/07"
PASSWORD_ACCESSES_LEFT = "*NULL*"
PASSWORD_LIFESPAN_ACCESSES = "*NULL*"
PASSWORD_LIFESPAN_DAYS = "*NULL*"
EMAIL_ADDRESS = "username@test.com"
FAX = "*NULL*"
To upload the FND_USER using FNDLOAD command use
FNDLOAD apps/ 0 Y UPLOAD $FND_TOP/patch/115/import/afscursp.lct XX_FND_USER_PASSWD.ldt
when you upload the FND_USER details with FNDLOAD, need to be complete these actions priorily.
1. After uploading using FNDLOAD, user will be promoted to change their password again during their next signon attempt.
2. All the responsibilities will be extracted by FNDLOAD alongwith User Definition in FND_USER
3. In the Target Environment , make sure that you have done FNDLOAD for new responsibilities,functions, menu, request group etc., prior to running FNDLOAD on users.
No comments:
Post a Comment