How-toOracle E-Business Suite (EBS)System Administration / Application Object Library

How to Register a Custom Concurrent Program in Oracle EBS

Question
how to register a custom concurrent program in oracle ebs

Also searched as

  • ebs register concurrent program executable
  • how to create a custom concurrent program pl/sql ebs
  • ebs concurrent program parameters value set
  • add concurrent program to request group ebs

Short answer

Registering a custom concurrent program in EBS takes three linked steps in the System Administrator responsibility: register the Executable pointing at your actual code object, register the Program that references that executable and defines its parameters, then add the program to a Request Group so it is visible under the target responsibility's Submit Request window.

Applies to: EBS 12.1.3 and 12.2.x, System Administrator responsibility

How to register a custom concurrent program

  1. 1Write and test the underlying code first - a PL/SQL stored procedure in a custom schema (granted execute to APPS and with a public synonym), a SQL*Plus script, a Java concurrent program class, or a Host script - before touching any registration screen.
  2. 2In System Administrator, go to Concurrent > Program > Executable, create a new executable with a unique short name, select the correct Execution Method (PL/SQL Stored Procedure, SQL*Loader, Host, SQL*Plus, Java Concurrent Program) matching your code, and enter the exact executable file or package.procedure name.
  3. 3Go to Concurrent > Program > Define, create the Program, link it to the Executable just registered, set the Application it belongs to, and mark Enabled.
  4. 4On the Parameters tab, define each parameter with a Value Set for validation, mark required parameters, set the correct sequence and display size, and confirm the parameter order matches what your PL/SQL procedure expects positionally.
  5. 5Set Output Format (Text or XML Publisher if a BI Publisher layout is attached) and Print Style, and configure Incompatibilities if this program must not run concurrently with another that touches the same data.
  6. 6Navigate to Security > Responsibility > Request, find the Request Group tied to the target responsibility, and add your new program to it - without this step the program is fully registered but invisible to end users.
  7. 7Test via Submit Request under the actual target responsibility (not just System Administrator), checking both a successful run and a deliberate bad-parameter run to confirm error handling and the log/output files look correct.

Choosing the right execution method

PL/SQL Stored Procedure is the most common choice for custom EBS reports and processes because it runs inside the database, has direct access to FND APIs for logging and error handling, and does not need external file access. The executable name registered in EBS must exactly match the package and procedure name, and the package must be granted execute to APPS with a public synonym, or the concurrent manager will fail immediately with a routine-not-found error.

Host and SQL*Plus execution methods are better suited to file manipulation or simple extract scripts that do not need FND context, while Java Concurrent Program is used for more complex custom Java logic; each has a different completion signal convention (return codes, exit status) that must be handled correctly or the concurrent request will show a misleading Normal completion despite an internal failure.

Parameter definition and value sets

Every parameter needs a Value Set even if it is just a free-text or numeric validation - this is what drives the LOV, formatting, and basic validation the user sees on the Submit Request parameter window. Skipping proper value set validation is a common shortcut that leads to bad data reaching the PL/SQL procedure and failing deep inside the program logic instead of at entry.

Parameter sequence in the Define Program form must line up with the positional order your stored procedure expects if you are using PL/SQL Stored Procedure execution method with standard FND argument passing - a parameter reordered later without updating the procedure signature is a frequent source of a program that runs but silently uses the wrong values.

PROCEDURE run_report (errbuf OUT VARCHAR2, retcode OUT VARCHAR2, p_org_id IN NUMBER, p_period_name IN VARCHAR2) IS
BEGIN
  -- FND standard signature: errbuf, retcode first, then registered parameters in order
  NULL;
END run_report;

Making it visible and secure

A program that is registered but not added to any Request Group is a very common support ticket - the developer confirms it exists in System Administrator but the end user cannot find it under Submit Request because it was never attached to the request group tied to their responsibility. Confirm which request group(s) the target responsibility actually uses before assuming one addition covers every user who needs it.

