IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Rexx to execute spool commands


IBM Mainframe Forums -> CLIST & REXX
Post new topic   This topic is locked: you cannot edit posts or make replies.
View previous topic :: View next topic  
Author Message
upendrasri

Active User


Joined: 28 Sep 2017
Posts: 121
Location: India

PostPosted: Sun Oct 01, 2017 6:55 am
Reply with quote

Hello All,

My apologies for the above 3 posts for same question, Some problem with my internet web page after submitting first 2 messages it showed page not found even I didn't get them after login to this forum.

Hope you will understand.

Thanks!
Back to top
View user's profile Send private message
upendrasri

Active User


Joined: 28 Sep 2017
Posts: 121
Location: India

PostPosted: Sun Oct 01, 2017 7:14 am
Reply with quote

Hi Steve and Willy Jensen,

I will explain why I need exact PCT Value.

Some time back we had a spool shortage issue in our environment, After our verification we came to know that thousands of user jobs submitted by the app users. Though each Job is using very less spool percentage but because of the volume of the Jobs were high so we had that issue.

Now am writing a rexx which will lists user jobs and their spool usage , We just keep an eye on those Jobs on daily basis and in case if we feel number of Jobs are more , we will share this report with users and ask them to take copy of their Jobs and delete them from spool.

We can achieve this by using Jes commands against each Job but number of jobs are more and we cannot hide commands/outputs from spool.


Thanks!
Back to top
View user's profile Send private message
steve-myers

Active Member


Joined: 30 Nov 2013
Posts: 917
Location: The Universe

PostPosted: Sun Oct 01, 2017 8:59 am
Reply with quote

upendrasri wrote:
Hi Steve and Willy Jensen,

I will explain why I need exact PCT Value.

Some time back we had a spool shortage issue in our environment, After our verification we came to know that thousands of user jobs submitted by the app users. Though each Job is using very less spool percentage but because of the volume of the Jobs were high so we had that issue.

Now am writing a rexx which will lists user jobs and their spool usage , We just keep an eye on those Jobs on daily basis and in case if we feel number of Jobs are more , we will share this report with users and ask them to take copy of their Jobs and delete them from spool.

We can achieve this by using Jes commands against each Job but number of jobs are more and we cannot hide commands/outputs from spool.


Thanks!

There are three major capacity issues in JES2.
  • SPOOL space
  • Number of jobs
  • Number of elements in the Job Output Table
Running out of any of them is usually pretty catastrophic.

What you are trying to do is sort of useful, but you may be going in too much of a micro detail.

SPOOL Space

When you're running low on SPOOL space, more often than not you''ll find there are a few - often just one - jobs using a lot of space. Find them and do something about them. I grant a lot of jobs can nibble you to death, but that may not be your fundamental problem, even though that seems to be your concern. One way of fighting little jobs is to establish and enforce aging rules - limit the amount of time jobs can stay in the spool.

Number of jobs and Number of elements in the Job Output Table

Here is where little jobs - especially work held for TSO - can really nibble you to death. To fight this, establish and enforce aging rules. Look at the $PO JES2 command.
Back to top
View user's profile Send private message
upendrasri

Active User


Joined: 28 Sep 2017
Posts: 121
Location: India

PostPosted: Sun Oct 01, 2017 9:12 am
Reply with quote

Hi Steve,

Am totally accepting whatever you said. We have aging rules in our environment but After we had that Spool shortage problem, We have given suggestion to App team if they use a specific job class, all their Job outputs will archive to JMR . But its really tough for us to talk and convince business team about these things until we have some data in hand.

With this we want to monitor for few months and see how App jobs are floated in Spool .

Thanks!
Back to top
View user's profile Send private message
Nic Clouston

Global Moderator


Joined: 10 May 2007
Posts: 2455
Location: Hampshire, UK

PostPosted: Sun Oct 01, 2017 3:27 pm
Reply with quote

If, after DUMMYing all sysout DD statements or writing them to data set, you are still getting messages on the spool then look at the allocations for the step. There may be dynamic allocations and you could try overriding them. I have never tried that so I do not know if it will work.

The other thing to do is to run a second job that purges your first job - or simply manually delete it.
Back to top
View user's profile Send private message
steve-myers

Active Member


Joined: 30 Nov 2013
Posts: 917
Location: The Universe

PostPosted: Sun Oct 01, 2017 8:03 pm
Reply with quote

