Sorry for joining this thread late.

You are correct Larry - the z/OS C library has very little help for PDS processing.   I wrote an RFE in 2015, but I don't expect to want it anymore if/when IBM responds :-)
https://www.ibm.com/developerworks/rfe/execute?use_case=viewRfe&CR_ID=80811

We recently released two new shell command utilities in Co:Z which have all sorts of options for loading/unloading PDS/PDSEs to/from zFS files.

https://www.dovetail.com/docs/zos-utilities/dsp-ref_getpds.html
https://dovetail.com/docs/zos-utilities/dsp-ref_putpds.html

The code is 98% C++, with bpam/bsam assembler routines.   Our C++ is 31-bit LE with XPLINK  (IMO the only rational linkage for C++ at scale).  Our assembler code is quite small and uses  XPLINK linkage macros (EDCXPRLG, EDCXEPLG) and also the XPLINK stack local data.  This is *so* much nicer than the old way of writing reentrant code.    All of the BSAM fancies (DECB/buffer queue, record blocking, etc) is done in C++.  Only one DCB (BPAM/BSAM).

The performance of loading/unloading a large PDS/PDSE is great - like two orders of magnitude faster than /bin/cp which opens the dataset for each and every member :-) We also support ISPF-style ENQs with DISP=SHR, which is really handy for many use cases, like devops.

Kirk Wolf
Dovetailed Technologies
http://dovetail.com

On 7/17/21 6:25 PM, Larry Slaten wrote:
Thanks to everyone for their input.  Since I was already using C/C++ I/0 functions to access a card file I thought that it would be simple enough to setup the DD:SYSLIB and that it would actually point me to a DCB address that I could use in my BLDL and LOAD macro(s).  I ended up defining the DCB in my assembler program and did all of the right stuff to maintain re-entrant code.  It would have been nice if the DCB address would have been easily accessible.

----------------------------------------------------------------------
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

Reply via email to