This documentation is not maintained. Please refer to doc.castsoftware.com/technologies to find the latest updates.

Summary: This document provides basic information about the extension providing PeopleSoft support.

Extension ID

com.castsoftware.peoplesoft

What's new?

Please see PeopleSoft 5.2 - Release Notes for more information.

Description

This extension provides support for PeopleSoft.

Supported Versions of PeopleSoft

The qualification of the PeopleSoft application does not depend on the functional release of PeopleSoft (8.4, 9.0, 9.1, 9.2) nor on the functional module (CRM, HRMS, FSCM, Portal etc.). Indeed it depends only on the versions of PeopleTools used to develop the source code.
This extension provides support for the following PeopleTools versions:

PeopleTools versionSupported
8.45(tick)
8.46(tick)
8.47(tick)
8.48(tick)
8.49(tick)
8.50(tick)
8.51(tick)
8.52(tick)
8.53(tick)
8.54(tick)
8.55(tick)
8.56(tick)
8.57likely*
8.58likely*
  • PeopleTools versions above 8.48 that are listed in the table above are supported, but new functionalities or syntax introduced in these versions are not supported.
  • likely*: the PeopleTools repository tables (mostly PSxxx) have been very stable for many years, therefore the extractor will likely extract the objects and links as expected, and the rest of analysis will run fine. As soon as it is confirmed, a green tick will be added instead.

Function Point, Quality and Sizing support

This extension provides the following support:

  • Function Points (transactions): a green tick indicates that OMG Function Point counting and Transaction Risk Index are supported
  • Quality and Sizing: a green tick indicates that CAST can measure size and that a minimum set of Quality Rules exist
Function Points
(transactions)
(error)
Quality and Sizing(tick)

Compatibility

CAST Imaging Core release

Supported

8.3.x(tick)

Supported DBMS servers for PeopleSoft applications

The extension supports PeopleSoft applications installed on the following DBMS:

DBMSSupported
Oracle Server(tick)
DB2 UDB(tick)

Prerequisites

ItemDescription
AIP CoreAn installation of any compatible release of AIP Core (see table above). If you are using AIP Console to manage the analysis, you must use AIP Core ≥ 8.3.39.
AIP ConsoleIf you would like to use AIP Console to manage the analysis, please ensure that you are using v. ≥ 1.27

Vanilla repository availability

Please ensure that the Vanilla repository is online and available before starting.

On PeopleSoft server hosting the Oracle/DB2 repository (for Vanilla and Project)

  • The server can be any OS, however Unix/Linux OS may require some .ksh script if you want to run the extractor on the server machine itself. 
  • The version of the Oracle/DB2 server must match a version supported by the JDBC driver embedded in the com.castsoftware.aip.extractor.sqldatabase (used to extract the SQL data). This is different and wider than the supported versions for a participating database. 

On Workstation used for extraction (where the CAST Database Extractor / CAST Delivery Manager Tool is deployed)

  • Windows or Linux (Unix/Linux OS may require some additional .ksh scripts). 
  • JRE 1.7 (ideally 64 bit version to allow for a JVM large heap size).
  • Minimum 1.2 GB RAM memory free, more if available.
  • DMT/extractor location:
    • Ideally, install the DMT/extractor on the RDBMS server (Oracle or DB2) itself.
    • Alternatively on a machine with:
      • very good bandwidth (1 GB/s) to the Oracle / DB2 server (some remote extractions fail due to poor VPN bandwidth)
      • connectivity to the Oracle / DB2 server (required ports open)
  • 4 GB free disk space (for temporary files before compression)
  • 250 MB free disk space (to store the two extraction archives) included in above requirement.
  • Download the standalone com.castsoftware.aip.extractor.sqldatabase to extract the SQL data.

On AIP Node used for analysis

  • Windows (uses AIP).
  • 2 GB RAM memory free (for analysis/snapshot)
  • Connectivity to the CAST Storage Service/PostgreSQL instance server hosting the application schemas (port open)
  • 5-10 GB free disk space (to store the source code, once expanded by the Deploy phase)
  • Disable anti-virus software. Check that no anti-virus is running on the workstation or disable real-time scan for the work folders (delivery & deploy folders + temp folders). Failure to do so will multiply the injection runtime.

Tables required to grant access to the PeopleSoft repository

The following database tables are accessed during the PeopleSoft extraction process: PEOPLESOFT_TABLES.txt.

FAQs

Please see Siebel and PeopleSoft - FAQs for more information.

Architecture and analysis principles

This section discusses the way CAST analyzes PeopleSoft projects and describes the specific metrics that form part of the standard CAST Quality Model.

