At 15:53 +0000 on 02/09/2013, [email protected] wrote about DSPSERV
with SCOPE=?:

I would like to develope a single routine which is passed
parameters, but the SCOPE= parameter does not seem to allow a
parameter to be passed.
For Example:
         DSPSERV CREATE,
               NAME=DSP_NAME,
               SCOPE=SINGLE,
               STOKEN=DSP_STOKEN,
               BLOCKS=DSP_BLOCKS,
               ORIGIN=DSP_ORIGIN,
               NUMBLKS=DSP_#BLK,
               MF=(E,WRKDSPLI)
*

Are there any recommended techniques that can be used to supply a Variable
for SCOPE ?
I was hoping I could use a register for it.

Why not just multi-path logic? You pass a flag for the scope in pass_scope
as 0=SINGLE, 4=ALL, 8=COMMON and go:

   L R1,pass_scope
   B *+4(R1)
   B SINGLE
   B ALL
   B COMMON
*
SINGLE DSPSERV CREATE,
               NAME=DSP_NAME,
               SCOPE=SINGLE,
               STOKEN=DSP_STOKEN,
               BLOCKS=DSP_BLOCKS,
               ORIGIN=DSP_ORIGIN,
               NUMBLKS=DSP_#BLK,
               MF=(E,WRKDSPLI)
     B  DONE
ALL    DSPSERV CREATE,
               NAME=DSP_NAME,
               SCOPE=ALL,
               STOKEN=DSP_STOKEN,
               BLOCKS=DSP_BLOCKS,
               ORIGIN=DSP_ORIGIN,
               NUMBLKS=DSP_#BLK,
               MF=(E,WRKDSPLI)ALL

    B DONE
COMMON DSPSERV CREATE,
               NAME=DSP_NAME,
               SCOPE=COMMON,
               STOKEN=DSP_STOKEN,
               BLOCKS=DSP_BLOCKS,
               ORIGIN=DSP_ORIGIN,
               NUMBLKS=DSP_#BLK,
               MF=(E,WRKDSPLI)
DONE DS 0H

Reply via email to