Dear Group,

   I am trying to get the ISPF based tool MQDLQ to work with MQ V8.  The 
program MQDLQ0 is part of MA10 and wants a Queue Manager name as input.  I have 
tried ISPF PARM and ISPF VPUT.  Does anyone have MQDLQ working from a panel 
that supplies the Queue Manager Name?

  @MQ EXEC starts this up (MQMQ.ISPPLIB and MQQM.ISPLLIB have the code):
"ALTLIB ACTIVATE APPLICATION(CLIST) DATASET('MQM.SCSQEXEC')"
"ISPEXEC LIBDEF ISPPLIB DATASET
ID('MQM.SCSQPNLE','MQMQ.ISPPLIB')"
"ISPEXEC LIBDEF ISPTLIB DATASET ID('MQM.SCSQTBLE')"
"ISPEXEC LIBDEF ISPMLIB DATASET ID('MQM.SCSQMSGE')"
"ISPEXEC LIBDEF ISPLLIB DATASET
ID('MQM.SCSQAUTH','MQM.SCSQANLE','MQMQ.ISPLLIB')"
"ISPEXEC SELECT PANEL(MQAPPS)"
"ALTLIB DEACTIVATE APPLICATION(CLIST)"

MQAPPS PANEL (cut down):
%   Z +MQDLQ       - Invoke MQM Dead Letter Queue on MQM%===> _DLQM+
)INIT
VGET (DLQM) PROFILE
.cursor = ZCMD
)PROC
)PROC
&ZQ = &Z
  IF (&ZCMD ¬= ' ')
    &ZQ = TRUNC(&ZCMD,'.')
    IF (&ZQ = ' ')
      .MSG = ISRU000
    IF (&ZQ = 'D')
      VER (&DLQM,NB)
  &ZSEL = TRANS( &ZQ
                Z,'CMD(MQDLQ)  NEWAPPL(MQDL) PASSLIB PARM(&DLQM)'
              ' ',' '
                X,'EXIT'
                *,'?' )
  &ZTRAIL = .TRAIL
VPUT (DLQM) PROFILE
)END

MQDLQ (REXX):
TRACE I
ADDRESS ISPEXEC "VGET (DLQM) PROFILE"
ADDRESS TSO
SAY 'DLQM =' DLQM
ISPEXEC SELECT PGM(MQDLQ0) PARM('DLQM')

MQDLQ (CLIST):
PROC 1 QMGR
ISPEXEC SELECT PGM(MQDLQ0) PARM(&QMGR)


So I enter @MQ.  I get my first panel.  It remembered DLQM from the last run.  
I enter "Z" and get:
ISPD206
Conflicting parameters
CMD conflicts with another keyword.
Panel line where error was detected:
ZSEL = CMD(MQDLQ)  NEWAPPL(MQDL) PASSLIB PARM(QQA1)
So I never left the panel code.

Ok, I removed PARM(&DLQM)  ==> Z,'CMD(MQDLQ)  NEWAPPL(MQDL) PASSLIB'
So I enter @MQ. I get my first panel.  It remembered DLQM from the last run.  I 
enter "Z" and get:
     4 *-* ADDRESS ISPEXEC "VGET (DLQM) PROFILE"
       >L>   "VGET (DLQM) PROFILE"
       +++ RC(8) +++
     6 *-* ADDRESS TSO
     7 *-* SAY 'DLQM =' DLQM
       >L>   "DLQM ="
       >V>   ""
       >O>   "DLQM = "
DLQM =
     9 *-* ISPEXEC SELECT PGM(MQDLQ0) PARM('DLQM')
       >L>   "ISPEXEC"
       >L>   "SELECT"
       >O>   "ISPEXEC SELECT"
       >L>   "MQDLQ0"
     9 +++ ISPEXEC SELECT PGM(MQDLQ0) PARM('DLQM')
Error running MQDLQ, line 9: Routine not found
***
Well I left the PANEL code and invoked MQDLQ but I didn't get DLQM back from 
the ISPF VGET.

    In my first attempt I tried to pass a PARM(&DLQM).  The NEWAPPL has 
something to do with the LIBDEFS.
Q). How do I pass a PARM in the )PROC section of an ISPF panel?  ZSEL = 
CMD(MQDLQ)  NEWAPPL(MQDL) PASSLIB PARM(QQA1) results in: CMD conflicts with 
another keyword.  Not sure why.

  On my second attempt I tried to use VPUT and VGET.  My VPUT works because 
when I go back in I see what I last typed for a field value.
Q). How do I pull in my ISPF VAR?  I have used VGET before: ADDRESS ISPEXEC 
"VGET (MYCMD)".  The Default list is ASIS, I used PROFILE.  My panel picks it 
up, but my REXX/CLIST doesn't find it.

  Yup, I know last one didn't resolve MQDLQ0 but I still am trying to get my 
variable to work.  I keep spinning this around but I just haven't found my way 
through it.


      Many thanks as always,  Dave

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