newsgroups-index (beta)

Current group: bit.listserv.vse-l

Re: calling all VSAM experts...

Re: calling all VSAM experts...  
Glen Gunselman
 Re: calling all VSAM experts...  
Michael Rosinger
 Re: calling all VSAM experts...  
RJacobson at decare.com
 RE: calling all VSAM experts...  
Kevin Corkery
 Re: calling all VSAM experts...  
The Family
 RE: calling all VSAM experts...  
Eugene S. Hudders
 * $$ PUN DISP=I processing  
industrynews at dapsco.com
 Re: * $$ PUN DISP=I processing  
The Family
 Re: * $$ PUN DISP=I processing  
Tony Thigpen
 Re: * $$ PUN DISP=I processing  
industrynews at dapsco.com
 Re: * $$ PUN DISP=I processing  
Gustavo Torres
 Re: * $$ PUN DISP=I processing  
industrynews at dapsco.com
 Re: * $$ PUN DISP=I processing  
Gustavo Torres
 Re: * $$ PUN DISP=I processing  
industrynews at dapsco.com
 Re: * $$ PUN DISP=I processing  
Gustavo Torres
 Re: * $$ PUN DISP=I processing  
RJacobson at decare.com
 Re: * $$ PUN DISP=I processing  
industrynews at dapsco.com
 Re: * $$ PUN DISP=I processing  
The Family
From:Glen Gunselman
Subject:Re: calling all VSAM experts...
Date:21 Jan 2005 06:13:10 -0800
Michael,

The number you are looking for is 123 not 128. Search the VSE/VSAM
Commands manual for 123 and you will find the details.

Many many years ago in a shop with very fragmented VSAM space I had a
test file that used 120+ extents.

have a good weekend,
Glen Gunselman

>>> mrosinger@cciws.com 1/21/2005 5:19:02 AM >>>
List,

Someone is telling me that it is possible to have up to 128 extents
for
a VSAM dataset on a single volume. Everything that I've always read
and
heard is that the maximum is 16 extents per volume. Is this true? If
it
is, is it true for VSAM-managed SAM datasets as well or just true
VSAM?

If there is any basis for this claim, could you point me to the proper
place in one of the VSAM books? TIA

--
Michael Rosinger
Systems Programmer/DBA
Computer Credit, Inc.
640 W. 4th Street
Winston-Salem, NC 27101
voice : 336-761-1524
fax : 336-761-8852
email : mrosinger at cciws dot com
From:Michael Rosinger
Subject:Re: calling all VSAM experts...
Date:Fri, 21 Jan 2005 10:05:05 -0500
Glen,

Yes, that must be what they are referring to. Can you tell me if this
applies to VSAM-managed SAM?

We use a whole lot of *implicitly* defined VSAM/SAM for transient data
files. We never get more than 16 extents per volume in the catalog. From
what I can tell in the books, to take advantage of the 123 extents the
dataset has to be defined REUSE and it seems to hint that it must be
defined *explicitly*. If that's the case, that would explain why we never
see more than 16 extents per volume. What do you think?

Glen Gunselman wrote:

> Michael,
>
> The number you are looking for is 123 not 128. Search the VSE/VSAM
> Commands manual for 123 and you will find the details.
>

--
Michael Rosinger
Systems Programmer/DBA
Computer Credit, Inc.
640 W. 4th Street
Winston-Salem, NC 27101
voice : 336-761-1524
fax : 336-761-8852
email : mrosinger at cciws dot com
From:RJacobson at decare.com
Subject:Re: calling all VSAM experts...
Date:21 Jan 2005 07:29:56 -0800

For a VSAM file to have more than 16 extents per volume it must be defined
NOREUSE. When managed-SAM files are defined implicitly, they are defined
REUSE, so they are subject to the 16 extent per volume limit. Therefore,
your only chance to have a managed-SAM file with more than 16 extents per
volume is to define it explicitly.

Bob Jacobson
(651) 994-5329
rjacobson@decare.com




Michael Rosinger
com> To
Sent by: "VSE Discussion List"
owner-vse-l@Lehig
h.EDU cc

Subject
01/21/2005 09:05 Re: calling all VSAM experts...
AM


Please respond to
vse-l@Lehigh.EDU






Glen,

Yes, that must be what they are referring to. Can you tell me if this
applies to VSAM-managed SAM?

We use a whole lot of *implicitly* defined VSAM/SAM for transient data
files. We never get more than 16 extents per volume in the catalog. From
what I can tell in the books, to take advantage of the 123 extents the
dataset has to be defined REUSE and it seems to hint that it must be
defined *explicitly*. If that's the case, that would explain why we never
see more than 16 extents per volume. What do you think?