JMR is a useful tool, but quite limited. I was at a shop that used it in the 1990s. Within its limitations the shop was reasonably happy with it. That shop also used an IBM output management product - its name escapes me now - that I concluded at the time was an awful piece of junk. It probably could have used a better product, but it was never researched and I'm not sure it was needed.

In the early 2000s, when I got more acquainted with more serious output management products, I took to thinking that JMR is a poor man's output management product.

In the early 2000s I got a job doing support for a more serious output management product. While doing this I had to think about the fundamentals. JES2 is absolutely superb at intercepting and storing output. For a fact it is far, far better than the product I supported. What it's not so good at is management of the output, which you have already discovered. SDSF and similar products like IOF help, but they are limited by thinking in JES2 terms, rather than a broader understanding of the requirements of output management. Of course, not stated, is there is no real broad consensus about this area. People tend to be limited by the peep hole of thinking about their needs and looking at products that appear to satisfy their needs.

Now a forum like this is not a good place to analyze the problems you have, or to recommend solutions. In fact our charter forbids recommending products. Given your concern about analyzing SPOOL utilization less than .01% it seems to me you are being nibbled to death by output held for TSO. Traditional output management products probably won't help you if that's the case. They are more concerned about production output.
Back to top
View user's profile Send private message
upendrasri

Active User


Joined: 28 Sep 2017
Posts: 121
Location: India

PostPosted: Mon Oct 02, 2017 9:29 am
Reply with quote

Hi Nic,

Thank you . Am not aware of how to override those dynamic allocations but I will check manuals on it.

We can delete the output of the Job but our concern is the commands which are processed by that Job are still be there in spool after deletion of the Job.

Thanks!
Back to top
View user's profile Send private message
upendrasri

Active User


Joined: 28 Sep 2017
Posts: 121
Location: India

PostPosted: Mon Oct 02, 2017 9:30 am
Reply with quote

Hi Steve,

Thank you for sharing your experience. We are still analyzing how to avoid this problem in our environment.

Thanks!
Back to top
View user's profile Send private message
Willy Jensen

Active Member


Joined: 01 Sep 2015
Posts: 712
Location: Denmark

PostPosted: Mon Oct 02, 2017 1:38 pm
Reply with quote

Quote:
commands which are processed by that Job are still be there in spool after deletion of the Job

What do you mean exactly? All output from a job will remain as occupied spool space till the job is finally purged. So if you have leftovers, it would indicate that the JMR is not retrieving everything from a job.
Back to top
View user's profile Send private message
upendrasri

Active User


Joined: 28 Sep 2017
Posts: 121
Location: India

PostPosted: Mon Oct 02, 2017 2:03 pm
Reply with quote

Hi Willy Jensen,

I mean am submitting the below Job

1.
//SDSF EXEC PGM=SDSF
//ISFOUT DD DUMMY
//CMDOUT DD DSN=TEST.COMMAND.OUTPUT,DISP=SHR
//ISFIN DD *
SET CONSOLE BATCH
SET DELAY 600
/DJQ TEST0001,SPL
PRINT FILE CMDOUT
ULOG
PRINT
PRINT CLOSE
/*
//

Even If I delete this Job or Archived to JMR , The command(/DJQ TEST0001,SPL) which is executed by this Job and its output will be still there in Spool. And am executing Multiple commands like this.

JMR is retrieving every thing from the job.

Thanks!
Back to top
View user's profile Send private message
Willy Jensen

Active Member


Joined: 01 Sep 2015
Posts: 712
Location: Denmark

PostPosted: Mon Oct 02, 2017 2:08 pm
Reply with quote

It depends, are you using good old SYSLOG or OPERLOG (system logger)?
SYSLOG is indeed spool space, but can be and most likely is offloaded and thus deleted.
Back to top
View user's profile Send private message
upendrasri

Active User


Joined: 28 Sep 2017
Posts: 121
Location: India

PostPosted: Mon Oct 02, 2017 2:30 pm
Reply with quote

Hi Willy Jensen,

We are using SYSLOG and yes it will be offloaded but not frequently. The problem here is if I issue more commands and monitoring people will raise a concern on it.

Thanks!
Back to top
View user's profile Send private message
Willy Jensen

Active Member


Joined: 01 Sep 2015
Posts: 712
Location: Denmark

PostPosted: Mon Oct 02, 2017 6:17 pm
Reply with quote

Well, then it seems that you are back to using the REXX API whith the precision it provides. Maybe add a random number 1-9 after the xxx.xx in your report to make it look better?
Back to top
View user's profile Send private message
Nic Clouston

Global Moderator


Joined: 10 May 2007
Posts: 2455
Location: Hampshire, UK

PostPosted: Mon Oct 02, 2017 6:49 pm
Reply with quote

Quote:
The problem here is if I issue more commands and monitoring people will raise a concern on it.

Why not discuss what you are doing with the "monitoring people"?
Back to top
View user's profile Send private message
upendrasri

Active User


Joined: 28 Sep 2017
Posts: 121
Location: India

PostPosted: Mon Oct 02, 2017 7:34 pm
Reply with quote

Hi Nic,

Yeah, If in case I don't get any proper solution to hide them from spool or any other alternative , my last option to explain & convince monitoring people.


Thanks!
Back to top
View user's profile Send private message
upendrasri

Active User


Joined: 28 Sep 2017
Posts: 121
Location: India

PostPosted: Mon Oct 02, 2017 8:47 pm
Reply with quote

Hi All,

I have another issue am trying to execute a Rexx program using Jcl but its failing with the message

IEC020I EROPT IS 'ABE' OR NOT SPECIFIED

See the below full details .


My Rexx - SPLPERC1
Code:

/* REXX   */                                           
"ALLOC FI(ISFOUT) DA('TEST.INPUT1') SHR REUSE"         
"EXECIO 0 DISKW ISFOUT (OPEN FINIS"                   
"ALLOC DD(ISFOUT) DA('TEST.INPUT1')SHR REUSE"         
"ALLOC DD (ISFIN) NEW REU"                             
QUEUE "SP                                           " 
QUEUE "++ALL                                        " 
"EXECIO "QUEUED()" DISKW ISFIN (FINIS"                 
"CALL *(ISFAFD)"                                       
"FREE DD(ISFOUT)"                                     
"FREE DD(ISFIN)"                                       

