Portal | Manuals | References | Downloads | Info | Programs | JCLs | Mainframe wiki | Quick Ref
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Profile Log in to check your private messages Log in
 
JES2 EXIT 6 QUESTION
Goto page Previous  1, 2
 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> All Other Mainframe Topics
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    Post subject:
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: 705
Location: Pennsylvania

PostPosted: Wed Feb 07, 2018 7:35 pm    Post subject:
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    Post subject:
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: 602
Location: The Universe

PostPosted: Wed Feb 07, 2018 8:42 pm    Post subject:
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    Post subject:
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: 602
Location: The Universe

PostPosted: Thu Feb 08, 2018 12:47 am    Post subject:
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    Post subject:
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: 602
Location: The Universe

PostPosted: Thu Feb 08, 2018 5:31 am    Post subject:
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    Post subject:
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: 1268
Location: Israel

PostPosted: Thu Feb 08, 2018 6:51 pm    Post subject:
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    Post subject:
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    IBMMAINFRAMES.com Support Forums -> All Other Mainframe Topics All times are GMT + 6 Hours
Goto page Previous  1, 2
Page 2 of 2

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts Using multiple routines at exit 6 in ... Randy Horowitz All Other Mainframe Topics 2 Sat Feb 10, 2018 11:57 pm
No new posts COBOL - EXIT statement weird behavior anthony.pangestu COBOL Programming 0 Fri Oct 27, 2017 9:57 am
No new posts question about dfsms management clas... Hervey Martinez IBM Tools 0 Tue Oct 10, 2017 6:19 pm
No new posts JES2 job size field matching Windows ... SRICOBSAS All Other Mainframe Topics 4 Tue Sep 05, 2017 5:49 pm
No new posts Question related to Data dictionary f... rexx77 SYNCSORT 3 Thu Aug 31, 2017 7:23 am

Facebook
Back to Top
 
Job Vacancies | Forum Rules | Bookmarks | Subscriptions | FAQ | Polls | Contact Us