Submitted jobs (UBE reports and batch processes) should also be regularly analyzed to identify:
- Long-running jobs
- Performance degradation
- Resource-heavy versions
- Runtime inconsistencies
- Scheduling bottlenecks
One of the best ways to evaluate batch job performance is by analyzing execution time history from the F986114 table.
This article explains how to calculate:
- Minimum runtime
- Average runtime
- Maximum runtime
for submitted jobs in JD Edwards.
Why Analyze Submitted Job Performance?
Monitoring submitted job execution helps identify:
- UBEs taking longer over time
- Jobs affected by data growth
- Batch queue contention
- SQL or indexing issues
- Specific versions causing delays
- Opportunities for scheduling optimization
Examples:
- Nightly jobs suddenly increasing from 5 minutes to 45 minutes
- Payroll or invoice jobs slowing after upgrades
- Reports running inconsistently across environments
Step 1 – Create Execution Time Table
Creating a separate table helps simplify analysis and improves reporting performance.
SQL Server
Step 2 – Find Execution Time for Jobs
This query calculates runtime in minutes for each submitted job.
SQL Server Query
SELECT
JCJOBNBR,
JCPID,
JCVERS,
JCSTDTIM,
JCETDTIM,
DATEDIFF(MINUTE, JCSTDTIM, JCETDTIM) AS EXECUTION_MINUTE
FROM SVM920.F986114
WHERE JCENHV LIKE '%PD920%'
AND JCJOBSTS='D'
AND DATEDIFF(MINUTE, JCSTDTIM, JCETDTIM) > 0
ORDER BY JCPID, JCVERS, EXECUTION_MINUTE DESC;
JCJOBNBR,
JCPID,
JCVERS,
JCSTDTIM,
JCETDTIM,
TIMESTAMPDIFF(4, CHAR(JCETDTIM - JCSTDTIM)) AS EXECUTION_MINUTE
FROM SVM920.F986114
WHERE
JCENHV LIKE '%PD920%'
AND JCJOBSTS='D'
AND TIMESTAMPDIFF(4, CHAR(JCETDTIM - JCSTDTIM)) > 0
ORDER BY JCJOBNBR DESC, JCVERS, EXECUTION_MINUTE DESC;
Step 3 – Find Minimum, Average, and Maximum Runtime
After collecting execution data, aggregate the results to identify runtime patterns.
JCJOBNBR,
JCPID,
JCVERS,
MIN(EXECUTION_MINUTE) AS MINIMUM,
AVG(EXECUTION_MINUTE) AS AVERAGE,
MAX(EXECUTION_MINUTE) AS MAXIMUM
FROM SVM920.F986114_EXECUTION
GROUP BY JCPID, JCVERS;
Understanding the Results
Minimum Runtime
Shows the fastest execution recorded.
Useful for identifying:
- Best-case performance
- Ideal execution window
- System baseline
Average Runtime
Shows typical execution duration.
Useful for:
- Capacity planning
- SLA validation
- Batch scheduling
Maximum Runtime
Shows worst-case execution.
Helpful for finding:
- Blocking issues
- Data spikes
- Lock contention
- Resource bottlenecks
Example Use Cases
Identify Slow UBEs
Find reports consistently taking too long.
Example:
| UBE | Average Runtime |
|---|---|
| R42565 | 2 min |
| R09801 | 45 min |
| R55XXX03 | 90 min |
Detect Performance Degradation
Compare current month vs previous month runtimes.
Batch Queue Optimization
Move heavy jobs into separate queues.
Infrastructure Planning
Determine whether:
- Additional kernel processes are needed
- Database tuning is required
- More CPU or memory is needed
Recommended Enhancements
You can further improve reporting by adding:
Additional Filters
AND JCSTDTIM >= '2025-01-01'
Build Dashboards
Use:
- Power BI
- SQL Reporting Services
- Grafana
- Excel Pivot Reports
to visualize job execution trends.
Final Thoughts
Submitted job performance analysis is one of the most overlooked areas in JD Edwards administration.
Using the F986114 table, CNC administrators can quickly identify:
- Slow-running reports
- Runtime inconsistencies
- Capacity issues
- Scheduling bottlenecks
- Growth-related performance degradation
Regular monitoring of submitted jobs helps maintain stable batch processing and improves overall EnterpriseOne system performance.