Admin

Oracle Peoplesoft

PeopleSoft Process Scheduler Server Configuration & Distribution Guide [njiu]

Master PeopleSoft Process Scheduler server configuration & distribution. Expert tips to set up, deploy, and optimize for reliability & performance.

By Someshwar ThakurPublished: August 2, 202615 min read14 views✓ Fact Checked
PeopleSoft Process Scheduler Server Configuration & Distribution Guide [njiu]
PeopleSoft Process Scheduler Server Configuration & Distribution Guide [njiu]

Overview

In the vast and intricate ecosystem of Oracle PeopleSoft applications, the Process Scheduler stands as a silent yet indispensable workhorse. It is the engine that drives all batch processing, report generation, and system-level tasks, ensuring the smooth operation of critical business functions. From payroll calculations and financial statement generation to student grade processing and supply chain inventory updates, virtually every non-interactive, time-consuming operation within PeopleSoft relies on the Process Scheduler. As a senior technology writer at TechNews Venture, I've witnessed firsthand the profound impact of a well-configured Process Scheduler on an organization's operational efficiency and data integrity.

This article delves deep into the architecture, configuration, and distribution mechanisms of the PeopleSoft Process Scheduler server. We will explore the critical configuration files, the various components that interact with the scheduler, and the best practices for setting up a robust, scalable, and secure environment. Understanding these intricacies is paramount for PeopleSoft administrators and technical consultants looking to optimize their system's performance and reliability.

What is PeopleSoft Process Scheduler?

At its core, the PeopleSoft Process Scheduler is a server-based application that manages and executes batch programs and reports. When a user or an automated process initiates a request (e.g., running an SQR report, an Application Engine program, or a Crystal Report), the Process Scheduler picks up this request from the PeopleSoft database, allocates resources, executes the program on a designated server, and manages its output. It acts as a central control point, ensuring that processes run in the correct sequence, with the appropriate parameters, and on the right server.

Without a properly configured Process Scheduler, PeopleSoft systems would be limited to online, interactive transactions, rendering them incapable of handling the bulk data processing and reporting that modern enterprises demand.

Key Components of Process Scheduler

The Process Scheduler environment is a tightly integrated system comprising several key components:

  • Process Scheduler Server: This is the application server that hosts the Process Scheduler domain. It's responsible for reading requests from the database, launching processes, and managing their lifecycle.
  • Process Scheduler Database: The PeopleSoft database stores all process requests, definitions, and status information. It acts as the central communication hub between the Process Scheduler server, the Application Server, and the Web Server.
  • Application Server: While not directly executing batch processes, the Application Server interacts with the database to submit process requests and retrieve their status. It's often the front-end for users submitting requests via the browser.
  • Web Server (PIA - PeopleSoft Internet Architecture): Users interact with PeopleSoft through the Web Server to submit process requests and view their output. The Web Server facilitates the user interface and connects to the Application Server.
  • Distribution Agent: An integral part of the Process Scheduler, the Distribution Agent is responsible for distributing the output of completed processes (reports, logs) to the designated repositories. This can be a web server (through the Report Manager), an SFTP server, or a local file system.
  • Operating System: The underlying OS (Windows, Linux, AIX, Solaris) where the Process Scheduler server is installed and runs.

Prerequisites

Before embarking on the configuration journey, ensure you have the following prerequisites in place:

  • Installed PeopleTools: A functional PeopleTools installation on the server where the Process Scheduler will reside. This includes the necessary executables, libraries, and configuration templates.
  • Database Connectivity: Verified network connectivity and appropriate database client software (e.g., Oracle Client, SQL Server ODBC driver) installed and configured on the Process Scheduler server.
  • PeopleSoft Application Database: A running PeopleSoft application database (e.g., FSCM92, HCM92, CS92) with a valid connect ID and password.
  • Sufficient Server Resources: Adequate CPU, memory, and disk space on the server. Process Schedulers can be resource-intensive, especially when running multiple concurrent processes.
  • Administrative Privileges: Operating system-level administrative rights (root on UNIX/Linux, Administrator on Windows) to install software, modify environment variables, and manage services/daemons.
  • PeopleSoft Administrator Credentials: A PeopleSoft user ID (e.g., PSADMIN, VP1) with appropriate security roles to manage Process Scheduler definitions and run processes.
  • Network Configuration: Open firewall ports for Jolt (if using Application Server for connectivity) and HTTP/HTTPS (for web server communication, especially for Distribution Agent).
  • PS_HOME and PS_CFG_HOME Environment Variables: Properly set on the server. `PS_HOME` points to the PeopleTools installation directory, and `PS_CFG_HOME` points to the directory where configuration files for domains are stored (e.g., `PS_HOME/appserv`).

