SDSF (System Display and Search Facility)

What is SDSF?

SDSF (System Display and Search Facility) is a powerful TSO/ISPF application that provides system administrators and programmers with the ability to view, monitor, and manage job output and system resources in z/OS environments. It serves as a gateway to the JES (Job Entry Subsystem) spool, allowing you to interact with jobs, their outputs, and system resources.

SDSF is an essential tool for mainframe professionals, simplifying tasks such as:

  • Viewing job output without having to print it
  • Monitoring job status and execution
  • Managing the JES spool and devices
  • Examining system logs and resources
  • Issuing system commands from a user-friendly interface

Accessing SDSF

SDSF is typically accessed through ISPF. The most common methods to access SDSF are:

  1. ISPF Primary Option Menu - Select the SDSF option (usually SD or S) from the ISPF Primary Option Menu.
  2. ISPF Command Line - Type SDSF on the ISPF command line and press Enter.
  3. Direct TSO Command - Issue the SDSF command from TSO READY mode.
text
1
==> SDSF

Alternatively, you can directly access a specific SDSF panel using commands like:

text
1
==> ST

to directly access the Status panel.

SDSF Main Panels

SDSF is organized into panels that each serve specific functions. The most commonly used panels include:

1. Status Panel (ST)

The Status panel displays active jobs in the system, including batch jobs, started tasks, and TSO users. This is one of the most frequently used panels for monitoring job execution.

text
1
2
3
4
5
6
7
8
SDSF STATUS DISPLAY ALL CLASSES LINE 1-16 (195) COMMAND INPUT ===> SCROLL ===> PAGE NP JOBNAME JobID Owner Prty Queue C Pos SAff ASys Status JOB1234 JOB12345 USER1 15 EXECUTION A SYS1 SYS1 EXECUTING JOB5678 JOB56789 USER2 15 EXECUTION A SYS1 SYS1 EXECUTING CICSPROD STC01234 SYSPROG1 15 EXECUTION A SYS2 SYS2 EXECUTING DBPROD STC05678 SYSPROG2 15 EXECUTION A SYS1 SYS1 EXECUTING TSOJOHN TSU09876 JOHN 15 EXECUTION A SYS1 SYS1 EXECUTING

2. Output Queue Panel (O)

The Output Queue panel displays jobs with output waiting to be processed. This panel is useful for finding and viewing job output.

text
1
2
3
4
5
6
SDSF OUTPUT DISPLAY ALL CLASSES LINE 1-10 (82) COMMAND INPUT ===> SCROLL ===> PAGE NP JOBNAME JobID Owner Prty C Queue Dest Rec-Cnt Pages PAYROLL JOB01234 PAYUSER 15 A PRINT LOCAL 12,345 123 INVRUN JOB05678 INVUSER 15 A PRINT LOCAL 5,678 57 RPTGEN JOB09876 RPTUSER 15 A PRINT LOCAL 34,567 346

3. Held Output Queue Panel (H)

The Held Output Queue panel shows output that has been held in the JES spool. This is typically used for viewing output before deciding whether to release it for printing or to purge it.

4. Input Queue Panel (I)

The Input Queue panel shows jobs waiting to be executed. This panel helps monitor the batch workload waiting to be processed.

5. System Log Panel (LOG)

The System Log panel provides access to the system log (SYSLOG), which contains system messages, operator commands, and responses. This is valuable for system troubleshooting.

text
1
2
3
4
5
SDSF SYSLOG SYSTEM SYS1 LINE 1-19 (32K) COMMAND INPUT ===> SCROLL ===> PAGE R00.00 S0000000 SYS1 2023134 00:00:00.00 RCVD000I IEA989I SLIP TRAP ID=X133 MATCHED R00.00 S0000001 SYS1 2023134 00:01:15.45 RCVD000I IEF196I IEF142I BACKUP JOB12345 STEP1 - STEP WAS EXECUTED - COND CODE 0000 R00.00 S0000002 SYS1 2023134 00:03:22.11 RCVD000I IEF196I IEF142I RESTORE JOB67890 STEP1 - STEP WAS EXECUTED - COND CODE 0000

6. Active Users Panel (DA)

The Display Active panel shows information about active address spaces, including CPU usage, memory utilization, and other system resource statistics. It's similar to the UNIX "top" command.

7. JES2 Monitor (MAS)

The Multi-Access Spool panel shows information about JES2 members in a JES2 MAS (Multi-Access Spool) configuration.

Common SDSF Commands

SDSF uses a command-based interface. Here are some of the most commonly used commands:

CommandDescription
FIND or FSearch for text in the current display
LOCATE or LPosition the display to a specific point
SORTSort the display by specified columns
FILTER or ONLYFilter the display to show only certain entries
?Display column meanings
WHODisplay information about current SDSF user
PRINTPrint the current display

Line Commands

SDSF also supports line commands that are entered in the NP (Prefix) column next to a specific job or output:

Line CommandDescription
S or /Select a job to view its output
PPurge a job or output
CCancel a job
HHold a job or output
ARelease a job or output
XDCPrint selected output and then purge it
QDisplay job information

Viewing Job Output