The above Rexx working fine. Now I want to execute the above Rexx with JCL as below.

Job to execute my above Rexx
Code:

//STEP1 EXEC PGM=IKJEFT01,PARM='%SPLPERC1'     
//SYSEXEC DD DSN=IGCF.TSO.EXEC,DISP=SHR       
//SYSTSIN DD SYSOUT=*                           
//SYSTSPRT DD SYSOUT=*                         
//ISFOUT  DD DSN=TEST.INPUT1,DISP=SHR 
//ISFIN   DD DUMMY                             
//SYSIN   DD *                                 
SP                                             
++ALL                                           
/*         


TEST.INPUT1 Dataset Properties
Code:

General Data                           Current Allocation               
 Management class . . : NOMIG           Allocated tracks  . : 1         
 Storage class  . . . : STANDARD        Allocated extents . : 1         
  Volume serial . . . : TEST01                                         
  Device type . . . . : 3390                                           
 Data class . . . . . : DEFAULT                                         
  Organization  . . . : PS             Current Utilization             
  Record format . . . : FBA             Used tracks . . . . : 1         
  Record length . . . : 133             Used extents  . . . : 1         
  Block size  . . . . : 6118                                           
  1st extent tracks . : 1                                               
  Secondary tracks  . : 50             Dates                           
  Data set name type  :                 Creation date . . . : 2017/10/02

But When I submit the abvoe Job its failing with CC= 12 the below are the error messages from JESYSMSG

Code:

IEF237I JES2 ALLOCATED TO SYSTSIN                                               
IEF237I JES2 ALLOCATED TO SYSTSPRT                                             
IGD103I SMS ALLOCATED TO DDNAME ISFOUT                                         
IEF237I DMY  ALLOCATED TO ISFIN                                                 
IEF237I JES2 ALLOCATED TO SYSIN                                                 
IGD101I SMS ALLOCATED TO DDNAME (ISFIN   )                                     
        DSN (SYS17275.T160350.RA000.TESTSPLJ.R0138050    )                     
        STORCLAS (STANDARD) MGMTCLAS (        ) DATACLAS (TEMPDS)               
        VOL SER NOS= W0T103                                                     
IGD104I TTSS.SRSQ.SPL.INPUT1                         RETAINED,  DDNAME=ISFOUT   
IGD105I SYS17275.T160350.RA000.TTSYSPLJ.R0138050     DELETED,   DDNAME=ISFIN   
IEC020I 001-5,TESTSPLJ,STEP1   ,SYSTSIN ,JES                                   
IEC020I EROPT IS 'ABE' OR NOT SPECIFIED                                         
IEF142I TESTSPLJ STEP1 - STEP WAS EXECUTED - COND CODE 0012         

Error messages of SYSTSPRT

READY
UNRECOVERABLE COMMAND SYSTEM ERROR






Thanks!
Upendra.

Coded for the incapable
Back to top
View user's profile Send private message
steve-myers

Active Member


Joined: 30 Nov 2013
Posts: 917
Location: The Universe

PostPosted: Mon Oct 02, 2017 8:55 pm
Reply with quote

This is another issue, unrelated to your other issues.

However -

//SYSTSIN DD SYSOUT=*

The TSO Terminal Monitor program expects to read TSO commands from the data set specified by the DD statement with DD name SYSTSIN. I suspect that is rather difficult here.
Back to top
View user's profile Send private message
Nic Clouston

Global Moderator


Joined: 10 May 2007
Posts: 2455
Location: Hampshire, UK

PostPosted: Mon Oct 02, 2017 9:09 pm
Reply with quote

You have been asked to use the code tags when posting stuff sfrom the screen - code, JCL, data etc. Please do so or you may find your topic locked.
Back to top
View user's profile Send private message
upendrasri

Active User


Joined: 28 Sep 2017
Posts: 121
Location: India

PostPosted: Mon Oct 02, 2017 9:12 pm
Reply with quote

Hi Steve,

Yeah this is other issue with My JCL. I have modified my JCS as below

//STEP1 EXEC PGM=IKJEFT01,PARM='%SPLPERC1'
//SYSEXEC DD DSN=IGCF.TSO.EXEC,DISP=SHR
//SYSTSIN DD DSN=TEST.CMD,DISP=SHR
//SYSTSPRT DD SYSOUT=*
//ISFOUT DD DSN=TEST.INPUT1,DISP=SHR
//ISFIN DD DUMMY
//SYSIN DD DUMMY
/*

TEST.CMD File contains the below commands
SP
++ALL

But still getting the same error.

Thanks!
Back to top
View user's profile Send private message
upendrasri

Active User


Joined: 28 Sep 2017
Posts: 121
Location: India

PostPosted: Mon Oct 02, 2017 9:17 pm
Reply with quote

Hi Nic,

Sorry, Can you please let me know what do you mean by code tags? Am bit new to this forum.

Do you want me to open a new topic with new name?




Thanks!
Back to top
View user's profile Send private message
steve-myers

Active Member


Joined: 30 Nov 2013
Posts: 917
Location: The Universe

PostPosted: Tue Oct 03, 2017 12:42 am
Reply with quote

Use a search engine for phpbb code and follow some of those links. phpbb is the software that runs this forum and many other similar forums on the internet. When a moderator suggests you use code tags they mean to use phpbb tags that cause the software to emit ...
Code:
a block of text in a font with fixed width letters like this.

You can see what I did by clicking on the quote block at the upper right.
Back to top
View user's profile Send private message
Willy Jensen

Active Member


Joined: 01 Sep 2015
Posts: 712
Location: Denmark

PostPosted: Tue Oct 03, 2017 1:53 pm
Reply with quote

You say that the modified job ends with the same error messages. But messages from the first job had:
IEC020I 001-5,TESTSPLJ,STEP1 ,SYSTSIN ,JES
I don't think that you get that message again after you assigned SYSTSIN to a dataset.
SP and ++ALL belongs to the ISFIN DD, so I think that you JCL should look like this:
Code:
//STEP1 EXEC PGM=IKJEFT01,PARM='%SPLPERC1'
//SYSEXEC DD DSN=IGCF.TSO.EXEC,DISP=SHR
//SYSTSIN DD DUMMY
//SYSTSPRT DD SYSOUT=*
//ISFOUT DD DSN=TEST.INPUT1,DISP=SHR
//ISFIN DD DSN=TEST.CMD,DISP=SHR
//SYSIN DD DUMMY
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Tue Oct 03, 2017 2:41 pm
Reply with quote

topic locked ...
a conclusion was not reached after 46 posts , I do not see any chances of getting one
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   This topic is locked: you cannot edit posts or make replies. View Bookmarks
All times are GMT + 6 Hours
Forum Index -> CLIST & REXX Goto page Previous  1, 2

 


Similar Topics
Topic Forum Replies
No new posts Compile Several JCL JOB Through one r... CLIST & REXX 4
No new posts Running REXX through JOB CLIST & REXX 13
No new posts Error to read log with rexx CLIST & REXX 11
No new posts isfline didnt work in rexx at z/OS ve... CLIST & REXX 7
No new posts run rexx code with jcl CLIST & REXX 15
Search our Forums:

Back to Top