Essential Guide to Peoplesoft Development and Customization
Tony DeLia, Galina Landres, Isidor Rivera, Prakash Sankaran
  • August 2000
  • ISBN 9781884777929
  • 1101 pages
Essential Guide to Peoplesoft Development and Customization
Tony DeLia, Galina Landres, Isidor Rivera, Prakash Sankaran

The Essential Guide to PeopleSoft Development and Customization is an exhaustive, as well as practical, guide that covers PeopleSoft 7.5 and many new features in release 8.0. Both novice and experienced programmers will benefit from the detailed coverage of topics ranging from the basics of Application Designer to the proper use of PeopleCode within the Application Processor.

The book serves as both a reference and a tutorial and covers advanced topics that other books avoid. The reader can gain valuable expertise by following the exercises and building sample applications and utilities.

Extensive coverage of PeopleCode including scroll and function library examples can be found as well as methodology behind customization and upgrades. Discover how to effectively utilize SQR and Process Scheduler. Master various levels of PeopleSoft security.

Table of Contents detailed table of contents

about this book

about the authors


about the cover illustration

Part 1 An introduction to PeopleSoft and PeopleTools

1. PeopleSoft fundamentals

1.1. PeopleSoft architecture

1.1.1. Two-tier architecture

1.1.2. Three-tier architecture

1.1.3. Web architecture

1.1.4. n-tier architecture

1.1.5. Tiers and their functions

1.2. A user’s view to PeopleSoft

1.2.1. Signing onto PeopleSoft

1.2.2. Configuration Manager

1.2.3. Navigation in PeopleSoft

2. Development tools

2.1. Fields

2.2. Records

2.3. Panels

2.4. Panel groups

2.5. Menus

2.6. PeopleCode

2.7. Projects and upgrades

2.7.1. Upgrades

2.8. Cross-reference utilities

2.8.1. Find object references

2.8.2. Find string In PeopleCode

2.8.3. Record Cross References

3. Administration tools

3.1. Data Mover

3.1.1. Data Mover overview

3.1.2. Examining the Data Mover script

3.2. Import Manager

3.2.1. Defining an import definition

3.2.2. Running the Import Manager

3.3. Security Administrator

3.3.1. Defining an operator class

3.3.2. Linking operator IDs to an operator class

3.3.3. Restricting Application Designer Access

3.4. Object security

3.4.1. Object groups

3.4.2. Linking object groups to security classes

3.5. Operator preferences

3.6. Tree Manager

Part 2 Application development

4. Building your first application

4.1. Identifying the application

4.1.1. Fit/Gap analysis

4.1.2. Gathering user requirements

4.1.3. Identifying the objects to be developed

4.1.4. Prototype

4.2. Using the Application Designer

4.2.1. General icons

4.2.2. Record display icons

4.2.3. Panel design icons

4.2.4. Panel group icons

4.3. Creating field definitions

4.4. Working with projects

4.4.1. General

4.4.2. Report Filter

4.4.3. Copy Options

4.5. Creating a PeopleSoft record definition

4.5.1. Create a schema

4.5.2. Identify and create custom fields

4.5.3. Creating a record definition

4.5.4. Defining record definition properties

4.5.5. Define record field properties

4.5.6. Perform Data Administration

4.6. Creating a PeopleSoft panel definition

4.6.1. Assembling record fields in the panel

4.6.2. Define panel field properties

4.6.3. Checking the panel layout

4.6.4. Define panel properties

4.6.5. Saving the panel

5. Providing user access to the application

5.1. Creating panel groups in PeopleSoft

5.1.1. Create a new panel group

5.1.2. Insert panels into the panel group

5.1.3. Define Panel Group properties

5.1.4. Save the panel group definition

5.1.5. Panel groups and process definitions

5.2. Creating application menus in PeopleSoft

5.2.1. Create a new menu definition

5.2.2. Create new bar items

5.2.3. Create new menu items

5.2.4. Define Menu Item properties

5.2.5. Define menu properties

5.2.6. Save the menu definition

5.2.7. Pop-up menus

