Re: Moron of the day -- me!

2021-11-11 Thread Support, DUNNIT SYSTEMS LTD.
Just read your post and all of a sudden I hear inside my head Chicago singing 
"If you leave me now, you'll take away the biggest part of me."

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Moron of the day -- me!

2021-11-11 Thread Mike Wawiorko
Better than the converse: why did that PTF go on? I forgot to add CHECK !

Mike Wawiorko   

-Original Message-
From: IBM Mainframe Discussion List  On Behalf Of 
Steve Horein
Sent: 10 November 2021 23:04
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: Moron of the day -- me!


CAUTION: This email originated from outside our organisation - 
steve.hor...@gmail.com Do not click on links, open attachments, or respond 
unless you recognize the sender and can validate the content is safe.
Why didn't this PTF go on?
Oh yeah, forgot to remove "CHECK".

--
For IBM-MAIN subscribe / signoff / archive access instructions, send email to 
lists...@listserv.ua.edu with the message: INFO IBM-MAIN

This e-mail and any attachments are confidential and intended solely for the 
addressee and may also be privileged or exempt from disclosure under applicable 
law. If you are not the addressee, or have received this e-mail in error, 
please notify the sender immediately, delete it from your system and do not 
copy, disclose or otherwise act upon any part of this e-mail or its attachments.
Internet communications are not guaranteed to be secure or virus-free. The 
Barclays Group does not accept responsibility for any loss arising from 
unauthorised access to, or interference with, any Internet communications by 
any third party, or from the transmission of any viruses. Replies to this 
e-mail may be monitored by the Barclays Group for operational or business 
reasons.
Any opinion or other information in this e-mail or its attachments that does 
not relate to the business of the Barclays Group is personal to the sender and 
is not given or endorsed by the Barclays Group.
Barclays Execution Services Limited provides support and administrative 
services across Barclays group. Barclays Execution Services Limited is an 
appointed representative of Barclays Bank UK plc, Barclays Bank plc and 
Clydesdale Financial Services Limited. Barclays Bank UK plc and Barclays Bank 
plc are authorised by the Prudential Regulation Authority and regulated by the 
Financial Conduct Authority and the Prudential Regulation Authority. Clydesdale 
Financial Services Limited is authorised and regulated by the Financial Conduct 
Authority.

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


DFSORT- SORT OUT FILE Sequence is not in order

2021-11-11 Thread Ron Thomas
Hi -

We have a Input file of LRECL =80 as below

105_1_10893_1_28 1_10893_1_28  FAMILY SHARE CRISPS
1_10893_1_28 10893_1_28  SHARING CRISPS
10893_1_28 1_28  SHARING CRISPS
1_28 28  SNACKS
28   EDIBLE GROCERY
105_1_10893_1_28 1_10893_1_28  FAMILY SHARE CRISPS
1_10893_1_28 10893_1_28  SHARING CRISPS
10893_1_28 1_28  SHARING CRISPS
1_28 28  SNACKS
28   EDIBLE GROCERY
105_1_10893_1_29 1_10893_1_29  FAMILY SHARE CRISPS-NEW
1_10893_1_29 10893_1_29  SHARING CRISPS
10893_1_29  1_29 SHARING CRISPS
1_29  29 SNACKS 
29   EDIBLE GROCERY
105_1_10893_1_28 1_10893_1_28  FAMILY SHARE CRISPS
1_10893_1_28 10893_1_28  SHARING CRISPS
10893_1_28 1_28  SHARING CRISPS
1_28 28  SNACKS
28   EDIBLE GROCERY
105_1_10893_1_29 1_10893_1_29  FAMILY SHARE CRISPS-NEW
1_10893_1_29 10893_1_29  SHARING CRISPS
10893_1_29  1_29 SHARING CRISPS
1_29  29 SNACKS
29   EDIBLE GROCERY

Expected output 

105_1_10893_1_28 1_10893_1_28  FAMILY SHARE CRISPS
1_10893_1_28 10893_1_28  SHARING CRISPS
10893_1_28 1_28  SHARING CRISPS
1_28 28  SNACKS
28   EDIBLE GROCERY
105_1_10893_1_29 1_10893_1_29  FAMILY SHARE CRISPS-NEW
1_10893_1_29 10893_1_29  SHARING CRISPS
10893_1_29  1_29 SHARING CRISPS
1_29  29 SNACKS
29   EDIBLE GROCERY

