E9.2 Object Usage Tracking - Retention and Exclusions


Hello smart JDE folks!

Currently on App 9.2 and Tools running on RHEL and Oracle DB, and trying to put together some policies/strategies around object usage tracking in our production environment, and I figured some of y'all may have some excellent insight into what direction I should be leaning. We're currently running tracking on all objects (APP, UBE, BSFN) with a handful of UBEs and APPs excluded (e.g. I don't think I care to track how often P986162 "Printer selection before printing a UBE" is called).

1. Are many of you running Object Usage Tracking in production? We've tapped it to pull some time-of-day usage stats, and I've used it to monitor testing progress a couple times in PY, so I know there's going to be use cases for us where it provides value. I also understand you can use it as part of ESU installs for more insight into impact. Is this actually useful in your organization?

2. Are you running it wide open, or are you maintaining a list of excluded objects? Should I care that B1100007 "Decimals Trigger Get by CO CRCD" was called 274 million times in May 2023? Am I potentially going to be cursing my own name 1, 2 years down the road if I exclude it?

3. What kind of retention policy are you following for records in the F98902 Summary table? I don't believe there's a purge job for this table like there are for the two Detail tables, but I expect that it's going to end up being one of those big tables; not like F42199 or F0911 big, but probably top 20 in the DB. On the other hand, disk space is generally easily accessible in my org, so should I even care if it gets bigger? If it being big isn't going to harm performance, we can always chuck another data file at it and let it go.

4. If we end up landing on a policy to retain X years of usage, does it make the most sense to purge based on the OSOTYEAR column, or is there perhaps a better option?

Thanks kindly for any and all insight and guidance!


There is a purge UBE, it's on the same menu as the 4 that build the info up for you.

I have advised its switched on and is wide open, we only have a few exclusions, it's prbably something we shoudl look at again. But we have it on for post go live monitoring.
I would exclude certain BSFNs yes, maybe even all???

I will get back to you on what comes out of our management meetings on this as it's kind of been swtiched on and forgotten about.
1. I think this is helpful for a lot of reasons. I find as a consultant, I have a lot of clients who don't know who runs what, none of them understand the security implemented years ago, and none of them know if custom UBE they wrote for Bill in marketing to count ducks is still used.

2. I'm not even putting in on for BSFN's yet, apps and UBE's are all I give. Definitely turn it off for common apps (P98305W, P01012S, P0006S, etc etc etc)

3. There's a UBE, but I've written scripts to aggregate historical data and purge it manually.

4. I think summarize and purge it all :) Maybe just the app, and the last run date only, then truncate away. Don't look at it as something you want to put retention controls around, but something more of a useful tool to help guide better decision making around retrofits, retention of customization, reworking security, etc etc.

Hope that helps.
We are using this in our Production and PY environments. We have 2 main purposes for using this:
1) Tracking object usage to determine future impacts for ESU/ASU installs...primarily when we do big code current projects
2) Auditing of what applications are being used by our privledged users.

We are just implementing our Summarization and Purge plan, which we will summarize every month, and then purge APP and UBE data older than 2 years and BSFN older than 90 days.

We are excluding the following list of objects, because they create too many records:

B0000012 Get Batch Type Constants
B0000034 Concatenate Object and Subsidi
B0000045 Convert Math Numeric to String
B0000092 Batch Type Information
B0000095 Format Company Number
B0000115 AAI Range Of Accounts +
B0000118 F0901 - Get Alternative Descri
B0000126 Retrieve System Constants - G/
B0000128 Retrieve Company Currency Code
B0000182 Initialize Environment for Ven
B0000183 Free Environment for Vendor Bu
B0001026 Retrieve Job Cost Constants
B0100002 A/B - Get Parent Address
B0100011 Error Message Processor to PPA
B0100016 Scrub Address Number
B0100018 Get A/B Constants
B0100025 Initialize PPAT Error Message
B0100039 Is Address Number in Address B
B0100089 Electronic Address
B0100098 Determine Tools Release for AB
B0100099 Secure Address Book Tables
B0200098 PPAT - Get User Id, Address Bo
B03B0063 Retrieve SEPF Flag
B03B0183 F03012 Customer Master Info
B0500420 Get Current Date and Time
B0701630 Create Historical Payroll Regi
B0900103 F0011 - Update Batch For GL Po
B0900160 F0911Z4 Write Outbound F0911
B1100006 Decimal Trigger Get By Currenc
B1100007 Decimals Trigger Get by CO CRC
B1100008 DecimalsTriggerGetbyCRDCCRCD
B7300002 Validate Quantum GeoCode
B9600500 Get Release Information
B9800009 UTC Time Functions
B9800100 Get Audit Information
B9800190 Get Company And Report Descrip
B9900410 Get Environment Value
ISCOLBU Is Business Unit in Business U
N03B0185 F03012 Get Customer Master
N4700060 EDI Batch Number, Get Next Num
N48S0050 Get Billing Constants
N7300001 Determine if Quantum is Active
P98305W Batch Versions - Web Version
R04110ZA Batch Voucher Processor Report
R07345 Historical Payroll Register
R09110Z Journal Entry Batch Processor
R09801 General Ledger Post
X00022 F00022 Get Next Unique Key ID
X0005 Get User Defined Codes
X0010 Next Numbers
X0903 Fiscal Date Edits +
XX0901 Validate Account Number