5.3. Authorizing users

5.3.1. General attributes

5.3.2. Menu items

5.3.3. Sign-On Times

5.3.4. Process groups

5.3.5. Process profiles

5.3.6. Creating operators using operator class definitions

5.3.7. Understanding functional security (Trees)

6. Enhancing your application

6.1. Creating and using prompt records

6.1.1. Principles of prompt records

6.1.2. Prompt records with a single search key

6.1.3. Prompt records with effective dates

6.1.4. Prompt records with multiple search keys

6.1.5. Dynamic prompt records

6.2. Creating and maintaining translate values

6.3. Creating and using search records

6.3.1. Search records without keys

6.3.2. Search records with search keys

6.3.3. Search records with search keys and database keys

6.3.4. Search records with From and Through search keys

6.3.5. Create and define search records

6.4. Working with Derived/Work records

6.4.1. Using derived records as counters and totals

6.4.2. Using derived records to display messages

6.5. Using push buttons

7. Advanced panel design features

7.1. Working with scroll bars

7.1.1. Multiple rows on scroll bars

7.1.2. Parent and child records on scrolls

7.1.3. Scroll bars used as work scrolls

7.2. Working with effective dates

7.2.1. PeopleCode functions for effective-dated processing

7.3. Working with subpanels and secondary panels

7.3.1. Subpanels

7.3.2. Secondary panels

7.4. Designing inquiry panels

7.5. Using a grid on a panel

7.5.1. Sorting the grid on its columns

7.5.2. Copy data from grids into spreadsheets

7.5.3. Copy data from spreadsheets into grids

7.5.4. Adjust row heights and column widths

7.5.5. Freezing columns on a grid

7.5.6. Creating a grid on a panel

8. Building database objects

8.1. Tables and views in PeopleSoft

8.1.1. Database catalog tables and views

8.1.2. PeopleTools tables and views

8.1.3. Application tables and views

8.2. Database object modeling

8.3. Building database tables and views

8.3.1. Define the record definition type

8.3.2. Define the database keys

8.3.3. Define DDL parameters for the table

8.3.4. Define DDL parameters for indexes

8.3.5. Build the object in the database

9. PeopleSoft Application Processor

9.1. Search processing

9.1.1. Determine mode of access

9.1.2. Retrieve panel group definition

9.1.3. Determine search fields

9.1.4. Populate and display search fields

9.1.5. Edit search fields

9.2. Data retrieval

9.2.1. Verify mode with data from search record

9.2.2. Prepare the list box

9.2.3. Prepare a list of panels

9.2.4. Prepare a list of records and fields

9.2.5. Retrieve data from the database

9.3. Panel Group display

9.3.1. RowSelect processing

9.3.2. Default processing (iterative)

9.3.3. Display panel group

9.4. Data entry or inquiry

9.4.1. Field modification

9.4.2. RowInsert

9.4.3. RowDelete

9.4.4. Prompt processing

9.4.5. Command or push buttons

9.4.6. Pop-up menus

9.4.7. Save processing

9.4.8. Cancel

10. Application Designer — PeopleSoft 8

10.1. Development objects

10.1.1. Application Engine program

10.1.2. Business components

10.1.4. File Layout

10.1.5. HTML definitions

10.1.6. Image definition

10.1.7. Message definition

10.1.8. Message channel definition

10.1.9. Message node definition

10.1.10. SQL definition

10.1.11. Style sheet

10.2. Other features

10.2.1. General environment

10.2.2. Field definitions

10.2.3. Record definitions

10.2.4. Panel definitions

10.2.5. Panel group definitions

Part 3 PeopleCode: an in-depth look

11. Introduction to PeopleCode

11.1. What is PeopleCode?

11.2. PeopleCode Events

11.2.1. Record PeopleCode events

11.2.2. Menu PeopleCode events

11.3. Using Application Designer to develop PeopleCode

12. PeopleCode language elements

12.1. PeopleCode and record fields

12.2. PeopleCode editor

12.3. PeopleCode comments

12.4. Data types

12.5. PeopleCode data elements

12.5.1. Record field references

