I've spent quite a bit of time with this approach, changing my list to USERS=(T045022,T046726,T047...), but I can't seem to figure out how to parse this list in the second macro. That &SYSLIST stuff just works in the primary macro. I Have a collection of $GRP macros which save data temporarily in some GBLC arrays, then a single $GRPTBL macro which generates the actual data. The reason that I do this is so that the $GRPTBL macro can sort the data.

What I really need is a two dimensional array, but I don't think that can really be done in a macro.

I am also hitting the a 256 byte limit in the length of an argument that can be passed to a macro. That looks like a real show-stopper that will force a complete redesign here.

$GRP TEST,USERS=(K001214,K001238,K003142,K003208,K003385,TLEAD01,     +
              TZ00035,TZ00056,TZ00061,TZ00529,T031682,T042407,        +
              T045022,T046726,T047542,T056131,T056313,T057345,        +
              T059608,T060979,T061753,T065238,T065361,T067636,        +
              T068437,T071219,T072918,T075851,T077911,T078676,        +
              T078999,T079290,T079829,T081658,T081897,T083056,        +
              T083239,T084039,T085210,T087556,T088009,T088530,        +
              T088532,T088583,T088740,T092728,T092738,T093433,        +
              T093897,T094643,T095122,T095507,T095556,T096058,        +
              T096148,T096199,T096255,T096518,T097282,T097579,        +
              T097617,T097623,T098914,T099268,T099301,T100052,        +
              )

** ASMA026S Macro call operand too long; 255 leading characters deleted - $GRP
         /(K001214,K001238,K003142,K003208,K003385,TLEAD01,TZ00035,TZ00056,TZ00


At 04:34 PM 10/7/2005, you wrote:
You're on the right track and I'm too lazy to actually do the coding.

Why not consider changing you macro syntax to something like

USERS=(T045022,T046726,T047542,T056131,...

And then is should be fairly trivial to separate out the sub-operands of
&USERS (&USERS(&SUBSCRP) as I recall) and loop based on the number of
sub-operands (N'&USERS as I recall).

The Assembler language reference is your friend (NOT Principles of
Operation).

You're on exactly the right track for generating your length halfword,
something like

        DC    AL2(LISTEND-*+2)
        DC    C'T045022'
        DC    C'T047542'
        ...
LISTEND EQU *

Regards,

Bob Stark [ProTech - When you're serious about Systems Management]
Consulting, Software, and Training for OS/390, UNIX and Internet
www.protechtraining.com       800-373-9188 x150       412-445-8072

----------------------------------------------------------------------
For IBM-MAIN subscribe / signoff / archive access instructions,
send email to [EMAIL PROTECTED] with the message: GET IBM-MAIN INFO
Search the archives at http://bama.ua.edu/archives/ibm-main.html

Reply via email to