English version
Česká verze
  InOne Europe
  Yazaki Europe
  BSC Praha
  Lafarge Cement
  JDE Julian Date
  JDE SQL Extractor


JdeAnalyzer for JDE EnterpriseOne

  • performance analysis
  • enhanced viewing of jdedebug.log
  • inteligent table/view browser
  • possibility to remove mandatory packages

Performance in JDE EnterpriseOne

If you found this page you probably experienced performance problems in JDEdwards EnterpriseOne system. There may be many development related reasons such as:
  • missing index for an SQL statement
  • incorrectly built SQL statement (especially in case of joins, wrong combination of selection and sequencing etc.)
  • executing the same function or SQL too many times with the same parameters (typically fetching from UDC)
  • incorrect program looping (bug in logic that has no impact on results but on performance)
  • generating records to work files that are not needed (usually a conceptual problem, the records are later deleted)
  • selecting too many fields from the database
  • updating the same record several times
  • incorrect passing of parameters to a UBE or function (as a result it selects too many records to process)
  • reprocessing the same records many times
The above mentioned reasons for performance problems are relatively wide-known but considering the fact that programs call functions and the functions call another functions, it is difficult to identify where exactly the performance problem is. If you use JdeAnalyzer, it will tell you exactly which functions are slow, which SQL Statements are slow and how much time is spent by the main program (APPL or UBE).

JdeAnalyzer cannot optimize logic of your applications, reports and functions itself but can lead you to identify weaknesses of it. JdeAnalyzer must be used by a highly experienced developer who can analyze its results and suggest improvements.

One of my customers wrote:

The analysis that has been done using the tool has helped to identify a number of serious problems with EnterpriseOne code. From experience we have already been made aware that run time issues can occur as a result of excessive / inefficient table access. By being able to identify the major sources of table I/O we have been able to quickly address the problem areas and derive substantial performance improvements in the system. This improvement goes beyond the specific program that had problems.

JdeAnalyzer reads jdedebug.log (created locally or by a job running on a server) and generates:

  1. optimized log
    • the size is significantly reduced by omiting useless lines
    • there are a few options to define what parts of information should be excluded (time, module, BSFN dumping)
    • JdeAnalyzer can start exporting when a specified time is reached
    • JdeAnalyzer can start exporting when a text is found
    • it is possible to limit size of output log (if you need only part of the log)
  2. analysis of BSFNs
    • you can export all function calls or summary information or both
    • summary information gives you overall picure of the time spent, number of calls, levels on which the function is called, list of called subfunctions and list of calling functions (on higher levels)
    • you can also export only the list of functions having impact on performance
    • example
  3. analysis of SQL statements
    • gives you an information about executed SQL statements (SELECTs/UPDATEs/INSERTs)
    • exports number of executions, time spent in total, per call and as a percent of overall time spent
    • exports number of successful/unsuccessful fetches
    • exports list of functions from which the SQL statement was executed
    • it is possible to export only SQL statements with impact on performance
    • it is possible to ignore selects from system tables (these cannot be influenced)
    • the information about SQL statements may be built on detail or summary level
    • example

Enhanced viewing of jdedebug.log

No matter if the jdedebug.log is generated by the system or if it is preprocessed by JdeAnalyzer, the file is usually huge and hard to read. JdeAnalyzer offers a special view of the file to simplify the work with it, it includes
  • intelligent viewing with a hierarchy of called functions
  • immediate viewing (user can view the file while it is being loaded)
  • low memory requirements
  • automatic coloring of keywords to easily find the most important texts in the code (SQL, BSFN and cache related keywords + more)
  • analysis of output parameters from a BSFN with marking the changes from the input parameters
  • possibility to mark a line with a color

Table and View browser

In comparison with UTB the JdeAnalyzer table browser offers:
  • table or view browsing
  • possibility to save/load the queries incl. the sequencing
  • easy switching among tables (keep the same selection, just change the table)
  • advanced selection (supports ranges, list of values, "like" and more)
  • possibility to define the sequencing of records
  • automatic totaling of amounts
  • easy and quick change of the data source (pick from the list)
  • information about the table with indexes and more
  • simple dialog to find a field in the table by its name
  • copy selected data to clipboard (to be pasted to MS Excel for example)
  • advanced information on a selected field (incl. the allowed values from UDC)
Tool or a service??
Having over 12 years of experience with JDE I can also offer a service to you:
  • Using JdeAnalyzer I can suggest performance improvements of your programs
  • Quality assurance
  • Analysis of developed programs:
    • are the EnterpriseOne standards followed?
    • is the logic efficient and correct?
    • what is the estimated development time?
  • and development of course
Other information

Copyright (c) , David Macek