12.5.2. Temporary variables

12.5.3. Constants

12.5.4. System variables

12.5.5. Global and local variables

12.6. Statements and expressions

12.6.1. Statements

12.6.2. Control statements

12.6.3. Expressions

12.7. PeopleCode tools tables

13. PeopleCode & the Application Processor

13.1. The Application Processor

13.2. Search processing

13.2.1. Menu item is chosen

13.2.2. Search processing — Add mode

13.3. Data retrieval

13.3.1. Search processing — Update mode

13.4. Panel Group display

13.5. Data entry and inquiry

13.5.1. Modifying data on a panel

13.6. Save processing

13.6.1. Adding PeopleCode to save processing

14. Messages and error handling

14.1. Using the MessageBox function

14.2. Using WinMessage

14.2.1. WinMessage

14.2.2. Additional examples

14.3. Error and warning

14.3.1. Error

14.3.2. Warning


14.4.1. MsgGet

14.4.2. MsgGetText

15. Embedded SQL

15.1. When to use embedded SQL

15.2. The SQLExec function

15.2.1. SQLExec

15.3. Using inline bind variables

15.4. Dates and Meta-SQL

15.5. Security and maintenance considerations

16. Working with scrolls

16.1. Parent/Child relationship

16.2. PeopleCode functions used with scrolls

16.2.1. ScrollSelect

16.2.2. ScrollSelectNew

16.2.3. ScrollFlush

16.3. Additional scroll functions

16.3.1. ActiveRowCount

16.3.2. CurrentRowNumber

16.3.3. DeleteRow

16.3.4. FetchValue

16.3.5. HideRow

16.3.6. HideScroll

16.3.7. RowScrollSelect

16.3.8. RowScrollSelectNew

16.3.9. RowFlush

16.3.10. UpdateValue

16.3.11. TotalRowCount

17. Function libraries

17.1. Function overview

17.2. PeopleCode built-in functions

17.2.1. Conversion functions

17.2.2. Date/Time functions

17.2.3. Effective Date/ Sequence functions

17.2.4. Logic functions

17.2.5. Math functions

17.2.6. Panel buffer functions

17.2.7. Panel control functions

17.2.8. Save/Cancel functions

17.2.9. String functions

17.2.10. Panel transfer functions

17.2.11. Process Scheduler functions

17.3. PeopleCode internal functions

17.3.1. Defining an internal function

17.4. PeopleCode external functions

17.4.1. Define the External function

17.4.2. Declare the function

17.4.3. Call the function

17.4.4. Interpret return values

17.5. External non-PeopleCode functions

18. PeopleCode debugging tools

18.1. The first bug

18.2. Using WinMessage

18.3. The Application Reviewer

18.3.1. Breakpoints

18.3.2. Viewing data

18.3.3. Additional Application Reviewer options

18.4. Search in PeopleCode

18.5. PeopleCode Trace

18.5.1. Trace PeopleCode utility

18.5.2. SetTracePC

19. PeopleCode — PeopleSoft 8

19.1. PeopleCode release 8

19.1.1. File object

19.1.2. SQL object

19.1.3. Associating PeopleCode with panel groups

19.1.4. Enhanced scroll function

19.1.5. Array Class

19.1.6. PeopleCode Debugger

Part 4 Customizing PeopleSoft-delivered applications

20. "Vanilla" vs. customized

20.1. What is customization?

20.1.1. Changing your company business practice

20.1.2. Developing a manual desk procedure

20.1.3. Creating a satellite application with interface to PeopleSoft

20.1.4. Changing PeopleSoft-delivered objects and programs

20.1.5. Developing additions with PeopleTools

20.2. Upgrade considerations

20.3. Identifying objects for customization

20.4. Performing an upgrade

20.4.1. Understanding how the Upgrade Compare process works

20.4.2. Copying a project to the target database

20.4.3. Executing Alter/Create scripts

20.4.4. Stamping the database

21. Customizing delivered panels

21.1. What objects should be customized?

21.2. Modifying a panel

21.3. Testing the modifications

21.4. Possible impacts on future upgrades