Glen Gunselman wrote:

> Michael,
>
> The number you are looking for is 123 not 128. Search the VSE/VSAM
> Commands manual for 123 and you will find the details.
>

--
Michael Rosinger
Systems Programmer/DBA
Computer Credit, Inc.
640 W. 4th Street
Winston-Salem, NC 27101
voice : 336-761-1524
fax : 336-761-8852
email : mrosinger at cciws dot com
From:Kevin Corkery
Subject:RE: calling all VSAM experts...
Date:21 Jan 2005 07:40:13 -0800
A side benefit of explicit definition is that the CISZ can be made larger
than it would normally default. During an implicit define the CISZ is set
to hold 2 physical buffers. VSAM will only double buffer a managed sam
file. If you explicitely define the file you can set the CISZ to hold more
than 2 physical buffers per CI. This can lead to bettere device utilization
and overall faster processing by minimizing I/O. And yes, NOREUSE doe not
have the 16 extent/volume limitation.

Kevin P Corkery
Independent Consultant
Voorhees, New Jersey

-----Original Message-----
From: owner-vse-l@Lehigh.EDU [mailto:owner-vse-l@Lehigh.EDU] On Behalf Of
RJacobson@decare.com
Sent: Friday, January 21, 2005 10:28 AM
To: VSE Discussion List
Subject: Re: calling all VSAM experts...



For a VSAM file to have more than 16 extents per volume it must be defined
NOREUSE. When managed-SAM files are defined implicitly, they are defined
REUSE, so they are subject to the 16 extent per volume limit. Therefore,
your only chance to have a managed-SAM file with more than 16 extents per
volume is to define it explicitly.

Bob Jacobson
(651) 994-5329
rjacobson@decare.com




Michael Rosinger
com> To
Sent by: "VSE Discussion List"
owner-vse-l@Lehig
h.EDU cc

Subject
01/21/2005 09:05 Re: calling all VSAM experts...
AM


Please respond to
vse-l@Lehigh.EDU






Glen,

Yes, that must be what they are referring to. Can you tell me if this
applies to VSAM-managed SAM?

We use a whole lot of *implicitly* defined VSAM/SAM for transient data
files. We never get more than 16 extents per volume in the catalog. From
what I can tell in the books, to take advantage of the 123 extents the
dataset has to be defined REUSE and it seems to hint that it must be defined
*explicitly*. If that's the case, that would explain why we never see more
than 16 extents per volume. What do you think?

Glen Gunselman wrote:

> Michael,
>
> The number you are looking for is 123 not 128. Search the VSE/VSAM
> Commands manual for 123 and you will find the details.
>

--
Michael Rosinger
Systems Programmer/DBA
Computer Credit, Inc.
640 W. 4th Street
Winston-Salem, NC 27101
voice : 336-761-1524
fax : 336-761-8852
email : mrosinger at cciws dot com
From:The Family
Subject:Re: calling all VSAM experts...
Date:Fri, 21 Jan 2005 16:55:50 GMT

oops!

"From what I can tell in the books, to take advantage of the 123 extents the
dataset has to be defined (NO)REUSE".

Which, pretty much dictates explicit definition.

Thanks,

Gary Walker



"Michael Rosinger" wrote in message
news:41F11A21.ACDD71AF@cciws.com...
> Glen,
>
> Yes, that must be what they are referring to. Can you tell me if this
> applies to VSAM-managed SAM?
>
> We use a whole lot of *implicitly* defined VSAM/SAM for transient data
> files. We never get more than 16 extents per volume in the catalog. From
> what I can tell in the books, to take advantage of the 123 extents the
> dataset has to be defined REUSE and it seems to hint that it must be
> defined *explicitly*. If that's the case, that would explain why we never
> see more than 16 extents per volume. What do you think?
>
> Glen Gunselman wrote:
>
> > Michael,
> >
> > The number you are looking for is 123 not 128. Search the VSE/VSAM
> > Commands manual for 123 and you will find the details.
> >
>
> --
> Michael Rosinger
> Systems Programmer/DBA
> Computer Credit, Inc.
> 640 W. 4th Street
> Winston-Salem, NC 27101
> voice : 336-761-1524
> fax : 336-761-8852
> email : mrosinger at cciws dot com
>
>
From:Eugene S. Hudders
Subject:RE: calling all VSAM experts...
Date:21 Jan 2005 10:36:16 -0800
Hi Michael:

