jump to navigation

PeopleCode records: PSPCMNAME and PSPCMPROG August 11, 2008

Posted by Duncan in PeopleSoft, PeopleTools, SQL.
comments closed

A widely known tip and a new (at least for me) discovery:

Widely known tip

Most techies who’ve looked under the covers will be aware of PSPCMPROG. It’s the underlying table where PeopleCode is storeed. This isn’t immediately useful however as the actual code itself is stored in the PROGTXT field in binary so it’s not easily accessible. This isn’t an insurmountable issue however as there are a couple of routines to decode the field (an SQR and a Java version, both by David L Price). I’ve not used either method personally, but a colleague has used the SQR version with great success.

For me, this field isn’t quite the most useful on PSPCMPROG. You may have noticed that if you update the PeopleCode on a record, the record properties aren’t updated to reflect the change – I guess because the record definition itself hasn’t changed (although strangely Component and Page PeopleCode do update the timestamp on the corresponding Component/Page definition – so there’s a bit of an inconsistency there). So how do you check when and by whom a piece of Record PeopleCode was last updated? If you check the LASTUPDDTTM and LASTUPDOPRID fields on the PSPCMPROG record via SQL then it’s all recorded there. This snippet of knowledge has saved me (or at least expedited troubleshooting by showing me the correct person to ask about the change) innumerable times.

Lesser known tip

I’ve not really had much reason to look at the PSPCMNAME record in the past, however a colleague and I checked it recently and discovered the RECNAME and REFNAME fields. Every time you create some PeopleCode your code is parsed and a line inserted into PSPCMNAME for every reference to a Tools object. I assume that this is the record searched when using ‘Find Definition References’ within App Designer. However, now we know the SQL table behind this we can therefore query this table to quickly find out objects affected by code in a specified project, for example.

Both the company I currently work for and my previous employer had utilities to export project details to file, printing out settings and details from Tools objects to speed-up the documentation process (and we know how much techies love documenting!). Now we can add to that utility any objects that are affected but which aren’t included in the project.

Oracle’s Fusion Progress and secrecy August 4, 2008

Posted by Duncan in Fusion, Oracle, PeopleSoft.
comments closed

There’s a good summary post on Oracle and how they’re far more secretive about their products than PeopleSoft ever used to be.  The post deals with Fusion, but I think that the same point applies to many products, including PeopleSoft applications and Tools releases.  Even tools patches have very vague release dates.

When I posted a year or so ago that I’d heard Jesper Andersen say that the Fusion Applications suite wouldn’t GA until 2009 there was a fair bit of feedback (to put it politely – I even had to edit one comment for profanity), but now it seems more likely that Jesper was correct.

How much we read into this Gartner report is up to our own faith in Oracle, but statements like

‘Oracle plans to only sell Fusion to new customers and that “migrating the installed base to Fusion is no longer a near-term goal”.’


‘the 2008 Fusion applications will not include any core ERP products’

don’t fill me with confidence that we’ll see clients implementing Fusion any time soon.

It’s great news though for anyone hoping that the PeopleSoft product line remains around for a long time.

MonkeyGrease Plea July 16, 2008

Posted by Duncan in PeopleSoft, PeopleTools, PIA.
comments closed

I’m going to be looking at MonkeyGrease over the next couple of weeks and wondered if anyone felt like sharing their experiences.

I’ll be setting it up in a VM and tinkering with it to see what it can do.  As a result I’d love to see screenshots, descriptions or – if you’re feeling particularly generous – some code if you’ve used MonkeyGrease in the past.  I’ll give full credit to anything used, and if you do send code I won’t use it on client site, purely for the purposes of demonstrating MonkeyGrease’s functionality.

I’m aware that others have blogged about this in the past, including Jim Marion, Rich Manalang and one of the Grey Sparling team, and there is a Google Group for it.  If there is anything else out there I’d love to know.  Once I’ve got all the info in I’ll post a consolidated write-up and include all the links.

For those new to MonkeyGrease, see here.

Intriguing Oracle WebCast July 1, 2008

Posted by Duncan in Fusion, Oracle, PeopleSoft, Strategy.
comments closed

Oracle have made available a WebCast outlining their future direction for MiddleWare strategy, and announcing what’s in store for the BEA product line.

I must admit that I haven’t listened to the WebCast myself (to be honest I didn’t think there’d be much there that affects PeopleSoft in the short term) but after reading summary posts on a couple of other blogs it seems I was wrong.

The most surprising announcement for me was that going forward

“BEA WebLogic Server is now Oracle’s strategic JEE container and will be integrated into Fusion Middleware stack immediately; OC4J dev to continue though”

This was a bit of a shock as I expected Oracle App Server to be slowly pushed as the Web Server of choice. It’s a change of tack too as in many ‘prepare now to get a headstart for Fusion’ presentations I’ve got the impression that clients should be implementing what they perceive to be Fusion middleware components now, and I’d have had Oracle App Server down as one of those applications.

Antony Reynolds also says:

“But the surprising bit was the emphasis that Thomas Kurian made on Tuxedo. It seems as though the Tuxedo guys are being rehabilitated after years in the wilderness at BEA since the WebLogic acquisition. I was amazed at the increase in connectivity and functionality that has occurred in Tux since I last came into contact with it some ten years ago.”