22. Adding new fields and panels

22.1. What objects should be customized or added?

22.2. Creating new custom fields

22.3. Creating a custom record

22.4. Creating a custom panel

22.5. Adding a new panel to the existing panel group

22.6. Granting security access

22.7. Testing our changes

22.8. Possible impact on future upgrades

23. Adding new functionality to PeopleSoft-delivered applications

23.1. What objects should be customized or added?

23.2. Creating a custom record by cloning an existing one

23.3. Creating a custom panel

23.3.1. Creating custom fields for a Derived/Work record

23.3.2. Creating a custom Derived/Work record

23.3.3. Adding Derived/Work fields to our panel

23.4. Creating a custom panel group

23.5. Modifying a menu

23.6. Adding a PeopleCode script

23.7. Granting security access

23.8. Testing our changes

23.9. Possible impact on future upgrades

24. Customizing security search records, PeopleCode, and menus

24.1. What objects should be customized or added?

24.2. Creating a custom security record

24.3. Creating a custom panel group

24.4. Modifying a menu

24.5. Granting security access

24.6. Testing our changes

24.7. Developing a PeopleCode program

24.7.1. Creating a derived Funclib record and PeopleCode

24.8. Testing PeopleCode modifications

24.9. Possible impact on future upgrades

Part 5 Using SQR in PeopleSoft applications

25. Running SQR programs in PeopleSoft applications

25.1. How SQR programs run under PeopleSoft

25.2. Selecting a report from a menu

25.3. Using the Run Control

25.4. The Process Scheduler Request dialog

25.5. Viewing the status of your report via the Process Monitor

25.5.1. Controlling your processes via the Process Monitor

25.6. Viewing the report output

25.7. Editing Run Control records

26. Creating a custom SQR program

26.1. Designing your SQR program

26.2. Executing your SQR program

26.3. Examining the SQR program output files

27. Attaching SQR to the Process Scheduler

27.1. Selecting a Run Control record

27.2. Creating a Run Control panel

27.3. Creating a panel group

27.4. Selecting a menu for your report

27.5. Granting security access

27.6. Testing your changes

27.7. Creating a process definition for the problem status report

27.7.1. The Process Definitions panel

27.7.2. Process Definition Options panel

27.7.3. Panel Transfers panel

27.8. Specifying the program directory

27.9. Testing your process definition

28. Communicating with the Process Scheduler

28.1. Using PeopleSoft-delivered SQC files

28.2. Exercise 2: Make your SQR program API Aware

28.2.1. Incorporating SQC files into your program

28.2.2. Communicating errors back to the Process Scheduler

28.3. Creating a new process definition for an API Aware program

28.3.1. Deleting the obsolete process definition

28.4. Exercise 3: Accept the As Of Date and problem status parameters from an on-line panel

28.4.1. Using application-specific SQC files to obtain input parameters

28.4.2. How the Years of Service program accepts its input parameters

28.4.3. Accepting input parameters in your SQR program

28.4.4. Creating your own SQC files

28.4.5. Creating an SQC file to select parameters from the Run Control record

28.4.6. Creating an SQC file to format selected input parameters

28.4.7. Integrating the SQC files with your program

28.5. Testing your changes

29. Implementing security in SQR

29.1. Overview of the PeopleSoft security layers

29.2. Row-level security in PeopleSoft online applications

29.2.1. Row-Level security in the PeopleSoft Query tool

29.2.2. Row-Level security in online Panels

29.3. Preventing an SQR program from executing outside the Process Scheduler

29.4. Incorporating Row-Level security in SQR

29.5. Using Run Control records for SQR security

30. Additional Process Scheduler topics

30.1. Scheduling programs for execution on a recurring basis

30.2. Using job streams

30.2.1. Creating a panel group for a job stream

30.2.2. Creating a Menu Item for our new job stream

30.2.3. Creating a job definition

30.2.4. Scheduling a job for recurrent execution

31. SQR and Process Scheduler — PeopleSoft 8

31.1. Process Scheduler terminology

31.2. Process Definitions