I am not sure that you have this correct. VSAM allows up to 123 extents per
component, that is, either the data or the index can have up to 123 extents.
Files with the REUSE attribute are limited to 16 extents as well as files
that have the UNIQUE designation. In one of the replies this AM I believe I
saw that the manual says that you are limited to 16 extents for a SAM
managed file.

Regards,
Gene
From:industrynews at dapsco.com
Subject:* $$ PUN DISP=I processing
Date:21 Jan 2005 07:32:56 -0800
Am I correct that punching multiple * $$ JOB and * $$ EOJ cards
through the DISP=I process has no effect in terms creating separate POWER
jobs in the RDR queue? If so, is the only way to achieve separate entries
is to use the SEGMENT macro? ...or, is there another way?

Sincerely,

Dave Clark

DAPSCO Information Systems
3110 Kettering Boulevard
Dayton, Ohio 45439
(937) 294-5331
From:The Family
Subject:Re: * $$ PUN DISP=I processing
Date:Fri, 21 Jan 2005 16:55:50 GMT

wrote in message
news:OF7022DC68.8BC04F44-ON85256F90.0054A3CF-85256F90.00556213@winwholesale.com...
> Am I correct that punching multiple * $$ JOB and * $$ EOJ cards
> through the DISP=I process has no effect in terms creating separate POWER
> jobs in the RDR queue? If so, is the only way to achieve separate entries
> is to use the SEGMENT macro? ...or, is there another way?
>
> Sincerely,
>
> Dave Clark
>
> DAPSCO Information Systems
> 3110 Kettering Boulevard
> Dayton, Ohio 45439
> (937) 294-5331
>

Yes, you are correct, *$$job & *$$eoj have no effect when used
in disp=i processing. Yes, the other way is subsequent *$$pun ...
disp=i statements.

But, by your segment reference. it sounds like your disp=i process-
ing is programmatic. If true, and since you are operating inside a
program, I can think of no other way to slice up the pun output/
rdr input, other than segment.

However, if it's Cobol(really any language) one used to be able to
apply an alternative segmentation technique(I think is was called
event segmentation?) by placing one/more *$$pun ...disp=i state-
ments behind the program's execute statement, and just "accepting"
(Cobol) them one at a time. Of course, the following caveats apply:

.. Your application program probably should forego any control
statement input using accept for jecl & data.
.. Traditionally, you wouldn't know(variable) the # of jecl *$$pun
statements to supply until during program execution. However,
since your not dealing with reports/jcl log, this might not be a
problem for you.

I haven't done this in a very long time, but I'd give it a try. It might
circumvent an assembly routine for segment.

* $$ job jnm=...
* $$ lst disp=....
// job ....
// log ....
// exec pgm=program
* $$ pun disp=i,class=....
* $$ pun disp=i,class=...

Any pun statements remaining at program conclusion probably will
just run on through, without creating a dummy/zero record spool
entry. However, with lst entries, you will often get the dummy entry.