Step-by-Step Implementation

Configuring a PeopleSoft Process Scheduler involves a series of detailed steps. We'll walk through each one, focusing on clarity and practical examples.

1. Understanding the Configuration Files

The heart of Process Scheduler configuration lies in its configuration files. The primary one is `psprcs.cfg`, but it also relies on settings from `psappsrv.cfg` and, for UNIX/Linux, `psprcsrv.ubb`.

psprcs.cfg (Process Scheduler Configuration File)

This file, located typically at %PS_CFG_HOME%/prcs/<domain_name>/psprcs.cfg, dictates the behavior of the Process Scheduler server. Let's examine critical sections:


[PSTOOLS]
; This section is crucial for PeopleTools versioning.
; It should match the PeopleTools version of your environment.
ToolsRel=8.60

[DBNAME]
; Database connection parameters.
; DBNAME should be the alias or service name for your PeopleSoft database.
DB Name=FSCM92
; User ID for connecting to the database. Typically PSADMIN or a dedicated ID.
User ID=PSADMIN
; Connect ID for the database, usually 'people'.
Connect ID=people
; Hashed password for the Connect ID. Use PSCipher to generate.
Connect Password={V1.1}7Pj0jB/D/0w=
; Database Type (Oracle, SQLServer, DB2, etc.)
DB Type=ORACLE

[Process Scheduler]
; Unique identifier for this Process Scheduler domain.
Domain ID=PRCS_FSCM92_PROD
; Type of scheduler: PSUNX for Unix/Linux, PSNT for Windows.
SchedulerType=PSUNX
; Directory for Process Scheduler logs.
Log Directory=%PS_HOME%/appserv/prcs/FSCM92_PROD/log
; Directory for report output files.
Report Output Directory=%PS_HOME%/appserv/prcs/FSCM92_PROD/log
; Maximum number of concurrent processes this scheduler can run.
Max Concurrent Processes=5
; Number of days before report output expires in the Report Manager.
Report Expire Days=7
; Interval (in seconds) for the scheduler to check for new requests.
Sleep Time=30
; Flag to enable/disable the Distribution Agent. (1=enabled, 0=disabled)
Distribution Agent Enabled=1
; Flag to enable/disable the Server Agent. (1=enabled, 0=disabled)
Server Agent Enabled=1
; Jolt Listener Port for Application Server communication (if used directly).
; Typically, Process Scheduler connects to the database directly, but this can be relevant.
Jolt Listener Port=9000

[Distribution Agent]
; Configuration for how reports are distributed.
; WEB is most common, pushing reports to the Report Manager.
Distribution Type=WEB
; The PeopleSoft Integration Broker node name for the Report Manager.
Distribution Node=PS_NODE
; A unique ID for this Distribution Agent.
Distribution ID=PRCS_DIST_FSCM
; URL for the Report Manager servlet.
Report Manager URL=http://webserver.example.com:8000/psc/ps/EMPLOYEE/HRMS/s/WEBLIB_RPT.ISCRIPT1.FieldFormula.IScript_GetReport?
; Maximum size of a file (in MB) to be published via the Distribution Agent.
Max File Size=2048

[PSPRCSRV]
; Configuration specific to the PSPRCSRV process.
; Number of instances of PSPRCSRV to boot.
Min Instances=1
Max Instances=3
; Priority of the PSPRCSRV process.
Priority=1

Note: Passwords like {V1.1}7Pj0jB/D/0w= are generated using the pscipher utility found in PS_HOME/bin. Never store plain-text passwords.

psappsrv.cfg (Application Server Configuration File)

While primarily for the Application Server, some settings are interdependent. Process Scheduler typically does not run on the same domain as the Application Server. Ensure that `Process Scheduler Enabled=0` in your Application Server's `psappsrv.cfg` to prevent conflicts and resource contention.


[Process Scheduler]
Process Scheduler Enabled=0

psprcsrv.ubb (UNIX/Linux Boot File)

