Wednesday, January 22, 2025

JDE Submitted Job Execution Performance


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


-- Create table from execution history

SELECT 
    JCJOBNBR,
    JCPID,
    JCVERS,
    JCSTDTIM,
    JCETDTIM,
    DATEDIFF(MINUTE, JCSTDTIM, JCETDTIM) AS EXECUTION_MINUTE
INTO SVM920.F986114_EXECUTION
FROM SVM920.F986114
WHERE JCENHV LIKE '%PD920%'
    AND JCJOBSTS='D'
    AND DATEDIFF(MINUTE, JCSTDTIM, JCETDTIM) > 0
ORDER BY JCPID, JCVERS, EXECUTION_MINUTE DESC;
 

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;


 AS400 / IBM i Query

SELECT
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;

Note: You can add filter to seacrch specific UBE JCPID='Rxxxxx' AND JCVERS='XJDExxx'

Step 3 – Find Minimum, Average, and Maximum Runtime

After collecting execution data, aggregate the results to identify runtime patterns.


SELECT
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:

UBEAverage 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 JCUSER = 'JDE'
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.