Re: Class Notes for a PL/I Course.

"Giuseppe Vitillaro giuseppe-yuD/ahkh7LvrZ44/[email protected] [H390-MVS]" <[email protected]> Mon, 7 Oct 2019 13:23:41 +0200 (CEST)
Newsgroups gmane.comp.emulators.hercules390.mvs
Message-ID <[email protected]>
On Sun, 6 Oct 2019, Giuseppe Vitillaro giuseppe-yuD/ahkh7LvrZ44/[email protected] [H390-MVS] wrote:

> P.S. I translated the short piece of C code I wrote
> time ago to access DDNAMES, under the advices of Tony,
> in PL/I (F) and it seems to work so far.

I think my LISTDDN C implementation has been
translated correctly to PL/I now:

DDN3                    PL1                     GO
PGM=*.DD  SYS19280.T130716.RA000.DDN3.GOSET             GO        7D  81  02                            0
STEPLIB   SYSC.LINKLIB                                            7D  48  02                            0
           SYSC.PL1LIB                                             00  48  00                            0
SYS02122  UCSYSCPK                                                00  0C  00                            0
SYSPRINT  JES2.JOB01479.SO0104                                    81  81  40                          125
VBDS      PEPPE.ASM.IEBCOPY1                                      74  48  40                        19056
SYS02124  SYS1.UCAT.PEPPE                                         00  0C  00                            0
FBDS      PEPPE.XMIT.LIB                                IEB1      80  48  02                           80

JES2 reports:

IEF236I ALLOC. FOR DDN3 GO PL1
IEF237I 251  ALLOCATED TO PGM=*.DD
IEF237I 253  ALLOCATED TO STEPLIB
IEF237I 253  ALLOCATED TO
IEF237I 253  ALLOCATED TO SYS02122
IEF237I JES2 ALLOCATED TO SYSPRINT
IEF237I 191  ALLOCATED TO VBDS
IEF237I 191  ALLOCATED TO SYS02124
IEF237I 196  ALLOCATED TO FBDS

IEF285I   SYS19280.T130716.RA000.DDN3.GOSET
IEF285I   VOL SER NOS= WORK00.
IEF285I   SYSC.LINKLIB
IEF285I   VOL SER NOS= SYSCPK.
IEF285I   SYSC.PL1LIB
IEF285I   VOL SER NOS= SYSCPK.
IEF285I   UCSYSCPK
IEF285I   VOL SER NOS= SYSCPK.
IEF285I   JES2.JOB01479.SO0104
IEF285I   PEPPE.ASM.IEBCOPY1
IEF285I   VOL SER NOS= PEPCAT.
IEF285I   SYS1.UCAT.PEPPE
IEF285I   VOL SER NOS= PEPCAT.
IEF285I   PEPPE.XMIT.LIB
IEF285I   VOL SER NOS= PEP005.

I think the PL/I code is correctly following MVS
control blocks to the DDNAME JES list.

So, may I trust the LRECL now?

If I understood correctly, at least in modern PL/I,
is possible to dynamically define LRECL in the
"FILE ENV" or in the "OPEN TITLE".

If PL/I(F) support it, VS2FB may store the LRECL
of an IEBCOPY VS input dataset into an FB stream and
FB2VS may restore the very same LRECL, beside
what the user has defined in the DDNAME DCB, into
the VS dataset.

My only doubt left is about BLKSIZE.

I can't see it in the JFCB, bit I'm not sure BLKSIZE
if actually needed for restoring IEBCOPY datasets,
actually.


Peppe.