I’ve tried to view the webcast to find out exactly what’s behind this but can’t seem to view it. I’ll post more if I can get it working …

EDIT: Mulling this over further, I think the decision to use WebLogic over Oracle’s own product is good news for the other acquisitions. If Oracle is willing to use a product that it deigns is superior instead of just using its own product ‘because it’s Oracle’ then that bodes well for any areas of functionality within PeopleSoft, Siebel etc that may be better than corresponding areas of eBusiness suite.

VMWare Player and IP Ranges June 30, 2008

Posted by Duncan in Administration, Oracle, PeopleSoft, PeopleTools, Virtualisation.
comments closed

I’ve been doing some work with VMWare Server and VMWare Player. They’re both free tools (download links can be found on the Applications page) and can be invaluable when you need a sandbox environment.

VMWare Server is great for creating the VMs, and you need it while you’re adding virtual disks etc. However once the VM is in place it may be worthwhile switching to VMWare Player. The Player is slightly faster but you can’t perform maintenance like add disks when using it. Also, they don’t co-exist on the same client machine, it’s either one or the other. To be honest, I just uninstall and install as it doesn’t take that long.

The issue I faced, and the reason for this post is that VMWare Server lets the user configure the IP Address assignments and DHCP ranges from within the application, while VMWare player doesn’t. This is a bit of an issue if you have a VM that you’ve configured with a static IP address in a non-default range, then when you switch to VMWare Player the static IP isn’t in the default range.

The secret to know is that the ability is still there, you just have to go looking for it. The utility you need is ‘vmnetcfg.exe’ and it’s under the VMWare Player install directory (i.e. ‘C:\Program Files\VMware\VMware Player’). From here you can configure the IP Ranges to be whatever you wish.

A Progress Bar for the REN Window June 25, 2008

Posted by Duncan in Application Engine, PeopleSoft, PeopleTools.
comments closed

When I spoke before about the REN Server window and inserting into it, I mentioned that as well as text a progress bar was a possible inclusion.

The benefit of a progress bar to the users is that they can tell at a glance how far through a long running process is.

There are inherant problems with progress bars of course, in that they’re often less than 100% accurate.  Most people have at some point joked at the time estimates for file copy progress bars within Windows, and ‘Microsoft Minutes’ is sometimes used as an ananlogy for inaccurate and super-cautious time estimates.

Despite this, I believe they have a place.  For some processes – particularly those that run row-by-row – it’d be pretty easy to work out how far through it is by comparing the row number to the total number of rows.

Here’s how it’s done … (more…)

REN Server Ports on Multi-App Installations February 7, 2008

Posted by Duncan in Administration, Infrastructure, Oracle, PeopleSoft, PeopleTools, PS Admin.
comments closed

When you have more than one App Server on a single machine – and they both need to run a Ren Server process – you need to adjust the port number in the same way you do for other processes (although the REN Server is easy to miss – like I did – as it’s near the bottom away from the other port numbers).

If you do boot the App Server without changing the port you’ll get an error message:

exec PSRENSRV -A -- -C psappsrv.cfg -D PADMO -S PSRENSRV : CMDTUX_CAT:1685: ERROR: Application initialization failure

tmboot: CMDTUX_CAT:827: ERROR: Fatal error encountered; initiating user error handler

tmshutdown -qy

OK, you think. I know what that is, it must be a port clash. So you reconfigure the port in PSADMIN and then try to boot it again. Same error. Checking the REN Server log gives the following clue:

(ERROR) nssock: Cannot listen on port 7180. The port may already be in use.

It’s still looking on port 7180, not the new port!

The missing step is to update the database, as the port is stored there also:


You should then find you App Server and Ren Server boot fine.

SQL Best Practises in less than 20 minutes January 29, 2008

Posted by Duncan in Oracle, PeopleSoft, SQL.
comments closed

A post on the blog of H.Tonguç Yılmaz drew my attention to a great video tutorial by Stephane Faroult on “SQL Best Practises in less than 20 minutes”.


Stephane clearly knows his topic, but also possesses a wonderful dry wit. His comical example of the developer’s shopping algorithm and the “DBA doing the parameter dance” to tune it had me chuckling away and has made sure that the point won’t be forgotten.

Is Oracle the next Microsoft? January 24, 2008

Posted by Duncan in Oracle, PeopleSoft.
comments closed

There’s an article/survey on the Register website pondering the above topic.


Tolerance of slow App Server boot January 22, 2008

Posted by Duncan in Infrastructure, Oracle, PeopleSoft, PeopleTools, PS Admin, Tuxedo.
comments closed

In one of the more recent versions of Tools (8.49 is the first time I’ve noticed it, but that doesn’t mean it hasn’t been around in prior versions) I’ve noticed that occasionally the boot of an Application Server will fail with an error.

Booting admin processes ...
exec BBL -A :
CMDTUX_CAT:1863: INFO: Process ID=2636 Assume failed (timeout).

At the time of writing, there is nothing in Customer Connection for this, and a google search wasn’t particularly helpful either. So I had to resort to a technique from pre-Google days – i.e. work it out myself. Thankfully it wasn’t too difficult. (more…)