Error fixJD Edwards EnterpriseOneUBE / Batch Engine

JDE UBE failed (status E): how to read jde.log and jdedebug.log

Error
JDE UBE failed to navigate to report queue, how to read jde.log

Also searched as

  • JD Edwards report says error, check jde.log
  • UBE ended abnormally EnterpriseOne
  • how to find jde.log and jdedebug.log for a failed report
  • EnterpriseOne batch job status E

Short answer

A UBE (batch report/program) that ends with status E in Work With Submitted Jobs tells you almost nothing on its own. The real error is in jde.log on the enterprise server, in the job's own PDF/log subdirectory (jdedebug.log if you turned on debug), and in the work directory for that job number under PrintQueue or the OS temp path.

Applies to: JD Edwards EnterpriseOne 9.1, 9.2, all tools releases

Locate and read the failure

  1. 1In Work With Submitted Jobs, note the job number (e.g. 123456) and the server it ran on.
  2. 2On that enterprise server, go to the PrintQueue directory (typically B9\PrintQueue or the path set in jde.ini under [NETWORK QUEUE SETTINGS]).
  3. 3Find the subfolder for the job number, containing the .PDF, .CSV if generated, and log files.
  4. 4Open jde.log (or jde_<PID>.log on newer releases) in that folder or in the server's System\Bin32 or logs directory, most recent entries at the bottom.
  5. 5Search jde.log for the job number and for 'Error' or 'Fatal' near the timestamp the job started.
  6. 6If jde.log alone does not show root cause, enable jdedebug.log by setting Debug=1 and [DEBUG] output file in jde.ini, then resubmit.
  7. 7Common causes at this point: missing processing option template, data selection referencing a deleted UDC, an RDA/BSFN that threw an exception, or a security setting blocking table access.
  8. 8Cross-check the job's specific PDF - a blank or partial PDF plus an E status usually means the report aborted mid-section, which jdedebug.log will show as the last event ID processed.
  9. 9If the job never produced a subdirectory at all, the problem is upstream: the job never left the enterprise server queue - check jde.ini [JDENET] settings and that the kernel processes (jdenet_k) are running.

Why the UI tells you nothing

Work With Submitted Jobs (P986110) only reflects the status code EnterpriseOne wrote back to the job control tables (F986110). A status of E means the runbatch process on the server exited non-zero, but the interactive client never sees why - it is not designed to stream server-side stack traces back to the Fat Client or HTML client.

That is by design: UBEs run out-of-process on the enterprise server (or a dedicated batch server), and all diagnostic output goes to the server's own log files, not to any client-visible field. This is the single biggest source of confused support tickets: 'the report just says E, what do I do?'

jde.log vs jdedebug.log

jde.log is always on (unless explicitly disabled) and captures errors, warnings, and kernel-level messages for every process on that server, including UBEs, interactive kernels, and business function calls. It is verbose across the whole server, so grep by job number or PID rather than reading top to bottom.

jdedebug.log only exists when Debug=1 is set in the [DEBUG] section of jde.ini (or via server manager for that instance), and it logs every event the run engine and business functions fire, including SQL statements if TraceLevel is turned up. It is far larger but pinpoints exactly which BSFN or table operation failed.

; jde.ini [DEBUG] section example
Debug=1
JobFile=jde_%job%.log
JobFileMax=1
SectionDebug=1
TAMDebug=1

Typical root causes behind a status E

