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

JES2 EXIT 6 QUESTION


IBM Mainframe Forums -> All Other Mainframe Topics
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Randy Horowitz

New User


Joined: 06 Feb 2018
Posts: 18
Location: United States

PostPosted: Wed Feb 07, 2018 7:12 pm
Reply with quote

daveporcelan,
I never asked for a solution to the control of the JCL library, you turned into that. I asked for a way for EXIT 6 to "remember" something about a previous call to it so that it may take action subsequently. This is very common to all transaction type processing such as CICS.
Thanks for your comments.
Back to top
View user's profile Send private message
daveporcelan

Active Member


Joined: 01 Dec 2006
Posts: 792
Location: Pennsylvania

PostPosted: Wed Feb 07, 2018 7:35 pm
Reply with quote

This is an expert forum, in which people who participate use their experience to provide assistance.

As you noticed, several of the experts asked for additional information to better understand the scope of the problem.

Providing a specific answer to a narrow question is not what we do here.

While that is done often, when the approach to the problem does not appear to be appropriate, alternate solutions are discussed.

Even if you do not come away to a specific answer to your original question, please take away the effort given by the experts here any value they may provide.

I would be amiss not to give my seasoned opinion to your issue.
Back to top
View user's profile Send private message
Randy Horowitz

New User


Joined: 06 Feb 2018
Posts: 18
Location: United States

PostPosted: Wed Feb 07, 2018 7:47 pm
Reply with quote

daveporcelan
Thank you very much !
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 Feb 07, 2018 8:42 pm
Reply with quote

Randy Horowitz wrote:
Steve
When searching through the internal text how does a concatenated ddname work ? Is there multiple keys for dsname for each of the concatenated datasets ?
What is "TS's control".
How can this be evaded ? A list of production libraries will be hard coded in the exit and if a dataset found in steplib/joblib is not in this list the job will be terminated.
Thanks
  1. To be honest, I'm not 100% sure, but I think you continue to see two DD statements. It is not combined. When it goes to execution there are still two DD statements. It is "combined" only in the sense it is combined after they they have opened.
  2. TS generally means "topic starter," that is the first or initial query in the thread.
  3. Here is one way to evade your proposed to control.
    Code:
    //EVADE   EXEC PGM=IKJEFT01,
    // PARM='CALL ''TEST.LIBRARY(EVADEPGM)'' ''PARAMETER TEXT'''
    //SYSTSPRT DD  SYSOUT=*
    //SYSTSIN  DD  DUMMY
    // Other DD statements
    There are other variations, but that is a one example. TEST.LIBRARY becomes the equivalent of a STEPLIB in addition to any other STEPLIB established for the step until EVADEPGM terminates. The TSO CALL command has worked that way for almost 50 years.

    Another example -
    Code:
    //EVADE   EXEC PGM=IKJEFT01
    //SYSTSPRT DD  SYSOUT=*
    //SYSTSIN  DD  *
    CALL 'TEST.LIBRARY(EVADEPGM)' 'PARAMETER TEXT'
    // Other DD statements
Back to top
View user's profile Send private message
Randy Horowitz

New User


Joined: 06 Feb 2018
Posts: 18
Location: United States

PostPosted: Wed Feb 07, 2018 11:32 pm
Reply with quote

Steve,
O.K. so never got an answer to my question but it was an interesting conversation. Thanks for the work arounds. Funny my thought was that a concatenation is still one ddname and the Conversion/Interpreter leads me to think that more that one dsname concatenated in one ddname would mean that they would be multiple dsname keys.
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 Feb 08, 2018 12:47 am
Reply with quote

Randy Horowitz wrote:
Steve,
O.K. so never got an answer to my question but it was an interesting conversation. Thanks for the work arounds. Funny my thought was that a concatenation is still one ddname and the Conversion/Interpreter leads me to think that more that one dsname concatenated in one ddname would mean that they would be multiple dsname keys.
Oh, you're probably thinking

