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

Historical/statistical details for members in a PDS?


IBM Mainframe Forums -> TSO/ISPF
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
elixir1986

New User


Joined: 10 Nov 2015
Posts: 45
Location: USA

PostPosted: Wed Aug 30, 2017 9:02 pm
Reply with quote

Hi,

I am interested to know details about the historical/statistical details for members in a PDS. Please find below,

Code:

BROWSE            JXXX.XXX.XXXX.XXXX                Row 0000001 of 000XXXX
Command ===>                                                  Scroll ===> CSR 
           Name     Prompt       Size    Init     [b]Mod[/b]      VV MM          ID

 


What I know so far?
VV is the version that is controlled thru version control tool. Please correct me if necessary?

MM is the number of times there is an EDIT made in the member and saved.

Please confirm what is Mod?

Also, please confirm what is the co-relation between "Mod" & "VV MM"

Thanks for all your replies
Back to top
View user's profile Send private message
Pedro

Global Moderator


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

PostPosted: Wed Aug 30, 2017 9:29 pm
Reply with quote

From the help:

Code:
Number of lines in the current member that have
been added or changed (have a non-zero mod level)


FYI. you need to experiment some, but the line number is changed for any lines that are edited. the line number will have a suffix that corresponds to the 'mod' level.
Back to top
View user's profile Send private message
elixir1986

New User


Joined: 10 Nov 2015
Posts: 45
Location: USA

PostPosted: Wed Aug 30, 2017 9:37 pm
Reply with quote

I tried to EDIT the member(change existing and add a new line). I am not sure about what is non-zero mod level.

After saving the change, I do not see any change in the Mod parameter, i.e. it is still "0" whereas the MM got incremented by 1 & no change in VV either.
Back to top
View user's profile Send private message
steve-myers

Active Member


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

PostPosted: Wed Aug 30, 2017 9:45 pm
Reply with quote

This is ISPF stats. Been around since the 1970s and SPF version 1. Version (VV) is sort of arbitrary. Starts at 1 and can be changed via 3.5. Mod (MM) updates with each use of the member; basically means nothing useful. MOD as in lines modified (or something like that) also seems - to me -- to be meaningless and useless. Several years ago I wrote a line mode command to list PDS members.
Code:
-MEMBER- --TTRC-- VV MM -IDATE- -IRECS- -MDATE- -MTIME--  -RECS- -USER-
ADDSTATS 0001010F 01.00 01SEP13     299 01SEP13 11:33:41     299 XXXXXX
ASTATS   0003010F 01.02 16MAY13     504 12JUL13 14:29:26     524 XXXXXX
Notice I didn't format MOD, mostly because I wanted this to fit on a line and the extra 8 bytes (a blank and 7 digits to support extended stats) was too much. Partly it's related to my style. I don't use PDS for development because of the data management issues. Lots of saves, and all of us know what that means for data management. If I'm going to fiddle with ADDSTATS, for example, I copy it to sequential and update the sequential data set. When I'm done I delete the PDS member and start a new member by copying the sequential data set to the PDS.
Back to top
View user's profile Send private message
elixir1986

New User


Joined: 10 Nov 2015
Posts: 45
Location: USA

PostPosted: Thu Aug 31, 2017 12:59 am
Reply with quote

I came to know that the MOD is related to version control tool at my shop.
Ex: Say I modified 500 lines and moved the element into PDS thru version control tool, MOD shall reflect 500.

My question still is - how does VERSION level number (VV) change?
Back to top
View user's profile Send private message
Akatsukami

Global Moderator


Joined: 03 Oct 2009
Posts: 1787
Location: Bloomington, IL

PostPosted: Thu Aug 31, 2017 1:06 am
Reply with quote

In my experience it must be changed manually.
Back to top
View user's profile Send private message
sergeyken

Senior Member


Joined: 29 Apr 2008
Posts: 2137
Location: USA

PostPosted: Thu Aug 31, 2017 1:07 am
Reply with quote

AFAIR the field MOD is maintained by ISPF only when member lines are numbered in standard manner?

First RENUM command fills all positions 73-80 with 'NNNN0001' where '0001' stands for "change counter", and increased by 1 after any change of every single line. Looks like MOD value is produced as sum of all 4-digit change counters of all lines. So, after some lines are deleted, the MOD value decreases in accordance with this sum!