Data selection referencing a UDC value or table that was removed or renamed after the version was last saved. Missing processing option template (the version's PO record was deleted from F983051/F983052). A BSFN in the report's event rules threw an unhandled JDB or system exception, often a null pointer on a business view join.

Print queue path in jde.ini does not exist or the OS account running the kernel has no write permission to it, which fails the job before any report logic even runs and shows up early in jde.log rather than jdedebug.log.

Server-specific log locations

On Windows enterprise servers the default is under the PathCode's PrintQueue share, e.g. \\server\B9\PrintQueue\jobnumber. On IBM i (AS/400) servers, spooled output and job logs are viewed through WRKSPLF and WRKJOB for the batch job, since the OS itself owns the job log rather than a flat file.

On Linux/AIX enterprise servers the PrintQueue path is a normal filesystem path defined in jde.ini, and jde.log for the kernel processes typically sits under the server's logs directory alongside jdenet_k and jdekrnl output.

Common pitfalls

  • !Reading jde.log on the wrong server - a UBE can be routed to any enterprise or batch server in the server group, so check which one the job actually ran on before searching logs.
  • !Forgetting to turn Debug back off after troubleshooting - jdedebug.log grows fast and will fill disk on a busy batch server.
  • !Assuming the PDF being blank means no output logic ran, when it often means a section-level error stopped generation partway through.
  • !Searching jde.log by time only, not job number - concurrent jobs interleave their log lines, so filter by the job's PID or job number token.
  • !Not checking F986110/F986114 job control tables via SQL when the log files themselves were purged by a log-rotation policy.

How an ERP-grounded AI assistant handles this

ERPray, Netray's grounded Q&A layer, can be pointed at a job number and pull the matching jde.log and jdedebug.log excerpts, the version's data selection, and the processing option values in one answer instead of a person hopping between P986110, a network share, and the version design screens. It still needs read access to the actual log files and JDE tables - it is not guessing at generic UBE troubleshooting advice.

Frequently asked questions

Where exactly is jde.log located on a Windows enterprise server?

By default under the server's B9 (or B9.1/B9.2) install path in the log or System\Bin32 directory, though the exact folder is configurable in jde.ini under [DEBUG] JobFile. Ask your CNC/Basis admin to confirm the configured path for your environment since it varies by installation.

Does every failed UBE write to jdedebug.log?

No. jdedebug.log only exists if debug logging was enabled in jde.ini before the job ran. jde.log is on by default and usually enough to identify the failing table, BSFN, or missing UDC without turning on full debug.

Can I see the failure from the HTML client instead of RDP-ing to the server?

Work With Server Jobs (P986116) in the HTML client shows job status and lets an admin view some log content depending on security setup, but full jde.log/jdedebug.log access typically still requires server file access or a CNC admin pulling the file for you.

Why does the same version fail on one enterprise server but not another?

Server-specific jde.ini settings, path differences, or a package/build that was not deployed to all servers in the group are the most common causes. Confirm the version's specification build (spec) is current on the server that ran the failing job.

Related

Error fix

JD Edwards: record is being used by another user (record reservation)

EnterpriseOne places a soft record reservation lock when a user opens a record for edit, tracked in the F00165 table, and releases it when the user saves, cancels, or the session ends cleanly. A stuck lock almost always means a session died abnormally (browser crash, network drop, kiosk timeout) without triggering the release, and it must be cleared by an admin, not by the original user retrying.

Error fix

JD Edwards business function (BSFN) errors: how to diagnose them

A BSFN error in EnterpriseOne means either the compiled function was not found for the current package build, or the function ran and threw an internal exception (often a null business view row, an unhandled C runtime error, or a failed table I/O). The fix path is different for each, so the first step is always determining which one you are facing from jde.log.

How-to

How to set up JD Edwards Orchestrator (step by step)

An EnterpriseOne orchestration chains one or more requests (form requests that drive an interactive application, or service requests that call a BSFN, business service, or SQL) plus optional rules and notifications, then exposes the whole thing as a callable REST endpoint via the AIS (Application Interface Services) server. The setup work happens in Orchestrator Studio, not the Fat Client.

How-to

How to set data selection and processing options in JD Edwards

Data selection controls which rows a UBE's underlying business view reads (a filter, stored per version in F9210/F9211), while processing options control how the program behaves once it has that data (a settings template stored per version in F983051/F983052). They are configured from the same Version Detail screen but are separate, unrelated mechanisms that new users routinely confuse.

Error fix

JDE package build failed: how to find the real cause

A package build (Full or Update) that ends in a failed or errored status on the deployment server does not explain itself in the Package Build Workbench screen. The real diagnostic detail is in the package's own log subdirectory on the deployment server, which holds a build log, a table conversion log, and per-object compile logs that pinpoint the actual failure.

How-to

JD Edwards table conversion: how it works and how to run one

Table conversion (TC) is the EnterpriseOne mechanism that updates a table's physical structure and converts its existing data whenever a table's definition changes in Object Librarian, most commonly running automatically as part of a package build. Simple field additions or size changes convert automatically; more complex changes such as splitting a field or transforming values need a custom conversion routine attached to the table object.

AI for ERP

AI for JD Edwards EnterpriseOne, Built on Orchestrator and AIS

Add AI to JD Edwards E1 9.2 using Orchestrator, AIS, and BSSV rather than screen-scraping. Ground a private LLM on F4211, F4111, and F0411 data.

AI for ERP

AI for JD Edwards World on IBM i, without a EnterpriseOne migration

Add AI to JD Edwards World on IBM i without replatforming: read the physical files safely, ground an LLM on your data, and keep control on the box you already run.

Stuck on JD Edwards EnterpriseOne?

Talk to engineers who work inside JD Edwards EnterpriseOne every week, and who build private AI that answers these questions from your own ERP data.