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

How to Calculate the values and write in the file


IBM Mainframe Forums -> CLIST & REXX
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
graswant

New User


Joined: 29 Apr 2006
Posts: 93
Location: Singapore

PostPosted: Wed May 21, 2008 3:24 pm
Reply with quote

Hi
I have a JCL which gives me following output..
Code:
 ----+----1----+----2----+----3----+----4----+----5----+----6----+----7--
 ***************************** Top of Data ******************************
                  CONTENTS OF VTOC ON VOL AAR001  <THIS VOLUME IS NOT SMS
 - THERE ARE   599 EMPTY CYLINDERS PLUS   137  EMPTY TRACKS ON THIS VOLUM
                  CONTENTS OF VTOC ON VOL AAR002  <THIS VOLUME IS NOT SMS
   THERE ARE   559 EMPTY CYLINDERS PLUS   691  EMPTY TRACKS ON THIS VOLUM
                  CONTENTS OF VTOC ON VOL AAR003  <THIS VOLUME IS NOT SMS
   THERE ARE   969 EMPTY CYLINDERS PLUS   106  EMPTY TRACKS ON THIS VOLUM
                  CONTENTS OF VTOC ON VOL AAR004  <THIS VOLUME IS NOT SMS
   THERE ARE   856 EMPTY CYLINDERS PLUS    41  EMPTY TRACKS ON THIS VOLUM
                  CONTENTS OF VTOC ON VOL AAR005  <THIS VOLUME IS NOT SMS
   THERE ARE  1194 EMPTY CYLINDERS PLUS   145  EMPTY TRACKS ON THIS VOLUM
                  CONTENTS OF VTOC ON VOL AAR006  <THIS VOLUME IS NOT SMS
   THERE ARE  2284 EMPTY CYLINDERS PLUS    23  EMPTY TRACKS ON THIS VOLUM


What I need to do is...I need a Rexx which multiplies Empty Cylinders with 15 and add it to Empty Tracks to get the total Free Tracks..for each volume.....and compares all the free Tracks and find which volume has tracks less than 3800... Can someone please help me with the REXX code...

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

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Wed May 21, 2008 4:39 pm
Reply with quote

What have you tried so far, and what problems are you getting ?
Back to top
View user's profile Send private message
graswant

New User


Joined: 29 Apr 2006
Posts: 93
Location: Singapore

PostPosted: Wed May 21, 2008 4:45 pm
Reply with quote

Well my friend..U can say...I am 0 in REXX..and haven't tried anything coz I don't know REXX.... The calculation cannot be done in JCL so I don't have another option ...other than using REXX......
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Wed May 21, 2008 4:58 pm
Reply with quote

I am more than willing to HELP people with code problems, but certainly not to supply custom code for them, unless paid to do so.

My current rate would be around 500 euro for the task above icon_biggrin.gif

This is an excellent opportunity for you to sit down with the REXX manual and try a few things out, and to start learning the language. Then is the time to post on the forum for help rather than code.

Good luck.
Back to top
View user's profile Send private message
graswant

New User


Joined: 29 Apr 2006
Posts: 93
Location: Singapore

PostPosted: Wed May 21, 2008 6:24 pm
Reply with quote

Hahahhahaha....Well said my friend...but If I would have time to read then I would have done that myself first.....but I need to finish this in a day or so....else I am dead....with a dead army of soldiers.... hehehehe.....Please give me some sample code.....
Back to top
View user's profile Send private message
cpuhawg

Active User


Joined: 14 Jun 2006
Posts: 331
Location: Jacksonville, FL

PostPosted: Wed May 21, 2008 6:56 pm
Reply with quote

Doing calculations in REXX are as easy as writing an equation.

Code:

CTRO1 = 0
CTRO1 = CTRO1 + 1


The value of CTRO1 is now 1.

Code:

CYLS = 50
TRKS = CYLS * 15


The value of TRKS is now 750.

Code:

TRKS = 1500
CYLS = TRKS/15


The value of CYLS is 100.

They can also be complex.

Code:

