In HTML client, ASYNCHRONOUS BUSINESS FUNCTION error may appear on screen which is a representation of COMMIT FAIL Error when "End Doc" business function gets called Asynchronously.
This document illustrates how to troubleshoot this type of asynchronous business function commit fail error based on some actual issues you may encounter in a certain application.
This document is written based on web client configuration; The same troubleshooting technique can be applied on FAT clients.
The cause of commit fail error can vary and this document is intended to narrow down possible causes of encountering this type of issue on a case by case basis.
Any business function which gets called asynchronously, we call it as an asynchronous business function. It is usually related with Transaction File Master Business Function in calling Edit Line and End Doc routine. Refer to <Document 1265902.1> "E1: BSFN: Master Business Function in EnterpriseOne"
Since this master business function is requested by JAS (Java Application Server) to logic server which has to response within designated time.
In [OWWEB] section of jas.ini,
Server Manager | JAS.INI | Default Value | Explanation |
---|---|---|---|
Asynchronous Business Functions | AsynchBSFNEnabled | true | If enabled, asynchronous business functions will be running in a separate thread; otherwise, asynchronous business function will be running on the same thread as of the main processing thread for the user requests. |
Initial BSFN Thread Pool Size | AsyncThreadPoolSize | 50 | Initial size of the asynchronous business function thread pool for this instance. When the number of asynchronous business function threads is over the pool size, the pool grows its size to support more threads. |
Increment of asynchronous business function thread pool | AsyncThreadPoolSizeIncrement | 5 | The number of increment threads when the asynchronous business function thread pool grows. |
Log out Extension Period | LogoutProcessTimeout | 720000 | If there is asynchronous business function running when a user logs out from EnterpriseOne, this is the maximum time period (in milliseconds) that the enterpriseOne user session is kept alive to allow for the asynchronous business functions to be completed. If there is no asynchronous business function running at the time of the user logout, the EnterpriseOne session is immediately invalidated. |
The following parameters can be found in jde.ini and jas.ini
Section | Server Manager | ini | Default Value | Explanation | |
---|---|---|---|---|---|
JAS | JDENET | Timeout Threashold | enterpriseserverTimeout | 90000 | The maximum time, in milliseconds, before a JDENET operation is considered to have timed out. (Time out value for requests sent to the Enterprise Server) |
Logic Server |
JDENET | Timeout Threashold | enterpriseserverTimeout | 60000 | (jdenet_n kernel) The maximum time, in milliseconds, before a Java JDENET operation is considered to be timeout. |
Logic Server | NETWORK QUEUE SETTINGS | JDENET Timeout | JDENETTimeout | 60 | (queue kernel) The amount of time, in seconds, that a requesting process should wait after sending a JDENET request to wait for the response before considering the message to have timed out. |
Refer to <Document 1208208.1> "E1: DB: Transaction, Transaction Processing, Commit and Rollback"
In EnterpriseOne, transaction processing is in place to fulfill "All or Nothing for critical commitment".
In EnterpriseOne Transaction is tightly related with Master Business Fuction. Master Business Function (MBF) is a Business Function written to process a record into the JDE system, which is made up of many sub-routines. JD Edwards provides MBFs to allow calling programs to process certain predefined transactions. An MBF encapsulates the required logic, enforces data integrity, and insulates the calling programs from the database structures.
Refer to <Document 1265902.1> E1: BSFN: Master Business Function in EnterpriseOne
Basic information need verifying,
Additionally (depending on the issue),
Questions to Ponder:
Questions | Questions | Justification | Reference |
---|---|---|---|
1. Is issue sporadic/intermittent? | If the issue is intermittent, necessary information above has to be verified. If possible, retrieve all JDE_*.logs in logic server and analyze it | ||
2. Any change made before error started to come? | |||
3. Issue started happening after ESU application? | Build full package after applying any baseline ESU | <Internal_Only><Document 1513969.1> E1: 42: Case Study - R42800 issues error "CMRB000002 - User buffer too small. Size allocated 1178, needed 1180"</Internal_Only> | |
4. Issue occurred after tools release upgrade? | |||
5. Upgrade in OS (including C Compiler) and DB? | Memory related issue can be specific to a certain platform | ||
6. Is there any custom Function, Table Trigger and/or Stored Procedure? | <Document 1301427.1> "E1: DB: Custom Stored Procedure Causes Deadlock in the Database" | ||
7. Was package successful? | Special Instruction is performed properly | ||
Persistent | 1. Does e1root_*.log contain TIMEOUT? | Locking/blocking, looping and/or volume of data. Capture CallObject kernel log |
<Document 1060095.1> "E1: ENV: How to Find any EnterpriseOne Log on Any Server, Platform, Client or Interactive/Batch Application"
|
2. Does e1root_*.log contain TM_TRAN_CANCELLED? | This error will be specific End Doc routine with transaction processing on | <Document 1094464.1> "E1: JAS: Exception/Error Code in JAS when Call Object Kernel Fails on Logic Server" | |
3. Does error specific to End Doc? | |||
4. Issue is specific to Edit Line? | |||
5. Higher usages of system resources? (100% CPU Usage) | Infinite Looping: Review CallObject Kernel log (jdedebug.log) and determine the BSFN causes infinite looping |
||
6. Does jde_xxxx.log issues *.dmp file? | Memory Error: *.dmp file in Windows and CallStack in AS400 will contain offending BSFN. Review routine in that BSFN |
<Document 1464687.1> E1: BSFN: Case Study on Memory Violation, Memory Corruption, Memory Overwrite, ACCESS VIOLATION and Zombie Kernel
|
|
7. Issue occurs across environment? (DV, PY and/or PD) | |||
8. The process resulted in zombie kernel? | Memory Error: Memory is created but not to be referenced |
||
9. Issue is specific to a certain user interface? | Up/down grids multiple times and OK/Cancel/Close button click | <Document 1265902.1> "E1: BSFN: Master Business Function in EnterpriseOne" | |
10. Is issue specific to huge volume of data (e.g., a few of hundreds data through Excel Import)? | Consider batch process or increase timeout parameters in jde.ini and jas.ini | <Document 1265902.1> "E1: BSFN: Master Business Function in EnterpriseOne" | |
11. Same issue occurs in Non-J* environment? | |||
Intermittent /Sporadic |
1.Any pattern in issue? (During Month-end process or a specific time range in a day) | Refer best practices per applications and by having good performance in general issue can be minimized | |
2. e1root_xxxxxxxx.log? | |||
3. All the jde_xxxx.logs in your logic server? | |||
4. Issue occurs only for a certain transaction or data specific? | |||
5. Does jde_xxxx.log issues *.dmp file? | |||
6. The process resulted in zombie kernel? | |||
7. Blocking information in Database? |
Possible cause and resolution:
Cause | Resolution | Considerations |
---|---|---|
The value for Timeout parameters are too small | Unless issue is specific to larget transaction do not change parameter which Oracle provides in your installation of EnterpriseOne | |
Faulty tools release | Look for known issue through My Oracle Support Portal | |
Missing bug | When issue is persistent or issue can be simulated at will | |
User interface issue | Based on user ID written in e1root_*.log, clarify further exact steps to simulate | |
The size of data | Implement Batch Process or increase timeout values for both jas.ini and jde.ini | <Document 1265902.1> - E1: BSFN: Master Business Function in EnterpriseOne |
Blocking/Deadlock | Check external Trigger, stored procedure and/or functions Verify Object Reservation Check Batch Control |
<Document 1228683.1> - E1: DB: Case Study on Deadlock in EnterpriseOne Applications |
Stored Procedure | <Document 1301427.1> - E1: DB: Custom Stored Procedure Causes Deadlock in the Database | |
Copied Business Data | <Document 779434.1> - E1: 43: Commit Failed Error in PY after copying Business Data from PD to PY |
A piece of information written above reads,
: So this information contains on what is your issue about. Then depends on the nature of issue, obtain the jde_xxxx.log and jdedebug_xxxx.log.