UNPKG

major-ai-skills

Version:

Installable agentic skills / AI agent skills (SKILL.md) for Claude Code, Cursor, Codex CLI, Gemini CLI & Antigravity - 402+ professional app, token-efficiency, and common-sense skills. SEO/GEO ready.

165 lines (134 loc) 9.22 kB
--- 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.