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

VSAM Access Interception


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Patrick Gantet

New User


Joined: 07 Apr 2010
Posts: 7
Location: Paris France

PostPosted: Wed Apr 07, 2010 3:18 pm
Reply with quote

How can I intercept the Write order from a cobol transactional application, in order to stop the write in the file and replace it by a send msg via MQ.
Can I write a component to sustitute the vsam component and install it upper in the DFHRPL card?
Back to top
View user's profile Send private message
PeterHolland

Global Moderator


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

PostPosted: Wed Apr 07, 2010 3:57 pm
Reply with quote

As far as i know the DFHRPL contains info about the relocatable program library data sets concatenated to the DFHRPL DDNAME for a CICS system.
So i guess if the vsam component is in the libary list, it can be replaced by a non vsam component.
Back to top
View user's profile Send private message
dbzTHEdinosauer

Global Moderator


Joined: 20 Oct 2006
Posts: 6966
Location: porcelain throne

PostPosted: Wed Apr 07, 2010 4:02 pm
Reply with quote

is this change to affect all VSAM files?

where will you obtain the necessary info to populate the MQS API CALL?
Back to top
View user's profile Send private message
Patrick Gantet

New User


Joined: 07 Apr 2010
Posts: 7
Location: Paris France

PostPosted: Wed Apr 07, 2010 5:18 pm
Reply with quote

dbzTHEdinosauer wrote:
is this change to affect all VSAM files?

where will you obtain the necessary info to populate the MQS API CALL?


In fact I have to filter the vsam files : I know the names of the vsam to send to an unix system, and for the others I have to let vsam works normally.
I know the queue and the mecanism to send the records via MQ.
What I need is to understand how to realize and install a filter ontop of the vsam access!

thanks for your help
Back to top
View user's profile Send private message
Robert Sample

Global Moderator


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

PostPosted: Wed Apr 07, 2010 5:41 pm
Reply with quote

This would be a an extremely challenging project.
First, I doubt the module is in the DFHRPL -- it is more likely in the STEPLIB (or JOBLIB or link list, depending upon how your site does things). DFHRPL is for application code, typically, not the system code running the applications.

Second, you would be far, far, far better off changing the application rather than attempting to make the kind of global change you're talking about.

Third, you're basically monkeying with some very low level code, so you'd better be writing code that is completely fault-tolerant and very fast or your transactional system may start having major problems.

Fourth, any changes you made would have to be remade (or at least verified) after every application of maintenance to your system. And there's a chance that maintenance will fail due to your added code.

Fifth, any system problems you have will probably have to be resolved on-site since there's no chance IBM is going to even look at any problems until your code has been removed from the system and the problem verified to exist WITHOUT your code.
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Wed Apr 07, 2010 6:37 pm
Reply with quote

Patrick Gantet wrote:
How can I intercept the Write order from a cobol transactional application, in order to stop the write in the file and replace it by a send msg via MQ.
If by "transactional" you mean CICS and if by "write" you mean add, then make the file a shared data table and invoke the user exit XDTAD which is invoked for each record that is added to the source data set. You can choose whether to add the record to the data table or not. The CICS Customization Guide should be handy too.
This should be fairly simple....
Quote:
Can I write a component to sustitute the vsam component and install it upper in the DFHRPL card?
An extremely BAD idea......
Back to top
View user's profile Send private message
Patrick Gantet

New User


Joined: 07 Apr 2010
Posts: 7
Location: Paris France

PostPosted: Wed Apr 07, 2010 7:26 pm
Reply with quote

CICS Guy wrote:
Patrick Gantet wrote:
How can I intercept the Write order from a cobol transactional application, in order to stop the write in the file and replace it by a send msg via MQ.
If by "transactional" you mean CICS and if by "write" you mean add, then make the file a shared data table and invoke the user exit XDTAD which is invoked for each record that is added to the source data set. You can choose whether to add the record to the data table or not. The CICS Customization Guide should be handy too.
This should be fairly simple....
Quote:
Can I write a component to sustitute the vsam component and install it upper in the DFHRPL card?
An extremely BAD idea......


thank you very much....
Your solution is fantastic, and compliant with the future change of version of CICS....
Looking at the Guide you indicate, I've seen also the exits XFCREQ and XFCREQC that seems to allow to do what I need. Is it better than XDTAD?

My next step will be to be familiar with ASM to code it! But fot this I've some friends to help me!

best Regards
Back to top
View user's profile Send private message
CICS Guy

Senior Member


Joined: 18 Jul 2007
Posts: 2146
Location: At my coffee table

PostPosted: Wed Apr 07, 2010 7:35 pm
Reply with quote

Quote:
I've seen also the exits XFCREQ and XFCREQC that seems to allow to do what I need. Is it better than XDTAD?
I would tend to lean towards the use of the data table exit (if it can do all I think it can) because there will be no delay or interruption in the servicing of other file control requests, only other data table requests.
I do admit that I have not researched your needs as well as you will, and I realize that some exits do not allow some CICS functionality which you may need. The choice of which exit is yours.
BTW, I have done exits and once you get past their special requirements, they are fairly straight forward. Have fun.... 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 -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts Access to non cataloged VSAM file JCL & VSAM 18
No new posts How to access web services/website? Mainframe Interview Questions 4
No new posts Merge two VSAM KSDS files into third ... JCL & VSAM 6
No new posts CVDA value for RRDS VSAM dataset. CICS 2
No new posts VSAM return code 23 - for a Random read COBOL Programming 4
Search our Forums:

Back to Top