How do you specify the size of an output object in specs at run time?
I want to expand directory POOL statements myself. I have:
'|gpa:Lookup w1 master detail', /* pull in any POOL records */
'|Spec a: w4 . b: w6 . Set (#0:=a;#1:=b) read', /* userid POOL LOW x HIGH
y ... */
'a: w1 . set #2:=8-Length(a)',
'while #0<=#1 Do',
'w1 n print #0 n.(#2) right w2 nw w1 nw',
'print #0 n.(#2) right w4-* nw',
'if #0<#1 then write fi',
'set #0+=1 done',
The intent is to take the userid from the USER or IDENTITY statement and
produce as many USER or IDENTITY statements with the userid expanded it to
UUUnnnnn, UUnnnnnn or Unnnnnnn as specified by the POOL statement.
The input to this has the USER/IDENTITY statement on the primary input to
the lookup, the POOL statement on the secondary. All statements have a
9-character prefix with the userid.
The ultimate purpose is to end up with a file to match against a RACF LU *
to pick out userids without RACF profiles, and profiles that aren't in the
directory.
I thought I'd seen, though of course can't remember or find where, the
n.(#2) construct for output placement.
It also doesn't work without the parens.
Any thoughts?
Tia,
--
Mike Harding
z/VM System Support
/sp