Output Received ** This output disturbed the data sequence .

1_10893_1_2810893_1_28   SHARING CRISPS
1_10893_1_2910893_1_29   SHARING CRISPS
1_2828   SNACKS
1_29 29  SNACKS
105_1_10893_1_28 1_10893_1_28  FAMILY SHARE CRISPS
105_1_10893_1_29 1_10893_1_29  FAMILY SHARE CRISPS-NEW
10893_1_28 1_28  SHARING CRISPS
10893_1_29 1_29  SHARING CRISPS
28   EDIBLE GROCERY
29   EDIBLE GROCERY


i have used the below ICETOOL sort card

//TOOLIN   DD *
SELECT FROM(IN) TO(OUT) ON(1,80,CH) FIRST
/*
//CTL1CNTL DD *
  SORT FIELDS=COPY
/*

The above sort card is not working as expected. Could someone let me know how 
the sort card to be corrected .

Thanks 
Ron T

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: DFSORT- SORT OUT FILE Sequence is not in order

2021-11-11 Thread Massimo Biancucci
Ron,

if I well understood, the task was to remove duplicate records maintaning
the initial order.
Maybe it could be done with a single instruction, anyway the following
should work:





//ST010EXEC  PGM=ICETOOL

//TOOLMSG  DD  SYSOUT=*

//DFSMSG   DD  SYSOUT=*

//TEMP DD DSN=&&TEMP,DISP=(,PASS),SPACE=(TRK,(10,10),RLSE)

//OUT  DD SYSOUT=*

//CTL1CNTL DD *

 INREC FIELDS=(1,80,SEQNUM,4,BI)

 SORT FIELDS=(1,80,BI,A),EQUALS

 SUM FIELDS=NONE

/*

//CTL2CNTL DD *

 SORT FIELDS=(81,4,BI,A)

 OUTREC FIELDS=(1,80)

/*

//TOOLIN   DD  *

 SORT FROM(SORTIN) TO(TEMP) USING(CTL1)

 SORT FROM(TEMP) TO(OUT) USING(CTL2)

/*

//SORTIN   DD  *
your data

/*



Best regards.

Il giorno gio 11 nov 2021 alle ore 12:28 Ron Thomas  ha
scritto:

> Hi -
>
> We have a Input file of LRECL =80 as below
>
> 105_1_10893_1_28 1_10893_1_28  FAMILY SHARE CRISPS
> 1_10893_1_28 10893_1_28  SHARING CRISPS
> 10893_1_28 1_28  SHARING CRISPS
> 1_28 28  SNACKS
> 28   EDIBLE
> GROCERY
> 105_1_10893_1_28 1_10893_1_28  FAMILY SHARE CRISPS
> 1_10893_1_28 10893_1_28  SHARING CRISPS
> 10893_1_28 1_28  SHARING CRISPS
> 1_28 28  SNACKS
> 28   EDIBLE
> GROCERY
> 105_1_10893_1_29 1_10893_1_29  FAMILY SHARE CRISPS-NEW
> 1_10893_1_29 10893_1_29  SHARING CRISPS
> 10893_1_29  1_29 SHARING CRISPS
> 1_29  29 SNACKS
> 29   EDIBLE
> GROCERY
> 105_1_10893_1_28 1_10893_1_28  FAMILY SHARE CRISPS
> 1_10893_1_28 10893_1_28  SHARING CRISPS
> 10893_1_28 1_28  SHARING CRISPS
> 1_28 28  SNACKS
> 28   EDIBLE
> GROCERY
> 105_1_10893_1_29 1_10893_1_29  FAMILY SHARE CRISPS-NEW
> 1_10893_1_29 10893_1_29  SHARING CRISPS
> 10893_1_29  1_29 SHARING CRISPS
> 1_29  29 SNACKS
> 29   EDIBLE
> GROCERY
>
> Expected output
>
> 105_1_10893_1_28 1_10893_1_28  FAMILY SHARE CRISPS
> 1_10893_1_28 10893_1_28  SHARING CRISPS
> 10893_1_28 1_28  SHARING CRISPS
> 1_28 28  SNACKS
> 28   EDIBLE
> GROCERY
> 105_1_10893_1_29 1_10893_1_29  FAMILY SHARE CRISPS-NEW
> 1_10893_1_29 10893_1_29  SHARING CRISPS
> 10893_1_29  1_29 SHARING CRISPS
> 1_29  29 SNACKS
> 29   EDIBLE
> GROCERY
>
> Output Received ** This output disturbed the data sequence .
>
> 1_10893_1_2810893_1_28   SHARING CRISPS
> 1_10893_1_2910893_1_29   SHARING CRISPS
> 1_2828   SNACKS
> 1_29 29  SNACKS
> 105_1_10893_1_28 1_10893_1_28  FAMILY SHARE CRISPS
> 105_1_10893_1_29 1_10893_1_29  FAMILY SHARE CRISPS-NEW
> 10893_1_28 1_28  SHARING CRISPS
> 10893_1_29 1_29  SHARING CRISPS
> 28   EDIBLE
> GROCERY
> 29   EDIBLE
> GROCERY
>
>
> i have used the below ICETOOL sort card
>
> //TOOLIN   DD *
> SELECT FROM(IN) TO(OUT) ON(1,80,CH) FIRST
> /*
> //CTL1CNTL DD *
>   SORT FIELDS=COPY
> /*
>
> The above sort card is not working as expected. Could someone let me know
> how the sort card to be corrected .
>
> Thanks
> Ron T
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: DFSORT- SORT OUT FILE Sequence is not in order

2021-11-11 Thread Ron Thomas
Thanks a lot Massimo. It worked like a charm :)

Thanks,
Ron T

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: DFSORT- SORT OUT FILE Sequence is not in order

2021-11-11 Thread Hobart Spitz
Really  How is your solution a single instruction?

Here are single instruction solutions.

"pipe < ddname=sortin | sort unique | > ddname=sortout"
or
"pipe < your.data | sort unique | > your.output
or
// EXEC PGM=PIPE,PARM='< your.data | sort unique | > your.output'

People really need to stop thinking in terms of JCL and old, slapped
together utilities.

Don't have the PIPE command?  It's included with BatchPipes.

OREXXMan
Would you rather pass data in move mode (*nix piping) or locate mode
(Pipes) or via disk (JCL)?  Why do you think you rarely see *nix commands
with more than a dozen filters, while Pipelines specifications are commonly
over 100s of stages, and 1000s of stages are not uncommon.
REXX is the new C.


On Thu, Nov 11, 2021 at 6:50 AM Ron Thomas  wrote:

> Thanks a lot Massimo. It worked like a charm :)
>
> Thanks,
> Ron T
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: DFSORT- SORT OUT FILE Sequence is not in order

2021-11-11 Thread Sri h Kolusu
> Really  How is your solution a single instruction?

Hobart,

I believe that Massimo's(who provided the solution) intention was "single
pass of data" and not truly a single "instruction".   Since OP wanted to
retain the original order of the records after eliminating the duplicates,
he needs another pass on the data, to put the data back in the original
order.

Thanks,
Kolusu
DFSORT Development
IBM Corporation



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


CBTTape - CBTMAP.txt

2021-11-11 Thread Rob Schramm
So.. I was looking thru the CBTTape for IEFUSO source examples.  And I
looked at the CBTMAP.txt and found various occurrences..  but when I
download the Files that the tape map says contains IEFUSI.. there is
nothing like IEFUSI.

I am sure that I am missing the proverbial boat, I just need a hint of what
I am missing.

Thanks,


Rob Schramm

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: CBTTape - CBTMAP.txt

2021-11-11 Thread Bill Godfrey
Some PDS members contain an IEBUPDTE stream of members, and TAPEMAP shows the 
imbedded members with a ">" as in "A>IEFUSI" in file 311 for example.

You have to find the preceding "A-" member in the tapemap, "A-SMFEXIT" in this 
case. Then look at member SMFEXIT to find the "./ ADD NAME=IEFUSI" line.

On Thu, 11 Nov 2021 11:57:26 -0500, Rob Schramm wrote:

>So.. I was looking thru the CBTTape for IEFUSO source examples.  And I
>looked at the CBTMAP.txt and found various occurrences..  but when I
>download the Files that the tape map says contains IEFUSI.. there is
>nothing like IEFUSI.
>
>I am sure that I am missing the proverbial boat, I just need a hint of what
>I am missing.
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: conditional JCL - Reinvent the wheel?

2021-11-11 Thread Wendell Lovewell
Billy's example explains it very well.  

A) "IF" cannot be the first step, thus his IEFBR14 call
B) "IF" only allows numerics.  // IF (&DOTHIS="YES") will not work like you 
want, but // IF (&DOTHIS=1) or // IF (&DOTHIS=0) will work. I don't know how 
high of a value you can check, but I've used up to 5 (for day-of-the-week) 
successfully. 

Wendell

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: conditional JCL - Reinvent the wheel?

2021-11-11 Thread Paul Gilmartin
On Thu, 11 Nov 2021 12:56:21 -0600, Wendell Lovewell  wrote:

>Billy's example explains it very well.  
>
( that apparently refers to:
//  SET RUNTEST1=0 )

>A) "IF" cannot be the first step, thus his IEFBR14 call
>B) "IF" only allows numerics.  // IF (&DOTHIS="YES") will not work like you 
>want, but // IF (&DOTHIS=1) or // IF (&DOTHIS=0) will work. I don't know how 
>high of a value you can check, but I've used up to 5 (for day-of-the-week) 
>successfully. 
>
Repeating what I said earlier:

Be careful.  The JCL Ref. states some peculiarly harsh syntax rules, then:
Relational-expression keywords
The following keywords are the only keywords supported by IBM and
recommended for use in relational- expressions. Any other keywords,
even if accepted by the system, are not intended or supported keywords.

And further:

Comparison operators
Use comparison operators in a relational-expression to compare a keyword with a 
numeric value. The comparison results in a true or false condition.
...
Considerations when using the IF/THEN/ELSE/ENDIF construct
...
• You can specify symbolic parameters on IF/THEN/ELSE/ENDIF statements provided 
that they resolve to one of the supported relational-expression keywords. Any 
other symbolic parameters, even if accepted by the system, are not intended or 
supported. Refer to “Relational-expression keywords” on page 366.

You are relying on constructs which "... even if accepted by the system, 
are not intended or supported."

-- gil

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: conditional JCL - Reinvent the wheel?

2021-11-11 Thread Seymour J Metz
Also, all references to symbols are evaluated before execution of the first 
step.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Wendell Lovewell [01e9c0ee0673-dmarc-requ...@listserv.ua.edu]
Sent: Thursday, November 11, 2021 1:56 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: Re: conditional JCL - Reinvent the wheel?

Billy's example explains it very well.

A) "IF" cannot be the first step, thus his IEFBR14 call
B) "IF" only allows numerics.  // IF (&DOTHIS="YES") will not work like you 
want, but // IF (&DOTHIS=1) or // IF (&DOTHIS=0) will work. I don't know how 
high of a value you can check, but I've used up to 5 (for day-of-the-week) 
successfully.

Wendell

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


specific purpose for the REUS parameter in a binder operation

2021-11-11 Thread Pommier, Rex
Hi list,

I'm trying to figure out the practical usage of the REUS - and by extension the 
CEEPIPI module used to set up a non-LE assembler program for reuse.  I've read 
the manual and spent the better part of a day doing additional reading and 
can't get it thru my thick skull just what it is used for in my scenario.

We're upgrading to Cobol 6.3 and hit a snag in that we have a statically linked 
load module that is a combination of Cobol programs (being recompiled under the 
6.3 compiler) and some assembler programs.  The driver is a non-LE assembler 
program.  At the beginning of the old program was a call to IGZERRE.  Under 
6.x, IGZERRE is no longer supported and we need to change to the CEEPIPI 
routine to designate the program as reusable.  It is a batch program that is 
not doing anything out of the ordinary that I can tell.  

So here are my questions.  Let's assume the driver is program "A" and the Cobol 
program being called is program "C".   Further assume that as A is running, it 
calls C each time a new record is read that A has to process.  If I don't have 
the load module linked with REUS, does the system fetch C every time it is 
called?  I would think not being that they're statically linked together.  If 
this is the case, is there any benefit to setting up the reusability in the 
module or would it be OK to just strip the IGZERRE out of the program and let 
it default to not reusable?

Thanks,

Rex


--
The information contained in this message is confidential, protected from 
disclosure and may be legally privileged. If the reader of this message is not 
the intended recipient or an employee or agent responsible for delivering this 
message to the intended recipient, you are hereby notified that any disclosure, 
distribution, copying, or any action taken or action omitted in reliance on it, 
is strictly prohibited and may be unlawful. If you have received this 
communication in error, please notify us immediately by replying to this 
message and destroy the material in its entirety, whether in electronic or hard 
copy format. Thank you.


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Moron of the day -- me!

2021-11-11 Thread Wayne Bickerdike
My first senior programmer was staring at an assembler listing. He said,
"can't see why this instruction is not being executed". Although I was a
newbie, I ventured, "asterisk in column 1".  We all have our moments.

On Thu, Nov 11, 2021 at 10:13 PM Mike Wawiorko <
014ab5cdfb21-dmarc-requ...@listserv.ua.edu> wrote:

> Better than the converse: why did that PTF go on? I forgot to add CHECK !
>
> Mike Wawiorko
>
> -Original Message-
> From: IBM Mainframe Discussion List  On Behalf
> Of Steve Horein
> Sent: 10 November 2021 23:04
> To: IBM-MAIN@LISTSERV.UA.EDU
> Subject: Re: Moron of the day -- me!
>
>
> CAUTION: This email originated from outside our organisation -
> steve.hor...@gmail.com Do not click on links, open attachments, or
> respond unless you recognize the sender and can validate the content is
> safe.
> Why didn't this PTF go on?
> Oh yeah, forgot to remove "CHECK".
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions, send email
> to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
> This e-mail and any attachments are confidential and intended solely for
> the addressee and may also be privileged or exempt from disclosure under
> applicable law. If you are not the addressee, or have received this e-mail
> in error, please notify the sender immediately, delete it from your system
> and do not copy, disclose or otherwise act upon any part of this e-mail or
> its attachments.
> Internet communications are not guaranteed to be secure or virus-free. The
> Barclays Group does not accept responsibility for any loss arising from
> unauthorised access to, or interference with, any Internet communications
> by any third party, or from the transmission of any viruses. Replies to
> this e-mail may be monitored by the Barclays Group for operational or
> business reasons.
> Any opinion or other information in this e-mail or its attachments that
> does not relate to the business of the Barclays Group is personal to the
> sender and is not given or endorsed by the Barclays Group.
> Barclays Execution Services Limited provides support and administrative
> services across Barclays group. Barclays Execution Services Limited is an
> appointed representative of Barclays Bank UK plc, Barclays Bank plc and
> Clydesdale Financial Services Limited. Barclays Bank UK plc and Barclays
> Bank plc are authorised by the Prudential Regulation Authority and
> regulated by the Financial Conduct Authority and the Prudential Regulation
> Authority. Clydesdale Financial Services Limited is authorised and
> regulated by the Financial Conduct Authority.
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>


-- 
Wayne V. Bickerdike

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: Moron of the day -- me!

2021-11-11 Thread Tom Brennan

Yes - thank God (or maybe Doug Nadel?) for HILITE ASM

On 11/11/2021 4:11 PM, Wayne Bickerdike wrote:

My first senior programmer was staring at an assembler listing. He said,
"can't see why this instruction is not being executed". Although I was a
newbie, I ventured, "asterisk in column 1".  We all have our moments.



--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: specific purpose for the REUS parameter in a binder operation

2021-11-11 Thread Seymour J Metz
If the load module is not REUS, then she system will fetch a new copy every 
time that you do a LINK. However, if you do a LOAD and save the entry-point 
addresses, you can do a CALL as many times as you want before you do the 
DELETE. What the COCOL compilers generate will depend on how you code things.


--
Shmuel (Seymour J.) Metz
http://mason.gmu.edu/~smetz3


From: IBM Mainframe Discussion List [IBM-MAIN@LISTSERV.UA.EDU] on behalf of 
Pommier, Rex [rpomm...@sfgmembers.com]
Sent: Thursday, November 11, 2021 5:31 PM
To: IBM-MAIN@LISTSERV.UA.EDU
Subject: specific purpose for the REUS parameter in a binder operation

Hi list,

I'm trying to figure out the practical usage of the REUS - and by extension the 
CEEPIPI module used to set up a non-LE assembler program for reuse.  I've read 
the manual and spent the better part of a day doing additional reading and 
can't get it thru my thick skull just what it is used for in my scenario.

We're upgrading to Cobol 6.3 and hit a snag in that we have a statically linked 
load module that is a combination of Cobol programs (being recompiled under the 
6.3 compiler) and some assembler programs.  The driver is a non-LE assembler 
program.  At the beginning of the old program was a call to IGZERRE.  Under 
6.x, IGZERRE is no longer supported and we need to change to the CEEPIPI 
routine to designate the program as reusable.  It is a batch program that is 
not doing anything out of the ordinary that I can tell.

So here are my questions.  Let's assume the driver is program "A" and the Cobol 
program being called is program "C".   Further assume that as A is running, it 
calls C each time a new record is read that A has to process.  If I don't have 
the load module linked with REUS, does the system fetch C every time it is 
called?  I would think not being that they're statically linked together.  If 
this is the case, is there any benefit to setting up the reusability in the 
module or would it be OK to just strip the IGZERRE out of the program and let 
it default to not reusable?

Thanks,

Rex


--
The information contained in this message is confidential, protected from 
disclosure and may be legally privileged. If the reader of this message is not 
the intended recipient or an employee or agent responsible for delivering this 
message to the intended recipient, you are hereby notified that any disclosure, 
distribution, copying, or any action taken or action omitted in reliance on it, 
is strictly prohibited and may be unlawful. If you have received this 
communication in error, please notify us immediately by replying to this 
message and destroy the material in its entirety, whether in electronic or hard 
copy format. Thank you.


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: specific purpose for the REUS parameter in a binder operation

2021-11-11 Thread Frank Swarbrick
I don't have an answer to your specific question, but I wonder if it might make 
more sense to just convert the assembler program to LE.


From: IBM Mainframe Discussion List  on behalf of 
Pommier, Rex 
Sent: Thursday, November 11, 2021 3:31 PM
To: IBM-MAIN@LISTSERV.UA.EDU 
Subject: specific purpose for the REUS parameter in a binder operation

Hi list,

I'm trying to figure out the practical usage of the REUS - and by extension the 
CEEPIPI module used to set up a non-LE assembler program for reuse.  I've read 
the manual and spent the better part of a day doing additional reading and 
can't get it thru my thick skull just what it is used for in my scenario.

We're upgrading to Cobol 6.3 and hit a snag in that we have a statically linked 
load module that is a combination of Cobol programs (being recompiled under the 
6.3 compiler) and some assembler programs.  The driver is a non-LE assembler 
program.  At the beginning of the old program was a call to IGZERRE.  Under 
6.x, IGZERRE is no longer supported and we need to change to the CEEPIPI 
routine to designate the program as reusable.  It is a batch program that is 
not doing anything out of the ordinary that I can tell.

So here are my questions.  Let's assume the driver is program "A" and the Cobol 
program being called is program "C".   Further assume that as A is running, it 
calls C each time a new record is read that A has to process.  If I don't have 
the load module linked with REUS, does the system fetch C every time it is 
called?  I would think not being that they're statically linked together.  If 
this is the case, is there any benefit to setting up the reusability in the 
module or would it be OK to just strip the IGZERRE out of the program and let 
it default to not reusable?

Thanks,

Rex


--
The information contained in this message is confidential, protected from 
disclosure and may be legally privileged. If the reader of this message is not 
the intended recipient or an employee or agent responsible for delivering this 
message to the intended recipient, you are hereby notified that any disclosure, 
distribution, copying, or any action taken or action omitted in reliance on it, 
is strictly prohibited and may be unlawful. If you have received this 
communication in error, please notify us immediately by replying to this 
message and destroy the material in its entirety, whether in electronic or hard 
copy format. Thank you.


--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN


Re: conditional JCL - Reinvent the wheel?

2021-11-11 Thread Massimo Biancucci
Colin,

adding to Sri example, we wrote a simple REXX who "understands" a parm like:

ST EXEC PGM=XXCOND,PARM=('"&V1"comparison_operator"&V2"')

where &OP can be =,>,<,<>

like ('"A"="B"')
('"A">"B"') and so on

The simple REXX pgm returns a step CC 1 if the condition is true or zero if
not.
So, nothing really new but more customizable.

Best regards.
Max


Mail
priva di virus. www.avast.com

<#DAB4FAD8-2DD7-40BB-A1B8-4E2AA1F9FDF2>

Il giorno mer 10 nov 2021 alle ore 15:05 Sri h Kolusu 
ha scritto:

> Colin,
>
> Why not use IEBCOMPR to compare the symbols and set the return code? If
> both symbols match RC= 0 else RC =8.  something like this (I used COND ,
> but you can use IF ELSE after the first compare.)
>
> // EXPORT SYMLIST=*
> // SET DELUSER='NO'
> // SET DEFUSER='YES'
> /*
> //**
> //* Peform a compare of the set parms  *
> //**
> //COMPARE  EXEC PGM=IEBCOMPR
> //SYSPRINT DD SYSOUT=*
> //SYSUT1   DD *,SYMBOLS=JCLONLY
> &DEFUSER
> //SYSUT2   DD *,SYMBOLS=JCLONLY
> &DELUSER
> //SYSINDD DUMMY
> /*
> //**
> //* SKIP delete user if compare step returns RC = 8*
> //**
> //DELUSER  EXEC PGM=IKJEFT01,COND=(8,EQ,COMPARE)
> //SYSTSPRT DD SYSOUT=*,DCB=BLKSIZE=121
> //SYSPRINT DD SYSOUT=*
> //SYSTSIN  DD *,SYMBOLS=JCLONLY
> /*
>
>
> Thanks,
> Kolusu
>
>
> "IBM Mainframe Discussion List"  wrote on
> 11/10/2021 05:29:37 AM:
>
> > From: "Colin Paice" 
> > To: IBM-MAIN@LISTSERV.UA.EDU
> > Date: 11/10/2021 05:31 AM
> > Subject: [EXTERNAL] conditional JCL - Reinvent the wheel?
> > Sent by: "IBM Mainframe Discussion List" 
> >
> > I'm looking at ways of doing customisation, and want an easy way to
> > run/omit steps.
> > For example
> > ADDUSER  ZZZ NAME('COLINS')NOPASSWORD -
> >OMVS(AUTOUID  ASSIZE(25600)  THREADS(512))
> >
> > being a good person, I also want to provide a delete step
> > DELUSER Z.
> > My fantasy JCL looks like
> > // SET DELUSER='NO'
> > // SET DEFUSER=YES
> > // SET...
> >
> > //IF  (DELUSER='YES')
> > ..
> > DELUSER 
> > //ENDIF
> > //IF  (DEFUSER='YES')
> > ..
> > ADDUSER  ..
> > //ENDIF
> > ...
> >
> > So the first time,  you set DELUSER=NO, DEFUSER=YES... and run it. the
> > second time
> > you set DELUSER=YES, DEFUSER=YES, and to give up,and clean up you set
> > DELUSER=YES, DEFUSER=NO.
> >
> > What is the best way of doing this?
> >
> > The JCL 'IF' statement uses RC, or ABEND, and not on set variables.
> >
> > Ive set up a small program "COND",PARM='A = &ABC' which sets RC = 0 if
> they
> > are the same,
> > so now I can use
> > //DELUSER EXEC PGM=COND,PARM='DELUSER = YES'
> > //DEFUSER EXEC PGM=COND,PARM='DEFUSER = YES'
> > //DELETE EXEC PGM=... ,COND=(0,NE,DELUSER)
> > //DEFINE  EXEC PGM=...,COND=(0,NE,DEFUSER)
> >
> > Is there a better way of doing this?   I would prefer one job, because I
> > want to do global edit of myuserid to Z etc
> >
> > In the past Ive put the deletes inline with the define, but the output
> > looks messy, because the  first time delete fails.
> >
> > Colin
> >
> > --
> > For IBM-MAIN subscribe / signoff / archive access instructions,
> > send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>
> --
> For IBM-MAIN subscribe / signoff / archive access instructions,
> send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN
>

--
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to lists...@listserv.ua.edu with the message: INFO IBM-MAIN