I'm lazy to verify this. Agree that nowadays it is meaningless, and useless.
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


Joined: 06 Jun 2008
Posts: 8700
Location: Dubuque, Iowa, USA

PostPosted: Thu Aug 31, 2017 1:11 am
Reply with quote

From the ISPF User's Guide Volume 1 :
Quote:
VV.MM
Version number and modification level. The version number is set to 1 and
the modification level is set to 0 when the member is created. The
modification level is the number of times this version has been modified.
For example, 02.15 means version 2, modification 15.
If a member name is just an alternate name for another member, ALIAS
appears in this field.
The VV changes when you (or someone working at your site) goes into the appropriate ISPF screen and manually updates the VV. It otherwise stays at 01 as the quote indicates.
Back to top
View user's profile Send private message
steve-myers

Active Member


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

PostPosted: Thu Aug 31, 2017 2:27 am
Reply with quote

sergeyken wrote:
AFAIR the field MOD is maintained by ISPF only when member lines are numbered in standard manner?

First RENUM command fills all positions 73-80 with 'NNNN0001' where '0001' stands for "change counter", and increased by 1 after any change of every single line. Looks like MOD value is produced as sum of all 4-digit change counters of all lines. So, after some lines are deleted, the MOD value decreases in accordance with this sum!

I'm lazy to verify this. Agree that nowadays it is meaningless, and useless.

No. mm increases by 1 each time the member is edited. ISPF never reduces mm on its own.
Back to top
View user's profile Send private message
sergeyken

Senior Member


Joined: 29 Apr 2008
Posts: 2137
Location: USA

PostPosted: Thu Aug 31, 2017 6:42 pm
Reply with quote

steve-myers wrote:
No. mm increases by 1 each time the member is edited. ISPF never reduces mm on its own.


We are talking about MOD, not about MM

1. Member created; STATS OFF - no MOD, no numbering
Code:
NAME     RENAME   LIB VV.MM      CHANGED      SIZE  INIT   MOD USERID 
TESTMEM  +SAVED     1                                                 
 --END--                                                               

2. STATS ON - MM set to 00, MOD set to 0
Code:
NAME     RENAME   LIB VV.MM      CHANGED      SIZE  INIT   MOD USERID
TESTMEM  +SAVED     1 01.00 2017/08/31 08:56     5     5     0 #XYZ$ 
 --END--                                                             

3. RENUM - MM set to 01, MOD not changed from 0
Code:
Command ===>                                                  Scroll ===> CSR 
****** ***************************** Top of Data ******************************
000100 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00010000
000200 T SKELETON                                                      00020000
000300                                                                 00030000
000400 SKELETON                                                        00040000
000500 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00050000
****** **************************** Bottom of Data ****************************

NAME     RENAME   LIB VV.MM      CHANGED      SIZE  INIT   MOD USERID
TESTMEM  +SAVED     1 01.01 2017/08/31 08:58     5     5     0 #XYZ$ 
 --END--                                                             

4. Lines added - MOD changed to 2, MM changed to 02, and '02' assigned to each changed line
Code:
****** ***************************** Top of Data ******************************
000100 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00010000
000200 T SKELETON                                                      00020000
000210 . . . . . . NEW LINE . . . . . . .                              00021002
000300                                                                 00030000
000310 . . . . . . NEW LINE AGAIN . . . . . .                          00031002
000400 SKELETON                                                        00040000
000500 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00050000
****** **************************** Bottom of Data ****************************

NAME     RENAME   LIB VV.MM      CHANGED      SIZE  INIT   MOD USERID
TESTMEM  +SAVED     1 01.02 2017/08/31 09:00     7     5     2 #XYZ$ 
 --END--                                                             

5. Lines changed - MOD changed to 3, MM changed to 03, and changed line marked with '03'
Code:
****** ***************************** Top of Data ******************************
000100 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00010000
000200 T SKELETON                                                      00020000
000210 . . . . . . NEW LINE . . . . . . .                              00021002
000300       --------- THIS LINE CHANGED ---------                     00030003
000310 . . . . . . NEW LINE AGAIN . . . . . .                          00031002
000400 SKELETON                                                        00040000
000500 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00050000
****** **************************** Bottom of Data ****************************

NAME     RENAME   LIB VV.MM      CHANGED      SIZE  INIT   MOD USERID
TESTMEM  +SAVED     1 01.03 2017/08/31 09:02     7     5     3 #XYZ$ 
 --END--                                                             

6. Lines deleted -> MOD reduced to 1, MM changed to 04
Code:
****** ***************************** Top of Data ******************************
000100 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00010000
000200 T SKELETON                                                      00020000
000300       --------- THIS LINE CHANGED ---------                     00030003
000400 SKELETON                                                        00040000
000500 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00050000
****** **************************** Bottom of Data ****************************

NAME     RENAME   LIB VV.MM      CHANGED      SIZE  INIT   MOD USERID
TESTMEM  +SAVED     1 01.04 2017/08/31 09:03     5     5     1 #XYZ$
 --END--                                                             

7. UNNUM-RENUM - all lines marked with '05', MM changed to 05, MOD set to 5
Code:
****** ***************************** Top of Data ******************************
000100 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00010005
000200 T SKELETON                                                      00020005
000300       --------- THIS LINE CHANGED ---------                     00030005
000400 SKELETON                                                        00040005
000500 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 00050005
****** **************************** Bottom of Data ****************************

NAME     RENAME   LIB VV.MM      CHANGED      SIZE  INIT   MOD USERID
TESTMEM  +SAVED     1 01.05 2017/08/31 09:16     5     5     5 #XYZ$
 --END--                                                             
Back to top
View user's profile Send private message
prino

Senior Member


Joined: 07 Feb 2009
Posts: 1314
Location: Vilnius, Lithuania

PostPosted: Thu Aug 31, 2017 8:44 pm
Reply with quote

ISPF member statistics are totally useless, and every one of them can be set to whatever values you want them to be set to via the LMMSTATS function. I have text members with a creation date of 1978, (seven years before I started as a programmer) and PL/I source with a creation date of 2099-12-31. And about half my members have a userid that doesn't even exist on the systems I'm working on.
Back to top
View user's profile Send private message
steve-myers

Active Member


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

PostPosted: Thu Aug 31, 2017 8:56 pm
Reply with quote

prino wrote:
ISPF member statistics are totally useless, and every one of them can be set to whatever values you want them to be set to via the LMMSTATS function. I have text members with a creation date of 1978, (seven years before I started as a programmer) and PL/I source with a creation date of 2099-12-31. And about half my members have a userid that doesn't even exist on the systems I'm working on.
True. As Prino says, it is all to easy to subvert them. VV MM and user can easily be altered via 3.5, and a half way intelligent programmer can subvert the remainder through a program.
Back to top
View user's profile Send private message
prino

Senior Member


Joined: 07 Feb 2009
Posts: 1314
Location: Vilnius, Lithuania

PostPosted: Fri Sep 01, 2017 12:34 am
Reply with quote

steve-myers wrote:
prino wrote:
ISPF member statistics are totally useless, and every one of them can be set to whatever values you want them to be set to via the LMMSTATS function. I have text members with a creation date of 1978, (seven years before I started as a programmer) and PL/I source with a creation date of 2099-12-31. And about half my members have a userid that doesn't even exist on the systems I'm working on.
True. As Prino says, it is all to easy to subvert them. VV MM and user can easily be altered via 3.5, and a half way intelligent programmer can subvert the remainder through a program.

Or just use the editor provided commands:

version 42
level 42

Sigh...
Back to top
View user's profile Send private message
don.leahy

Active Member


Joined: 06 Jul 2010
Posts: 765
Location: Whitby, ON, Canada

PostPosted: Tue Sep 05, 2017 11:42 pm
Reply with quote

It is important to remember that member statistics are not a part of the z/OS file system. Member stats are stored in the so-called "user area" of a PDS directory. As the name implies, the contents and usage of the "user area" is up to the user of the data set, in this case ISPF. Other programs that update PDSes may use the "user area" for other purposes.

As Mark Twain might have said: "There are lies, damned lies, and member list statistics".
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 -> TSO/ISPF

 


Similar Topics
Topic Forum Replies
No new posts Duplicate several members of/in one l... JCL & VSAM 7
No new posts JCL SORT to compress the student's de... DFSORT/ICETOOL 7
No new posts list pds members name starting with xyz CLIST & REXX 11
No new posts Splitting group records based on deta... DFSORT/ICETOOL 8
No new posts REXX editmacro to compare two members... CLIST & REXX 7
Search our Forums:

Back to Top