alloc file(ddnamw) dataset(dataset1 dataset2 ...)

What internally happens is the alloc command allocates each data set as a separate DD statement and then concatenates the DD statements.
Back to top
View user's profile Send private message
Randy Horowitz

New User


Joined: 06 Feb 2018
Posts: 18
Location: United States

PostPosted: Thu Feb 08, 2018 12:58 am
Reply with quote

How would

//STEPLIB DD DSN=HLQ.LIB1,DISP=SHR
// DD DSN=HLQ,LIB2,DISP=SHR
// DD DSN=HLQ.LIB3,DISP=SHR
// DD DSN=HLQ.LIB4,DISP=SHR

come in the buffer ?

I think the DSNs would be a number of X'4A' key with the number of parms=4
or would it be a number of X'4A' entries ?
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 Feb 08, 2018 5:31 am
Reply with quote

The question, as posed, is meaningless. Each DD statement is presented to exit 6 as an entity. The mechanics of how the internal text is built is none of our business. Exit 6 sees the internal text for 4 DD statements. There is no such thing as a 4A key with 4 data set names.

//STEPLIB DD DSN=HLQ1.LIB1,DISP=SHR

then

// DD DSN=HLQ.LIB2,DISP=SHR

and so on. Remember this whole business started so HASP could change SYSOUT=A to UNIT=xxx. I no longer remember what the xxx was, but the purpose was so MVT would actually allocate a pseudo printer that HASP would intercept I/O intended for the printer and write it to its SPOOL.

When you write a program that uses QSAM, do you try to access the I/O buffer as an entity? No, because the precise structure of the I/O buffer varies from data set to data set. QSAM, on purpose, hides this from you so your code can be kept simple. If you think you need to access an entire I/O buffer at a time you use BSAM. If you do it right you save some CPU time, though in the long term the cost is program complexity. Most of the time it's done wrong, which costs program reliability or imposes unnecessary program restrictions or both. In fact it appears to be taught wrong, to simplify the training text.
Back to top
View user's profile Send private message
Randy Horowitz

New User


Joined: 06 Feb 2018
Posts: 18
Location: United States

PostPosted: Thu Feb 08, 2018 5:54 am
Reply with quote

Thank you very much for your comments.
Back to top
View user's profile Send private message
Marso

REXX Moderator


Joined: 13 Mar 2006
Posts: 1353
Location: Israel

PostPosted: Thu Feb 08, 2018 6:51 pm
Reply with quote

Randy Horowitz wrote:
These are jobs that come out of a scheduler, no one is going to dynamically allocate anything, they are COBOL batch jobs. We want to prevent a user from executing a load module from an "unapproved" loadlib.

Just a thought: wouldn't it be easier to check the JCL (once) while/before it is added to the scheduler, instead of checking it every time it is submitted by said scheduler ?
Back to top
View user's profile Send private message
Randy Horowitz

New User


Joined: 06 Feb 2018
Posts: 18
Location: United States

PostPosted: Thu Feb 08, 2018 7:08 pm
Reply with quote

Yes, of course ! All of the sane arguments were made. This is a last ditch effort to please the auditor's in a shop gone crazy !! Please a little understanding here. All logic has flown out the window. Who for god sakes does not protect the schedule library ? I am the only one on staff who knows assembler so I get called into to do it. I am a CICS guy, I couldn't care less about JES2 or its exits. I have my own exits in CICS to worry about. Thanks !
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 -> All Other Mainframe Topics Goto page 1, 2  Next

 


Similar Topics
Topic Forum Replies
No new posts Use of Perform Thru Exit COBOL Programming 6
No new posts user exit in IBM Infosphere Optim DB2 8
No new posts Question for file manager IBM Tools 7
No new posts question for Pedro TSO/ISPF 2
No new posts Jes2 command output All Other Mainframe Topics 4
Search our Forums:

Back to Top