PeopleCode Rabbit Hunting

So, have you ever been on a rabbit hunt with PeopleCode?  You know, you’re trying to trace down a bug (undocumented feature) and you have to keep opening another record in the Application Designer, then another, and then another.

Then at the end of the day you just want to save your project and go home.  Then you start getting the “do you want to save” messages and you can’t really remember if you made any peoplecode changes or not…

I know I’ve been there more than once.  So I decided to take on the task of taking all the PeopleCode and creating webpages out of them so I could quickly surf them with my browser.  It looks something like:

Note the first page (index is the first two letters of the record:

ipage

So let’s say that you want to look up the FUNCLIB records, you would of coarse start at the FU page (funny how that worked out) and that page would look some like:

flibpage

Notice the record name is an h1 and then you have a list of fields, not all the fields, just those with PeopleCode events.  Lets explore the RowInit event for the field DYN_REF_DATA2.  Clicking this link will bring you to:

rowinit

And now you need to chase down the select_ref_value function.  Well just click the hyperlink and you’re there.

 

I find that having these pages available is a great time saver for research.  However, I’m not sure others would.  I think so, but who knows.  This is mostly an automated process to create these pages but if I find there is a lot of interest in the community, I’ll polish up the scripts and make them available or offer a service to do them for you.

Currently this only includes record PeopleCode.  It does not include Page PeopleCode, Application Engine steps, or Application Package PeopleCode.  If there is interest these could be added.

These processes require that you dump your PeopleCode to a text file through the Application Designer.  It’s not a complicated process if you’ve never performed it before, but it does take a long time, best to start the process as you are leaving for the day.  I can walk you through the process quickly if you have any questions.  Note: just having this PeopleCode dump file is excellent for quickly searching your entire PeopleCode database for specific terms.  The Find In function is so poor it’s unbelievable, this will find results in seconds, not hours.

For a 9.2 Financials database, this equates to about 85k web pages at about 1.2 gig of space.  This is obviously meant to be stored on a lan somewhere and not available to the general public.  Of course you could, just be aware that your would be exposing your customizations if you did so.

Anyway, let me know what you think and thanks for reading this far if you are still here.