31.3. Process Scheduler Request dialog

31.4. Output options

31.4.1. Output types

31.4.2. Output formats

31.4.3. Output Destination

31.5. Process Scheduler security

31.6. Process Scheduler PeopleCode support

31.7. SQR and PeopleTools 8

31.7.1. Unique names for file output and logs

31.7.2. PSSQR shell

31.7.3. New printer setup SQCs

31.7.4. Additional features

Part 6 Understanding PeopleSoft COBOL

32. What’s the difference?

32.1. Conventional COBOL programming

32.1.1. Using SQL in COBOL programs

32.2. PeopleSoft structured programming

32.2.1. Stored SQL statements

32.2.2. Storing SQL statements from Data Mover scripts

32.3. The PTPSQLRT module

32.3.1. Calling PTPSQLRT

32.4. Parameter descriptions

32.4.1. Parameter 1 — ACTION

32.4.2. Parameter 2 — SQLRT (Communication Area)

32.4.3. Parameter 3 — CURSOR

32.4.4. Parameter 4 — SQL statement name

32.4.5. Parameter 5 — Bind Setup

32.4.6. Parameter 6 — Bind Data

32.4.7. Parameter 7 — Select Setup

32.4.8. Parameter 8 — Select Data

32.5. Setup lists

32.6. Action requirements

33. Modifying PeopleSoft COBOL

33.1. Defining a modification

33.1.1. Delivered functionality

33.1.2. A simple modification

33.2. Making our modifications

33.2.1. One important note

34. Additional topics

34.1. Process Scheduler API

34.1.1. The PTCUSTAT copybook and PTPUSTAT module

34.1.2. A real life example

34.2. Using trace files

34.2.1. Trace settings

34.2.2. Tracing a COBOL process

34.2.3. Examining the trace file contents

34.3. Cross reference files

Part 7 Using Application Engine

35. What is Application Engine?

35.1. About Application Engine

35.2. Advantages/disadvantages

35.2.1. Advantages

35.2.2. Disadvantages

35.3. Set processing concepts

35.3.1. Set processing vs. row by row processing

35.3.2. Example of row by row processing

35.3.3. Example of set processing

35.4. The main components of Application Engine

35.5. A/E definition tables

35.6. A/E definition panels

35.6.1. Application definition panel

35.6.2. Section definition panel

35.6.3. Step definition panel

35.6.4. Statement definition panel

35.7. A/E section/step relationship

35.8. Application Engine: the big picture

36. Build your first application

36.1. Before we begin: an introduction to our tutorial

36.2. Adding message catalog entries

36.3. Creating a custom cache record

36.4. Beginning our tutorial

36.5. Exercise 1: Hello World!

36.5.1. Creating an SQR version

36.5.2. Defining the application

36.5.3. Creating sections, steps, and statements

36.5.4. Introducing the &MSG function

36.5.5. Running an Application Engine program

36.5.6. Reviewing Application Engine messages

36.6. SQR/Application Engine comparison

37. Using cache fields

37.1. Exercise 2: How many rows in PERSONAL_DATA?

37.1.1. Creating an SQR version

37.1.2. Assigning cache fields values with &SELECT

37.1.3. Defining multiple steps within a section

37.1.4. Retrieving cache field values with &BIND

37.2. SQR/Application Engine comparison

38. 38 Dynamic SQL statements

38.1. Exercise 3: How many rows in any table?

38.1.1. Creating an SQR version

38.1.2. Using &BIND parameters NOQUOTES and STATIC

38.1.3. Multiple &BIND parameters in a &MSG function

38.1.4. Assign initial cache values on the Process Request panel

38.2. SQR/Application Engine comparison

39. Selecting multiple rows

39.1. Exercise 4: Processing multiple rows

39.1.1. Creating an SQR version

39.1.2. Using the DO Select statement type

39.1.3. Creating and using additional sections

39.1.4. Section reusability

39.2. SQR/Application Engine comparison

40. Incorporating decision logic

40.1. Exercise 5: Only process tables with rows

40.1.1. Creating an SQR version

