JDE UBE failed (status E): how to read jde.log and jdedebug.log
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
- 1In Work With Submitted Jobs, note the job number (e.g. 123456) and the server it ran on.
- 2On that enterprise server, go to the PrintQueue directory (typically B9\PrintQueue or the path set in jde.ini under [NETWORK QUEUE SETTINGS]).
- 3Find the subfolder for the job number, containing the .PDF, .CSV if generated, and log files.
- 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.
- 5Search jde.log for the job number and for 'Error' or 'Fatal' near the timestamp the job started.
- 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.
- 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.
- 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.
- 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.
Try it here, free
JD Edwards UBE Job Scheduling Worksheet
Editable worksheet to plan and document scheduled UBE batch jobs with versions, queues, run windows, dependencies and owners.
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
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 fixJD 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-toHow 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-toHow 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 fixJDE 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-toJD 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 ERPAI 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 ERPAI 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.
New to JD Edwards EnterpriseOne? Start with the JD Edwards EnterpriseOne guide and toolkit, or plan with Training Path Builder, Upgrade Path Planner, ERP Table and Field Explorer.
Keep exploring
Free tools
- JD Edwards UBE Job Scheduling WorksheetEditable worksheet to plan and document scheduled UBE batch jobs with versions, queues, run windows, dependencies and owners.
- JDE UBE Batch Window CalculatorModel UBE elapsed time against your batch window as you add parallel queue slots, including a contention penalty for each extra slot.
- JDE UBE Runtime Baseline Log WorksheetAn editable log of UBE runs with computed throughput, so you can compare before and after a tools release, database or hardware change.
ERP fixes and how-tos
- How to set data selection and processing options in JD EdwardsHow data selection and processing options actually work on a JD Edwards version, how they differ, and how to set them up correctly for a report or batch program.
- JD Edwards Import Tool: Excel Upload, Z-Files and Orchestrator OptionsHow to import data into JD Edwards: the Excel and grid import, Z-file batch interfaces with processor UBEs, and Orchestrator options, with pitfalls and error handling.
- How to set up BI Publisher output for a JD Edwards reportJDE BI means BI Publisher: how to attach an RTF template to a JD Edwards EnterpriseOne UBE version, what to configure first, and why it may print the old way.
Runs with your ERP
- Oracle CPQ and JD Edwards EnterpriseOne: quote to sales orderHow Oracle CPQ integrates with JD Edwards EnterpriseOne: customer data into quotes, sales orders created from quotes, and status back, with setup and pitfalls.
- Prometheus Planning & Scheduling with JD Edwards EnterpriseOne maintenanceHow Prometheus Group's planning and scheduling tool works with JD Edwards EnterpriseOne maintenance: Gantt scheduling, time confirmation, setup and pitfalls.
- RF-SMART Process Manufacturing with JD Edwards EnterpriseOneHow RF-SMART records co-product and by-product completions, scrap and labor against JD Edwards EnterpriseOne process work orders: setup, pitfalls and AI help.
AI on your ERP
- AI for JD Edwards Inventory Management and Shop Floor ManufacturingAI on JD Edwards EnterpriseOne inventory and manufacturing: item ledger, work orders, MRP messages and cost variances, answered in plain English on your own servers.
- AI for JD Edwards Process Manufacturing: Formulas, Lots, and Yields in Plain EnglishAI for JD Edwards EnterpriseOne process manufacturing: formulas, lots, yields, co-products and batch costing, answered from live data without leaving your network.
Integrations
- How to add an AI chatbot to JD Edwards EnterpriseOneAdd an AI chatbot to JD Edwards EnterpriseOne: grounded in ERP data via AIS, for planners, buyers and customers, and able to run fully on-prem.
- How to use ChatGPT with JD Edwards EnterpriseOneHow to use ChatGPT with JD Edwards EnterpriseOne: custom GPT actions over AIS, exports versus live access, enterprise data controls, and private alternatives.