CYL1 = 100
CYL2 = 200
CYL3 = 300
TRKS = (CYL1 + CYL2 + CYL3)*15
 


The value of TRKS is 9000
Back to top
View user's profile Send private message
graswant

New User


Joined: 29 Apr 2006
Posts: 93
Location: Singapore

PostPosted: Wed May 21, 2008 7:04 pm
Reply with quote

icon_smile.gif Thanks Cpuhawg.... If I would know the code ...I would be able to do the multiplication and division....but unluckily...I don't know how to write the code in Rexx..... Expat wants 500 Euros.... hahahahaha for this task...well I am still waiting for someone or him to help me with the code....or give me a sample code to solve my problem.......may be he might give the code free to me..... hahahahaahahaha........
Back to top
View user's profile Send private message
Pedro

Global Moderator


Joined: 01 Sep 2006
Posts: 2547
Location: Silicon Valley

PostPosted: Wed May 21, 2008 10:39 pm
Reply with quote

1. Your existing JCL needs to be changed to put the report into a file that can be accessed later.

2. You need an additional step that has a DD with a referback to previous report.

3. that new step is PGM=IKJEFT01 and calls your new rexx routine

4. rexx routine needs to read the report and process 1 record at a time, doing the required math.

Please send 495 Euros to me for consultation.
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Wed May 21, 2008 11:07 pm
Reply with quote

why write code when ISMF volume application provides You with all You need???


Code:

VOLUME SELECTION ENTRY PANEL              Page 1 of 3
 Command ===>

Select Source to Generate Volume List  . . 2  (1 - Saved list, 2 - New list)
1  Generate from a Saved List         Query Name To
List Name  . .                   Save or Retrieve
2  Generate a New List from Criteria Below
Specify Source of the New List  . . 1  (1 - Physical, 2 - SMS)
Optionally Specify One or More:
Enter "/" to select option      Generate Exclusive list
Type of Volume List . . . 1          (1-Online,2-Not Online,3-Either)
Volume Serial Number  . . Z9*        (fully or partially specified)
Device Type . . . . . . .            (fully or partially specified)
Device Number . . . . . .            (fully specified)
To Device Number  . . .            (for range of devices)
Acquire Physical Data . . Y          (Y or N)
Acquire Space Data  . . . Y          (Y or N)
Storage Group Name  . . .            (fully or partially specified)
CDS Name . . . . . . .
(fully specified or 'Active')
Use ENTER to Perform Selection; Use DOWN Command to View next Selection Panel;
Use HELP Command for Help; Use END Command to Exit.


Code:
VOLUME SELECTION ENTRY PANEL              Page 2 of 3
Command ===>

To Further Limit the Generated List, Specify a Single Value or Range of Values
in any of the following:
                                  Rel Op    Value     AND/OR   Rel Op    Value
                                  ------  ---------   ------   ------  ---------
Allocated Space . . . . . .
Fragmentation Index . . . .
Free DSCBs  . . . . . . . .
Free Extents  . . . . . . .
Free Space  . . . . . . . .
Free VIRs . . . . . . . . .
Largest Extent  . . . . . .
Other Device  . . . . . . .
Percent Free Space  . . . .
Subsystem Identifier  . . .



Use ENTER to Perform Selection; Use UP/DOWN Command for Other Selection Panel;
Use HELP Command for Help; Use END Command to Exit.

Code:
——————————————————————————————————————————————————————————————————————————————
VOLUME SELECTION ENTRY PANEL              Page 3 of 3
Command ===>

To Further Limit the Generated List, Specify a Single Value or List of Values
in any of the following:
                            Rel Op   Value     Value     Value     Value
                            ------ --------- --------- --------- ---------
Cache Fast Write Status  . .
CF Volume Status . . . . . .
Dasd Fast Write Status . . .
Duplex Status  . . . . . . .
Index Status . . . . . . . .
Physical Status  . . . . . .
Read Cache Status  . . . . .
Shared Dasd  . . . . . . . .
Use Attributes . . . . . . .




