PeopleSoft 5.2 - Onboarding with CAST Imaging Console

Prerequisites

AIP Core ≥ 8.3.39
CAST Console ≥ 1.27.0-funcrel
Extension

≥ 5.2 (this will be installed automatically by CAST Console).

Note however, that a batch file (PeopleSoft-Extract-CLI.bat) is required to perform the repository extraction (see below) and this file is provided in the extension itself. Therefore if you are onboarding a new application, the PeopleSoft extension will not yet be available on the AIP Node: if this is the case, you can download the extension (https://extend.castsoftware.com/#/extension?id=com.castsoftware.peoplesoft&version=latest) and extract (using 7Zip or similar) to find the batch file.
Application creation

Two applications should be created in CAST Console, for the Vanilla and Project repositories. See Application onboarding without Fast Scan - Add a new Application for more information about this. These applications should be named as follows:

  • "PeopleSoft_Project"
  • "PeopleSoft Vanilla"

Here are some indicative schema sizes for a large PeopleSoft analysis (3.4 GB of source code):

Schema

Data

Index

Total

Management Schema

163 MB

-

163 MB

Dashboard Schema

1.5 GB

1.5 GB

3 GB

Project Analysis Database

7 GB

7 GB

14 GB

Vanilla Analysis Database

5 GB

6 GB

11 GB

Vanilla and Project repository extraction CAST Console only accepts .castextraction files generated by the CAST Database Extractor, in other words, the Vanilla and Project repository extraction must be actioned outside of CAST Console (see below for more information). Note that for the Project repository extraction, this .castextraction file must be named with the exact same prefix as used for the .project file, for example if you name the file PeopleSoftExtract_Project.castextraction, the .project file must be named PeopleSoftExtract_Project.PeoplesoftProject.
.PeoplesoftProject file for Project repository A .PeoplesoftProject text file must be configured and delivered with the .castextraction file for the Project repository. This file configures rule parameters and other data ((see below for more information). Note that this file must be named with the exact same prefix as used for the Project repository .castextraction file, for example if you name the file PeopleSoftExtract_Project.PeoplesoftProject, the .castextraction file must be named PeopleSoftExtract_Project.castextraction.

Step 1 - Repository extraction

The Vanilla and Project repositories must be extracted to .castextraction files using the CAST Database Extractor (which can be downloaded from https://extend.castsoftware.com/#/extension?id=com.castsoftware.aip.extractor.sqldatabase&version=latest) . A tailor made batch file provided in the PeopleSoft extension is available for running the offline extraction with the CAST Database Extractor - this should be used and can be found in the following location in the extension:

com.castsoftware.peoplesoft.<version>\TOOLS\OfflineExtraction\PeopleSoft-Extract-CLI.bat

This batch file will need modification BEFORE you run it - this is so that it can be tailored to the RDBMS on which your PeopleSoft repositories are hosted and which you want to extract - see the sections below.

Configure PeopleSoft-Extract-CLI.bat

Find the following sections in the batch file and modify them to match your environment:

RDBMS access parameters

Find the section rem Database parameters = Access to the database hosting the PeopleSoft repository:

rem for Oracle : oracle
rem for DB2 : db2
SET DBTYPE=<PARAM>

You must set this option to match the target RDBMS. For example for Oracle Server:

SET DBTYPE=oracle

rem either a host or an IP
SET SERVER_NAME=<PARAM>
SET PORTNUMBER=<PARAM>
SET DATABASE_NAME=<PARAM>

Enter the three fields, for example, for Oracle Server:

SET SERVER_NAME=MY_HOST
SET PORTNUMBER=1521
SET DATABASE_NAME=MY_DB

Hints:

  • SET SERVER_NAME - enter an IP address or host name
  • SET PORTNUMBER:
    • DB2 = 50000
    • Oracle = 1521 (as per the Tnsname.ora file)
    • Microsoft SQL Server = 1433
  • SET DATABASE_NAME:
    • DB2 = The DB2 database name
    • Oracle =  Either the Service name as per the Tnsname.ora file, or the SID (System ID) as per the Tnsname.ora file
    • Microsoft SQL Server = The instance name
rem <CHOOSE> %JDBC_URL_ORACLE_SID% or %JDBC_URL_ORACLE_SERVICE%
SET JDBC_URL_ORACLE=%JDBC_URL_ORACLE_SID%

When targeting an Oracle Server, you must choose one parameter or the other. E.g. if you define a Service name in SET DATABASE_NAME, you should change the line to:

SET JDBC_URL_ORACLE=%JDBC_URL_ORACLE_SERVICE%

PeopleSoft repository access parameters

Find the section rem PeopleSoft parameters = Access to the PeopleSoft repository:

rem user that contains the tables
SET SCHEMA=<PARAM>
Schema/database in which the PeopleSoft tables are stored:
  • Oracle USER name
  • DB2 schema name

For example:

SET SCHEMA=MY_DB

rem Repository type = Vanilla or Project
SET PROJECT_NAME=<PARAM>

Choose Vanilla or Project according the to repository you are extracting:

SET PROJECT_NAME=Project

SET LANGUAGE=FRA

This option sets the language used in the user interface. Default value = FRA (French). Refer to official documentation for available values:

https://docs.oracle.com/cd/F44947_01/pt858pbr3/eng/pt/tapd/concept_LanguageSelections-c37ff5.html

rem Repository version. Either PeopleTools8.45, PeopleTools8.46, PeopleTools8.47, PeopleTools8.48,
rem PeopleTools8.49, PeopleTools8.50, PeopleTools8.51, PeopleTools8.52, PeopleTools8.53.
rem use PeopleTools8.53 for newer versions
SET REPOSITORY_VERSION=<PARAM>

Choose the PeopleSoft version in your target repositories:

SET REPOSITORY_VERSION=PeopleTools8.53

Run the batch file

When you run the batch file on each PeopleSoft repository, the resulting output should be one .castextraction file for each repository, for example:

  • PeopleSoftExtract_Vanilla.castextraction
  • PeopleSoftExtract_Project.castextraction

These files need to be delivered to CAST Console - see below.

Batch file logging

The batch file will generate logs inside the folder defined in the parameter “ROOT_FOLDER”, as follows:

  • a sub-folder “01_Results” that contains the extraction file (PeopleSoftExtract_Project.castextraction or PeopleSoftExtract_Vanilla.castextraction)
  • a sub-folder “log” that contains the extraction log file (ExtractorLog_Project.log or ExtractorLog_Vanilla.log) and the execution file (Project.log or Vanilla.log)

The execution log file gives you the status of the execution:

Situation Message What should you do?
When the execution is successful. Extraction was successful ! Nothing.
When an error is identified, the return code of the extraction is interpreted and a functional message ERROR_MESSAGE is displayed.

Error while extracting PeopleSoft Project : %ERROR_MESSAGE%

  • 1000: Missing configuration file %CONFIG_FILE%.
  • 1001: Check the log file %EXECUTION_LOG_FILE%.
  • 2000: Unable to establish a connection. Check the log file %EXECUTION_LOG_FILE%.
  • 2001: Error during the extraction. Check the log file %EXECUTION_LOG_FILE%.
  • Other: Java error. Contact CAST Support.
  • Please checks the logs, fix the configuration and retry the extraction.
  • If the issue is not a configuration issue, please contact the CAST Support.

Potential errors:

Validation error #-1: Schema EFORCE_G5R3R is not a PeopleSoft repository: table PSRECDEFN is missing If errors similar to "Validation error ##-1: Schema EFORCE_G5R3R is not a PeopleSoft repository: table PSRECDEFN is missing" are reported in extractor's log, it means either the schema has no PSRECDEFN table, or USER rights are insufficient (SELECT has not been granted on this table).
Resolution error type in / Invalid identification group value

The extraction log may contain the following messages:

  • Resolution error type in
  • Invalid identification group value

These messages have a limited impact if the ratio of "Number of information messages" / "Number of rows extracted" is kept low (i.e. less the 1 or 2%). Some rule violations may be missed if these messages appear, however, the overall impact is low.

Step 2 - .PeoplesoftProject file configuration

Note that this file must be named with the exact same prefix as used for the Project repository .castextraction file, for example if you name the file PeopleSoftExtract_Project.PeoplesoftProject, the .castextraction file must be named PeopleSoftExtract_Project.castextraction.

The Project repository requires a .PeoplesoftProject configuration file that defines specific information required during the analysis:

  • The name of the Vanilla Analysis schema (highly recommended) or the Vanilla Application name as defined in CAST Console
  • Definition of PeopleSoft specific rule contextual parameters

Below is a template .PeoplesoftProject file - items in square brackets need to be manually defined:

<!-- The opening <PeoplesoftProjectConfig> element can define the [analysis_schema_name_in_console] (recommended) or the [application_name_in_console]. Whichever you choose, ensure that you use the correct attribute as shown below: -->

<PeoplesoftProjectConfig vanillaName="[analysis_schema_name_in_console]">
...
</PeoplesoftProjectConfig>

or

<PeoplesoftProjectConfig vanillaApplication="[application_name_in_console]">
...
</PeoplesoftProjectConfig>

<!-- In between the opening <PeoplesoftProjectConfig> element you should define the following: -->

<PeoplesoftProjectConfig ... >
    <PeopleSoftApplication name="[peoplesoft_app_name]" vanillaName="[app_name_in_vanilla]"/>
    <QualityRule id="[rule_id]">
        <Parameter name="[parameter_name]" value="[parameter_value]"/>
    </QualityRule>
    <QualityRuleGroup name="companyPrefix" active="[true_or_false]">
        <QualityRule id="[rule_id]" active="[true_or_false]">
            <Parameter name="[parameter_name]" value="[parameter_value]"/>
        </QualityRule>
    </QualityRuleGroup>
</PeoplesoftProjectConfig>

<PeoplesoftProjectConfig>

This opening tag is required and defines the Vanilla application as created in CAST Console. CAST highly recommends that you input the Analysis schema name where possible as this ensures that Peoplesoft extension does not need to perform a lookup based on the Application name, but you can use the Application name instead if necessary. Both are highlighted in the screenshot below and can be found in the CAST Console Admin Center.

Using the highlighted items shown in the example screenshot above, you can define either of the following:

<PeoplesoftProjectConfig vanillaName="peoplesoft_project_local">
...
</PeoplesoftProjectConfig>

or

<PeoplesoftProjectConfig vanillaApplication="PeopleSoft_Project">
...
</PeoplesoftProjectConfig>

<QualityRule> and <Parameter>

This section allows you to define the contextual parameters for specific PeopleSoft rules that will be triggered during the analysis, specifically to adapt them to your own environment. Use the tables below to create the entries you need. Note that if you DO NOT define an entry for a rule in the .project file, then the rule WILL be triggered during the analysis, but will use the default parameter values provided in the Assessment Model.

Multiple values, char: as they are related to naming convention, they must be adapted to the project:

MetricID
(external ID)

Rule name

Parameter name

Default value

Project value

1600380 PeopleSoft: Naming convention on Search Record  Suffix PeopleSoft Search

_SVW

_SRCH


1600384

PeopleSoft: Naming convention on Language Record Table 

Suffix PeopleSoft Language Record Table

_LANG

_LNG

_LN


1600386

PeopleSoft: Naming convention on Language Record View

Suffix PeopleSoft Language Record View

_LVW

_LV


1600396 PeopleSoft: Naming convention on AE State Record Suffix PeopleSoft AE State Record  _AET
1600398 PeopleSoft: Naming convention on AE Temporary Record Suffix PeopleSoft AE Temp Record

 _TAO

_TMP


1600400 PeopleSoft: Naming convention suffix on Record View Suffix PeopleSoft Record View  _VW
1600402 PeopleSoft: Naming convention suffix on Record Derived Suffix PeopleSoft Record Derived

 _WRK

_WK


1600484

PeopleSoft : Create all new Record Table in a specific tablespace

PeopleSoft: Tablespace for Record View

TAB_EFDATA_XL


1600486

PeopleSoft: Create all new Record Temp in a specific tablespace

PeopleSoft: Tablespace for Record View

TAB_EFWORK_XL


1601700

to

1601766

PeopleSoft: Naming convention on Record Table

to

PeopleSoft: Naming convention on URL

PeopleSoft: Prefix for XXX

EF_


Multiple values, char: as they are related to naming convention, they must be adapted to the project

MetricID
(external ID)

Rule name

Parameter name

Default value

Project value

1600380 PeopleSoft: Naming convention on Search Record  Suffix PeopleSoft Search

_SVW

_SRCH


1600384

PeopleSoft: Naming convention on Language Record Table 

Suffix PeopleSoft Language Record Table

_LANG

_LNG

_LN


1600386

PeopleSoft: Naming convention on Language Record View

Suffix PeopleSoft Language Record View

_LVW

_LV


1600396 PeopleSoft: Naming convention on AE State Record Suffix PeopleSoft AE State Record  _AET
1600398 PeopleSoft: Naming convention on AE Temporary Record Suffix PeopleSoft AE Temp Record

 _TAO

_TMP


1600400 PeopleSoft: Naming convention suffix on Record View Suffix PeopleSoft Record View  _VW
1600402 PeopleSoft: Naming convention suffix on Record Derived Suffix PeopleSoft Record Derived

 _WRK

_WK


1600484

PeopleSoft : Create all new Record Table in a specific tablespace

PeopleSoft: Tablespace for Record View

TAB_EFDATA_XL


1600486

PeopleSoft: Create all new Record Temp in a specific tablespace

PeopleSoft: Tablespace for Record View

TAB_EFWORK_XL


1601700

to

1601766

PeopleSoft: Naming convention on Record Table

to

PeopleSoft: Naming convention on URL

PeopleSoft: Prefix for XXX

EF_


Single value, numerical: As a first approach, you can stick to the default values

MetricID
(external ID)

Rule name

Parameter name

Default value

Project Value

1600168

PeopleSoft: All new Translate value shoud be at dd/mm/yyyy

PeopleSoft: Effective date

01/01/1901


1600184

PeopleSoft: Avoid PeopleCode Event with High Cyclomatic

PeopleSoft: Max CC in Event

10


1600186

PeopleSoft: Avoid PeopleCode Functions with High Cyclomatic

PeopleSoft: Max CC in Function

10


1600188

PeopleSoft: Avoid PeopleCode Methods with High Cyclomatic

PeopleSoft: Max CC in Method

10


1600190

PeopleSoft: Avoid PeopleCode Classes with High Cyclomatic

PeopleSoft: Max CC in Class

100


1600620

PeopleSoft: Avoid PeopleCode Events with a low comment/code ratio

PeopleSoft: Min % Comment in Event

10


1600622

PeopleSoft: Avoid PeopleCode Functions with a low comment/code ratio

PeopleSoft: Min % Comment in Function

10


1600624

PeopleSoft: Avoid PeopleCode Methods with a low comment/code ratio

PeopleSoft: Min % Comment in Method

10


1600626

PeopleSoft: Avoid PeopleCode Classes with a low comment/code ratio

PeopleSoft: Min % Comment in Class

10


1600480

PeopleSoft: Avoid too many Related displays

PeopleSoft: Max related display

5


1600488

PeopleSoft: Avoid tables having indexes with a too large index definition

PeopleSoft: Max index size

3


1600642

PeopleSoft: Pages should be designed assuming the user has an 800x600 monitor resolution

PeopleSoft: Page Width

800




PeopleSoft: Page Height 600

1600644

PeopleSoft: Developers should avoid developing web pages that result in horizontal scrolling PeopleSoft: Page Width Max

800


1600646

PeopleSoft: Developers should not build long pages that are longer than 5 pages

PeopleSoft: Page Height Max

2500


1600648  PeopleSoft: Avoid use a radio button or check box when the user has more than three choices  PeopleSoft: Prefix for Owner ID in Record VieweopleSoft: Max choices 3
1601800 PeopleSoft: Record Table should have a OwnerID  PeopleSoft: Prefix for Owner ID in Record Table

EF


1601802 PeopleSoft: Record View should have a OwnerID  PeopleSoft: Prefix for Owner ID in Record View EF
1601804  PeopleSoft: Record Derived should have a OwnerID  PeopleSoft: Prefix for Owner ID in Record Derived EF
1601806  PeopleSoft: Record Sub should have a OwnerID  PeopleSoft: Prefix for Owner ID in Record Sub EF
1601808  PeopleSoft: Record Dynamic should have a OwnerID  PeopleSoft: Prefix for Owner ID in Record Dynamic EF
1601810  PeopleSoft: Record Query should have a OwnerID  PeopleSoft: Prefix for Owner ID in Record Query EF
1601812  PeopleSoft: Record Temp should have a OwnerID  PeopleSoft: Prefix for Owner ID in Record Temp EF
1601814  PeopleSoft: Field should have a OwnerID  PeopleSoft: Prefix for Owner ID in Record Temp EF
1601816  PeopleSoft: Page should have a OwnerID  PeopleSoft: Prefix for Owner ID in Page EF
1601818  PeopleSoft: Sub Page should have a OwnerID  PeopleSoft: Prefix for Owner ID in Sub Page EF
1601820  PeopleSoft: Secondary Page should have a OwnerID  PeopleSoft: Prefix for Owner ID in Secondary Page EF
1601822  PeopleSoft: SQL should have a OwnerID  PeopleSoft: Prefix for Owner ID in SQL EF
1601824  PeopleSoft: Component Interface should have a OwnerID PeopleSoft: Prefix for Owner ID in Component Interface EF
1601826  PeopleSoft: Application Engine should have a OwnerID PeopleSoft: Prefix for Owner ID in Application Engine EF
1601828  PeopleSoft: Package should have a OwnerID  PeopleSoft: Prefix for Owner ID in Package EF
1601830  PeopleSoft: Mobile Page should have a OwnerID  PeopleSoft: Prefix for Owner ID in Mobile Page EF
1601832  PeopleSoft: Component should have a OwnerID  PeopleSoft: Prefix for Owner ID in Component EF
1601834  PeopleSoft: Menu should have a OwnerID  PeopleSoft: Prefix for Owner ID in Menu EF
1601836  PeopleSoft: Popup Menu should have a OwnerID  PeopleSoft: Prefix for Owner ID in Popup Menu EF
1600760  PeopleSoft: Avoid Classes with more than X Methods  PeopleSoft: Max Number Method in Class 30
1600762  PeopleSoft: Avoid Records Tables with more than X Fields  PeopleSoft: Max Number Field in Record Table

80


1600764  PeopleSoft: Avoid Records Views with more than X Fields  PeopleSoft: Max Number Field in Record View 80
1600766  PeopleSoft: PeopleSoft: Avoid Records Derived with more than X Fields  PeopleSoft: Max Number Field in Record Derived 60
1600768  PeopleSoft: PeopleSoft: Avoid Sub-records with more than X Fields  PeopleSoft: Max Number Field in Record Sub 20
1600770  PeopleSoft: Avoid Pages with more than X linked Records Max  PeopleSoft: Max Number Linked Record in Page 4
1600772   PeopleSoft: Avoid Pages with more than X linked Pages PeopleSoft: Max Number Linked Page in Page 2
1600774   PeopleSoft: Avoid Methods with too many parameters PeopleSoft: Max Number Parameter in Method 5

In the following example, we have changed two contextual parameters for the rule 1600184 (PeopleSoft: Avoid PeopleCode Event with High Cyclomatic), and one parameter value for the rule 1600384 (PeopleSoft: Naming convention on Language Record Table):

<QualityRule id="1600184">
    <Parameter name="PeopleSoft: Max CC in Event" values=" -999"/>
</QualityRule>
<QualityRule id="1600384">
    <Parameter name="Suffix PeopleSoft Language Record Table " value="Joe, William, Jack, Averell"/>
</QualityRule>

Step 3 - configure source code

You now need to configure the source code to deliver in CAST Console. There are two ways to deliver the source code, either in a ZIP file, or via a Source Folder Location :

Vanilla repository

Place the PeopleSoftExtract_Vanilla.castextraction file (resulting from the extraction process in Step 1) in a folder called Vanilla. If you want to:

  • deliver via ZIP file, zip the folder called Vanilla to create a zip file called Vanilla.zip.
  • deliver via a Source Folder Location, copy the Vanilla folder to your defined Source Folder Location
Project repository

Place the following files in a folder called Project - note that the prefix of each file must be identical the other:

  • PeopleSoftExtract_Project.castextraction file (resulting from the extraction process in Step 1)
  • PeopleSoftExtract_Project.PeoplesoftProject file (resulting from the configuration process in Step 2)

If you want to:

  • deliver via ZIP file, zip the folder called Project to create a zip file called Project.zip.
  • deliver via a Source Folder Location, copy the Project folder to your defined Source Folder Location

Step 4 - create Version, deliver source code and run analysis/snapshot

For each Application (Vanilla and Project) that you have created in CAST Console, you need to now deliver the source code configured in Step 3 and run the analysis/snapshot. In CAST Console, the process can be done in small steps, or in one go.

It is very important that you run the analysis and snapshot for the Vanilla application BEFORE you run the analysis and snapshot for the Project application.

Step 5 - check results

When the snapshot has been completed for both repositories, CAST highly recommends that you check the results. For the analysis step, the following is an example of the messages that you could expect:

  • PSOFT-000 Start
  • PSOFT-001 Update metrics
  • PSOFT-101 Error executing xxx
  • PSOFT-002 Additional links
  • PSOFT-102 Error executing xxx
  • PSOFT-003 Discrimination data
  • PSOFT-103 Error executing xxx
  • PSOFT-100 Variable PSOFT_VANILLA_SCHEMA is not defined
  • PSOFT-004 Import data from Vanilla schema: xxx
  • PSOFT-104 Error while importing data from the Vanilla schema
  • PSOFT-005 Discrimination computation
  • PSOFT-105 Error executing xxx
  • PSOFT-006 End