Skip to content

Oracle FNDLOAD scripts is the generic loader that can move Oracle E-Business Suite data between two instances through text files.

License

Notifications You must be signed in to change notification settings

demasy/Oracle-FNDLOAD-Guide

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 

Repository files navigation

FNDLOAD Loader

FNDLOAD, short for FND (Application Object Library) Loader, is Oracle E-Business Suite’s built-in command-line utility for migrating configuration data across environments in a consistent, secure, and version-controlled way. Whether you’re setting up a new environment, deploying patches, or aligning configurations between Development (DEV), Test (UAT), and Production (PROD), FNDLOAD is a cornerstone in Oracle EBS automation and DevOps practices.

It is a command-line tool for transferring data between the Oracle E-Business Suite (EBS) database and flat text files, following a predefined structure.

It is primarily utilized for handling Application Object Library (AOL) data, such as Concurrent Programs, Menus, Value Sets, Lookups, Flexfields, and more.

Oracle officially supports and commonly utilizes this utility for patching, delivering seed data, and managing AOL objects.


Contents


What is FNDLOAD?

The Generic Loader (FNDLOAD) is a powerful Oracle E-Business Suite (EBS) concurrent program designed for transferring configuration data between databases and human-readable text files with the .ldt extension. This utility facilitates the automated migration of Application Object Library (AOL) objects, significantly reducing the need for manual reconfiguration across Development (DEV), Test (UAT), and Production (PROD) environments.

The FNDLOAD utility utilizes a configuration file (.lct) that defines the structure and access methods for extracting and uploading data. This process ensures seamless and error-free migrations of various components, including menus, responsibilities, profile options, concurrent programs, workflows, and more.


Why FNDLOAD?

Oracle E-Business Suite (EBS) is a complex and highly configurable enterprise system that requires consistent setups across various environments, including Development (DEV), Testing (UAT), and Production (PROD).

The Challenge: Manual Configuration is Time-Consuming and Error-Prone

Oracle EBS environments typically have a significant amount of configuration data. Manually replicating this setup can be both error-prone and time-consuming. FNDLOAD simplifies this process by allowing users to export configuration data from one environment into a flat file and then import it into another environment, thereby automating the migration of setup data.

Traditionally, migrating EBS configurations has been performed manually by recreating setups in each environment. This method leads to several issues:

  • Manual Errors
  • Inconsistent Configurations
  • Time-Consuming Repetitive Work
  • No Version Control or Rollback
  • Difficult to Audit and Track Changes

Understanding FNDLOAD File Types

FNDLOAD utilizes two primary types of files to transfer configurations between Oracle EBS environments:


Configuration File (.lct)

The Loader Control File (.lct) is a key component of Oracle’s FNDLOAD utility. It defines what data is extracted and how it is structured during configuration migrations.

  • Blueprint for Data Extraction
  • The files are portable and human-readable, allowing them to be opened and examined with any text editor.
  • The .lct file outlines a specific entity's data structure and metadata.
  • Each Oracle EBS entity (e.g., Concurrent Programs, Menus, Responsibilities) has its own unique .lct file.
  • Predefined .lct files are stored in the directory $FND_TOP/patch/115/import/ or $FND_TOP/admin/import/.
  • The files define relationships and dependencies, outlining parent-child connections between Oracle EBS objects.
  • .lct files do not contain actual data; they only describe the structure without accurate configuration details.
  • They are essential for the DOWNLOAD and UPLOAD processes when migrating data between instances.

Examples

Entity Name Configuration File
Concurrent Programs $FND_TOP/patch/115/import/afcpprog.lct
Request Groups $FND_TOP/patch/115/import/afcpreqg.lct
Profile Options $FND_TOP/patch/115/import/afscprof.lct
Menus $FND_TOP/patch/115/import/afsload.lct
Workflow $FND_TOP/patch/115/import/wf.lct

Oracle advises against modifying .lct files, which can lead to data corruption. Always use the official .lct files provided by Oracle.


Data File (.ldt)

The Loader Data File (.ldt) is a structured text file created by FNDLOAD when extracting configuration data from an Oracle EBS instance. The FNDLOAD utility can then transfer and upload this file to another environment.

  • The .ldt file (Loader Data File) contains extracted configuration data structured in a specific format.
  • This file is generated when configurations are downloaded from an Oracle EBS instance.
  • It can be transferred and uploaded to another instance using the FNDLOAD utility.
  • Contains accurate data extracted from the Oracle EBS database.
  • This function operates based on rules defined in the .lct file.
  • Can be modified using a text editor before uploading to another environment.

Examples

Entity Name Example Data File (.ldt)
Concurrent Programs program.ldt
Menus menu.ldt
Profile Options profile.ldt
Workflow workflow.ldt

FNDLOAD Architecture

FNDLOAD is a migration utility and a well-engineered Oracle EBS tool that manages configuration deployments effectively and reliably through structured flat files.


How FNDLOAD Works?

Here’s how it works behind the scenes:

  • Configuration File (.lct)
    The Loader Control File outlines the structure of the data and the procedures for accessing application metadata. It determines how the loading process operates by specifying the following:

    • The tables to be accessed
    • The columns that serve as keys
    • The relationships between entities (parent-child)
  • Data File (.ldt)
    This is where the actual setup data resides. The .ldt file contains the downloaded configuration or the data you want to upload. It is editable, version-controllable, and portable.

  • Dynamic SQL & PL/SQL API Execution
    Based on the metadata in the LCT file, FNDLOAD dynamically constructs SQL and PL/SQL blocks to fetch or insert data. This logic ensures the correct mapping from a flat file to the database and vice versa.

  • FNDLOAD Temporary Staging Tables (UPLOAD Only)
    During the upload process, data from the .ldt file is initially placed into Oracle’s internal staging tables—such as FND_SEED_STAGE_ENTITY—before it is validated and moved to the AOL base tables. This approach adds a layer of safety and improves error handling.

