Hi John,
not an answer to your very interesting LE suggestion, which I will study in
details later.
But you mention somewhere that you are trying out the IEFPRMLB macro, and are
using both ALLOCATE and FREE - as I recall.
I have a program reading a parmlib member and creating a REXX stem. In there I
just use IEFPRMLB with Request=ALLOCATE, read=YES and freeclose=YES , which
does the allocate, read and close in one go. Of course the buffer has to be big
enough, but if it isn't you will be told how big it needs to be. A test shows
that there is no allocation after the program has finished, so I take that to
prove that the FREECLOSE=YES actually works.
My call:
IEFPRMLB REQUEST=ALLOCATE,ALLOCDDNAME=ddname,BLANK72=YES,
CALLERNAME=callname,MEMNAME=mbrname,MOUNT=NO,
READ=YES,READBUF=(10),RETMSG=NO,S99RB=NO,WAITDSN=NO,
RETCODE=prrc,RSNCODE=prrs,FREECLOSE=YES
Another thing, one simple method for FREE and ALOCATE could be calling BPXWDYN
like this:
Link EP=BPXWDYN,param=alloc,VL=1
alloc ds 0a
dc al2(l'allocstr)
allocstr dc c'alloc dd(meals) dsn(SYSA.LIB.CNTL) shr reuse'
Note, BPXWDYN is re-entrant, so you could probably LOAD and CALL it, but I
haven't tried.
rgds
Willy