The image below describes the entire process of computing quality assessments of PeopleSoft projects, from the extraction of the PeopleSoft source code and meta-data to the integration of the quality results into the CAST AIP dashboards.

Discrimination process

The purpose of the discrimination process is to identify differences between the standard installation (also called Vanilla) and the Project environment.

Click to enlarge:

In order to identify these modifications, we require the source code delivery for the Project and the Vanilla. To integrate them, we create two Analysis schemas:

  • Project Analysis schema: contains the results of the technical analysis of the current version of the PeopleSoft project
  • Vanilla Analysis schema: contains the results of the technical analysis of the baseline of a PeopleSoft implementation. This Analysis Service should not be undergo snapshot generation each time and for each project. It should instead undergo snapshot generation each time the Vanilla changes (patch, upgrade etc.). This Analysis schema can be used by multiple projects.

PeopleSoft technology coverage

The objects listed below are all the object types that a PeopleSoft analysis will deliver in the Analysis schema. With these objects, CAST is capable of supporting a set of quality rules to provide a customer with a good overview of the current technical status of a PeopleSoft application. It is not the intention of Cast to capture all details and syntaxes; a coupling between requirement and detection is made.

Click to enlarge:


PeopleSoft artifacts and their relations

The PeopleSoft extension is capable of detecting a large number of objects, properties and links. All of these artifacts are mentioned in the image above, but in essence, all PeopleSoft objects are supported:

  • User
  • Role
  • Permission List
  • Component Interface
  • Menu – We distinguish different types:
    • Menu
    • Popup
  • Component
  • Message Channel
  • Message Node
  • Message
  • Page – We distinguish different types:
    • Page
    • Sub
    • Secondary
  • Application Engine – We distinguish different types:
    • Standard
    • Upgrade only
    • Import only
    • Daemon only
  • Transform only
  • Style Sheet
  • Record – We distinguish different types:
    • Table
    • View
    • Derived
    • Sub
    • Dynamic
    • Query
    • Temp
  • SQL – We distinguish different types:
    • View
    • SQL
    • AE step
  • DBField
  • Application Package
  • Peoplecode – We distinguish different types:
    • Event
    • Function
    • Class
    • Method
  • Field format
  • Mobile Page
  • HTML
  • Query
  • File Layout
  • Business Process
  • Activity
  • Process group
  • Job
  • Process 

Download, installation, configuration and operating instructions

What results can you expect?

Objects

IconDescription

PeopleSoft Activity

PeopleSoft ActivityEmail

PeopleSoft ActivityEvent

PeopleSoft ActivityReport

PeopleSoft ActivitySchedule

PeopleSoft ActivityStep

PeopleSoft ActivityWorklist

PeopleSoft Application Engine Action Call

PeopleSoft Application Engine Action Message

PeopleSoft Application Engine Action Peoplecode

PeopleSoft Application Engine Action SQL

PeopleSoft Application Engine Action XSLT

PeopleSoft Application Engine Action Deamon Only

PeopleSoft Application Engine Action Import Only

PeopleSoft Application Engine Action Section

PeopleSoft Application Engine Action Section Market

PeopleSoft Application Engine Action Standard

PeopleSoft Application Engine Action Step

PeopleSoft Application Engine Action Transform Only

PeopleSoft Application Engine Action Upgrade Only

PeopleSoft Application Class

PeopleSoft Application Class Execute

PeopleSoft Application Method

PeopleSoft Application Package

PeopleSoft Permission Component Interface

PeopleSoft Permission CI Method

PeopleSoft Authentication CnhlMon

PeopleSoft Authentication Cube

PeopleSoft Authentication Item

PeopleSoft Authentication Mobile Page

PeopleSoft Authentication Option

PeopleSoft Authentication Process

PeopleSoft Authentication Queue Monitor

PeopleSoft Authentication WebService

PeopleSoft BusinessProcess

PeopleSoft BusinessProcessItem

PeopleSoft CompInterface Event

PeopleSoft CI Property Level 0  Event

PeopleSoft CI Property Level 1  Event

PeopleSoft CI Property Level 2  Event

PeopleSoft Component

PeopleSoft Component Event

PeopleSoft Component Interface

PeopleSoft CI Collection Level 1

PeopleSoft CI Collection Level 2

PeopleSoft CI Collection Level 3

PeopleSoft CI CreateKey

PeopleSoft CI FindKey

PeopleSoft CI GetKey

PeopleSoft CI Property Level 0

PeopleSoft CI Property Level 1

PeopleSoft CI Property Level 2

PeopleSoft CI Property Level 3

PeopleSoft CI User Property Level 0

PeopleSoft CI User Property Level 1

PeopleSoft CI User Property Level 2

PeopleSoft CI User Property Level 3

PeopleSoft Component Item

