Some notes when working with secondary pages.
It is possible to bring up a secondary page using the
DoModal() PeopleCode function. To make the data contained in that secondary page to be part of the component buffer, you’ll have to place a secondary page control in one of the standard pages of your component. Elementary. However, there’s something I didn’t discover until recently.
I have recently completed prototyping a rather challenging problem that involves printing a document from a PeopleSoft page. The challenge is to find a way to print a separate document directly from the page. The functional SME somehow has an expectation that this functionality should behave like a native application — where by a click a button on the page, he will be presented by the Windows print dialog; the user can proceed and a document that is not the page being displayed will be printed on the user’s printer. Now, PIA applications are accessed via a web browser. Because of this, the features available to the application is limited by the web browser it is running on.
I recently decided to implement a moderately sized application using 2 subclasses and a base class. The experience allowed me to discover a few shortcomings of Application Classes.
The first time I started developing PeopleSoft applications was on version 7.x. Back then, my previous client-side RAD coding experience is with VB6. It was amazing back then to be able to develop an application much more rapidly than VB6. When I learned PeopleCode, it is a bit appalling to see how primitive the language is, even though it borrows quite a lot of syntax from VB. This doesn’t matter though, PeopleCode was just an icing on an already delicious cake. The PeopleSoft application framework already delivers a lot of advantages.
When 8.1x came out, I was delighted to see PeopleCode adapt dot-notation object-style syntax for most of its data access — eliminating the need to use those convoluted functions of 7.x that makes PeopleCode coding a pain to use. The mapping of fields, records, rows and rowset to an object heirarchy makes a lot of sense and it made coding and reading PeopleCode a lot easier. Again, there was a shortcoming — you could only use built-in classes.
8.4x introduced Application Classes. This alone made me very excited about coding 8.4 PeopleCode. I know 8.4 has been around for more than a year now. But it has only been recently that our client upgraded to this version. Now I have the opportunity to create real world applications that take advantage of custom classes.