Skip to content
Back to skills

Oracle Ebs

ASecurity

Automate Oracle EBS workflows with Concurrent Programs, PL/SQL, Oracle Forms, and FNDLOAD configuration migrations.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 22, 2026
ai-agentsgojavabashsqlawsapidatabase

Works with

  • cursor
  • cli
  • api

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned October 22, 2026

npx -y skills add alivirgo/Major-AI-Skills --skill oracle-ebs --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Oracle Ebs?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Oracle Ebs
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/alivirgo-oracle-ebs/badge)](https://www.skillsdirectory.com/skills/alivirgo-oracle-ebs)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: oracle-ebs
description: "Automate Oracle EBS workflows with Concurrent Programs, PL/SQL, Oracle Forms, and FNDLOAD configuration migrations."
category: erp
risk: safe
source: self
source_type: self
date_added: "2026-08-26"
tags: ["oracle-ebs", "oracle-forms", "concurrent-manager", "plsql-apps", "fndload", "r12-ebs", "claude"]
tools: ["claude", "cursor", "gemini", "codex"]
---

# Oracle E-Business Suite (EBS) AI Skill Guide (Claude)

## Overview & Engine Architecture
Oracle E-Business Suite (EBS R12.1 / R12.2) is a comprehensive global ERP suite covering Financials (GL/AP/AR), Supply Chain (OM/INV/PO), Human Capital Management (HCM), and Manufacturing. EBS operates on a **Three-Tier Architecture**: Desktop Client Tier (Oracle Forms via Java Web Start JNLP / Browser), Application Tier (Oracle WebLogic Server, Forms & Reports Services, Concurrent Processing Subsystem), and Database Tier (Oracle Database 19c running the unified **`APPS`** schema). Claude operates as a Principal Oracle Applications DBA and Techno-Functional Architect, specializing in **Concurrent Processing optimization**, **PL/SQL APPS API automation**, **FNDLOAD configuration migrations**, and **Forms JNLP troubleshooting**.

### Oracle EBS Multi-Tier Architecture & Concurrent Processing Stack

```
┌─────────────────────────────────────────────────────────────┐
│                 Oracle EBS R12.2 Architecture               │
│                                                             │
│  Client & Presentation Tier                                 │
│  ├── Oracle Forms Thick Client (Java Web Start / JNLP)      │
│  ├── Oracle Application Framework (OAF HTML Pages)          │
│  └── REST / SOAP Integrated SOA Gateway (ISG)               │
│                                                             │
│  Application Tier & Processing Engine                       │
│  ├── Oracle WebLogic Server (oafm, forms, oacore Managed Srv│
│  ├── Internal Concurrent Manager (ICM) & Worker Farms (FNDLIBR)│
│  └── Oracle Workflow Engine & Business Event System (BES)   │
│                                                             │
│  Database Tier & APPS Schema                                │
│  ├── Oracle 19c Enterprise Database (EBR Editioning Views)  │
│  └── Shared Master Repository (`APPLSYS`, `APPS`, `GL`, `PO`)│
└─────────────────────────────────────────────────────────────┘
```

---

## Operational Capabilities & Agent Directives

1. **PL/SQL APPS API Automation**: Author transactional PL/SQL packages interacting with standard public APIs (`FND_REQUEST.SUBMIT_REQUEST`, `GL_JOURNAL_IMPORT_PKG`, `PO_DOCUMENT_CONTROL_PUB`) with proper application session initialization (`FND_GLOBAL.APPS_INITIALIZE`).
2. **Concurrent Manager Administration**: Diagnose request queue bottlenecks, configure Manager Specialization rules, adjust worker process counts, and resolve incompatible request conflicts.
3. **FNDLOAD Configuration Data Migration**: Author scripts to migrate Concurrent Programs, Request Groups, Value Sets, and Descriptive Flexfields (DFF) across DEV/TEST/PROD instances using `.lct` control files and `.ldt` data files.
4. **Oracle Forms & JNLP Remediation**: Troubleshoot `FRM-92095` Java runtime errors, expired JAR code-signing certificates, and WebLogic managed server thread deadlocks.

---

## Production PL/SQL Automation: Programmatic Concurrent Request Submission & Polling

Save this package script as `submit_concurrent_job.sql` to programmatically initialize an EBS session, submit a batch job, and poll execution status:

```sql
-- =============================================================================
-- Oracle EBS PL/SQL Automation: Programmatic Concurrent Job Dispatcher
-- Initializes APPS context, submits Concurrent Request, and polls completion.
-- =============================================================================
DECLARE
    l_user_id      NUMBER;
    l_resp_id      NUMBER;
    l_resp_appl_id NUMBER;
    l_request_id   NUMBER;
    l_phase        VARCHAR2(80);
    l_status       VARCHAR2(80);
    l_dev_phase    VARCHAR2(30);
    l_dev_status   VARCHAR2(30);
    l_message      VARCHAR2(240);
    l_call_status  BOOLEAN;
BEGIN
    -- 1. Fetch System Administrator User & Responsibility IDs
    SELECT user_id INTO l_user_id FROM fnd_user WHERE user_name = 'OPERATIONS_USER';
    SELECT responsibility_id, application_id INTO l_resp_id, l_resp_appl_id 
    FROM fnd_responsibility_vl WHERE responsibility_name = 'General Ledger Super User';

    -- 2. Initialize Oracle EBS Session Context
    fnd_global.apps_initialize(
        user_id      => l_user_id,
        resp_id      => l_resp_id,
        resp_appl_id => l_resp_appl_id
    );
    dbms_output.put_line('Initialized EBS Session Context for User ID: ' || l_user_id);

    -- 3. Submit Concurrent Request (e.g. Program: GLLEZL / General Ledger Import)
    l_request_id := fnd_request.submit_request(
        application => 'SQLGL',
        program     => 'GLLEZL',
        description => 'Automated Nightly Journal Import',
        start_time  => NULL,
        sub_request => FALSE,
        argument1   => '101',    -- Source ID
        argument2   => 'BATCH_001' -- Group ID
    );

    IF l_request_id = 0 THEN
        dbms_output.put_line('ERROR: Failed to submit Concurrent Request: ' || fnd_message.get);
        RETURN;
    END IF;

    COMMIT;
    dbms_output.put_line('Successfully submitted Concurrent Request ID: ' || l_request_id);

    -- 4. Poll Request Execution Status
    LOOP
        dbms_lock.sleep(5); -- Wait 5 seconds between polls
        
        l_call_status := fnd_concurrent.get_request_status(
            request_id => l_request_id,
            phase      => l_phase,
            status     => l_status,
            dev_phase  => l_dev_phase,
            dev_status => l_dev_status,
            message    => l_message
        );

        dbms_output.put_line('Status: ' || l_phase || ' / ' || l_status);
        EXIT WHEN l_dev_phase = 'COMPLETE';
    END LOOP;

    IF l_dev_status = 'NORMAL' THEN
        dbms_output.put_line('✅ SUCCESS: Request completed normally.');
    ELSE
        dbms_output.put_line('🚨 FAILED: Request finished with status: ' || l_dev_status);
    END IF;
END;
/
```

---

## Technical Troubleshooting Matrix

| Issue & Failure Signature | Root Cause Analysis | Diagnostic & Resolution Pathway |
| :--- | :--- | :--- |
| **Oracle Forms Fails: `FRM-92095: Oracle JInitiator version too low`** | Client browser attempting to invoke deprecated NPAPI plugin rather than Java Web Start (JNLP). | 1. In `$INST_TOP/ora/10.1.2/forms/server/formsweb.cfg`, set `forms_launch_method=jnlp`.<br>2. Associate `.jnlp` files with local Java Runtime (`javaws.exe`). |
| **Concurrent Request Stuck in `Pending - Standby`** | Request has incompatible conflicting programs currently running, or target manager queue is full. | 1. In System Administrator $\rightarrow$ *Concurrent $\rightarrow$ Requests*, click **View Details** $\rightarrow$ **Diagnostics**.<br>2. Check for program conflict domain rules.<br>3. Verify Standard Manager worker count in *Administer Managers*. |
| **FNDLOAD Upload Fails: `ORA-00001: Unique Constraint Violated`** | Target `.ldt` file contains entity keys that conflict with existing definitions with different unique IDs. | 1. In `FNDLOAD` command, add `UPLOAD_MODE=REPLACE` or `CUSTOM_MODE=FORCE`.<br>2. Verify entity version compatibility in the `.lct` control file. |
| **OACore / WebLogic Managed Server Out of Memory** | Leak in custom OAF Controller extensions keeping large ViewObjects in memory. | 1. In `$EBS_DOMAIN_HOME/bin/setDomainEnv.sh`, increase `-Xmx4096m -XX:MaxMetaspaceSize=1024m`.<br>2. Run `adautocfg.sh` to persist changes. |

---

## Command Line Syntax & Admin Recipes

```bash
# 1. Export Concurrent Program Definition via FNDLOAD
FNDLOAD apps/apps_pwd 0 Y DOWNLOAD $FND_TOP/patch/115/import/afcpprog.lct custom_program.ldt PROGRAM APPLICATION_SHORT_NAME="SQLGL" CONCURRENT_PROGRAM_NAME="GLLEZL"

# 2. Check Status of All Concurrent Managers
adcmctl.sh status apps/apps_pwd

# 3. Execute AutoConfig Engine to Re-generate Application Configurations
adautocfg.sh
```

### Essential File & Environment Locations
- **Application Top**: `$APPL_TOP` (e.g. `/u01/install/APPS/fs1/EBSapps/appl`)
- **Instance Top**: `$INST_TOP` (e.g. `/u01/install/APPS/fs1/FMW_Home`)
- **Context File**: `$APPL_TOP/admin/$CONTEXT_NAME.xml`

---

## Agent Operational Directive
> **MANDATORY**: In custom PL/SQL scripts executing EBS logic, always invoke `fnd_global.apps_initialize` before calling public APIs. Use `adautocfg.sh` to apply configuration updates across Oracle WebLogic and Apache tiers.

Files in this skill

  • SKILL.md8.8 KB
  • gemini.md6.9 KB
  • gpt.md8 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.