PeopleSoft Component Record

PeopleSoft ComponentRecord Event

PeopleSoft ComponentRecord Field

PeopleSoft ComponentRecordField Event

PeopleSoft DBField

PeopleSoft Environment

PeopleSoft Field Format

PeopleSoft Field Label Item

PeopleSoft Field XLAT Item

PeopleSoft File Layout

PeopleSoft HTML

PeopleSoft Menu

PeopleSoft Menu Bar

PeopleSoft Menu Event


PeopleSoft Menu Item

PeopleSoft Menu Popup

PeopleSoft Message

PeopleSoft Message Catalog

PeopleSoft Message Event

PeopleSoft Message Node

PeopleSoft Message Sent


PeopleSoft Mobile Page

PeopleSoft Message Channel

PeopleSoft Message Subscription

PeopleSoft Package

PeopleSoft Page

PeopleSoft SubPage

PeopleSoft SecondaryPage

PeopleSoft Page Event

PeopleSoft Page Field0

PeopleSoft Page Field1

PeopleSoft Page Field2

PeopleSoft Page Field3

PeopleSoft Page Field Level1

PeopleSoft Page Field Level2

PeopleSoft Page Field Level3

PeopleSoft PeopleCodeFunction

PeopleSoft Permission List

PeopleSoft Portal Content Reference

PeopleSoft Portal Folder

PeopleSoft Portal Registry

PeopleSoft Process

PeopleSoft ProcessGroup

PeopleSoft ProcessJob

PeopleSoft Query

PeopleSoft RecordDerived

PeopleSoft RecordDynamic

PeopleSoft RecordFieldDB

PeopleSoft RecordFieldEvent

PeopleSoft RecordField

PeopleSoft RecordIndex

PeopleSoft RecordQuery

PeopleSoft RecordSub

PeopleSoft RecordTable

PeopleSoft RecordTemp

PeopleSoft RecordView

PeopleSoft Role

PeopleSoft SQL

PeopleSoft StyleSheet

PeopleSoft SubPackage

PeopleSoft Subscription Event

PeopleSoft URL

PeopleSoft User

Structural Rules

The following structural rules are provided:

You can also find a global list here:

https://technologies.castsoftware.com/rules?sec=t_1600000&ref=||

Performance issues

A Peoplesoft analysis almost always takes longer then other technologies supported by CAST and is dependent on the fact that both the Vanilla, Project and the delta between them should be extracted and analyzed. Some tips listed below can help to improve total extraction and analysis time:

  • Ensure that the infrastructure on which the extraction and analysis takes place is of high quality using fast disks such as SSD or SCSI with ample free RAM.
  • For the extraction phase:
    • consider skipping the database extraction if you do not need to see the result of quality rules run on these extractions - see PeopleSoft specific - Why do we need to extract also the Oracle or DB2 database (PL/SQL structure)? in Siebel and PeopleSoft - FAQs.
    • ensure that the extraction is actioned on the server hosting the database itself - if a remote server is used, then network performance will impact the extraction time.
    • the Peoplesoft schema (on Oracle or DB2) stats should be up to date:
      • If not up-to-date for Oracle, update it with the following SQL statement (requires some privileges : GRANT execute ON dbms_stats TO XXX);
Execute dbms_stats.gather_schema_stats(ownname => 'MY_PSOFT_SCHEMA', estimate_percent => dbms_stats.auto_sample_size, method_opt => 'for all columns size auto', cascade => true);
      • If not up-to-date for DB2, check if DB2 automatic runstats and DB2 real time statistics are enabled. If not, ask the DBA to run the following or similar:
 db2 reorgchk update statistics on table all

Known Limitations

The following section lists all known issues/limitations in this release of the extension.

Error when displaying source code in CAST dashboards

Most PeopleSoft objects don't have associated source code as they correspond to a configuration. In the CAST dashboards, an error will therefore be displayed when trying to display the object source code (example error message from the legacy CAST Engineering Dashboard):

 

No bookmarks are displayed for violations in source code in CAST dashboards

When using the CAST dashboards, no "bookmarks" will be displayed to indicate where violations occur in source code. This is a limitation of the extension.

Warnings in the analysis log

The following warnings may appear in the analysis log:

  • end of string ''' not found
  • end of string '[']' not found
  • File skipped

This is a limitation of the extension: when the end of a string pattern is not found inside an object's source code, an error is raised as the syntax is not understood. In the context of PeopleSoft, SQL objects can be created and configured to contain the sub-part of an SQL statement that can be re-used in other objects. As such these SQL statements may be incomplete which will cause the warnings described above to appear. To avoid these type of warnings, this partial SQL should not be analyzed individually, but rather in the context of where it has been included.