One of the most common uses of SDSF is to view job output. This can be done using these steps:

  1. Access the ST (Status) or O (Output) panel
  2. Locate your job by scrolling or using the LOCATE command (e.g., L jobname)
  3. Type S or / in the NP column next to the job
  4. This will display a list of DDNAMES (output files) for the job
  5. Type S or / next to the DDNAME you want to view (e.g., JESMSGLG, JESJCL, JESYSMSG, or application-specific output)
text
1
2
3
4
5
6
7
8
9
SDSF JOB DATA DISPLAY PAYROLL JOB01234 LINE 1-15 (15) COMMAND INPUT ===> SCROLL ===> PAGE NP DDNAME StepName ProcStep DSID Owner C Dest Rec-Cnt Page JESMSGLG JES2 1 PAYUSER X LOCAL 18 JESJCL JES2 2 PAYUSER X LOCAL 18 JESYSMSG JES2 3 PAYUSER X LOCAL 24 SYSPRINT STEP1 11 PAYUSER A LOCAL 8,456 85 PAYCHK STEP1 12 PAYUSER A LOCAL 3,567 36 TAXRPT STEP1 13 PAYUSER A LOCAL 345 4

Once you select a DDNAME, you'll see the actual output content. In this view, you can use commands like:

  • FIND or F to search for specific text
  • TOP to go to the beginning of the output
  • BOTTOM or BOT to go to the end of the output
  • LEFT or RIGHT to scroll horizontally
  • PRINT to print the output

SDSF as a Troubleshooting Tool

SDSF is invaluable for troubleshooting JCL and application issues:

Identifying JCL Errors

When a job fails with JCL errors, you can use SDSF to:

  1. View the JESMSGLG (JES message log) to see overall job execution messages
  2. Check the JESJCL to verify the JCL that was submitted
  3. Examine the JESYSMSG for detailed error messages

Application Errors

For application errors, check:

  1. Application-specific output DDNAMEs (like SYSPRINT, SYSOUT)
  2. Return codes in the JESMSGLG
  3. Abend codes and error messages in JESYSMSG

System-Wide Issues

For system-wide issues:

  1. Use the LOG panel to examine system messages
  2. Check the DA panel to identify resource bottlenecks
  3. Examine the initialization messages in started tasks like JES2, VTAM, and others

SDSF Security

SDSF access is typically controlled by security products like RACF, ACF2, or Top Secret. Access to SDSF functions may be restricted based on:

  • The specific SDSF panels a user can access
  • The actions a user can perform (view, modify, purge, etc.)
  • The jobs a user can see and manipulate (often limited to the user's own jobs)
  • Authority to issue system commands

SDSF in Batch

SDSF functionality can also be accessed in batch mode using SDSF batch. This allows you to:

  • Automate the retrieval of job output
  • Generate reports on job execution statistics
  • Perform automated system monitoring
jcl
1
2
3
4
5
6
7
8
9
//SDSFJOB JOB (ACCT),'SDSF BATCH',CLASS=A //STEP1 EXEC PGM=SDSF //ISFOUT DD SYSOUT=* //ISFIN DD * ST OWNER ALL PREFIX PAYROLL* PRINT /*

Best Practices for Using SDSF

  1. Filtering with PREFIX: Use the PREFIX command to filter the display to show only jobs with names starting with a specific prefix.
    text
    1
    PREFIX PAYROLL*
  2. Using OWNER: Use the OWNER command to filter jobs by owner.
    text
    1
    OWNER MYUSERID
  3. Saving Output: Use PRINT with ODSN to save output to a dataset.
    text
    1
    PRINT ODSN 'MYUSERID.JOBOUTPUT.TXT'
  4. Issuing System Commands: Use the / command to issue system commands (when authorized).
    text
    1
    /D A,L
  5. Creating Custom Layouts: Use the ARRANGE command to customize which columns are displayed and in what order.
Progress0 of 0 lessons

Exercises

Exercise 1: Basic SDSF Navigation

Describe the steps you would take to view a job's output if you know the job name is PAYROLL123.

Exercise 2: Troubleshooting with SDSF

A job has failed with a JCL error. List the DDNAMEs you would examine to diagnose the problem and explain what information each would provide.

Exercise 3: System Monitoring

You need to check if a specific started task named CICSPROD is active in the system. Detail the SDSF commands you would use to locate and examine this task.

Test Your Knowledge

1. What is the primary purpose of SDSF?

  • To edit JCL statements
  • To compile COBOL programs
  • To view and manage job output and system resources
  • To allocate datasets

2. Which SDSF panel would you use to view active jobs in the system?

  • DA (Display Active)
  • ST (Status)
  • O (Output Queue)
  • H (Held Output Queue)

3. What line command would you use in SDSF to cancel a running job?

  • P (Purge)
  • C (Cancel)
  • H (Hold)
  • X (Execute)

4. Which DDNAME contains the JCL that was submitted for a job?

  • SYSPRINT
  • JESMSGLG
  • JESJCL
  • JESYSMSG

5. What command would you use to filter SDSF display to show only jobs with names starting with "PAY"?

  • FILTER PAY*
  • SELECT PAY*
  • PREFIX PAY*
  • FIND PAY*

Frequently Asked Questions