For anything touching sensitive data, also review whether the program needs to run under a specific data-access context (Multi-Org Access Control org context, or a specific responsibility's security profile) - a program that runs fine for a developer with broad access can behave completely differently, or fail on missing org context, for a restricted end-user responsibility.

Common pitfalls

  • !Executable name registered in EBS not matching the actual package.procedure name exactly, including case sensitivity on some platforms.
  • !Forgetting to grant execute on the custom package to APPS and create the public synonym, producing a generic routine-not-found failure at runtime.
  • !Parameter order in the Define Program form not matching the PL/SQL procedure's positional signature, causing silently wrong parameter values.
  • !Registering the program but skipping the Request Group step, leaving it invisible to the responsibility that needs it.
  • !Not setting Incompatibilities for programs that update the same tables, allowing two instances to run simultaneously and corrupt data.
  • !Testing only as a super-user responsibility, missing MOAC or security-profile-driven differences the real end-user responsibility will hit.

How an ERP-grounded AI assistant handles this

ERPray grounded in a customer's EBS environment can check a proposed new concurrent program against what already exists - flagging a near-duplicate program before it is built, generating the correct FND-standard procedure signature, and verifying the Executable, Program, and Request Group chain is complete before a developer discovers the missing link the hard way in UAT.

Frequently asked questions

Why does my concurrent program fail with routine returned error and no other detail?

This almost always means EBS could not find or execute the named PL/SQL procedure - check that the executable name in the Program Executable registration matches the actual package.procedure exactly, and that APPS has execute privilege via a grant and public synonym on the custom schema's package.

How do I set an output format that produces a PDF instead of plain text?

Set the concurrent program's Output Format to XML Publisher and attach a Data Definition and RTF template built in BI Publisher, rather than relying on the plain Text output format, which only supports monospaced report-style text output with no real layout control.

Can a custom concurrent program call another concurrent program?

Yes, using FND_REQUEST.SUBMIT_REQUEST from within your PL/SQL procedure to launch a child request, which is the standard pattern for chaining or orchestrating multiple steps. Handle the returned request ID and consider whether the parent should wait on completion using FND_CONCURRENT.WAIT_FOR_REQUEST.

Do I need a value set for a parameter that just accepts free text?

Yes, EBS still requires a value set even for unrestricted free text - use one of the seeded generic value sets (like a standard alphanumeric format-only value set) rather than skipping validation, since the parameter framework needs a value set to render the field correctly on the Submit Request window.

Related

How-to

How to Create a BI Publisher Report in Oracle EBS

An EBS BI Publisher report has three parts: a data model that produces XML data (usually a SQL-based data template), a Data Definition registered in the XML Publisher Administrator responsibility, and an RTF or Excel template built with the BI Publisher desktop tools and uploaded against that definition. A concurrent program then ties them together and runs the same way any standard EBS report does.

How-to

SQL to Find Responsibilities Assigned to a User in Oracle EBS

Join FND_USER to FND_USER_RESP_GROUPS on USER_ID, then to FND_RESPONSIBILITY_TL on RESPONSIBILITY_ID and APPLICATION_ID to get the responsibility name, filtering the END_DATE columns to show only currently active assignments. This is the standard query DBAs and support teams use instead of clicking through System Administrator > Security > User > Define for every user.

Error fix

Oracle EBS Concurrent Manager Will Not Start: How to Fix It

A concurrent manager that will not start in Oracle EBS is almost always one of three things: the node registered in FND_NODES no longer matches the actual hostname (common after cloning), stale OS processes are blocking a fresh start, or the database and listener the manager connects to are unreachable. Check the internal manager log, verify the node name, clear stale processes, and restart with adcmctl.sh.

Advanced

How to Extend an OAF Page in Oracle EBS Without Touching Seeded Code

Use OAF Personalization, through the Personalize Self-Service Defn responsibility or the Personalize Page link, for layout, prompts and simple rules, and Controller Extension, a custom Java class that extends the seeded controller, for logic changes such as new validation or events. Both approaches survive patching because the seeded XML and Java classes are never edited directly.

Error fix

Fix FRM-40735: WHEN-VALIDATE-RECORD Trigger Raised Unhandled Exception ORA-06508

FRM-40735 with ORA-06508 almost always means a PL/SQL package used by the form was recompiled while your session still held the old cached state, or the trigger's own exception handling does not trap a real data error. Exit the form completely and re-enter it; if the error repeats for all users, recompile invalid objects on the database and check for a bad custom trigger.

Error fix

Fix Oracle EBS Workflow Notification Mailer Not Sending Emails

When EBS notifications stop reaching inboxes, check the mailer status in Oracle Applications Manager (OAM) Workflow Manager first - a Suspended or Error status almost always points at an SMTP or IMAP connectivity or credential problem introduced by a mail server change, not at Workflow itself. Fix the mail server configuration, restart the mailer component, and requeue the backlog.

AI for ERP

AI for Oracle E-Business Suite, Without Leaving On-Prem

Add AI to Oracle E-Business Suite 12.2 without moving off-prem. Query concurrent programs, interface tables, and AP/PO data with a private LLM. See how.

AI for ERP

Oracle ERP AI Consulting: What a Partner Should Deliver

What to demand from an Oracle ERP AI consulting partner across EBS, JD Edwards, NetSuite, and Fusion Cloud: interface tables, APIs, and buyer questions.

Stuck on Oracle E-Business Suite (EBS)?

Talk to engineers who work inside Oracle E-Business Suite (EBS) every week, and who build private AI that answers these questions from your own ERP data.