Of the basic PeopleTools tables, the USEEDIT field of the record field properties (PSRECFIELD) is perhaps the most intruiging. The USEEDIT field is a 32-bit integer field. For some reason (is it for maximizing space? is it forward-thinking? to eliminate the need to add fields on future attributes?), PeopleSoft crammed a bunch of field properties into this single field. PeopleSoft did this by assigning a property to each bit of the field value.
For example: if the value of USEEDIT is 257, its binary representation is 0000000100000001. As you can see, the rightmost 1st bit and the 9th bit are turned on. The 1st bit represents the Key attribute, whereas the 9th bit represents the Required attribute. This means that a USEEDIT value of 257 represents a field which is both a Key and is Required.
Regular expressions (or regex as it is affectionately called) is a powerful tool for searching (and also, replacing) complex text patterns. A quick tutorial can be found at www.regular-expressions.info. To quote from that site:
If you are a programmer, you can save yourself lots of time and effort. You can often accomplish with a single regular expression in one or a few lines of code what would otherwise take dozens or hundreds.
In addition to that argument, writing your own implementation with dozens of lines of code also makes it prone to defects, and makes it more difficult to maintain. And if the required pattern is changed slightly, the impact on your code could be very huge, or even require a rewrite of your custom implementation. With regex, what is often required is to change a few characters in the pattern.
PeopleCode do not have an implementation of regular expressions, but fortunately, it is easy to utilize Java objects from PeopleCode. Note that regex capabilities was only added to Java since version 1.4.
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.
PeopleSoft pages use CSS-based stylesheets for defining the look (style) of each page element. CSS is a web standard for defining the presentation of a webpage. If you’re new to this concept and want to know more, there’s tons of tutorials and articles. PeopleSoft StyleSheets are created in Application Designer using a GUI editor which looks somewhat similar to Nvu’s CSS Editor: