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

Monitor the member of a PDS 24/7.


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

Global Moderator


Joined: 27 Oct 2009
Posts: 2481
Location: Netherlands, Amstelveen

PostPosted: Wed May 30, 2012 10:24 pm
Reply with quote

Vishwa310 wrote:
Peter, we do use RMS to maintain data but on a daily basis we normally don't upload components. While the component is still being built there are chances that one of our team member might end up changing few lines for his/her code to work. This change may not affect me but however it remains unnoticed by me unless he/she tells that something has been changed. So basically, I was wondering if we could display a small alert to the "editing" user to notify the group in case something is being changed. I know the protocol dictates a mail should be sent but in practice, no one does! icon_sad.gif


Utterly a load of BS.
Back to top
View user's profile Send private message
Akatsukami

Global Moderator


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

PostPosted: Wed May 30, 2012 10:38 pm
Reply with quote

PeterHolland wrote:
Vishwa310 wrote:
Peter, we do use RMS to maintain data but on a daily basis we normally don't upload components. While the component is still being built there are chances that one of our team member might end up changing few lines for his/her code to work. This change may not affect me but however it remains unnoticed by me unless he/she tells that something has been changed. So basically, I was wondering if we could display a small alert to the "editing" user to notify the group in case something is being changed. I know the protocol dictates a mail should be sent but in practice, no one does! icon_sad.gif


Utterly a load of BS.

Unfortunately, this sounds too much like the way things are done in my shop. I recently wrote some simple tools for others to use to detect unauthorized updates to staging libraries.

(And yes, I did ask, "Wouldn't be better to 'lock down' the staging libraries?" I was told, in effect, that it would be too demoralizing for the developers if they weren't allowed to do whatever they want icon_rolleyes.gif )
Back to top
View user's profile Send private message
Nic Clouston

Global Moderator


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

PostPosted: Wed May 30, 2012 11:46 pm
Reply with quote

once again I missed page 2!
Back to top
View user's profile Send private message
Vishwa310

New User


Joined: 21 May 2012
Posts: 16
Location: India

PostPosted: Thu May 31, 2012 12:55 pm
Reply with quote

daveporcelan wrote:
Vishwa310,

You a thinking very progressively. This is good.

What you propose can not be done however (without some serious ISPF system programming).

What you could do if you really 'need' this to be done.

Write a Rexx exec that runs periodically. This exec would use LMMLIST with the SAVE and STATS options.

It would then check which members have been saved since the last run and report them. This is provided that the member was actually updated using ispf.

You would need your scheduling package to submit a job to perform this process on a schedule of your choosing.

This is one approach if you really 'need' this.



Dave, the only "drawback" I see here is the reactive approach. I mean, between two successive runs there could be a chance that same member will be updated at different places by different users but this report thingy would catch hold of the last edited user. Nevertheless, thank you so much for your suggestion.. I will certainly give this a try.. icon_smile.gif
Back to top
View user's profile Send private message
Vishwa310

New User


Joined: 21 May 2012
Posts: 16
Location: India

PostPosted: Thu May 31, 2012 1:00 pm
Reply with quote

Pedro wrote:
Quote:
"oh, my bad. I forgot to notify you guys".


I found myself editing from ISPF option 2, rather than in ISPF option 10.2, so I made it harder for myself by disallowing it.

1. local version of panel ISREDM01, it sets a value for the initial macro:
Code:
&IMAC    = '$CHEKIT'


2. my $chekit macro checks the dataset name and cancels right away when a particular dataset is found:
Code:
/* rexx  */   
Address ISREDIT                   
"MACRO"                           
"(dsn) = DATASET"               
Select                             
  When (dsn = 'DEPTX.IMPORT.ANT') Then
    Do                             
      Say 'do not edit this file' 
      "CANCEL"                     
    End                           
  Otherwise                       
    Nop                           
End                               


It prevents me from editing without SCLM's blessing. Perhaps you can do something similar... you can change the rexx to send you a message for example.

Yes, this process can be easily circumvented. But it might deter the casual "oh, my bad" editor.



Pedro, this is simple and brilliant idea. One more humble attempt to let the programmer know that he/she should let others know what he is upto. Just one greedy question though, is there a way I can set this macro to stick to that PDS globally rather than with just my profile? In other words, can I achieve this without having to ask my dear programmers to set their edit profiles with this macro? icon_smile.gif
Back to top
View user's profile Send private message
Vishwa310

New User


Joined: 21 May 2012
Posts: 16
Location: India

PostPosted: Thu May 31, 2012 1:09 pm
Reply with quote

Akatsukami wrote:

Unfortunately, this sounds too much like the way things are done in my shop. I recently wrote some simple tools for others to use to detect unauthorized updates to staging libraries.

(And yes, I did ask, "Wouldn't be better to 'lock down' the staging libraries?" I was told, in effect, that it would be too demoralizing for the developers if they weren't allowed to do whatever they want icon_rolleyes.gif )


Ah, that is one other difficulty that I am facing. Despite knowing the test version to be deployed few fellows tend to replace the real load with their personal code with the same version. Now I know there is a job that we run to get the timestamp and other user details from the program link load. But I was thinking if there is a way to find the location from where it was linked and the module versions used to link.


..and if it's not asking too much, can you please give us some more details on " I recently wrote some simple tools for others to use to detect unauthorized updates to staging libraries" ? icon_smile.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 31, 2012 1:23 pm
Reply with quote

pretty f****d up environment <You> have got there icon_biggrin.gif
looks like <Your> organization' s pointed head managers do not have the attributes
to define and enforce proper change management practices and rules
and define and enforce proper resource access rules

as seen in many places
<You> do not have the time to do things right, but <You> have the time to do them twice
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Thu May 31, 2012 1:40 pm
Reply with quote

I'm not aware of anything in the loadmodule to indicate where particular elements of that module came from.

If you have the linkedit/binder output for the step which created the loadmodule, you have information for "where".

If you want to tie to source, the only thing of first use is the compile listing, at least for Cobol, as it has the date/time compiled at the top, which is the same as the one in the loadmodule (if you are looking at the same one).
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 31, 2012 6:40 pm
Reply with quote

Quote:
is there a way I can set this macro to stick to that PDS globally rather than with just my profile?

I do not think it is possible.


Quote:
can I achieve this without having to ask my dear programmers to set their edit profiles with this macro?

My suggestion was to use a modified ISREDM01 panel. The panel forces the name of the initial macro. You are not asking your programmers to set their edit profiles, the panel will automatically do it for them.

My suggestion was to modify the )INIT section and let the user override it if necessary. But adding it to the )PROC section may be valid in your case. Adding it to the )PROC section forces them to use the macro.

The tricky part may be in putting the modified panel in a library that everyone uses.
Back to top
View user's profile Send private message
Akatsukami

Global Moderator


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

PostPosted: Thu May 31, 2012 8:05 pm
Reply with quote

Vishwa310 wrote:
..and if it's not asking too much, can you please give us some more details on " I recently wrote some simple tools for others to use to detect unauthorized updates to staging libraries" ? icon_smile.gif

Note that as I haven't seen any money, I won't be providing any code.

Having said as much, the simplest tool I churned out looks at the directories of two libraries (they could be PDSs or PDSEs). If the libraries are load libraries (as determined by RECFM=U), then those entries that are aliases (as determined by the ALIAS-OF field being non-blank) are compared. Aliases present in one library but not the other are reported, as are aliases that are present in both libraries but that point to differently-named entries. Entries that are not aliases are ignored. If the libraries are source libraries, every entry is compared and differences reported. The LLQ of the two libraries is presumed to be the same, so that if the parameters "ABC DEF COBOL" are entered, it compares ABC.COBOL to DEF.COBOL.

A more complex tool takes an entire hierarchy of libraries (i.e. ABC.XYZ.*, where * may be LKEDLIB, COBOL, MFS, etc.) and writes directory information to a DB2 table, where it is eventually read by a Web tool and compared to an Excel spreadsheet. Various tweaks are done to compensate for the accumulation of bad practices that the developers in this shop are too stubborn or stupid to change (e.g. genned maps are written to the same library as load modules; as that practice was good enough for Grandpappy, it's good enough for the precious snowflakes doing IMS DC development today icon_rolleyes.gif ).
Back to top
View user's profile Send private message
PeterHolland

Global Moderator


Joined: 27 Oct 2009
Posts: 2481
Location: Netherlands, Amstelveen

PostPosted: Thu May 31, 2012 10:21 pm
Reply with quote

This is still a lot of BS from the TS. SCM will do everything he/she wants.
For the rest everything Enrico says.
Maybe its better to cut down this thread.
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 31, 2012 11:32 pm
Reply with quote

Quote:
SCM will do everything he/she wants.


Do you mean SCLM? 'Cause, at our shop we can still edit the base library from ISPF option 2 (then you get library hierarchy problems). But if you use ISPF option 10.2, then it complains and does not allow editing.

Or is my site SCLM not configured correctly?
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10873
Location: italy

PostPosted: Fri Jun 01, 2012 12:21 am
Reply with quote

Quote:
Or is my site SCLM not configured correctly?


depends on the meaning assigned to <correctly>

the ISPF Configuration utility ISPCCONF provides three choices


Code:
                     Modify PDF Edit Configuration Settings                     
 Command ===>                                                                   
                                                                    More:   - +
        Preserve VB record length                                               
        Force the Preserve VB record length Selection                           
                                                                               
                                                ◊                               
   Edit Recovery Data Set Settings              ◊  SCLM Warning Level           
     Block Size  . . . . . . 27998              ◊  2  1. None                   
     Primary Blocks  . . . . 30                 ◊     2. Warn                   
     Secondary Blocks  . . . 30                 ◊     3. Error                 
                                                                               
   ————————————————————————————————————————————————————————————————————————————
   New Edit Profile Settings and Overrides                                     
                                                                               
   ----------------------------------------------------------------------------
   Please press HELP to see important information about setting edit profile   
   defaults.                                                                   
   ----------------------------------------------------------------------------
   Profile Initial Macro              /  Force initial macro                   
                                                                               
   Enter "/" to select option         Enter "/" to force settings               
   /  STATS ON                        /  STATS                                 
   /  RECOVERY ON                     /  RECOVERY                               

Code:

                     Modify PDF Edit Configuration Settings     Must be numeric
 Command ===>              ◊———————————————————————————————————————————————————◊
                           ◊                SCLM Warning Level                 ◊
        Preserve VB record ◊                                                   ◊
        Force the Preserve ◊ Indicates the level of SCLM checking that should  ◊
                           ◊ be done when SCLM controlled members are          ◊
                           ◊ processed outside SCLM.  Valid values are:        ◊
   Edit Recovery Data Set  ◊                                                   ◊
     Block Size  . . . . . ◊ NONE      No checking is done, SCLM controlled    ◊
     Primary Blocks  . . . ◊           members may be edited and processed     ◊
     Secondary Blocks  . . ◊           outside SCLM.                           ◊
                           ◊ WARN      If an SCLM controlled member is         ◊
   ——————————————————————— ◊           processed by Edit or Reset Statistics,  ◊
   New Edit Profile Settin ◊           a message is displayed to warn the      ◊
                           ◊           user that the SCLM accounting data may  ◊
   ----------------------- ◊           be invalidated by the pending request.  ◊
   Please press HELP to se ◊ ERROR     When Edit of an SCLM member is          ◊
   defaults.               ◊           attempted, an error message is          ◊
   ----------------------- ◊           displayed and the edit is denied.       ◊
   Profile Initial Macro   ◊                                                   ◊
                           ◊ The default is WARN.                              ◊
   Enter "/" to select opt ◊                                                   ◊
   /  STATS ON             ◊                                                   ◊
   /  RECOVERY ON          ◊———————————————————————————————————————————————————◊


probably it was a choice not to use option 3
Back to top
View user's profile Send private message
PeterHolland

Global Moderator


Joined: 27 Oct 2009
Posts: 2481
Location: Netherlands, Amstelveen

PostPosted: Fri Jun 01, 2012 11:49 am
Reply with quote

Pedro wrote:
Quote:
SCM will do everything he/she wants.


Do you mean SCLM? 'Cause, at our shop we can still edit the base library from ISPF option 2 (then you get library hierarchy problems). But if you use ISPF option 10.2, then it complains and does not allow editing.

Or is my site SCLM not configured correctly?


Pedro, i was talking about this :

en.wikipedia.org/wiki/Software_configuration_management
Back to top
View user's profile Send private message
Vishwa310

New User


Joined: 21 May 2012
Posts: 16
Location: India

PostPosted: Fri Jun 01, 2012 12:54 pm
Reply with quote

Thanks Pedro, Akatsukami, Vasanth and others. I think I have got considerable amount of information from you guys to figure out what to do next... 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 -> TSO/ISPF Goto page 1, 2  Next

 


Similar Topics
Topic Forum Replies
No new posts How to copy the -1 version of a membe... TSO/ISPF 4
No new posts Searching for a member but don't know... TSO/ISPF 6
No new posts Looking For a PDS Member Without Open... PL/I & Assembler 10
No new posts Library member auto insert option TSO/ISPF 3
No new posts DataSet member creation failed with B... Java & MQSeries 15
Search our Forums:

Back to Top