Search Framework Integrity Audit

Runs the PeopleTools SYSAUDIT Search Framework checks (PTSF-1 through PTSF-12) against search definitions, search categories, and search attributes.
New to psLens? This page documents one specific report. To see how it runs in the product, what the output looks like, and how teams use it in practice, start with a live walkthrough.
Tailored Operational Context
  • Target Database: —
  • Context Type: —
  • Alert Severity: —
  • Triggered Time: —
  • Firing Context: —
  • Contextual SQL:
    —

Search Framework Integrity Audit Report

Report ID: ptsf-integrity-audit Category: Objects

Purpose

This report finds Search Framework definitions (PSPTSF_SD, PSPTSF_SRCCAT, PSPTSF_ATTRS) that reference an object that does not exist. It runs the twelve checks of the SYSAUDIT search audit (syssrch.sqc, PTSF-1 through PTSF-12) and three psLens checks, on demand and without a SYSAUDIT run.

A broken reference usually comes from a project migration that copied a search definition without its query, Application Engine program, or application class. The index build for that definition then fails on the target database.

Checks

CheckFindingSeverityCompares
PTSF-1Category member is not a search definitionwarningPSPTSF_SRCCATAT → PSPTSF_SD
PTSF-2Search definition has no same-named categoryinfoPSPTSF_SD → PSPTSF_SRCCAT
PTSF-3Search definition is not in its same-named categoryinfoPSPTSF_SD → PSPTSF_SRCCATAT
PTSF-4Source query does not existwarningPSPTSF_SD → PSQRYDEFN
PTSF-4Source connected query does not existwarningPSPTSF_SD → PSCONQRSDEFN
PTSF-5Delete query does not existwarningPSPTSF_SD → PSQRYDEFN
PTSF-6Pre- or post-processing App Engine does not existwarningPSPTSF_SD → PSAEAPPLDEFN
PTSF-7Document security app class does not existwarningPSPTSF_SD_DCACL → PSPCMPROG
PTSF-8Indexed field is not in its querywarningPSPTSF_SD_ATTR → PSQRYFIELD
PTSF-9Search attribute is not in the attribute catalogwarningPSPTSF_SD_ATTR → PSPTSF_ATTRS
PTSF-10Search attribute label does not existinfoPSPTSF_ATTRS → PSDBFLDLABL
PTSF-11Search attribute is not used by any search definitioninfoPSPTSF_ATTRS → PSPTSF_SD_ATTR, PSPTSF_SRCHATTR
PTSF-12Insights dashboard role does not existwarningPTSF_KIB_ROLE → PSROLEDEFN
LENS-1Data partitioning App Engine does not existwarningPSPTSF_SD → PSAEAPPLDEFN
LENS-2Real-Time Indexing trigger record does not existwarningPTSF_INDEXTRREC → PSRECDEFN
LENS-3Insights dashboard creator role does not existwarningPTSF_KIBCR_ROLE → PSROLEDEFN

PTSF-4 appears twice because a search definition’s source is either a PS Query (PTSF_SOURCE_TYPE = 'Q') or a connected query ('C'), and each is looked up in its own table. LENS-n checks cover fields and tables that SYSAUDIT does not audit.

Skipped Checks

A check runs only when every table it compares was read in full. When a table is not whitelisted or its query fails, the check is marked Skipped in the summary with the table name and the reason. It is never reported as clean, and it never reports findings from partial data.

Three tables are optional and not in the common whitelist block:

  • PSCONQRSDEFN. Without it, PTSF-4 skips connected-query search definitions.
  • PTSF_KIB_ROLE. Without it, PTSF-12 is skipped.
  • PTSF_KIBCR_ROLE. Without it, LENS-3 is skipped.

Add them with the Search Framework block in Whitelist Tables.

Report Output

  • Header with the database, the generation timestamp, and the number of search definitions, categories, and attributes read.
  • Warning block naming any table whose query failed.
  • Summary table with one row per check: Clean, the number found, or Skipped with the reason.
  • One section per check that has findings, with a table of the definition (linked to its psLens page) and the missing object.

Parameters

This report has no configurable parameters.

Change Tracking

The report is diffable. Each finding is keyed by check, definition, and missing object (for example PTSF-5|PTPORTALREGISTRY|PTPORTALNOTVALID), so a scheduled run with notify mode On change reports only references that broke or were fixed since the previous run.

When a check cannot run because a query failed, the run records a “check could not run” finding. Without it, the findings of that check from the previous run would read as fixed.

Interpreting Results

  • PTSF-4, PTSF-5, PTSF-6, PTSF-7, LENS-1. The search definition names an object that is not in this database. Migrate the missing object or correct the search definition in Search Designer.
  • PTSF-7 looks for the application class’s PeopleCode in PSPCMPROG. A class that exists but was never saved with code is reported as missing.
  • PTSF-8 checks fields flagged to be indexed (PTSF_ISFIELDTOIDX = 'Y'). A finding means the field was removed from the query after the search definition was mapped.
  • PTSF-2 and PTSF-3 are informational. PeopleSoft creates a same-named category when a search definition is saved, so a missing one points to an incomplete migration.
  • PTSF-11 is cleanup. Delivered PeopleSoft databases carry unused attributes: the PeopleTools 8.62 Campus Solutions demo database reports six.

Differences from SYSAUDIT

  • PTSF-7 reads PSPCMPROG. SYSAUDIT reads PSAPPCLASSDEFN.
  • PTSF-11 also counts attributes used by record-based search definitions (PSPTSF_SRCHATTR) as used.
  • The checks were written from the descriptions of the PeopleTools 8.61 SYSAUDIT checks, not from the SQL in syssrch.sqc. Compare against a SYSAUDIT run if you need an exact match.