Skip to Main Content
IBM Z Hardware and Operating Systems Ideas Portal


This is the public portal for all IBM Z Hardware and Operating System related offerings. To view all of your ideas submitted to IBM, create and manage groups of Ideas, or create an idea explicitly set to be either visible by all (public) or visible only to you and IBM (private), use the IBM Unified Ideas Portal (https://ideas.ibm.com).


Shape the future of IBM!

We invite you to shape the future of IBM, including product roadmaps, by submitting ideas that matter to you the most. Here's how it works:

Search existing ideas

Start by searching and reviewing ideas and requests to enhance a product or service. Take a look at ideas others have posted, and add a comment, vote, or subscribe to updates on them if they matter to you. If you can't find what you are looking for,

Post your ideas
  1. Post an idea.

  2. Get feedback from the IBM team and other customers to refine your idea.

  3. Follow the idea through the IBM Ideas process.


Specific links you will want to bookmark for future use

Welcome to the IBM Ideas Portal (https://www.ibm.com/ideas) - Use this site to find out additional information and details about the IBM Ideas process and statuses.

IBM Unified Ideas Portal (https://ideas.ibm.com) - Use this site to view all of your ideas, create new ideas for any IBM product, or search for ideas across all of IBM.

ideasibm@us.ibm.com - Use this email to suggest enhancements to the Ideas process or request help from IBM for submitting your Ideas.

108 VOTE
Status Delivered
Workspace z/OS
Categories JES2
Created by Guest
Created on Feb 10, 2021

Revert $CS,P usage on STCs

I've noticed that after going to z/OS 2.4, using option 'P' in front of any executing STC, including DB2 STC tasks, DB2 is cancelled.

From the manual, I found this happens only on z/OS 2.3 or later:
https://www-01.ibm.com/servers/resourcelink/svc00100.nsf/pages/zOSV2R4izsh200/$file/izsh200_v2r4.pdf

"Use $CJ,P to get rid of offending batch jobs and $CS,P to cancel/purge STCs. Prior to z/OS 2.3, $CS,P could not be used on STCs that are in execution. Now it can."

I tested this on a Sandbox environment, and this is exactly what happens:

C69154 00000290 $CS(1724),P
INTERNAL 00000290 CANCEL ZDB2MSTR,A=0116
INTERNAL 00000094 IEE301I ZDB2MSTR CANCEL COMMAND ACCEPTED

$HASP890 JOB(ZDB2MSTR) 155
$HASP890 JOB(ZDB2MSTR) STATUS=(EXECUTING/MVSX),CLASS=STC,
$HASP890 PRIORITY=15,SYSAFF=(MVSX),HOLD=(NONE)
$HASP890 PURGE=YES,CANCEL=YES
DSNV086E -ZDB2 DB2 ABNORMAL TERMINATION REASON=00E80100

On another account, using z/OS 2.1, I got the following:

ADCE4 00000290 $CS(47)
STC00047 00000090 $HASP003 RC=(89),C S(47) - JOB CANNOT BE CANCELLED
ADCE4 00000090 $HASP003 RC=(52),C 426
426 00000090 $HASP003 RC=(52),C S(47) - NO SELECTABLE ENTRIES FOUND
426 00000090 $HASP003 MATCHING SPECIFICATION

As you can see, there's a clear difference between using P on different z/OS versions.

I want that this feature is reverted to avoid potential severe impact to our clients, as it happened on a Production DB2 subsystem in a customer-based account.

If this feature can't be averted, I would like that at least a parameter be created during IPL system initialization to enable/disable this feature so our z/OS Support Team may choose for each shop its usage.

Please advise,

Idea priority High
  • Guest
    Reply
    |
    Oct 26, 2023
    JES2 in z/OS 3.1 added a JESCANCEL option on the JOBCLASS statement (and available on individual jobs). When set to RESTRICTED, the $CJ command cannot be used to cancel these jobs. By setting JOBCLASS(STC) to JESCANCEL=RESTRICTED, the prior function can be restored.
  • Guest
    Reply
    |
    Apr 8, 2021

    There are technical reasons why the $CS,P command was allowed related to the resiliency work that was done in z/OS 2.3. It was needed to be able to get runaway processes (in particular started tasks) out of the system when there is no SPOOL space.
    However, the requirement to limit commands against production stated tasks is a valid requirement. This has been expressed in several ways that involve not only preventing canceling running STCs and JOBs to requiring actions to limit purging the output of key jobs at the job level (like the $PJ or $PS command).
    To address these requirement, the proposal is to extend the use of the existing PROTECTED attribute to any job (STCs and TSUs). To accomplish this, the proposal is to support the following:
    - The ability to use the $T command to set the PROTECTED attribute of any job
    - A new policy function to check and set the PROTECTED attribute in the post conversion policy (JobConversion).
    - A new keyword on the JOBCLASS statement to set PROTECTED for all jobs within the job class (STC and TSU classes included)
    Once the PROTECTED attribute is set, the job cannot be canceled or purge at the job level by mistake. For example:
    $cs36,p
    STC00036 $HASP003 RC=(85),C
    $HASP003 RC=(85),C S36 - JOB CANNOT BE CANCELLED; SPECIFY
    $HASP003 'PROTECTED'
    and
    $pj37
    JOB00037 $HASP003 RC=(85),P
    $HASP003 RC=(85),P J37 - JOB CANNOT BE CANCELLED; SPECIFY
    $HASP003 'PROTECTED'
    This should prevent job from being accidentally cancelled or purged based on installation preferences (and policy). SDSF honors the PROTECTED attribute and would not allow a ???P' command to purge a job. A ???PP' command would be needed