40.1.2. Introducing the DO When statement type

40.1.3. PSLOCK and decision making

40.2. SQR/Application Engine comparison

41. Dynamic sections

41.1. Exercise 6: Calling dynamic sections

41.1.1. Creating an SQR version

41.1.2. The &SECTION symbolic

41.1.3. The AE_SECTION cache field

41.1.4. Multiple process requests

41.2. SQR/Application Engine comparison

41.3. Dynamic sections in PeopleSoft

42. Using Run Controls — part A

42.1. Exercise 7: Delete process definitions

42.1.1. Application development steps

42.2. Build a new Run Control record

42.2.1. Modify our existing cache record

42.3. Building the Run Control panel

42.4. Create a new panel group

42.5. Attaching the panel group to a menu

42.6. Assigning operator security

42.7. Testing the new panel

42.8. Creating our process definition

42.8.1. Create a DUMMY process definition for testing

43. Using Run Controls — part B

43.1. Create the Application Engine program

43.1.1. Building the MESSAGE section

43.1.2. Building the DELETE1 section

43.1.3. Building the DELETE2 section

43.1.4. Building the PROCESS1 section

43.1.5. Building the PROCESS2 section

43.1.6. Building the DYNSECTN section

43.1.7. Building the MAIN section

43.2. Testing the completed application

43.2.1. Verifying our results

43.2.2. Examining the trace file

44. Additional topics

44.1. Using trace files

44.1.1. Sample trace file

44.2. Restarting an A/E process

44.3. Analyzing A/E programs

44.4. Application Engine analyzer

44.4.1. Application Engine Analyzer source code — TD_AE75.SQR

45. Application Engine — PeopleSoft 8

45.1. Application Engine "wish list"

45.2. PeopleSoft release 8

45.2.1. Application Designer — Creating

45.2.2. Action types

45.2.3. Meta-SQL 962 Application Engine macros

45.2.4. System Meta-Variables

45.2.5. Application Engine PeopleCode

45.2.6. Application Engine debugger

Appendix A: Problem Tracking application

Appendix B: Operator Class/Locations

Appendix C: PeopleTool system tables

Appendix D: Application Engine examples

Appendix E: Built-in functions

Appendix F: Application Engine functions


About the book

Most developers won't touch PeopleSoft COBOL programs with a ten foot pole. Expand your horizons by uncovering the secrets of PeopleSoft COBOL and the PTPSQLRT module and even walk through a sample customization. Application Engine is a powerful PeopleTool—but one of the least understood. Through a series of simple but effective exercises the reader will learn Application Engine concepts such as dynamic SQL, decision logic and dynamic sections. A useful Application Engine utility is produced that will enhance the delivered Process Scheduler panels. This book takes a soup-to-nuts approach leading the reader through the full cycle of application development.

The four authors are truly experts in the field and provide the reader with the skills necessary to compete in the PeopleSoft marketplace for years to come. Special sections are included which provide detailed information on new features in PeopleSoft release 8. The reader will gain valuable insight into the next generation of PeopleTools.

Exciting new features such as the new PeopleCode Debugger and PeopleCode dot notation using a new series of object classes are revealed. Also covered are Application Designer enhancements and improved Process Scheduler design and SQR support.

See firsthand how Application Engine has been turbo-charged with a new line of meta-constructs, PeopleCode actions, file handling capability and a new integrated design. The authors' primary goal was not to be the first book on the market... it was to be the best.

About the authors

Tony DeLia has over 15 years experience working with mainframe, client-server and relational database applications, including PeopleSoft HR, Payroll and Financial applications.

Galina Landres has developed multi-platform applications for a number of major companies and is the co-author of Manning's SQR in PeopleSoft and Other Applications.

Isidor Rivera is a computer professional with over 19 years of experience in financial applications and PeopleSoft.

Prakash Sankaran has been developing PeopleSoft applications for many years since the first product release. He has designed and developed modules complementing the PeopleSoft Human Resources application.

eBook $32.50 PDF only

placing your order...

Don't refresh or navigate away from the page.

FREE domestic shipping on three or more pBooks