For UNIX/Linux Process Schedulers, the `psprcsrv.ubb` file (located in the domain's `appserv/prcs` directory) defines how the core PSPRCSRV process is launched and managed by Tuxedo. It's an integral part of the Tuxedo configuration for the Process Scheduler domain.


# PSPRCSRV.UBB for PRCS_FSCM92_PROD domain
# This file is automatically generated and updated by psadmin.
# Do not edit manually unless you know exactly what you are doing.

# Process Scheduler Server process
*SERVER
PSPRCSRV SRVGRP=PRCSSRV GRPNO=1 SRVID=1 MIN=1 MAX=3
CLOPT="-A -- -C FSCM92 -D PRCS_FSCM92_PROD"

The `CLOPT` parameter passes command-line options to the `psprcsrv` executable, specifying the database name (`-C`) and the Process Scheduler domain ID (`-D`).

2. Initial Server Setup and Domain Creation

The first step is to create the Process Scheduler domain using the `psadmin` utility.


# Navigate to the PeopleTools bin directory
cd $PS_HOME/appserv/bin

# Start psadmin utility
./psadmin

# From the psadmin menu:
# 1) Application Server
# 2) Process Scheduler
# 1) Create a New Domain
# Enter domain name: PRCS_FSCM92_PROD
# Select Database Type: 1 (Oracle)
# Enter Database Name: FSCM92
# Enter User ID: PSADMIN
# Enter User Password: <password>
# Enter Connect ID: people
# Enter Connect Password: <password>
# Do you want to configure this domain now? (y/n): n

Creating the domain copies template configuration files and sets up the basic directory structure under `PS_CFG_HOME/prcs/PRCS_FSCM92_PROD`.

3. Configuring Process Scheduler Domain Parameters

After creating the domain, you need to configure its specific parameters. This is done interactively via `psadmin` or by manually editing `psprcs.cfg`.


# Continue from psadmin menu:
# 2) Process Scheduler
# 2) Configure a Domain
# Select domain: PRCS_FSCM92_PROD

# This will present a series of prompts. Key parameters to configure:
# Process Scheduler Type (PSUNX for Linux/Unix, PSNT for Windows): 1 (PSUNX)
# Max Concurrent Processes: 5 (Adjust based on server resources and workload)
# Report Output Directory: <defaults to PS_HOME/appserv/prcs/domain/log>
# Distribution Agent Enabled: y
# Distribution Type: 1 (WEB)
# Distribution Node: PS_NODE (or your specific Integration Broker node)
# Report Manager URL: http://webserver.example.com:8000/psc/ps/EMPLOYEE/HRMS/s/WEBLIB_RPT.ISCRIPT1.FieldFormula.IScript_GetReport?
# Jolt Listener Port: 9000 (if needed for direct app server communication, otherwise leave default or ensure it's not conflicting)
# Process Scheduler Server Processes (PSPRCSRV):
#   Min Instances: 1
#   Max Instances: 3
#   Priority: 1
# ... and other parameters as prompted.
# Save changes and exit.

Review the generated `psprcs.cfg` and `psprcsrv.ubb` (for UNIX/Linux) after this step to ensure all settings are correct.

4. Configuring Distribution Agent

The Distribution Agent is critical for making reports available to users. The most common configuration is to distribute reports to the PeopleSoft Report Manager, which is part of the PIA.

Ensure the following in `psprcs.cfg` (as set in the previous step):


[Distribution Agent]
Distribution Type=WEB
Distribution Node=PS_NODE
Distribution ID=PRCS_DIST_FSCM
Report Manager URL=http://webserver.example.com:8000/psc/ps/EMPLOYEE/HRMS/s/WEBLIB_RPT.ISCRIPT1.FieldFormula.IScript_GetReport?

The `Distribution Node` must be a valid Integration Broker node defined in PeopleSoft. The `Report Manager URL` must point to your actual PeopleSoft web server and the correct `IScript_GetReport` URL. You can verify this URL by navigating to the Report Manager from your browser, clicking a report, and observing the URL structure.

5. Starting and Stopping Process Scheduler

Once configured, you can manage the Process Scheduler domain using `psadmin`.

On Windows

Process Scheduler runs as a Windows Service.


# To create the service:
psadmin -c create -d PRCS_FSCM92_PROD -s PSPRCSRV

# To start the service:
net start PSPRCSRV_PRCS_FSCM92_PROD
# Or from psadmin:
# 2) Process Scheduler
# 3) Boot a Domain
# Select domain: PRCS_FSCM92_PROD

# To stop the service:
net stop PSPRCSRV_PRCS_FSCM92_PROD
# Or from psadmin:
# 2) Process Scheduler
# 4) Shutdown a Domain
# Select domain: PRCS_FSCM92_PROD

On UNIX/Linux

Process Scheduler runs as a Tuxedo domain and is managed by `psadmin` scripts that interact with Tuxedo.


# Navigate to the PeopleTools bin directory
cd $PS_HOME/appserv/bin

# Start Process Scheduler domain
./psadmin -c boot -d PRCS_FSCM92_PROD

# Stop Process Scheduler domain
./psadmin -c shutdown -d PRCS_FSCM92_PROD

# Check status
./psadmin -c status -d PRCS_FSCM92_PROD

A successful boot will show output similar to:


TMADMIN_CAT:1062: Booting admin processes ...
Booting server processes ...
exec BBL -A:
        process id=12345 ... Started.
exec PSPRCSRV -A -- -C FSCM92 -D PRCS_FSCM92_PROD:
        process id=12346 ... Started.
1 server(s) booted.

6. Verifying Configuration and Connectivity

After starting the Process Scheduler, verify its health and connectivity:

  • Check TUXLOG: The `TUXLOG` file (e.g., `TUXLOG.MMDDYY`) in the domain's `log` directory is the first place to check for startup errors.
  • 
        tail -f $PS_HOME/appserv/prcs/PRCS_FSCM92_PROD/log/TUXLOG.102623
        
  • Check PSPRCSRV logs: Look for `stdout` and `stderr` files in the same log directory for output from the PSPRCSRV process.
  • 
        cat $PS_HOME/appserv/prcs/PRCS_FSCM92_PROD/log/stdout
        
  • PeopleSoft Application: Navigate to PeopleTools > Process Scheduler > Servers. You should see your newly configured server in a "Running" status.
  • Run a Test Process: Submit a simple process like `DDDAUDIT` or `SYSAUDIT` from PeopleTools > Utilities > Audit. Verify it runs to success and its output is available in Report Manager.
  • Database Check: Query the PeopleSoft database to see the status of process requests.
  • 
        SELECT PRCSNAME, PRCSJOBNAME, RUNSTATUS, OPRID, RUNDTTM
        FROM PSPRCSRQST
        WHERE RUNSTATUS = '9' -- '9' typically means Success
        ORDER BY RUNDTTM DESC;
        

7. Setting Up Server Groups and Job Routing

PeopleSoft allows you to define server groups to manage workload and route specific processes to particular Process Scheduler servers. This is crucial for performance, security, and resource isolation.

  1. Define Server in PeopleSoft: Navigate to PeopleTools > Process Scheduler > Servers. Add your new Process Scheduler server (e.g., `PRCS_FSCM92_PROD`) if it's not automatically populated.
    
            -- Example SQL to update server definition if needed (often done via PIA)
            UPDATE PS_SERVERDEFN
            SET DFLTSERVER = 'N',
                SRVSTATUS = '1' -- Active
            WHERE SERVERNAME = 'PRCS_FSCM92_PROD';
            
  2. Create Server Groups: Navigate to PeopleTools > Process Scheduler > Server Groups. Create new groups (e.g., `HR_REPORTS`, `FIN_BATCH`). Assign your Process Scheduler servers to these groups. A server can belong to multiple groups.
    
            -- Example SQL for PS_SERVERGROUP table (managed via PIA)
            INSERT INTO PS_SERVERGROUP (SERVERNAME, SERVERGROUP) VALUES ('PRCS_FSCM92_PROD', 'HR_REPORTS');
            INSERT INTO PS_SERVERGROUP (SERVERNAME, SERVERGROUP) VALUES ('PRCS_FSCM92_PROD', 'FIN_BATCH');
            
  3. Configure Process Definitions for Routing: Navigate to PeopleTools > Process Scheduler > Process Definitions. For each process or job, you can specify which server or server group it should run on.
    
            -- Example SQL to assign a process to a server group
            UPDATE PS_PRCSDEFN
            SET SERVERNAME = 'HR_REPORTS' -- This is the server group name
            WHERE PRCSNAME = 'PAYROLL_CALC';
    
            -- To set a default server for a process if no group is specified
            UPDATE PS_PRCSDEFN
            SET SERVERNAME = 'PRCS_FSCM92_PROD'
            WHERE PRCSNAME = 'GENERIC_REPORT';
            

    This allows you to dedicate specific Process Schedulers to high-priority, resource-intensive, or sensitive processes.

Security Considerations

Securing the Process Scheduler is paramount to maintaining the integrity and confidentiality of your PeopleSoft data.

  • Least Privilege Principle: The OS user account running the Process Scheduler services/daemons should have only the necessary permissions. Restrict access to `PS_HOME` and `PS_CFG_HOME` directories.
  • Database Credentials: Use strong, hashed passwords for the Connect ID and User ID in `psprcs.cfg`. Regularly rotate these passwords.
  • Network Segregation: Isolate Process Scheduler servers in a dedicated network segment or VLAN. Implement strict firewall rules to allow communication only with necessary components (database, web server, application server).
  • Secure Communication: While Process Scheduler primarily communicates with the database, ensure that any Jolt or HTTP/HTTPS connections (especially for the Distribution Agent to the Report Manager) are secured with SSL/TLS.
  • File System Permissions: Ensure that the log and report output directories have appropriate permissions, preventing unauthorized access to sensitive report data.
  • Auditing and Logging: Enable comprehensive logging for the Process Scheduler and regularly review logs for suspicious activity or errors.
  • Vulnerability Management: Keep the underlying operating system and PeopleTools up-to-date with security patches.

Best Practices

  • Dedicated Servers: Whenever possible, deploy Process Schedulers on dedicated servers, separate from Application Servers and Web Servers, to avoid resource contention.
  • Resource Allocation: Carefully tune `Max Concurrent Processes` in `psprcs.cfg` based on server CPU, memory, and I/O capacity. Over-allocating can lead to performance degradation; under-allocating can create backlogs.
  • Multiple Process Schedulers: For high-volume environments or disaster recovery, deploy multiple Process Schedulers. Use server groups to distribute the load and provide redundancy.
  • Proactive Monitoring: Implement robust monitoring for Process Scheduler health, process statuses, and resource utilization (CPU, memory, disk I/O). Tools like Oracle Enterprise Manager or custom scripts can be invaluable.
  • Regular Maintenance: Periodically purge old process requests and report output from the database and file system to reclaim space and improve performance. PeopleSoft delivers utilities for this (e.g., `PRCSYSPURGE`).
  • Version Control for Configuration: Keep `psprcs.cfg` and other critical configuration files under version control. This aids in troubleshooting and disaster recovery.
  • Disaster Recovery Strategy: Include Process Scheduler servers in your overall PeopleSoft disaster recovery plan. This typically involves replicating configuration files and having standby servers ready.
  • Standardized Naming Conventions: Use consistent naming for domains, servers, and server groups for easier management and troubleshooting.

FAQ

Q1: My Process Scheduler is not starting. What are the common culprits?

A non-starting Process Scheduler is a common issue. Here are the most frequent causes:

  • Incorrect `psprcs.cfg` parameters: Double-check database connection details (DB Name, User ID, Connect ID/Password), `SchedulerType`, `Domain ID`, and `Log Directory`. A typo in any of these can prevent startup. Ensure passwords are correctly hashed.
  • Database Connectivity Issues: The Process Scheduler server might not be able to connect to the database. Verify the database listener is up, firewall rules, and the database client configuration (e.g., `tnsnames.ora` for Oracle).
  • Insufficient Permissions: The OS user account running the Process Scheduler might lack read/write permissions for `PS_HOME`, `PS_CFG_HOME`, or the log directories.
  • Port Conflicts: If `Jolt Listener Port` is enabled and conflicts with another process, it can prevent startup.
  • Tuxedo Configuration (UNIX/Linux): Issues with the `psprcsrv.ubb` file or underlying Tuxedo environment variables (`TUXDIR`, `LD_LIBRARY_PATH`, etc.).
  • Missing Libraries: Essential libraries (e.g., database client libraries) might be missing or not in the `LD_LIBRARY_PATH` (UNIX/Linux) or `PATH` (Windows).
  • Review TUXLOG and stdout: These log files provide the most direct clues. Search for keywords like "FATAL", "ERROR", or specific database connection messages.

Q2: How do I configure a Distribution Agent to publish reports to an external SFTP server?

While the default `Distribution Type=WEB` sends reports to Report Manager

📧

Enjoyed this article?

Get articles like this delivered to your inbox daily. Join 10,000+ tech professionals.

Written By

Someshwar Thakur

PS Admin, Cloud Architect, DBA

Sources & References

• Official company announcements and press releases

• Industry reports from Gartner, IDC, and Statista

• Peer-reviewed research and technical documentation

• On-record statements from industry experts

Last verified: August 2, 2026

Fact-checked by TechNews Venture editorial team

Leave a Comment

Comments are moderated and will appear after review.