It is inevitable that any book will contain mistakes. I found the first one while the book was still at the printers!
xvi: The introduction omits a credit for Tom Gorman of SageLogix Inc. (www.sagelogix.com) who also a technical reviewer of this book.
p5: Application Engine 'was rewritten in C++ so that it could also execute PeopleSoft PeopleCode'.
p23: .. the choice choice of emulation ...
p23: PSMONITORSRV was introduced in PeopleTools 8.44
p32: Owner ID/Access ID (SYSADM)
Access ID and Owner ID are not the same thing. Though by default the Owner ID is always an Access ID, it is theoretically possible for processes to connect to the same database in the same Owner ID schema via other Access ID users. The necessary privileges must be granted to the Access ID on objects in the Owner ID schema - see pages 47-48.
p43: after listing 3-12
The schema that contains the PeopleSoft database is referred to as the Access ID Owner ID.
p33: Listing 3-1 is an extract from the installation script grant.sql.
p60: Comment for BUILDSEQNOFor instance, a table must be built before a view that references it, so the view will have a higher build sequence number.
For instance, a view must be built before a view that references it, so the referencing view will have a higher build sequence number than the referenced view.
p61: The wrong diagram has been printed for Figure 4-3. It should be:

p69: Table 4-11. PeopleSoft Support Single-Byte character sets.
p76: Search Record.
The search record specified in the component definition (PSPNLGRPDEFN) can be overridden on the menu item (PSMENUITEM).
p92. spelling. RECSECCLASS should be ROWSECCLASS
p93. In the first bulleted paragraph, the 5th sentence should read:
So when a search record with a column called ROWSECCLASS with the search key attribute was encountered in the search record, the condition on RECSECCLASS ROWSECCLASS in the where clause was added automatically.
p111-2. It is not completely true to say that all character columns are NOT NULL. Long Character fields in PeopleSoft that are not defined as 'required' in the Application Designer are nullable in the database. Long Character field are created as LONG columns in the database unless their length is defined as between 1 and 2000 characters, in which case they are created as VARCHAR2 columns. So a long character field of between 1 and 2000 characters becomes a nullable VARCHAR2 column. Therefore it is possible to create a sparse index on a nullable VARCHAR2 column.
p130: Listing 6-8. closing bracket missing after BUFFER POOL and before PCTFREE
...BUFFER_POOL **BUFFPOOL**) PCTFREE **PCTFREE** ...
p139: From Oracle 9.2.0.3 (see bug 2799028), function-based indexes no longer depend upon the QUERY_REWRITE_ENABLED and QUERY_REWRITE_INTEGRITY parameters. However, the Oracle 9.2 documentation says they are necessary, and I have repeated this in the book.
p121-124. The DDL models for gathering Cost-Based Optimizer statistics for Oracle have changed in PeopleTools 8.4.8 to use the DBMS_STATS.GATHER_TABLE_STATS procedure (see also Changes to DDL Models in PeopleTools 8.48). The wrapper procedure (p122) is therefore obsolete. However, if you want to use Dynamic Sampling on working storage tables in Application Engine programs then see %UpdateStats() -v- Optimizer Dynamic Sampling.
A new version of the wrapper (wrapper848.sql) is available for use in the DDL Model from PeopleTools 8.48.
p119: The DDL Model for creating indexes has changed in PT8.48. Indexes are created NOLOGGING, then Application Designer issues a second command, that is not in the DDL model, to alter the index to LOGGING. See my blog entry: Data Guard Implications of NOLOGGING operations from PeopleTools 8.48.
Tip: Migrating DDL Overides with Application Designer
p203: Listing 9-39. The change to the exception is needed to terminate the autonomous transaction cleanly.rem GRANT EXECUTE ON perfstat.sysadm TO sysadm;
rem GRANT EXECUTE ON sys.perfstat TO sysadm;
...EXCEPTION WHEN OTHERS THEN NULL;
EXCEPTION WHEN OTHERS THEN COMMIT;
p174: Listing 9-2 & Footnote 4: There have been some small changes in the detail of client_info in PeopleTools 8.48. Application server processes do not report the name of the Tuxedo Domain until they have handled a service request. Process Scheduler processes never show the name of the domain.
CLIENT_INFO PROGRAM
---------------------------------------------------------- ----------------
PSAPPS,David,GO-FASTER-4,,PSAPPSRV.exe, PSAPPSRV.exe
PTWEBSERVER,,GO-FASTER-4,HCM89,PSAPPSRV.exe, PSAPPSRV.exe
PS,,go-faster-4.london.go-faster.co.uk,HCM89,PSAPPSRV.exe, PSAPPSRV.exe
PSAPPS,David,GO-FASTER-4,,PSMONITORSRV.exe, PSMONITORSRV.exe
PSAPPS,David,GO-FASTER-4,,PSPPMSRV.exe, PSPPMSRV.exe
PSAPPS,David,GO-FASTER-4,,PSPRCSRV.exe, PSPRCSRV.exe
PSAPPS,David,GO-FASTER-4,,PSMSTPRC.exe, PSMSTPRC.exe
PSAPPS,David,GO-FASTER-4,,PSDSTSRV.exe, PSDSTSRV.exe
PS,,GO-FASTER-4,,PSAESRV.exe, PSAESRV.exe
PSAPPS,David,GO-FASTER-4,,PSMONITORSRV.exe, PSMONITORSRV.exe
PS,10000 sqrw.exe
p241: There is an arrow missing in Figure 10-8 from PSPPMSRV to the database, indicating that this server process inserts data into the database.

p243: Table 10-2: Description for PM_TRANS_DEFN_SET should read "See PS_TRANS_DEFN."
p245: Figure 10-10: PSTRANSHIST should be PSPMTRANSHIST.
p249: Figure 10-11: PSEVENTHIST should be PSPMEVENTHIST.
Addenda
p240: Since the book was written I have used the Performance Monitor in real production situations. Further information can be found in my presentation PeopleSoft: A Properly Instrumented Application?
In Figures 10-10 and 10-11, I could also have shown that PSPMMETRICDEFN is joined to PSPMMETRICVALUE to obtain information about look-up values for numeric identifier metrics.
p267: To disable tracing, use one of the following:EXECUTE sys.dbms_monitor.session_trace_enable(<sid>,<serial#>,waits=>FALSE, binds=>FALSE);
EXECUTE sys.dbms_monitor.session_trace_disable;
p322: In the formula for MAXSERVICES, the 7th term should read:+ 2n_ + 5n...
+2n2 + 5n...
p363: The following index has been found to improve the performance of the concurrency calculation.
CREATE index txrpt_idx2
ON txrpt(
queue,
stimestamp,
stime,etime
)
...COMPRESS 1 PCTFREE 0
p390, p404: It is only an option to run Application Engine as a Tuxedo server process from PeopleTools 8.44, although it is the default option. If this server is not configured then the process scheduler initiates psae, the standalone executable, as in previous versions of PeopleTools. PSAESRV, the Application Engine server, is designed for use in environments with a very large number of short application engine processes, typically CRM systems. The server processes does not have to be instantiated and negotiate PeopleSoft sign-on security for each process request.
If you find other errors, please:
or e-mail: errata@psftdba.com
© Go-Faster Consultancy Ltd. 2005