Using the jnm= option, you could even name the entries, but that will
require much more synchronization between program execution and
*$$pun statements.
.....
/*
/&
* $$ eoj
From:Tony Thigpen
Subject:Re: * $$ PUN DISP=I processing
Date:21 Jan 2005 18:46:08 -0800
You need a dummy card between each of the * $$ PUN statements.
* $$ job jnm=...
* $$ lst disp=....
// job ....
// log ....
// exec pgm=program
* $$ pun disp=i,class=....
junk
* $$ pun disp=i,class=...
junk

Tony Thigpen


-----Original Message -----
From: The Family
Sent: 01/21/2005 11:55 AM
> wrote in message
> news:OF7022DC68.8BC04F44-ON85256F90.0054A3CF-85256F90.00556213@winwholesale.com...
>
>> Am I correct that punching multiple * $$ JOB and * $$ EOJ cards
>>through the DISP=I process has no effect in terms creating separate POWER
>>jobs in the RDR queue? If so, is the only way to achieve separate entries
>>is to use the SEGMENT macro? ...or, is there another way?
>>
>>Sincerely,
>>
>>Dave Clark
>>
>>DAPSCO Information Systems
>>3110 Kettering Boulevard
>>Dayton, Ohio 45439
>>(937) 294-5331
>>
>
>
> Yes, you are correct, *$$job & *$$eoj have no effect when used
> in disp=i processing. Yes, the other way is subsequent *$$pun ...
> disp=i statements.
>
> But, by your segment reference. it sounds like your disp=i process-
> ing is programmatic. If true, and since you are operating inside a
> program, I can think of no other way to slice up the pun output/
> rdr input, other than segment.
>
> However, if it's Cobol(really any language) one used to be able to
> apply an alternative segmentation technique(I think is was called
> event segmentation?) by placing one/more *$$pun ...disp=i state-
> ments behind the program's execute statement, and just "accepting"
> (Cobol) them one at a time. Of course, the following caveats apply:
>
> . Your application program probably should forego any control
> statement input using accept for jecl & data.
> . Traditionally, you wouldn't know(variable) the # of jecl *$$pun
> statements to supply until during program execution. However,
> since your not dealing with reports/jcl log, this might not be a
> problem for you.
>
> I haven't done this in a very long time, but I'd give it a try. It might
> circumvent an assembly routine for segment.
>
> * $$ job jnm=...
> * $$ lst disp=....
> // job ....
> // log ....
> // exec pgm=program
> * $$ pun disp=i,class=....
> * $$ pun disp=i,class=...
>
> Any pun statements remaining at program conclusion probably will
> just run on through, without creating a dummy/zero record spool
> entry. However, with lst entries, you will often get the dummy entry.
>
> Using the jnm= option, you could even name the entries, but that will
> require much more synchronization between program execution and
> *$$pun statements.
> ....
> /*
> /&
> * $$ eoj
>
>
>
From:industrynews at dapsco.com
Subject:Re: * $$ PUN DISP=I processing
Date:21 Jan 2005 10:23:55 -0800
owner-vse-l@Lehigh.EDU wrote on 01/21/2005 11:55:50 AM:
> Yes, you are correct, *$$job & *$$eoj have no effect when used
> in disp=i processing. Yes, the other way is subsequent *$$pun ...
> disp=i statements.

All output is from a single execution of a single program (RPG).

> However, if it's Cobol(really any language) one used to be able to
> apply an alternative segmentation technique(I think is was called
> event segmentation?) by placing one/more *$$pun ...disp=i state-
> ments behind the program's execute statement, and just "accepting"
> (Cobol) them one at a time.

I'm sorry, but I do not understand the value/benefit of reading the *
$$ PUN card from SYSIPT. Perhaps you could explain this further. However,
so that we are clear, I currently have the following job which would like
to "submit" one or more (variable number up to 100) additional jobs that
all run as separate POWER jobs.

* $$ JOB ...
* $$ LST ...
* $$ PUN DISP=I,...
// JOB DILFXTNS ...
// UPSI 00001000
// DATE 12/31/05
// EXEC PGM=LFEXTRCT,SIZE=AUTO
#LCL088DI
203204205206
/* EOD
/& EOJ
* $$ EOJ

The reason for the separate jobs is because I need to dynamically
capture the SYSLST output from each job for the purpose of using FTP to
send that report from the LST queue to a particular AS/400 output queue for
printing by an AS/400 user. The submitted job will have the following
content:

* $$ JOB ...
* $$ LST CLASS=Y,DISP=L,DEST=(,D203P1)
* $$ PUN DISP=I,...
// JOB DILFXTNS
// DATE 12/31/05
// UPSI 00001000
// EXEC PGM=LFEXTION,SIZE=AUTO
203
/* EOD
// SETPARM CO='203'
* $$ SLI LFXTNLCL
/& EOJ
* $$ EOJ

Thus, the SLI in the job above (with the following content) will capture
the POWER job name and number and pass these as parameters into a dynamic
FTP process.

/. FTP &CO TO WINSRV1
* $. LST DISP=D,CLASS=Z
// LIBDEF *,SEARCH=(PRD2.CONFIG,ESP.BSI),TEMP
// SETPARM JOBNM=' '
// SETPARM JOBNO=' '
// EXEC REXX=JOBINFO,JOBNM,JOBNO
// EXEC REXX=BSIREXXC,PARM='BSIFTP',JOBNM,JOBNO,CO
ID 00
OPEN WINSRV1.WINWHOLESALE.COM
USER xxxxxxxx
PASS xxxxxxxx
SYST
TYPE A
SITE NAMEFMT 1
SEND RCMD CALL PGM(PGM460/ACFTPPRTCL) PARM('EXTENSION' '')
CWD QSYS.LIB/DTA.LIB
*
* input from power queue
INPUT POWER LST *
STOR EXTENSION.FILE/EXTENSION.MBR
QUIT
/* EOD

So, to finish this long story, if there is another way to dynamically
determine the job name and number of more than one LST queue entry that are
all created out of a single job execution -- then I'm all ears. ;-)

Sincerely,

Dave Clark

DAPSCO Information Systems
3110 Kettering Boulevard
Dayton, Ohio 45439
(937) 294-5331
From:Gustavo Torres
Subject:Re: * $$ PUN DISP=I processing
Date:21 Jan 2005 10:49:23 -0800
Dave,

The next sample illustrates the reading of the
* $$ PUN card from SYSIPT:

* $$ JOB JNM=DTSUTIL,CLASS=P
// JOB DTSUTIL
// EXEC PROC=DTRICCF
// EXEC DTSUTIL
* $$ PUN CLASS=Q,JNM=MEMBER1
PUNCH MEMBER (66 MEMBER1 )
* $$ PUN CLASS=Q,JNM=MEMBER2
PUNCH MEMBER (66 MEMBER2 )
* $$ PUN CLASS=Q,JNM=MEMBER3
PUNCH MEMBER (66 MEMBER3 )
/*
/&
* $$ EOJ


On Fri, 21 Jan 2005 13:23:25 -0500, industrynews@dapsco.com
wrote:
> owner-vse-l@Lehigh.EDU wrote on 01/21/2005 11:55:50 AM:
> > Yes, you are correct, *$$job & *$$eoj have no effect when used
> > in disp=i processing. Yes, the other way is subsequent *$$pun ...
> > disp=i statements.
>
> All output is from a single execution of a single program (RPG).
>
> > However, if it's Cobol(really any language) one used to be able to
> > apply an alternative segmentation technique(I think is was called
> > event segmentation?) by placing one/more *$$pun ...disp=i state-
> > ments behind the program's execute statement, and just "accepting"
> > (Cobol) them one at a time.
>
> I'm sorry, but I do not understand the value/benefit of reading the *
> $$ PUN card from SYSIPT. Perhaps you could explain this further. However,
> so that we are clear, I currently have the following job which would like
> to "submit" one or more (variable number up to 100) additional jobs that
> all run as separate POWER jobs.
>
> * $$ JOB ...
> * $$ LST ...
> * $$ PUN DISP=I,...
> // JOB DILFXTNS ...
> // UPSI 00001000
> // DATE 12/31/05
> // EXEC PGM=LFEXTRCT,SIZE=AUTO
> #LCL088DI
> 203204205206
> /* EOD
> /& EOJ
> * $$ EOJ
>
> The reason for the separate jobs is because I need to dynamically
> capture the SYSLST output from each job for the purpose of using FTP to
> send that report from the LST queue to a particular AS/400 output queue for
> printing by an AS/400 user. The submitted job will have the following
> content:
>
> * $$ JOB ...
> * $$ LST CLASS=Y,DISP=L,DEST=(,D203P1)
> * $$ PUN DISP=I,...
> // JOB DILFXTNS
> // DATE 12/31/05
> // UPSI 00001000
> // EXEC PGM=LFEXTION,SIZE=AUTO
> 203
> /* EOD
> // SETPARM CO='203'
> * $$ SLI LFXTNLCL
> /& EOJ
> * $$ EOJ
>
> Thus, the SLI in the job above (with the following content) will capture
> the POWER job name and number and pass these as parameters into a dynamic
> FTP process.
>
> /. FTP &CO TO WINSRV1
> * $. LST DISP=D,CLASS=Z
> // LIBDEF *,SEARCH=(PRD2.CONFIG,ESP.BSI),TEMP
> // SETPARM JOBNM=' '
> // SETPARM JOBNO=' '
> // EXEC REXX=JOBINFO,JOBNM,JOBNO
> // EXEC REXX=BSIREXXC,PARM='BSIFTP',JOBNM,JOBNO,CO
> ID 00
> OPEN WINSRV1.WINWHOLESALE.COM
> USER xxxxxxxx
> PASS xxxxxxxx
> SYST
> TYPE A
> SITE NAMEFMT 1
> SEND RCMD CALL PGM(PGM460/ACFTPPRTCL) PARM('EXTENSION' '')
> CWD QSYS.LIB/DTA.LIB
> *
> * input from power queue
> INPUT POWER LST *
> STOR EXTENSION.FILE/EXTENSION.MBR
> QUIT
> /* EOD
>
> So, to finish this long story, if there is another way to dynamically
> determine the job name and number of more than one LST queue entry that are
> all created out of a single job execution -- then I'm all ears. ;-)
>
> Sincerely,
>
> Dave Clark
>
> DAPSCO Information Systems
> 3110 Kettering Boulevard
> Dayton, Ohio 45439
> (937) 294-5331
>
>
From:industrynews at dapsco.com
Subject:Re: * $$ PUN DISP=I processing
Date:21 Jan 2005 11:08:45 -0800
owner-vse-l@Lehigh.EDU wrote on 01/21/2005 01:48:39 PM:
> The next sample illustrates the reading of the
> * $$ PUN card from SYSIPT:

> * $$ JOB JNM=DTSUTIL,CLASS=P
> // JOB DTSUTIL
> // EXEC PROC=DTRICCF
> // EXEC DTSUTIL
> * $$ PUN CLASS=Q,JNM=MEMBER1
> PUNCH MEMBER (66 MEMBER1 )
> * $$ PUN CLASS=Q,JNM=MEMBER2
> PUNCH MEMBER (66 MEMBER2 )
> * $$ PUN CLASS=Q,JNM=MEMBER3
> PUNCH MEMBER (66 MEMBER3 )
> /*
> /&
> * $$ EOJ

Yes, but is that because DTSUTIL specifically supports programmatic
segmentation every time DTSUTIL reads in a PUN card? ...or, is that
because POWER inherently interprets the reading of the PUN card as a signal
to segment the current punch stream?

Sincerely,

Dave Clark

DAPSCO Information Systems
3110 Kettering Boulevard
Dayton, Ohio 45439
(937) 294-5331
From:Gustavo Torres
Subject:Re: * $$ PUN DISP=I processing
Date:21 Jan 2005 11:15:28 -0800
No, DTSUTIL don't know about PUN cards into SYSIPT,
the second (about POWER) is true. You can try this with your RPG pgm.

Gustavo


On Fri, 21 Jan 2005 14:08:38 -0500, industrynews@dapsco.com
wrote:
> owner-vse-l@Lehigh.EDU wrote on 01/21/2005 01:48:39 PM:
> > The next sample illustrates the reading of the
> > * $$ PUN card from SYSIPT:
>
> > * $$ JOB JNM=DTSUTIL,CLASS=P
> > // JOB DTSUTIL
> > // EXEC PROC=DTRICCF
> > // EXEC DTSUTIL
> > * $$ PUN CLASS=Q,JNM=MEMBER1
> > PUNCH MEMBER (66 MEMBER1 )
> > * $$ PUN CLASS=Q,JNM=MEMBER2
> > PUNCH MEMBER (66 MEMBER2 )
> > * $$ PUN CLASS=Q,JNM=MEMBER3
> > PUNCH MEMBER (66 MEMBER3 )
> > /*
> > /&
> > * $$ EOJ
>
> Yes, but is that because DTSUTIL specifically supports programmatic
> segmentation every time DTSUTIL reads in a PUN card? ...or, is that
> because POWER inherently interprets the reading of the PUN card as a signal
> to segment the current punch stream?
>
> Sincerely,
>
> Dave Clark
>
> DAPSCO Information Systems
> 3110 Kettering Boulevard
> Dayton, Ohio 45439
> (937) 294-5331
>
>
From:industrynews at dapsco.com
Subject:Re: * $$ PUN DISP=I processing
Date:21 Jan 2005 11:32:14 -0800
owner-vse-l@Lehigh.EDU wrote on 01/21/2005 02:14:45 PM:
> No, DTSUTIL don't know about PUN cards into SYSIPT,
> the second (about POWER) is true.
> You can try this with your RPG pgm.

So, you're saying that I can have a program punch 100 internally
generated cards and every 10 cards read from SYSIPT, as shown in the
following, and I will get 10 separate decks in the PUN queue? If my
program isn't actually reading these cards (as you say with DTSUTIL) and
POWER is, what kind of a result am I going to get on my READ effort within
the program? Very strange. Is the only reason it works with DTSUTIL is
because there are other SYSIPT cards in the stream?

* $$ PUN JNM=DECK0
// EXEC MYPGM,SIZE=AUTO
* $$ PUN JNM=DECK1
* $$ PUN JNM=DECK2
* $$ PUN JNM=DECK3
* $$ PUN JNM=DECK4
* $$ PUN JNM=DECK5
* $$ PUN JNM=DECK6
* $$ PUN JNM=DECK7
* $$ PUN JNM=DECK8
* $$ PUN JNM=DECK9
/* EOD

Sincerely,

Dave Clark

DAPSCO Information Systems
3110 Kettering Boulevard
Dayton, Ohio 45439
(937) 294-5331
From:Gustavo Torres
Subject:Re: * $$ PUN DISP=I processing
Date:21 Jan 2005 11:44:25 -0800
> Is the only reason it works with DTSUTIL is
> because there are other SYSIPT cards in the stream?

Yes, you need to insert sysipt data in order to work:

* $$ PUN JNM=DECK0
// EXEC MYPGM,SIZE=AUTO
data0
* $$ PUN JNM=DECK1
data1
* $$ PUN JNM=DECK2
data2
* $$ PUN JNM=DECK3
data3
...
...
...
/* EOD


On Fri, 21 Jan 2005 14:31:51 -0500, industrynews@dapsco.com
wrote:
> owner-vse-l@Lehigh.EDU wrote on 01/21/2005 02:14:45 PM:
> > No, DTSUTIL don't know about PUN cards into SYSIPT,
> > the second (about POWER) is true.
> > You can try this with your RPG pgm.
>
> So, you're saying that I can have a program punch 100 internally
> generated cards and every 10 cards read from SYSIPT, as shown in the
> following, and I will get 10 separate decks in the PUN queue? If my
> program isn't actually reading these cards (as you say with DTSUTIL) and
> POWER is, what kind of a result am I going to get on my READ effort within
> the program? Very strange. Is the only reason it works with DTSUTIL is
> because there are other SYSIPT cards in the stream?
>
> * $$ PUN JNM=DECK0
> // EXEC MYPGM,SIZE=AUTO
> * $$ PUN JNM=DECK1
> * $$ PUN JNM=DECK2
> * $$ PUN JNM=DECK3
> * $$ PUN JNM=DECK4
> * $$ PUN JNM=DECK5
> * $$ PUN JNM=DECK6
> * $$ PUN JNM=DECK7
> * $$ PUN JNM=DECK8
> * $$ PUN JNM=DECK9
> /* EOD
>
> Sincerely,
>
> Dave Clark
>
> DAPSCO Information Systems
> 3110 Kettering Boulevard
> Dayton, Ohio 45439
> (937) 294-5331
>
>
From:RJacobson at decare.com
Subject:Re: * $$ PUN DISP=I processing
Date:21 Jan 2005 11:54:34 -0800

DTSUTIL's interaction with the POWER PUN statements is as follows.

1. DTSUTIL starts and immediately requests a card from SYSIPT.

2. When POWER goes to satisfy DTSUTIL's request, it encounters the PUN
statement in the JCL, which is recognizes as its own and processes it. In
this case, that means that it starts a new punch file with whatever
attributes are called out on the PUN statement.

3. Once POWER has processed the PUN statement, it reads the next card in
the JCL and sends it to DTSUTIL. If that is a request to punch a member
from ICCF, then DTSUTIL punches it.

4. POWER loads the punched output into the open punch spool file whose
attributes were given in the PUN statement.

5. DTSUTIL requests another card to see what it is to do next.

6. POWER encounters another PUN statement. Since it for the same device as
the first PUN statement, POWER closes the current punch file and opens a
new one using the attributes from the latest PUN statement.

7. POWER reads the next card in the JCL and sends it to DTSUTIL.

This cycle continues until DTSUTIL terminates. For your program to punch
multiple jobs using this technique, it will need to read a card either
before or after each job is punched and the JCL will need to include a data
card for your program in between each of the PUN statements to force POWER
to segment the punch stream coming out of your program into separate spool
files.

Bob Jacobson
(651) 994-5329
rjacobson@decare.com




industrynews@daps
co.com
Sent by: To
owner-vse-l@Lehig "VSE Discussion List"
h.EDU
cc

01/21/2005 01:31 Subject
PM Re: * $$ PUN DISP=I processing


Please respond to
vse-l@Lehigh.EDU






owner-vse-l@Lehigh.EDU wrote on 01/21/2005 02:14:45 PM:
> No, DTSUTIL don't know about PUN cards into SYSIPT,
> the second (about POWER) is true.
> You can try this with your RPG pgm.

So, you're saying that I can have a program punch 100 internally
generated cards and every 10 cards read from SYSIPT, as shown in the
following, and I will get 10 separate decks in the PUN queue? If my
program isn't actually reading these cards (as you say with DTSUTIL) and
POWER is, what kind of a result am I going to get on my READ effort within
the program? Very strange. Is the only reason it works with DTSUTIL is
because there are other SYSIPT cards in the stream?

* $$ PUN JNM=DECK0
// EXEC MYPGM,SIZE=AUTO
* $$ PUN JNM=DECK1
* $$ PUN JNM=DECK2
* $$ PUN JNM=DECK3
* $$ PUN JNM=DECK4
* $$ PUN JNM=DECK5
* $$ PUN JNM=DECK6
* $$ PUN JNM=DECK7
* $$ PUN JNM=DECK8
* $$ PUN JNM=DECK9
/* EOD

Sincerely,

Dave Clark

DAPSCO Information Systems
3110 Kettering Boulevard
Dayton, Ohio 45439
(937) 294-5331
From:industrynews at dapsco.com
Subject:Re: * $$ PUN DISP=I processing
Date:21 Jan 2005 12:27:13 -0800
OK, thanks much. I've learned my new thing for the day. Time to go
home. ;-)

Sincerely,

Dave Clark

DAPSCO Information Systems
3110 Kettering Boulevard
Dayton, Ohio 45439
(937) 294-5331
From:The Family
Subject:Re: * $$ PUN DISP=I processing
Date:Fri, 21 Jan 2005 23:14:14 GMT

You asked for additional explanation(s), but it appears that many
such explanations have been submitted by others. In summary,
Power does pull off the *$$pun statement in response to the
ipt read. However, I did forget to mention the interspersed
statement, such as:

// exec pgm=
* $$ pun
"empty statement"
* $$ pun
"empty statement"
/*

However, my oversight was corrected by another respondent.

Unfortunately, although I was once conversant in RPG, I'm either
not any longer, or choose not to be. However, I'm sure the opera-
tion is identical, whether RPG, Cobol, Assembly, or ??.

Based on your final update, I'll assume the only questions remaining
may be answered by related testing. Please notify, if this is incorrect.

Thanks,

Gary Walker


wrote in message
news:OFC5C81071.76A61302-ON85256F90.0062CA74-85256F90.00650587@winwholesale.com...
> owner-vse-l@Lehigh.EDU wrote on 01/21/2005 11:55:50 AM:
> > Yes, you are correct, *$$job & *$$eoj have no effect when used
> > in disp=i processing. Yes, the other way is subsequent *$$pun ...
> > disp=i statements.
>
> All output is from a single execution of a single program (RPG).
>
> > However, if it's Cobol(really any language) one used to be able to
> > apply an alternative segmentation technique(I think is was called
> > event segmentation?) by placing one/more *$$pun ...disp=i state-
> > ments behind the program's execute statement, and just "accepting"
> > (Cobol) them one at a time.
>
> I'm sorry, but I do not understand the value/benefit of reading the *
> $$ PUN card from SYSIPT. Perhaps you could explain this further.
However,
> so that we are clear, I currently have the following job which would like
> to "submit" one or more (variable number up to 100) additional jobs that
> all run as separate POWER jobs.
>
> * $$ JOB ...
> * $$ LST ...
> * $$ PUN DISP=I,...
> // JOB DILFXTNS ...
> // UPSI 00001000
> // DATE 12/31/05
> // EXEC PGM=LFEXTRCT,SIZE=AUTO
> #LCL088DI
> 203204205206
> /* EOD
> /& EOJ
> * $$ EOJ
>
> The reason for the separate jobs is because I need to dynamically
> capture the SYSLST output from each job for the purpose of using FTP to
> send that report from the LST queue to a particular AS/400 output queue
for
> printing by an AS/400 user. The submitted job will have the following
> content:
>
> * $$ JOB ...
> * $$ LST CLASS=Y,DISP=L,DEST=(,D203P1)
> * $$ PUN DISP=I,...
> // JOB DILFXTNS
> // DATE 12/31/05
> // UPSI 00001000
> // EXEC PGM=LFEXTION,SIZE=AUTO
> 203
> /* EOD
> // SETPARM CO='203'
> * $$ SLI LFXTNLCL
> /& EOJ
> * $$ EOJ
>
> Thus, the SLI in the job above (with the following content) will capture
> the POWER job name and number and pass these as parameters into a dynamic
> FTP process.
>
> /. FTP &CO TO WINSRV1
> * $. LST DISP=D,CLASS=Z
> // LIBDEF *,SEARCH=(PRD2.CONFIG,ESP.BSI),TEMP
> // SETPARM JOBNM=' '
> // SETPARM JOBNO=' '
> // EXEC REXX=JOBINFO,JOBNM,JOBNO
> // EXEC REXX=BSIREXXC,PARM='BSIFTP',JOBNM,JOBNO,CO
> ID 00
> OPEN WINSRV1.WINWHOLESALE.COM
> USER xxxxxxxx
> PASS xxxxxxxx
> SYST
> TYPE A
> SITE NAMEFMT 1
> SEND RCMD CALL PGM(PGM460/ACFTPPRTCL) PARM('EXTENSION' '')
> CWD QSYS.LIB/DTA.LIB
> *
> * input from power queue
> INPUT POWER LST *
> STOR EXTENSION.FILE/EXTENSION.MBR
> QUIT
> /* EOD
>
> So, to finish this long story, if there is another way to
dynamically
> determine the job name and number of more than one LST queue entry that
are
> all created out of a single job execution -- then I'm all ears. ;-)
>
> Sincerely,
>
> Dave Clark
>
> DAPSCO Information Systems
> 3110 Kettering Boulevard
> Dayton, Ohio 45439
> (937) 294-5331
>
   

Copyright © 2006 newsgroups-index   -   All rights reserved   -   Impressum