This document is to explain enhancements made for Resetting Database Table Cache Using a Pre-Configured Application which is available as of EnterpriseOne Application Release 9.1 Update 2 and above. If your application meets this update, you can reset database cache per table depending on your business requirement.
This document covers:
Dynamic Cache feature is to work only when,
Note:
To minimize possible dirty reads (a fetch before modified data when update is performed) or phantom reads (fetch deleted data when delete is performed) by flushing/deleting/resetting database cache per table against data source mapped.
UDC 00/RF - Table Cache Auto Refresh
| App | App Description | Cached Table | Table Description | Business Function | Others |
|---|---|---|---|---|---|
| P0000 | System Setup | F0010 | Company Constants | B0098610 ClearTableCache | <Bug 17275615> |
| P0001 | Co/BU Tree Structure | F0006 | Cost Center Master | B0998610 ClearTableCache_09 | <Bug 17276303> |
| P0006 | Business Units | F0006 | Cost Center Master | B0998610 ClearTableCache_09 | <Bug 17276303> |
| P00071 | Workday Calendar | F0007 | Work Day Calendar | B3098610 ClearTableCache_30 | <Bug 17276438> |
| P0008 | Fiscal Date Patterns | F0008 | Date Fiscal Patterns | B0998610 ClearTableCache_09 | <Bug 17276303> |
| P0010 | Companies | F0010 | Company Constants | B0998610 ClearTableCache_09 | <Bug 17276303> |
| P001001 | Alternate Tax Rate/Area Assign | F0006 | Cost Center Master | B0098610 ClearTableCache | <Bug 17275615> |
| P001001 | Alternate Tax Rate/Area Assign | F0010 | Company Constants | B0098610 ClearTableCache | <Bug 17275615> |
| P001012 | Fixed Asset Constants | F0010 | Company Constants | B1298610 ClearTableCache_12 | <Bug 17276357> |
| P001012 | Fixed Asset Constants | F1200 | Fixed Asset Constants | B1298610 ClearTableCache_12 | Not belonging to P98613 <Bug 17276357> |
| P0013 | Currency Codes | F0013 | Currency Codes | B0098610 ClearTableCache | <Bug 17275615> |
| P0014 | Payment Terms | F0014 | Payment Terms | B03B9861 ClearTableCache_03B | <Bug 17275630> |
| P0014 | Payment Terms | F00141 | Advanced Payment Terms | B03B9861 ClearTableCache_03B | <Bug 17275630> Not a member of Database Caching |
| P00145 | Advanced Payment Terms | F0014 | Payment Terms | B03B9861 ClearTableCache_03B | <Bug 17275630> |
| P00145 | Advanced Payment Terms | F00141 | Advanced Payment Terms | B03B9861 ClearTableCache_03B | <Bug 17275630> |
| P00218 | Invoice Voucher Co Tax Const | F0010T | Company Constants Tag Table | B0998610 ClearTableCache_09 | <Bug 17276303> Not a member of Database Caching |
| P0022 | Tax Rules | F0022 | Tax Rules | B0498610 ClearTableCache_04 | <Bug 17276005> |
| P0025 | Ledger Type Master Setup | F0025 | Ledger Type Master File | B0998610 ClearTableCache_09 | <Bug 17276303> |
| P0026 | Job Cost Constants | F0026 | Company Constants - Job Cost | B5198610 ClearTableCache_51 | <Bug 17276525> |
| P059051A | Business Unit Constants | F0006 | Cost Center Master | B0598610 ClearTableCache_05 | <Bug 17276019> |
| P059116 | Pay Type,Ded, Benef, Accrual | F069116 | Payroll Transaction Constants | B0598610 ClearTableCache_05 | <Bug 17276019> |
| P059117 | Advanced DBA Information | F069116 | Payroll Transaction Constants | B0598610 ClearTableCache_05 | <Bug 17276019> |
| P059118 | Basis of Calculation | F069116 | Payroll Transaction Constants | B0598610 ClearTableCache_05 | <Bug 17276019> |
| P07RSW | Rollover Setup Window | F069116 | Payroll Transaction Constants | B0598610 ClearTableCache_05 | <Bug 17276019> |
| P1609 | Advanced Cost Acct Const | F1609 | Cost Management Constants | B0098610 ClearTableCache | <Bug 17275615> |
| P17001 | S&WM System Constants | F17001 | Service/Warranty Constants | B1798610 ClearTableCache_17 | <Bug 17276394> |
| P1724 | Contract Coverage | F1724 | Service Contract Coverage | B1798610 ClearTableCache_17 | <Bug 17276394> |
| P17506 | Work With Provider Groups | F1752 | Case Types | B1798610 ClearTableCache_17 | <Bug 17276394> |
| P17506 | Work With Provider Groups | F1753 | Case Priority | B1798610 ClearTableCache_17 | <Bug 17276394> |
| P1790 | Product Family/Model | F1790 | Product Family/Model Master | B1798610 ClearTableCache_17 | <Bug 17276394> |
| P3009 | Manufacturing Constants F3009 | F3009 | Job Shop Manufact Constants | B3098610 ClearTableCache_30 | <Bug 17276438> |
| P3009 | Manufacturing Constants F3009T | F3009T | Manufacturing Constants Tag File | B3098610 ClearTableCache_30 | <Bug 17276438> Not a member of Database Cache |
| P400951 | Default Location & Printers | F40095 | Default Locations/Printers | B4198610 ClearTableCache_41 | <Bug 17276470> |
| P40204 | Order Activity Rules | F40203 | Order Activity Rules | B4098610 ClearTableCache_40 | <Bug 17276455> |
| P40205 | Line Type Constants | F40205 | Line Type Control Constants | B4098610 ClearTableCache_40 | <Bug 17276455> |
| P4071 | Price Adjustment Type | F4071 | Price Adjustment Type | B4298610 ClearTableCache_42 | <Bug 17276499> |
| P41001 | Branch/Plant Constants | F4009 | Distrib/Manufact Constants | B4198610 ClearTableCache_41 | <Bug 17276470> |
| P41001 | Branch/Plant Constants | F41001 | Inventory Constants | B4198610 ClearTableCache_41 | <Bug 17276470> |
| P41002 | Unit Meas Convers - Item | F41002 | Item Unit Meas Convers Factor | B4198610 ClearTableCache_41 | <Bug 17276470> |
| P42460 | Sales Order Constants | F90CA000 | CRM Constants Table | B4298610 ClearTableCache_42 | <Bug 17276499> |
| P48091 | Service Billing Constants | F48091 | Billing System Constants | B5198610 ClearTableCache_51 | <Bug 17276525> |
| P49002 | Transportation Constants | F49002 | Transportation Constants | B4998610 ClearTableCache_49 | <Bug 17276511> Not a member of Database Caching |
| P49003 | Load Types | F49003 | Load Type Constants | B4998610 ClearTableCache_49 | <Bug 17276511> Not a member of Database Caching |
| P49004 | Mode of Transport Constants | F49004 | Mode of Transport Constants | B4998610 ClearTableCache_49 | <Bug 17276511> Not a member of Database Caching |
| P4950 | Routing Entries | F4950 | Routing Entries | B4998610 ClearTableCache_49 | <Bug 17276511> Not a member of Database Caching |
| P4950 | Routing Entries | F4953 | Routing Hierarchy | B4998610 ClearTableCache_49 | <Bug 17276511> Not a member of Database Caching |
| P4970 | Work With Rating Info | F4973 | Rate Structure Definition | B4998610 ClearTableCache_49 | <Bug 17276511> Not a member of Database Caching |
| P4970 | Work With Rating Info | F4978 | Charge Code Definitions | B4998610 ClearTableCache_49 | <Bug 17276511> Not a member of Database Caching |
| P4972 | Work With Rate Detail Info | F4973 | Rate Structure Definition | B4998610 ClearTableCache_49 | <Bug 17276511> Not a member of Database Caching |
| P4978 | Work With Charge Codes | F4978 | Charge Code Definitions | B4998610 ClearTableCache_49 | <Bug 17276511> Not a member of Database Caching |
| P51006 | Job Cost Master | F0006 | Cost Center Master | B5198610 ClearTableCache_51 | <Bug 17276525> |
| P7306 | Quantum Sales Use Tax Const | F7306 | Quantum Sales Use Tax Const | B0498610 ClearTableCache_04 | <Bug 17276005> |
| P90CA000 | CRM Constants | F90CA000 | CRM Constants Table | B90CA610 ClearTableCache_90CA | <Bug 17276548> Not a member of Database Caching |
| R09705 | Compare Account Balances To Transactions Report | F0901 | Account Master | B0998610 ClearTableCache_09 | <Bug 17533200> R09705 PERFORMANCE ISSUE |
| R4950 | Batch Routing Rate Update | F4950 | Routing Entries | B4998610 ClearTableCache_49 | <Bug 17276511> Not a member of Database Caching |
Note:
The following applications do not belong to UDC 00/RF but they have implementation for Clearing Table Cache:
| App | App Description | Cached Table | Table Description | Business Function | Others |
|---|---|---|---|---|---|
| P059036 | Basis of Calculation Hierarchy | B0598610 ClearTableCache_05 | Validation done against Application Name P059118 <Bug 17276290> |
||
| P059116C | Canadian Legislative/Regulatory | F069116 | Payroll Transaction Constants | B0598610 ClearTableCache_05 | Validation is performed based on application ID P059116 <Bug 17276316> |
| P059116U | U.S. Legislative/Regulatory | F069116 | Payroll Transaction Constants | B0598610 ClearTableCache_05 | Validation is performed against the object ID 059116 <Bug 17276316> |
| P05TAX | Tax Exemption Revisions | B0598610 ClearTableCache_05 | Validation is performed against the object ID P069116 <Bug 17276290> |
Notes:
The Applications listed above have more of less same routine as below,
| Hook Up | Event | How To | Explanation |
|---|---|---|---|
| Dialog is Initialized or, Post Dialog is Initialized |
Before user update/delete data (to minimize dirty read/phantom read) |
Is Clear Table Cache Feature Enabled - 41 "P400951" -> BF szApplicationName VA frm_cClearTblCacheEnabled_EV01 <- BF cClearTableEnabled |
Application Name should be defined in UDC 00/RF cClearTableEnabled --> Refer to section: "How to determine cClearTableEnabled" |
| Update Record to DB - After and, Delete Grid Rec from DB-After |
After data get updated/deleted | Set Flag: VA frm_cUpdateOccurred_EV01 = "1" Set Control Error(HC &Close, "00RF") VA frm_cWarningSet_EV01 = "1" |
When there is any update/delete set flag to determine call Clear Table Cache 00RF is informative message to instruct to close application cWarningSet is used not to set 00RF more than once |
| End Dialog | In closing out application | If VA frm_cUpdateOccurred_EV01 is equal to "1" If VA frm_cClearTblCacheEnabled_EV01 is equal to "1" Or VA frm_cClearTblCacheEnabled_EV01 is equal to "2" Clear Table Cache - 41 "F40095" -> BF szTableName "P400951" -> BF szApplicationName End If End If |
Currently VA frm_cClearTblCacheEnabled_EV01 '1' is valid value because special handling code of 00/RF is defined as below, 11 - Enabled (1) 10 - Disabled (0) |
Business Function B4098610 is made up of the functions below:
IsClearTableCacheEnabled_40 (Is Clear Table Cache Feature Enabled - 40)
Data Structure for D4098610B (Clear Table Cache Enabled - 40)
| Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both | Others |
|---|---|---|---|---|---|
| szApplicationName | OBNM | char | OPT | IN | Application Name defined in UDC 00/RF |
| cClearTableEnabled | EV01 | char | OPT | OUT | 1 (Enabled), 0 (Not Enabled) |
ClearTableCache_40
Data Structure for D4098610A (Clear Table Cache -40)
| Parameter Name | Data Item | Data Type | Req/Opt | I/O/Both | Others |
|---|---|---|---|---|---|
| szTableName | OBNM | char | REQ | INPUT | Table Name (Check each application because this value is hard coded in the event rule) |
| cClearCacheSuccessful | EV01 | char | OPT | NONE | Not in use because this function is called at End Dialog. To know whether it is successful or not, refer to the JDE.LOG for the process you are running |
| szApplicationName | OBNM | char | REQ | INPUT | Application Name must be defined in UDC 00/RF |
Currently JDE.LOG can contain the 3 messages below (which replaces cClearCacheSuccessful):
The table below shows the relationship between P98613 (Database Caching) and Database Table Cache Using a Pre-Configured Application:
How to read:
| Table | Database Cache | Dynamic Cache |
| Yes | No | |
| Yes | Yes | |
| No | Yes |
Full List:
| Object Name | Member Description | Others |
|---|---|---|
| F0004 | User Defined Code Types | No Dynamic Cache |
| F0005 | User Defined Codes | |
| F0006 | Cost Center Master | Both Dynamic Cache and P98613 |
| F0007 | Work Day Calendar | |
| F0008 | Date Fiscal Patterns | |
| F0010 | Company Constants | |
| F0010T | Company Constants Tag Table | Only Dynamic Cache |
| F0012 | Automatic Accounting Instructions Master | |
| F0013 | Currency Codes | |
| F0014 | Payment Terms | |
| F00141 | Advanced Payment Terms | Only Dynamic Cache |
| F00144 | Installment Payment Terms | |
| F0015 | Currency Exchange Rates | |
| F0022 | Tax Rules | |
| F0025 | Ledger Type Master File | |
| F0026 | Job Cost Constants | |
| F01138 | AB Data Permission List Definitions | |
| F069016 | Payroll Tax Area Profile | |
| F069036 | Payroll Transaction Cross Reference | |
| F069056 | Establishment Constant File | |
| F069086 | Payroll Corporate Tax Identification | |
| F069096 | Payroll General Constants | |
| F069106 | Union Benefits Master | |
| F069116 | Payroll Transaction Constants | |
| F069226 | Unemployment Insurance Rates | |
| F07901 | Pre-Payroll DBA Calculation Control Table | |
| F08040 | HR History Constants | |
| F0901 | Account Master | |
| F1200 | Fixed Asset Constants | Only Dynamic Cache |
| F1609 | Cost Management Constants | |
| F1690 | Enables Tables by Application | |
| F17001 | Service Warranty Constants Table | |
| F1724 | Service Contract Coverage | |
| F1725 | Service Contract Services | |
| F1752 | Case Types | |
| F1753 | Case Priority | |
| F1790 | Product Family/Model Master | |
| F1793 | S/WM Line Type Constants | |
| F3009 | Job Shop Manufacturing Constants | |
| F3009T | Manufacturing Constants Tag File | Only Dynamic Cache |
| F40039 | Document Type Master | |
| F40070 | Preference Master File | |
| F40073 | Preference Hierarchy File | |
| F4008 | Tax Areas | |
| F4009 | Distribution/Manufacturing Constants | |
| F40095 | Default Locations/Printers | |
| F4009T1 | Distribution/Manufacturing Constant Tag Table | |
| F40203 | Order Activity Rules | |
| F40205 | Line Type Control Constants File | |
| F4070 | Price Adjustment Schedule | |
| F4071 | Price Adjustment Type | |
| F4095 | Distribution/Manufacturing - AAI Values | |
| F41001 | Inventory Constants | |
| F41001T1 | Inventory Constants Tag File | |
| F41002 | Item Units of Measure Conversion Factors | |
| F41003 | Unit of Measure standard conversion | |
| F46L001 | License Plate Numbering Constants | |
| F48091 | Billing System Constants | |
| F49002 | Transportation Constants | Only dynamic Cache |
| F49003 | Load Type Constants | |
| F49004 | Mode of Transport Constants | |
| F4950 | Routing Entries | |
| F4953 | Routing Hierarchy | |
| F4973 | Rate Structure Definition | |
| F4978 | Charge Code Definitions | |
| F7306 | Quantum Sales and Use Tax Constants | |
| F90CA000 | CRM Constants Table | Only Dynamic Cache |
| F95922 | Permission List Relationships Table | |
| F99410 | OneWorld System Control File | |
| FF30L011 | Line Design Control Parameters | |
| FF30L012 | Kanban Control Parameters | |
| FF34S003 | DFM Planning Parameters |
Question 1: In clearing table cache through P986116D, how does it determine the data source?
Answer 1: Environment name has to be stored during start up and/or initializing any kernels on the Enterprise Server. In order to run any application per kernel 'User (hUser as handle/pointer)', Env (hEnv) and 'Role' must be initialized. Subsequent processes can make use of it.
In running application (or session) it calls BSFN jdeInitEnvBSFN which the calls api GetEnvironmentName() and returns (HENV hEnv) so for this example the environment name selected during login to E1 has to be the environment for P986116D. We define HENV the environment handle contains information related to the current database connection and valid connection handles. Every application connecting to the database must have an environment handle. This handle is required to connect to a data source. Assuming that database cache is "holding" a data source the session knows which memory to flush.
Possibly through the Server Map definition in the JDE.INI and bootstrap (since both F98611 (Data Source Master) and F986101 (Object Configuration Master)) are server map and bootstrap tables, JDE knows the environment and data source relationship.
In general, we can flush cache through JDB API JDB_ClearTableCache(). Since any access to DB follows (JDB APIs) JDB_InitEnv() -> JDB_InitUser() -> JDB_InitBhvr()... hEnv retrieved in application P986116D has to be used.
This is why we need to specify environment when we try to reset database cache through Server Manager because Server Manager does not have instances per environment.
Question 2: Can we add additional application through UDC 00/RF?
Answer 2: No. As explained above, clear cache is implemented by listed application. Note that some of UDC code may not be available. In case the special instruction for your ESU does not contain instruction on adding UDC, add it manually. Note that though you add some UDC code, so long as a certain table is not a member of F98613, it shall not function because there is no database cache to flush. In case you have modified P98613, you need to restart JDE service to make change effective.
Question 3: What is values to populate for DD Alias TBLREFR (TableCacheAutoRefresh)?
Answer 3: In case you do not follow special instruction this action can be done after package deployment.
Go to P92001 (Work with Data Item) and populate controls below,