In summary, FNDLOAD reads your .lct file to determine the data structure and your .ldt file to identify the data to be moved. Together, they form the core of a smart, scriptable deployment strategy for any Oracle EBS automation effort.


High-level Diagram

Here’s a high-level diagram of how FNDLOAD works:


This diagram visually depicts the internal workflow of the FNDLOAD utility in Oracle E-Business Suite. It illustrates how the utility reads control files, processes configuration data, temporarily stages the data during the upload, and ultimately writes to or reads from the AOL base tables.


Run DOWNLOAD Execution Command

The user runs a FNDLOAD command from the command line.

FNDLOAD apps/password O Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct prog_XXDL_PROGRAM_NAME_us.ldt PROGRAM APPLICATION_SHORT_NAME="XXDL" CONCURRENT_PROGRAM_NAME="XXDL_PROGRAM_NAME"

Transfer the .ldt file to the target environment.

scp prog_XXDL_PROGRAM_NAME_us.ldt applmgr@target_server:/u01/demasy/src/migrations/fndload/program/

Run UPLOAD Execution Command

The command FNDLOAD UPLOAD imports data into the target instance.

FNDLOAD apps/password 0 Y UPLOAD $FND_TOP/patch/115/import/afcpprog.lct prog_XXDL_PROGRAM_NAME_us.ldt

FNDLOAD Modes

FNDLOAD functions in two primary modes:

Download Mode:

This mode extracts data from an Oracle EBS database and saves it in a structured text file with a .ldt extension.

Upload Mode:

FNDLOAD reads a previously extracted .ldt file and loads the configuration into a target Oracle EBS database in this mode.

FNDLOAD Command Syntax & Execution

General syntax

The Generic Loader is a concurrent program called FNDLOAD. This concurrent executable accepts the following parameters:

FNDLOAD {apps/password} {0 Y} {mode} {configfile} {datafile} {entity} [optional {param} {param}]


Code Variable Description
1 {apps/password} The APPS schema and password
2 {0 Y} Concurrent program flags
3 {mode} UPLOAD or DOWNLOAD
- DOWNLOAD causes the loader to fetch rows and write them to the datafile.
- UPLOAD causes the datafile to be uploaded to the database.
- UPLOAD_PARTIAL causes allows uploading only specific entities from the .ldt file.
4 {config-file} The configuration file to use (usually with a suffix of .lct, but not enforced or supplied by the loader).
5 {data-file} The data file to write (usually with a suffix of .ldt, but not enforced or supplied by the loader). If the data file already exists, it will be overwritten.
6 {entity} The entity(ies) to upload or download. When uploading, you should always upload all entities, so specify a "-" to upload all entities.
7 [optional {param} {param}] Zero or more additional parameters are used to provide bind values in the access SQL (both UPLOAD and DOWNLOAD). Each parameter is in the form NAME=VALUE. NAME should not conflict with an attribute name for the entities being loaded.

Example

Download
FNDLOAD apps/password 0 Y DOWNLOAD $FND_TOP/patch/115/import/<config-file>.lct <data-file>.ldt [entity] [parameters]
Upload
FNDLOAD apps/password 0 Y UPLOAD $FND_TOP/patch/115/import/<config-file>.lct <data-file>.ldt

FNDLOAD Additional Parameters

Parameter Description Usage Example
CUSTOM_MODE=FORCE
UPLOAD_MODE=REPLACE
UPLOAD_MODE=NLS
P_LEVEL=
P_VSET_DOWNLOAD_CHILDREN=N
FLOAD_DEBUG=TRUE
OUTPUT_WRAPPER=TRUE
TRACE=<level>
Example with Multiple Parameters:
FNDLOAD apps/password 0 Y UPLOAD $FND_TOP/patch/115/import/<config-file>.lct <data-file>.ldt - CUSTOM_MODE=FORCE UPLOAD_MODE=NLS FLOAD_DEBUG=TRUE

Multilingual (NLS) Support

Set NLS_LANG Syntax
For Linux/Unix:
EXPORT NLS_LANG=<language>_<territory>.<character set>
For Windows (Command Prompt - CMD):
set NLS_LANG=<language>_<territory>.<character set>

FNDLOAD Supported Entities

These entities are responsible for managing the execution of concurrent requests and their dependencies.

These entities refer to core application-level configurations used for validation, system settings, and flexfields.

Security & Access Control Entities

These entities are responsible for defining user roles, controlling menu access, and managing function-level security in the Oracle E-Business Suite (EBS).

Workflow & Approval Management Entities

These entities are used for business approvals and workflow.

Reporting & BI Publisher (XDO) Entities

These entities are associated with reporting and template management in Oracle BI Publisher.

SOA, Integrations & Web ADI Entities

These entities facilitate integrations with external systems and allow data imports from desktop applications.

Alerts Entity

These entities are utilized for alerts.

Forms Personalization Entities

These entities are focused on enhancing the user interface of Oracle Forms to improve the overall user experience.


Contributors

Author GitHub & LinkedIn account
Ahmed El-Demasy (Original Author) Github & LinkedIn

Contributing to the Oracle FNDLOAD scripts

We welcome you to join and contribute to the Oracle FNDLOAD Scripts. If you are interested in helping, please don’t hesitate to contact on e-mail: founder@demasy.io


Suggestions & Issues

If you find any issue or have a great idea in mind, please create an issue on GitHub.

Releases

No releases published