Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Blind folio: 95
Part
II
PeopleTools Development
ch04.indd 95
11/27/08 10:04:44 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Part II will take you on a journey through the original PeopleSoft tools. This will
provide you, the reader, with the basic skill set required to maintain legacy
PeopleSoft systems. This section will also introduce the new tools available in
PeopleSoft. These new tools will enable you as a PeopleSoft Developer to spread
your wings and do things that your customers have been requesting from you for a
long time. It is an exciting time in PeopleSoft development. Read on and re-visit
some old friendly tools that you are familiar with. Take a look at the new tools and
ways of putting some legacy reports and processes out to pasture.
In the world of PeopleTools development there are many choices that can be
made when you look at the specifications for a new feature or bolt-on. Or may be
is as simple as creating a report for your customer. What tool are you going to use?
How do you make this decision? In Part II we will look at the tools that have been
around since the beginning and take a look at some of the new tools that are
available to add to your repertoire.
96
ch04.indd 96
11/27/08 10:04:44 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Blind folio: 97
Chapter
4
PeopleTools Basics
97
ch04.indd 97
11/27/08 10:04:45 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
98
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
I
n this chapter you will begin your journey into PeopleTools. PeopleTools
is the main coding tool available in the PeopleSoft development
environment. You will learn to navigate, use Application Designer
as a development tool, create and save a Project, and understand why
you would want to use a Project to store your objects. This chapter
will also provide an introduction to records, fields, pages, components, menus,
message catalogs, and basic HTML code within PeopleCode. These basics will help
you build an understanding that will serve you well in later chapters when we will
venture into harder coding techniques.
The main portal to access and code is Application Designer, which is the main
development tool available in PeopleSoft. Within Application Designer you can
create projects, fields, records, translate values, pages, components, menus,
PeopleCode, and HTML. Via the Portal you can also work with objects that can
be manipulated using Application Designer, Message Catalogs, and Queries. This
chapter will start the basic introduction to the tools, objects, and code that are
available through Application Designer.
Application Designer
Application Designer is the main development area in PeopleSoft. It is the primary
location of the tools used to design applications and or to change the PeopleSoftdelivered vanilla code. With release 7 of PeopleSoft, the tools for development of
the application were integrated into the Application Designer, which becomes your
window as the developer to define objects in the metadata. Different terms are used
for these items: PeopleSoft objects or PeopleSoft definitions. Well, they are both,
you create an object—a PeopleSoft record for example—but until it is defined in
both: the metadata and the database, the object does not exist. Just remember that
you have both worlds to work in: the PeopleSoft metadata repository and your
physical database object that has to be created. And they had better match in every
respect; otherwise, the definition and the object will not correspond. The PeopleSoft
Internet Architecture (PIA) application contains a collection of related objects that
work together for a specific purpose, and object references are tested via the
application over an Internet browser.
Development Tools That Have Been
Around Since the Beginning
The toolset begins with Application Designer, Security Administrator, the Query
Tool, Application Engine, SQR, and the more recently added XML Publisher. With
these tools, you can easily create an online application, with components, menus,
ch04.indd 98
11/27/08 10:04:45 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Chapter 4:
PeopleTools Basics
99
records, and fields. Once the component, page, and menu are created, security
access is assigned to the end users who will be using the component. This toolset
has been around since the first release of PeopleSoft, with the use of Application
Designer, and PeopleTools, SQR, and PeopleCode. Later releases saw Application
Engine and, most recently, XML Publisher.
PeopleCode
PeopleCode is the programming language delivered by PeopleSoft for the customization
of the PeopleSoft Application. You code in PeopleCode via the Application Designer.
The code can exist on a record, a button, an action, or, possibly, an Application Engine
batch program. It is a proprietary language used to do object-oriented coding in
PeopleTools. There is a tightly integrated element in the datatypes and metastrings that
directly correlates to SQL. There are also elements of dot notation, classes, and methods
that give PeopleCode a Java feel.
SQR
Structured Query Report Writer is a PeopleSoft-delivered reporting tool. In industry
it is used all too often in place of better and more advanced tools; and with the use
of XML on the rise, a lot of SQR reports are going to be benched and replaced by
XML reports. This book covers SQR because there are so many reports written in
this reporting tool. SQR has a robust report-writing environment with complex
procedural logic built in. It is also an easy language to learn and come up to speed
quickly with. You can combine database retrieval and row processing. You can
even embed PL/SQL in your reports and do complex database manipulation.
Application Engine
Application Engine is a batch processing tool provided via Application Designer
in PeopleTools. It resembles a macro shell window that allows for calls to SQL,
PeopleCode, or another Application Engine Section. It allows for you to do file
extraction, manipulate databases, e-mail results to your staff, and embed PL/SQL
within PeopleCode.
Application Engine is different from regular batch programs in that it is not
procedural. It focuses on set-based SQL logic and goes to a much deeper level of
the underlying application definitions. Describing set-based logic is beyond the
scope of this introduction, but suffice to say that set-based logic is more in line with
how SQL is supposed to work, but it’s not as familiar to developers who have only
worked with procedural logic.
To make an already long story short, Application Engine slowly won converts
within PeopleSoft, and by the time that PeopleSoft 8 was being developed, Application
Engine was adopted by the PeopleTools team. The front end was converted to
ch04.indd 99
11/27/08 10:04:45 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
100
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
a regular PeopleTool as part of Application Designer, and the back end was
rewritten in C++ and given the ability to run PeopleCode as well as SQL logic.
Why would Application Engine show up as part of Oracle Fusion? There are
a couple of reasons. One is that Oracle really doesn’t have a good tool for batch
development. If you look at existing Oracle applications, you’ll notice that batch
processing is done by writing raw PL/SQL or Pro*C code—not the most straightforward
thing for a typical application developer to do. The other thing about Application
Engine that fits well within Oracle is that it is a set-based tool. Most of the processing
is pushed to the database, and that plays well to Oracle’s strengths. Oracle developers
themselves list using Application Engine for batch as number 4 in their top 10 things
for PeopleSoft Enterprise customers to do today to get ready for Fusion.
Does it make sense to train current PeopleSoft customers in SQR or in Application
Engine? The answer is that both have pros and cons. For starters, there aren’t many
PeopleSoft applications that don’t use both SQR and AppEngine, so you need to
have some level of skills in both. I think that CRM is the exception here; I know that
CRM has no COBOL, and I think that is true for SQR as well.
SQR also has the advantage of being a little bit more independent of the
applications. For example, when you want to write an SQR, all you need is a text
editor instead of a proprietary tool like Application Designer. You can also run
SQRs in any database, not just a PeopleSoft database. Of course, doing so requires
that you license SQR independently of the license that you receive with your
PeopleSoft applications, but you could actually do it.
Of course, those pros are also part of the cons of SQR. SQR has zero understanding
of the underlying applications that it’s working with. Trees, effective dating, setids,
row-level security, related language records, etc. all have to be coded by hand
when you’re writing SQR code. Not impossible to do, but it’s certainly more costly
and error prone to build and maintain it by hand.
Application Engine comes with some cons as well, especially when viewed from
a reporting perspective. Aside from being a very PeopleSoft-specific tool, App Engine
lacks any kind of built-in output capability. This was the target of the (never finished)
PeopleCode Print project, but there’s nothing there today.
Meta-SQL
Meta-SQL expands to platform-specific SQL substrings and then causes another
function to be called, or substitutes a value. Meta-SQL constructs are used in
functions that pass SQL strings, such as the following:
■■ SQLExec
■■ Scroll buffer functions (ScrollSelect and its relatives)
ch04.indd 100
11/27/08 10:04:45 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Chapter 4:
PeopleTools Basics
101
■■ PeopleSoft Application Designer dynamic and SQL views
■■ Some Rowset class methods (Select, SelectNew, Fill, and so on)
■■ The SQL class
■■ PeopleSoft Application Engine programs
■■ Some Record class methods (Insert, Update, and so on)
■■ COBOL functions
Not all Meta-SQL can be used by all programs. Some Meta-SQL can be used
only in Application Engine programs. Other Meta-SQL can only be used as part of
an SQL statement in an SQL or dynamic view. If a Meta-SQL construct, function, or
meta-variable is supported in PeopleCode, it is supported in all types of PeopleCode
programs, that is, in Application Engine PeopleCode programs (actions), component
interface PeopleCode programs, and so on. Even if a Meta-SQL element is used in
PeopleCode, you cannot use Meta-SQL like a built-in function. You can, however,
use Meta-SQL in the SQLExec function, the Select method, the Fill method, and so
on. Note that Meta-SQL is not available in SQR.
“Meta-SQL” is a PeopleSoft extension of SQL that converts to correct SQL code.
If you have spent any time looking at PeopleSoft view definitions, you have seen a
few of these. They are the pieces that begin with %SQL, and they refer back to SQL
Objects, which are pieces of text that store the SQL clauses. It is a easy concept, but
it is difficult when you are trying to read it because the nested %SQL clauses require
you to have to visually insert the reconstructed SQL text that is missing or replaced
by the %SQL parameter. You have the choice of using Meta-SQL or else to use plain
old ANSI standard SQL, which is easier to read, but in the context of Application
Engine Meta-SQL is invaluable. In view declarations I prefer to use standard SQL, but
it is important for you as a PeopleSoft Developer to learn to read both.
COBOL
Going back to the early days of PeopleSoft, there were two main batch tools: COBOL
and SQR. Both COBOL and SQR had the benefit of working well across the different
platforms that PeopleSoft supported. COBOL also had the benefit of being something
that most PeopleSoft developers understood; most of them having come from old
mainframe environments. SQR brought a simple, yet powerful, idea to the table:
let people write conditional logic as well as output data as part of an SQL statement.
Today that’s not so strange, but back in the late 1980s and early 1990s, having
your printing logic so tightly integrated (some might say “tied”) to your SQL was
powerful stuff.
ch04.indd 101
11/27/08 10:04:45 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
102
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
The big unspoken question, of course, is why didn’t PeopleSoft create some sort
of batch/reporting tool as part of PeopleTools? The short answer is that, in the beginning,
everyone was too busy just making PeopleTools work for online transactions to
even think about some sort of batch/reporting tool.
Although it took more than a decade for Application Engine to get developed
and finally moved into PeopleTools, SQR and COBOL didn’t really change that
much during that time. PeopleSoft bought the source code for SQR.
COBOL was even worse, since PeopleSoft never actually controlled the COBOL
compilers in use. Some really big headaches developed because of that. As for the
COBOL language, well, it’s COBOL.
An early PeopleSoft developer would still feel right at home with the versions of
COBOL and SQR that are still in use today. While COBOL and SQR remained static,
Application Engine gained in the area of features. It is important as a PeopleSoft
Developer to feel comfortable in SQR and COBOL, but the skills areas that will
realize growth are Application Engine and XML. Drawing on my discussions on the
Fusion Council, I am certain we will see something similar to Application Engine in
the Fusion application.
Newer Tools
The newer toolsets include Application Engine, which is an incredible batch
processing application; it provides the programmer with a macro type of
environment that allows rapid creation of programs that will update tables, import
and export files, and even send e-mails. With PeopleTools release version 8.48,
Oracle introduced XML Publisher. This added tool allows for the creation of
dynamic reports, with the hint from the Oracle PeopleSoft team that XML Publisher
will replace and retire SQR.
Fusion Middleware Tools
Oracle Fusion Middleware is a comprehensive middleware family composed of
SOA and middleware products, including Oracle Application Server 10g along with
related Oracle Application Server products and options such as Oracle Identity
Management, Oracle Business Intelligence, Oracle BPEL Process Manager, Oracle
Web Services Manager, Oracle Business Activity Monitoring, Oracle COREid
Products, Oracle Portal and Oracle Integration, Oracle Data Hubs, Oracle Content
Services 10g, Oracle Real Time Collaboration 10g, and Oracle Unified Messaging.
When used in conjunction with Oracle Fusion Middleware Enterprise Portal,
PeopleTools is designed to serve as a point of access for all enterprise applications.
In addition, Web services created from PeopleTools’ Service Designer and
Integration Broker can be automated and orchestrated via Oracle’s Fusion
Middleware BPEL Process Manager.
ch04.indd 102
11/27/08 10:04:45 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Chapter 4:
PeopleTools Basics
103
Among other new tools included in the launch is PeopleSoft Change Impact
Analyzer, designed to allow customers to study the effect of prospective changes to
their applications. Also, XML Publisher is now integrated into PeopleTools,
increasing the number of options for customized reports. BPEL provides a standard,
process-centric way to integrate disparate systems. Oracle’s BPEL Process Manager,
a key tool in Oracle Fusion Middleware for delivering service-oriented architecture
(SOA), supports the industry-standard BPEL specification backed by Microsoft, IBM,
SAP, and BEA, and is widely recognized as an enterprise blueprint for reducing the
cost, complexity, and inflexibility of integration projects.
XML Publisher
XML Publisher, called BI Publisher in the Oracle Application world, handles the
data formatting and output and has recently been integrated with PS/Query and
PeopleCode, which makes it accessible from Application Engine. It’s not a big
stretch to see how Application Engine could be enhanced to use BI Publisher
natively as an output tool and effectively get rid of the need to use SQR at all.
Given that SQR is unlikely to get any further investment from Oracle, and
Application Engine is, I would recommend that PeopleSoft customers ensure that
they have SQR skills available to them (either from internal resources or from
consulting augmentation as necessary), but limit their investment in new SQR
development.
How to Navigate
Basic PeopleSoft navigation depends on the modules for which your organization
has a license. Some of the navigation and module look and feel were outlined in
Chapter 1. The focus of this chapter is how to navigate the development tools.
PeopleTools provides the main development and underlying technology for the
PeopleSoft modules. The modules are built, maintained, and deployed via
Enterprise PeopleTools.
Using Application Designer
Application Designer is the main portal to each of the development tools available
in PeopleSoft. This is the place where you can directly develop and update the
PeopleSoft metadata. It is a rapid application environment, and Application
Designer assists with the upgrade process. It contains the collection of definitions
for objects such as fields, records, pages, and components that make up the
functionality of the application in PeopleSoft. Within Application Designer you can
change and adapt objects through an easy-to-learn process that allows you to define
ch04.indd 103
11/27/08 10:04:45 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
104
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
and build your own objects, make definitions, define relationships between the
objects and/or definitions, implement and manage security, deploy to the PIA
(Internet browser), and test your solution.
The tool Application Designer is an interactive and easy-to-use rapid application
development tool. It provides an integrated development environment that allows
you to work with several definitions stored in a Project container in one single work
area. Application Designer is the main development environment for PeopleSoft.
The following are some of the definitions you can build in Application Designer and
write to the PeopleSoft metadata:
■■ Fields
■■ Records
■■ Pages
■■ Components
■■ Menus
■■ PeopleCode
■■ SQL
Projects
Projects are not part of application development or one of the main objects that you
will want to have in PeopleSoft—or where you can see a direct correlation to an
item that you just coded. Projects are a holding tank that allows you as a developer
to store all of the items you have coded in one location. One of the typical ways
a shop will develop is to have some type of request tracking software. So, for
example, a Project could be an SR or Service Request for a particular enhancement
request or a maintenance request. With a Project you can put all of the items that
are associated with the change into one SR and name the Project to allow you to
have a reference back to the request. The Project will track all of the definitions and
their types, but it will not have the definitions. The definitions for the objects will be
in the PeopleSoft metadata.
As a developer you are not required to use PeopleSoft Projects, but think of
the scenario where you have changed a page, record, field, or component and
added a permission list. In this case when you want to move your changes from
Development into Testing, you would have to move five things into Testing—and
ch04.indd 104
11/27/08 10:04:45 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Chapter 4:
PeopleTools Basics
105
test to make certain they all moved correctly. With a Project you can insert all of the
objects into the Project and just do one move—the Project into the Testing platform.
This streamlines changes and upgrades in the PeopleSoft environment with the use
of Projects.
In Figure 4-1, the left side of the screen is the Project workspace, which shows
one object type at a time. You can click the + (plus) sign and expand each of the
object types. The Project workspace has two types of views: development and
upgrade. In Figure 4-2 you can see the Project Development workspace.
Figure 4-1 Project view
ch04.indd 105
11/27/08 10:04:45 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
106
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
Figure 4-2 Project Development workspace
Figure 4-3 shows the main functionality of the Project Upgrade view, which is to
allow for the migration to Testing, Quality, and Production. With this view you can
see when an object has been moved to the various platforms. Figure 4-4 shows the
Object Upgrade Definitions screen; you double-click an object and display the
definition types that are available for upgrade and the upgrade options.
ch04.indd 106
11/27/08 10:04:46 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Chapter 4:
PeopleTools Basics
107
Figure 4-3 Project Upgrade workspace
Each time you open Application Designer, it will open with a blank Project. In
order to save it and use it as the container for your objects, just simply choose File |
Save and name the new Project. To add comments to your Project, go to the File |
Project Properties menu and add details and comments about your Project; you will
see the screen that is shown in Figure 4-5.
ch04.indd 107
11/27/08 10:04:46 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
108
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
Figure 4-4 Object Upgrade Definitions
Figure 4-5 Project Properties
ch04.indd 108
11/27/08 10:04:46 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Chapter 4:
PeopleTools Basics
109
You can insert definitions into your Project or create new objects; see Figure 4-6
for an example of the screen. To create new objects, you go to File | New | and then
from the drop-down menu choose the type of object you wish to create. To insert
existing objects, choose Insert | Definitions Into The Project or press ctrl-f7.
From the main File menu (Figure 4-7) you can save your Project, add properties
to your Project, save your Project with a new name, print your Project, or merge
your Project with another. Merging is a nice option that allows you to take two
Projects and make one larger or combined Project.
Fields
Fields are the lowest-level definition in PeopleSoft; in general you can think of them as
the column definition in your database. They define a single object level. An example
would be an EMPLID: the EMPLID field must be defined in the PeopleSoft metadata as
well as at the physical database level as a column. When building objects in PeopleSoft,
you must always keep in mind that they have to be defined and removed from two
places: the physical database level and the metadata repository. In the Application
Designer you will define the metadata definition as well as allow the tool to build the
SQL that can be submitted to your DBA to build the physical database object. Always
be cognizant that the two objects must match in every aspect: size, type, decimal
places, and format. If they do not match in every aspect, you will receive an unknown
object definition error via the PeopleSoft PIA. Fields have the following attributes:
■■ Type
■■ Length
Figure 4-6 Adding definitions into the Project
ch04.indd 109
11/27/08 10:04:46 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
110
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
Figure 4-7 File menu
■■ Decimal places (if a number type)
■■ Translation values (optional)
■■ Long name
■■ Short name
■■ Format
Available field types include
■■ Character
■■ Long Character
■■ Number
■■ Signed Number
ch04.indd 110
11/27/08 10:04:46 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Chapter 4:
PeopleTools Basics
111
■■ Date
■■ Time
■■ Datetime
■■ Image
■■ ImageReference
■■ Attachment
The attributes for fields are stored in the database table PSDBFIELD, which is a
metadata catalog table that is populated when a field is created or changed in the
PeopleSoft System. When you upgrade, this table is used to compare against for
changes it provides you with a list of the changes in a report known as a compare
report. The catalog table PSDBFIELDLANG stores the long and short descriptions. It
stores these descriptions in multiple languages. If a user of the system has a default
language other than English, that user will see the descriptions in his or her default
language. To see fields that are used in Record definitions, look at the catalog table
PSRECFIELD.
ch04.indd 111
11/27/08 10:04:47 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
112
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
Records
A collection of fields is a record definition. A record can be a table, view,
subrecord, derived work record, query view, or dynamic view. Tables and views
would exist in both the PeopleSoft metadata and the physical database; the other
types of records are only available via the PeopleSoft metadata. Record definitions
are stored in the metadata table PSRECDEFN which stores the attributes for the
records. It holds the properties of the record definition. These properties are of three
types: General Properties, Type Properties, and Use Properties. General Properties
describe the record, including the last date and time it was created or updated, as
well as the ID of the operator who updated it. Type properties are the definitions
used to define the record in the RDBMS: is it a view or a table? Use properties are
used for definition of key fields, search fields, list fields, and parent records, to
outline a few.
PSRECDEFN holds the previously discussed General, Type, and Use properties
as well as the table space name in the SQL Table definition. Each record that is a
SQL table and was delivered by PeopleSoft is stored with a prefix of PS_; a table that
is created in PeopleTools will be named with the PS_ convention except when the
name is defined in the Non-Standard SQL Table Name field in the configuration.
ch04.indd 112
11/27/08 10:04:47 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Chapter 4:
PeopleTools Basics
113
The catalog table that stores the PeopleSoft record definition is PSRECDEFN.
SQL tables and views are database objects as well, being defined in both the
PeopleSoft metadata and the database.
To create a record definition, you start by opening Application Designer and
clicking File | New | Record. Then you insert the fields that you want to have in the
record. In the following three illustrations you can see an example of adding a field,
how the record definition properties are displayed, and the SQL name of the record.
ch04.indd 113
11/27/08 10:04:47 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
114
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
Remember, if you do not want PeopleSoft to use the standard naming
convention of PS_, you will need to define a SQL Name in the Record Type
property. This override then allows you to define the naming convention for your
ch04.indd 114
11/27/08 10:04:47 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Chapter 4:
PeopleTools Basics
115
SQL objects. In this book we will use the naming convention of TC_, which stands
for Test Company. In your organization you create a two-letter abbreviation that will
be used in the front of each object to follow the long-standing PeopleSoft naming
conventions, for instance, PS_ and UU_ for University of Utah. Do not forget that
just because you have built an object in the PeopleSoft metadata, that does not
mean that it has been built in the database. The next step you have to perform in a
customized record creation is the build.
Make certain you check the build log to ensure that the object was created
without error. The results from the SQL can be sent to the DBA if you as a developer
do not have the permission to create an object in the database where you are trying
to build.
■■ Set Control Field This is the property that is used in a multi-company
environment; you can use Set Control Field to share records across
company databases. In order to do this, you would have to add SETID to the
TC_USER_TBL; the SETID is PeopleSoft delivered. It needs to be defined as
the first field in the record definition as a Search Key.
■■ Parent Record Parent/Child definitions and relationships help create
automatic joins for use in the PeopleSoft Query Tool. An example is the
PERSONAL_DATA relationship to the EMPLOYMENT record. The two have
common Search Records that establish the Parent/Child relationship.
ch04.indd 115
11/27/08 10:04:47 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
116
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
■■ Related Language Record The Related Language Record setting is used in
the case of multilingual application, and this setting brings that functionality
down to the record level.
■■ Query Security Record This is another setting for the record that is
available for PeopleSoft Query. This setting will provide row-level security
for the record definition.
■■ Record Audit The audit flag if turned on in the record definition will
record all inserts, updates, and deletes in an audit table. PeopleSoft will
create a trigger at the database level that will write these transactions off to
a table. This will allow you as the developer to know who updated, deleted,
and/or added records as well as when (time and date) that was done.
Record Field Properties
PSRECFIELD stores the fields that are contained in the record definition. Each field
in a record can have its own properties, translate values, prompt table edits, or yes/
no edits set. Each of these attributes is specific to the record definition of the fields.
Within the PSRECFIELD table is a column USEEDIT, a 32-bit integer field. The
following shows the basic settings:
PSRECFIELD.USEEDIT
bit
value flag
0
1 Key
1
2 Duplicate Order Key
2
4 System Maintained
ch04.indd 116
11/27/08 10:04:47 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Chapter 4:
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
8
16
32
64
128
256
512
1024
2048
4096
8192
16384
32768
65536
131072
262144
524288
PeopleTools Basics
117
Audit Field Add
Alternate Search Key
List Box Item
Descending Key
Audit Field Change
Required
Translate Table Edit
Audit Field Delete
Search Key
Reasonable Date
Yes/No Table Edit
Prompt Table Edit
Auto-Update
Identifies field as Field in SubRecord
(Reserved / Not Used)
From Search Field
Through Search Field
Translate Values
Translate tables allow you to create prompt tables or list boxes that have predefined
values for your users to choose from. This will make data entry quicker and more
accurate. The data is displayed as an available translate, which is stored similar to
an all-purpose data dictionary. The rules for the data that you need to follow when
creating a translate table are as follows:
■■ Field type is Character.
■■ Field length is 1 to 4 characters.
ch04.indd 117
11/27/08 10:04:47 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
118
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
■■ Field values consist of a relatively small, static set of values that are not
maintained by the user.
■■ No other fields relate to this field.
If the values you wish to assign are a Y for Yes and an N for No, there is no need
to enter them into a translate table. PeopleSoft has created a field for Y and N name
PSYESNO. When you select Yes/No for edit, the system will automatically refer to
the PSYESNO field in the Translate table. A good example of when to use a translate
table would be a gender field. Department ID, for instance, is not a good case for
using the translate table because it requires its own prompt table.
The following illustrations show how to create a translate value. First you go to
the Field that you would like to set up as a translate value on the record. Then you
click on the Properties button, which looks like an index finger pointing to a
document. You then see the addition of the value C for the list value of customer;
this is how a new value is added in this pop-up box. Finally, you see the new value
of customer added as a translate value in the Properties dialog box that shows all
the values for this translate value.
ch04.indd 118
11/27/08 10:04:48 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Chapter 4:
PeopleTools Basics
119
Record Types
Here are guidelines to keep in mind for record definitions: The name length can
be 15 characters, with the exception of a Temporary table name, which has a
maximum length of 13. The name of a record must always begin with a letter; it can
contain underscores, but avoid special characters—they will work in some database
environments and not others, so it is best to avoid their use altogether to remain safe.
■■ SQL Table is a regular record in
PeopleSoft that is created and
stored in both the database and
the PeopleSoft metadata. You
need to create the record in both
places, and unless you have system
administrator privileges in your
database, you will have to have
the DBA create the table or view
definition in the database. If you
make any changes to the fields,
names, types, or sizes, you will
need to rebuild the object in both
PeopleSoft and the Oracle database.
ch04.indd 119
11/27/08 10:04:48 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
120
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
■■ SQL View is a regular view in the Oracle database and the PeopleSoft
database. The main thing to remember when you are working with views is
that they rarely allow for updating—they are only a view of the data, not the
actual connection to the data. So if you want to do more than display the
data, you will want to use an SQL Table and not an SQL View.
■■ A Derived Work Record is primarily used to store temporary data, data that
do not need to be reused. Derived Work Records are also referred to as
Derived/Work Records and Work Records. If you wish to look them up in
PeopleBooks, please use Work Records. In this book they will be referred to
as Derived Work Records. A Derived Work Record is created exactly like a
PeopleSoft Record. The difference can be seen in the following illustration,
where you see that the record is just defined as a Derived/Work.
ch04.indd 120
11/27/08 10:04:48 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Chapter 4:
PeopleTools Basics
121
One of the main functionalities of a Derived Work Record is to store totals.
Another common use is for buttons, messages, and temporary fields. Derived Work
records are only available during your session with the page and are reset anytime
the page is re-entered. They can be likened to temporary variables. Because they are
defined as a record, confusion about their scope can arise. Keep in mind they are
only temporary and if you need the data to be permanent and available after a
session, this is not the type of record you want to use. Notice in Figure 4-8 that the
record is named ST_LINK_WRK, whereas the record name in Figure 4-9 where
information is stored in the record is DERIVED_CO and the naming convention
follows the way in which the records are used. In the case of the button it is only
a Work Record, and in the case of the information text it is a Derived Record.
■■ Subrecord
Is used for SubPages and creates the one-to-many relationship.
■■ Dynamic View Are views that are recreated dynamically with each use.
Figure 4-8 Work Record used as a Push Button
ch04.indd 121
11/27/08 10:04:48 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
122
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
Figure 4-9 Derived Record as a Display Message
■■ Query View
Query Tool.
Are used to define the record as a view using the PeopleSoft
■■ Temporary tables
batch processes.
Are used for running PeopleSoft Application Engine
Pages
The main graphical representation of the data on the web via the PeopleSoft
application is through a page. Pages represent the data in your tables; they display
the fields, columns, and rows in the database. They are used to view, update, and
enter data in the application database. You can place buttons and links on your
pages to allow for navigation through the application. One of the key features of
PeopleSoft is the use of effective dating for the data, and with the use of pages it is
ch04.indd 122
11/27/08 10:04:48 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Chapter 4:
PeopleTools Basics
123
important that you understand the use of effective dates and effective sequences.
This key feature is how navigation is determined in the PeopleSoft application; it
allows for the navigation and the ability to view, edit or, update current, future, or
historic data. Take a look at here to see the different types of effective date data.
Notice that Marcus Brown has a Job Summary history from 06/04/1995 and with
the effective date, we are able to see each of his job changes. Notice also that he has
two changes that happen in the same day: on 09/18/1999 he receives a job promotion
as well as a pay rate change. This type of activity is handled in conjunction with an
effective date and an effective sequence. It is important that the person responsible for
entering the data do this type of job action movement on two job records because it
allows for effective and efficient reporting. Unfortunately, I have seen all too often
cases where the data entry person combines the two actions, promotion and pay
raise, on one 09/18/1999 record, and this will cause the developer to lose the ability
to easily distinguish that two separate things have occurred.
One of the important elements in your page creation is to determine the mode
in which you wish to handle the processing of the data back to the server. It is a
difficult balance to strike: the most recent version of the data with the amount of
processing power needed to continually swap data back and forth from the
Application Server to the Database Server. Most of the PeopleSoft-delivered
components run in deferred processing mode; this mode reduces the need for the
application to have increased interaction with the server and reduces the number of
calls, leading to increased performance. Each trip to the server will refresh the
browser page, and too much interaction can lead to screen flicker and slowing
down the application. There are two choices for processing modes: deferred mode
ch04.indd 123
11/27/08 10:04:49 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
124
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
and interactive mode. Whichever mode you choose for a component will establish
the processing functionality for all of the objects within that component.
Page Action Options
The page action options are directly
related to the actions you can
perform on data. The available
options are limited to the type of
data row that you are trying to
retrieve, modify, insert, or update.
The rules that are directly linked to
effective date are Include History
and Correct History actions. It is
important to understand that not all
tables are effective-dated, and the
Include History and Correct History
options will only appear in the pages
that are effective-dated.
ch04.indd 124
11/27/08 10:04:49 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Chapter 4:
PeopleTools Basics
125
Note that the Update/Display action is easy to implement and directly correlates
to the button on the page for Update/Display; however its relation to Include
History and Correct History is not as easy to understand. Update/Display All
correlates to Include History, and Correction Mode, to Correct History. Update/
Display will only retrieve current and add future rows. You can change only future
row data—if you are trying to change a current row, this is actually history. Include
History will retrieve all rows, and Correct History will allow you to modify and
correct current and past data. It is important to understand that each of the
corrections and insertions discussed here can only take place if the user has the
correct PeopleSoft permission in place that
will allow for the data entry or correction.
Page Elements
PeopleSoft pages have three essential types of elements that you can use to design
your pages: basic aesthetic elements, for example, lines and pictures; functional
elements, which include buttons and links; and data-entry elements, including
check boxes and radio buttons. The following are the common elements used in
a PeopleSoft page.
■■ Frames Allow you as a Developer to draw a frame around a set of
elements and create a group from them. These are display-only boxes that
create a grouping of fields on a page.
■■ Group boxes Similar to frames, but they allow for text labels. They group
and identify related fields.
■■ Horizontal rules
Horizontal lines that are display only.
■■ Images Unchanging graphics on your page; an example would be your
Company logo.
■■ Text Static text that is unchanging and can give a set of instructions on
a page.
■■ Check boxes These directly correspond to the capturing of data entry for
an on/off, yes/no field. A check box has only two options.
■■ Radio buttons Similar to check boxes but allow for a set of options to be
chosen in the collection of data entry.
■■ Buttons A button can perform a number of actions, calculate a value, and
refresh the fields on the page, open a new page, and help with navigation in
the application. Buttons are very dynamic and can be coded to do a variety
of actions and navigations.
■■ Links Can redirect the navigation to a new site outside or inside of
PeopleSoft.
ch04.indd 125
11/27/08 10:04:49 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
126
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
■■ Edit boxes Allow for data entry. They directly correlate to the field in the
database; any limits on type and size are defined by the field. Edit boxes
with spell check enabled will display a spell check button.
■■ Long edit boxes Are the same as edit boxes, but they allow for the data
entry of longer character strings.
■■ Drop-down list boxes
a predefined list.
Allow for the selection of a data item for entry from
■■ Grids Grids are spreadsheets on the PeopleSoft page; they allow for the
display of one to many relationships on PeopleSoft pages.
■■ Scroll areas These are similar to grids, but the data is displayed in a freeform manner—not in a spreadsheet-type display. Both grids and scroll areas
allow for the sharing for key data into each new row that is created. These keys
become important in the creation of scroll levels in the component and can
cause problems with sharing of data between multiple levels. In Figure 4-10
you can see two of the scroll levels in the JOB_DATA component.
Figure 4-10
ch04.indd 126
Scroll levels in JOB_DATA component
11/27/08 10:04:49 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Chapter 4:
PeopleTools Basics
127
Components
A component is derived from several pages and defines the way that the page will
behave in the Internet browser. It is also where you define the pages that display as
tabs across the top of the page. Pages and components are closely linked. For example,
take a look at the JOB_DATA component in Figure 4-11. Figure 4-12 shows the way
the page looks in the application.
The component is based on the page and the properties that define the way that
the page will be displayed in the browser. The component interface takes this same
approach but exposes the properties to third-party software languages; it consists of
the set of properties and methods that follow an object-oriented programming
model. You can use the properties or methods specified in the component so that
other external applications can gain access to the component. The component
interface gives access to external applications with the standard methods in Java,
C/C++, COM, and SOA.
Figure 4-11
ch04.indd 127
JOB_DATA component
11/27/08 10:04:49 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
128
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
Figure 4-12
JOB_DATA component as it is seen in the application
Menus
Back in previous versions of PeopleSoft the menu became the main gateway to
access the application online. You needed to define every page in a menu and
have a particular menu structure in order to see your pages and items where you
expected to see them in the structure you wished to follow. Well, the same is still
true, but more and more the application structure is defined in the portal and
structure via the web interface to the application.
Actually, the menu option to coding the structure of a bolt-on should have been
dropped long ago in favor of the portal structure method. But it wasn’t, so as a
Developer you have to remember to do the same sort of thing in two places and
have them match up. It is always fun when new ways come out and the old remains
in place. So take a look at Figures 4-13 and 4-14 for the way to insert a menu item,
ch04.indd 128
11/27/08 10:04:49 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Chapter 4:
ch04.indd 129
Figure 4-13
Menu structure
Figure 4-14
Insert a new menu item
PeopleTools Basics
129
11/27/08 10:04:50 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
130
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
and Figures 4-15 and 4-16 for the way to configure a portal and structure. To get the
screen to add a new menu, go to the blank area at the bottom of the menu, rightclick, and go to menu item properties you see in Figure 4-14. Notice in the
configuration and/or definition of the Content Ref Administration in Figure 4-16 that
you have to define a menu (even though Oracle should have removed this tie to the
old way of configuration—they did not) and a component. You have to have both
“the what” and “the where” in order to configure your portal structure properly.
Figure 4-15
ch04.indd 130
Portal structure and content
11/27/08 10:04:50 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Chapter 4:
Figure 4-16
PeopleTools Basics
131
Content Ref Administration
Roles and Permission Lists
Permission and security are tied to the page through the component and menu.
Notice in Figure 4-17 what is defined in the Permission List object is the menu
under the Page tab. A role is defined as one or more permission lists, and a
permission list is defined as access to one or more pages via the component.
PeopleCode
There are two types of PeopleCode available to you as a Developer: PeopleSoft
Component Interface PeopleCode, fired off by an object like a button on an event,
ch04.indd 131
11/27/08 10:04:50 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
132
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
Figure 4-17
Role definition
and PeopleSoft Application Engine PeopleCode. It is important to understand that
PeopleCode is the language that is written via the Application Designer interface.
PeopleCode is a PeopleSoft proprietary language that is object-oriented. With its dot
notation and methods it is similar in structure to Visual Basic and Java. But it also
has features that allow for direct interaction with the database and the ability to
embed SQL right into the code.
Chapter 6 will go into detail about the PeopleCode structure, variable
declaration, comments, and overall code writing specifics. For now it is important
to understand that with Application Designer, with components, or with Application
Engine you will be able to write method-driven object-oriented code to create
customized bolt-on screens. In Figure 14-18 you can see PeopleCode that was
ch04.indd 132
11/27/08 10:04:50 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Chapter 4:
PeopleTools Basics
133
Figure 4-18 Method PeopleCode
written on a method within a component, and in Figure 14-19 you can see
PeopleCode that was written within Application Engine.
HTML
With Derived Records you can display an HTML object on a PeopleSoft page. Why
would you want to do that? Well, often you may be asked to make a page more
dynamic than straight text. Personally, I was recently asked to do a page that
defined the methodologies of a bolt-on—how it worked, where the formulas came
from, and so on. The customer wanted it to have embedded hyperlinks to other
pages, and a hyperlink to allow for comments to be quickly e-mailed out to the
person responsible. They also wanted to use all of the standard web page design
elements, like bolding, font sizes, underline, and color. The easiest way to do this
ch04.indd 133
11/27/08 10:04:50 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
134
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
Figure 4-19
Application Engine PeopleCode
was to embed an HTML object in a page and allow the use in PeopleSoft of standard
HTML code. The following are the easy, efficient steps to do this:
1. Create a new HTML object and put your HTML code in the blank object
screen.
ch04.indd 134
11/27/08 10:04:51 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Chapter 4:
PeopleTools Basics
135
2. Create a Derived Record to store the HTML Field.
3. Create a Page with an HTML Object area on the page.
ch04.indd 135
11/27/08 10:04:51 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
136
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
4. Set the HTML Object Properties.
5. Set the Field Formula Property of the HTML Object.
ch04.indd 136
11/27/08 10:04:51 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Chapter 4:
PeopleTools Basics
137
6. Add a page to a component.
7. Add a component to a menu.
ch04.indd 137
11/27/08 10:04:51 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
138
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
8. Add a component to a portal.
9. Configure Content Reference Administration.
ch04.indd 138
11/27/08 10:04:51 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Chapter 4:
PeopleTools Basics
139
10. Add a component to a permission list.
11. Register the Component, Menu, and the Permission List in the Registry
Wizard.
ch04.indd 139
11/27/08 10:04:52 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
140
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
12. First step in the Registry Wizard.
13. Second step in the Registry Wizard.
ch04.indd 140
11/27/08 10:04:52 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Chapter 4:
PeopleTools Basics
141
14. Third step in the Registry Wizard.
ch04.indd 141
11/27/08 10:04:52 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
142
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
15. Fourth and final step in the Registry Wizard.
16. View your Hello World Page.
ch04.indd 142
11/27/08 10:04:52 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Chapter 4:
PeopleTools Basics
143
Message Catalogs
You add and maintain system messages using the Message Catalog page. In Figure 4-20
you can see the Message Set 3, which is the General PeopleSoft Messages. You can
create your own Message Set and maintain a customized message catalog for your
bolt-on. Keep in mind it is just like anything customized that you create in PeopleSoft:
it has to be maintained, and you have to make a conscientious effort to make certain
your customizations carry over in an upgrade. PeopleSoft reserves all message set
numbers up to 20,000. If you create customized message sets or edit a delivered
message set with a number less than 20,000, it will be overwritten in future upgrades.
PeopleSoft error messages are maintained by set number and are all stored in
the Message Catalog. The sets are organized by category, and the categories range
from PeopleTools Message Bar Items and PeopleCode Runtime Messages to
PeopleSoft Payroll and PeopleSoft General Ledger application messages.
PeopleTools will use some of the messages, but the majority are used by the
application and get called by the Error, Warning, Message Box, MsgGet, and
MsgGetText built-in PeopleCode functions.
Figure 4-20
ch04.indd 143
Message Catalog—Message Set 3c
11/27/08 10:04:52 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
144
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
To add a message set:
1. Go to PeopleTools | Utilities | Administration | Message Catalog, and on the
search page click Add New Value.
2. Enter the value of the new Message Set Number and click Add.
3. Enter a Description, a Short Description, and a Message.
ch04.indd 144
11/27/08 10:04:52 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Chapter 4:
PeopleTools Basics
145
4. Save.
To add a message to a Message Set:
1. Open the Message Set.
2. Click the plus sign button to add a new row.
ch04.indd 145
11/27/08 10:04:53 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
146
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
Query Manager
The Query Manager gives you a useful GUI interface to create customized queries.
You can create a nice end-user layer with trees to keep a tight handle on the
security within the queries. Unless the record you are accessing in the Query is in
the tree that you have the permission for, you will not be able to see the results of
the query. I use the method of designing the query and then logging in as the user I
intend to design the query for in Development to see if I have configured the tree
and the permissions correctly. You will very quickly know if you have configured
the query incorrectly because you will not be able to see any data if it is incorrectly
configured.
Let’s take a look at one of the delivered queries, AD703___RECRUIT_
CATEGORY_TBL. In the first illustration you can see the fields that are defined in
the query. And in the second illustration you can see the SQL that the Query
Manager creates for you. One of the main features of the Query Manager is that it
will automatically join the Effective Date and Effective Sequence for you properly,
so if you are new to PeopleSoft and having a hard time getting your queries properly
written, use the Query Manager to help create the queries you need.
ch04.indd 146
11/27/08 10:04:53 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
Chapter 4:
PeopleTools Basics
147
You also get the added advantage in your queries of running them and dropping
the results into Excel. This is a nice feature: you can convert your ad hoc queries
into queries in the Query Manager, give your customers access, and allow them to
run them on demand and put the results into Excel. The next illustration shows the
AD703_RECRUIT_CATEGORY_TBL Query results in Excel.
ch04.indd 147
11/27/08 10:04:53 AM
Oracle-Regular / PeopleSoft Developer’s Guide for PeopleTools & PeopleCode / Judi Doolittle / 662-9 / Chapter 4
148
PeopleSoft Developer’s Guide for PeopleTools & PeopleCode
Users can have the permission (depending on what the security administrator
has given them) to save their queries, modify existing queries and save them under a
different name, and delete queries. The difference is if they have security permission
to the Query Manager or Query Viewer. A more detailed treatment of queries and
the Query Tool appears in Chapter 9.
Summary
In this chapter the basics of PeopleSoft development were introduced. You learned
about navigation, Application Designer, projects, fields, records, translate values,
pages, components, menus, PeopleCode, HTML, message catalogs, and queries. As
the book progresses, we will go into detailed coding methods and tips and tricks
that you can utilize as a PeopleSoft Developer. It is important to understand the
basics before we move quickly on to the advanced topics. The chapter showed you
how to create a translate value, an HTML Hello World page, and a basic query with
the Query Manager. For more details about Queries, see Chapter 9.
ch04.indd 148
11/27/08 10:04:53 AM