MainframeMaster
Progress0 of 0 lessons

CICS Program Processing Table (PPT)

Master the CICS Program Processing Table (PPT), the central repository that defines program characteristics, language environments, and processing attributes for all CICS applications.

PPT Overview

The Program Processing Table (PPT) is a critical CICS control table that contains entries for every program that can be executed within a CICS region. It defines program attributes, language environments, and processing characteristics.

Program Definitions

Each PPT entry defines a program's characteristics including language, load options, and processing attributes.

  • Program name and alias
  • Language environment (COBOL, PL/I, Assembler)
  • Load options and residency

Processing Control

PPT entries control how programs are loaded, executed, and managed within the CICS environment.

  • Memory management and residency
  • Thread safety and reentrancy
  • Error handling and recovery

PPT Entry Structure

Each PPT entry contains detailed information about a program's characteristics, processing requirements, and runtime behavior within the CICS environment.

Program Identification

  • Program name (8 characters)
  • Program alias
  • Load library information

Language Environment

  • Language type (COBOL, PL/I, Assembler)
  • Runtime environment settings
  • Language-specific options

Processing Attributes

  • Reentrancy level
  • Thread safety settings
  • Memory management options

Language Environments

CICS supports multiple programming languages, each with specific runtime requirements and processing characteristics defined in the PPT.

COBOL Programs

Key Attributes:

  • Language: COBOL
  • Runtime: LE/370 or LE/390
  • Memory model: 24-bit or 31-bit

Example PPT Entry:

cobol
1
2
3
4
5
6
PROGRAM = CUSTINQ LANGUAGE = COBOL RENT = YES USELPACOPY = YES USELPADATA = YES CONCURRENCY = QUASIRENT

PL/I Programs

Key Attributes:

  • Language: PL/I
  • Runtime: LE/370 or LE/390
  • Storage model: Dynamic

Example PPT Entry:

cobol
1
2
3
4
5
6
PROGRAM = ACCTMGR LANGUAGE = PLI RENT = YES USELPACOPY = YES USELPADATA = YES CONCURRENCY = QUASIRENT

Assembler Programs

Key Attributes:

  • Language: Assembler
  • Runtime: Native z/OS
  • Memory model: Direct addressing

Example PPT Entry:

cobol
1
2
3
4
5
6
PROGRAM = SYSUTIL LANGUAGE = ASSEMBLER RENT = NO CONCURRENCY = NONRENT USELPACOPY = NO USELPADATA = NO

Reentrancy and Concurrency

Understanding reentrancy levels is crucial for program performance and resource utilization in CICS environments.

R

Reentrant

Memory:

Shared

Concurrency:

High

Multiple tasks can execute the same program simultaneously using shared code and separate data areas.

Q

Quasi-Reentrant

Memory:

Mixed

Concurrency:

Medium

Shared code with separate data areas, but some limitations on concurrent execution.

N

Non-Reentrant

Memory:

Private

Concurrency:

Low

Each task gets its own copy of the program in memory, limiting concurrent execution.

PPT Management

Learn how to manage PPT entries using CICS commands and understand the relationship between PPT and other CICS control tables.

PPT Commands

CEDA ADD PROGRAM:

cobol
1
2
3
4
5
6
CEDA ADD PROGRAM(CUSTINQ) GROUP(CUSTGRP) LANGUAGE(COBOL) RENT(YES) USELPACOPY(YES) USELPADATA(YES) CONCURRENCY(QUASIRENT)

CEDA ALTER PROGRAM:

cobol
1
2
3
CEDA ALTER PROGRAM(CUSTINQ) GROUP(CUSTGRP) RENT(YES) CONCURRENCY(QUASIRENT)

CEDA DELETE PROGRAM:

cobol
1
CEDA DELETE PROGRAM(CUSTINQ) GROUP(CUSTGRP)

PPT Relationships

Control Table Dependencies:

  • PCT: References PPT entries for program execution
  • FCT: May reference PPT for program-specific file access
  • TCT: Terminal definitions may reference PPT programs

Resource Management:

  • Memory allocation based on reentrancy
  • Task scheduling and concurrency control
  • Error handling and recovery procedures

PPT Best Practices

Follow these best practices to optimize program performance, resource utilization, and system reliability.

Performance Optimization

  • 1Use REENTRANT programs for high-volume transactions to maximize memory efficiency
  • 2Set appropriate CONCURRENCY levels based on program characteristics
  • 3Enable USELPACOPY and USELPADATA for Language Environment optimization
  • 4Group related programs together for efficient resource management

Security and Maintenance

  • 1Regularly review and update PPT entries to reflect program changes
  • 2Document program dependencies and relationships
  • 3Use consistent naming conventions for programs and groups
  • 4Implement proper error handling and recovery procedures

Quick Quiz

Question 1:

What is the primary purpose of the CICS Program Processing Table (PPT)?

A) To store transaction definitions

B) To define program characteristics and processing attributes

C) To manage file access permissions

D) To control terminal operations

Question 2:

Which reentrancy level allows the highest degree of concurrent program execution?

A) Non-reentrant

B) Quasi-reentrant

C) Reentrant

D) All are equal

Question 3:

What command is used to add a new program to the PPT?

A) CEDA ADD TRANSACTION

B) CEDA ADD PROGRAM

C) CEDA ADD FILE

D) CEDA ADD TERMINAL