Use ENTER to Perform Selection; Use UP Command for previous Selection Panel;
Use HELP Command for Help; Use END Command to Exit.
Back to top
View user's profile Send private message
dick scherrer

Moderator Emeritus


Joined: 23 Nov 2006
Posts: 19244
Location: Inside the Matrix

PostPosted: Thu May 22, 2008 8:02 am
Reply with quote

Hello,

Not knowing rexx should not prevent getting an answer.

If you are a programmer, you can use any language (cobol, easytrieve, etc), to read the data you posted and do the calculation.

If you need this in a hurry, you have alternatives.
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Thu May 22, 2008 11:39 am
Reply with quote

Quote:
Please send 495 Euros to me for consultation.

Does that mean that your code is worth only 5 Euro icon_biggrin.gif
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Thu May 22, 2008 12:21 pm
Reply with quote

Quote:
Hahahhahaha....Well said my friend...but If I would have time to read then I would have done that myself first.....but I need to finish this in a day or so....else I am dead....with a dead army of soldiers.... hehehehe.....Please give me some sample code.....



Quote:
Thanks Cpuhawg.... If I would know the code ...I would be able to do the multiplication and division....but unluckily...I don't know how to write the code in Rexx..... Expat wants 500 Euros.... hahahahaha for this task...well I am still waiting for someone or him to help me with the code....or give me a sample code to solve my problem.......may be he might give the code free to me..... hahahahaahahaha........


there is nothing and nobody to laugh at, You have the problem, not us,
if You do not have the time , what in H**L makes You think that we can spend ours for somebody with such an attitude
anyway we shall bring flowers to Your grave icon_cool.gif
Back to top
View user's profile Send private message
graswant

New User


Joined: 29 Apr 2006
Posts: 93
Location: Singapore

PostPosted: Thu May 22, 2008 12:59 pm
Reply with quote

Well ...I appologise...but I was laughing on the money asking things...not on the time and importance of the thing...It is important for me to get this done....well if someone can give me some advise....Most welcome...if someone can't then also thanks....
Back to top
View user's profile Send private message
graswant

New User


Joined: 29 Apr 2006
Posts: 93
Location: Singapore

PostPosted: Thu May 22, 2008 7:47 pm
Reply with quote

Thanks to all of you ....friends...I did it myself....after a lot of reading till the time I was not getting replies...I finally did it...and it works fine...will all the details I need....few last min touching needed which I will do....but thanks again for the great Forum we have.....
Back to top
View user's profile Send private message
Pedro

Global Moderator


Joined: 01 Sep 2006
Posts: 2547
Location: Silicon Valley

PostPosted: Thu May 22, 2008 9:58 pm
Reply with quote

Quote:

Does that mean that your code is worth only 5 Euro


no, it means the important part is telling how to do; the actual doing of it is fairly simple and left to the user. icon_cool.gif
Back to top
View user's profile Send private message
expat

Global Moderator


Joined: 14 Mar 2007
Posts: 8797
Location: Welsh Wales

PostPosted: Fri May 23, 2008 5:07 pm
Reply with quote

I was just wondering if the OP will post his code icon_biggrin.gif
Back to top
View user's profile Send private message
graswant

New User


Joined: 29 Apr 2006
Posts: 93
Location: Singapore

PostPosted: Fri May 23, 2008 6:11 pm
Reply with quote

Well I didn't do much... Read the File with
"ALLOC DA('DATASET NAME') F(INPUT) SHR"
"EXECIO * DISKRU INPUT (STEM LINE."
using loop read the line one by one...till LINE.0 and then used SUBSTR to get what I want from the line..and did some calculation on that.....
Thanks to all...now I can start with learning REXX... icon_smile.gif
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> CLIST & REXX

 


Similar Topics
Topic Forum Replies
No new posts FTP VB File from Mainframe retaining ... JCL & VSAM 1
No new posts Extract the file name from another fi... DFSORT/ICETOOL 6
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts INCLUDE OMIT COND for Multiple values... DFSORT/ICETOOL 5
No new posts Extracting Variable decimal numbers f... DFSORT/ICETOOL 17
Search our Forums:

Back to Top