Thank you Tom. I am able to see DLQM being passed to my EXEC.
Have a great weekend, Dave -----Original Message----- From: IBM Mainframe Discussion List [mailto:[email protected]] On Behalf Of Tom Conley Sent: Friday, September 23, 2016 11:47 AM To: [email protected] Subject: Re: Help with MQ and MA10: MQ Series for MVS/ESA ISPF Utilities On 9/22/2016 3:38 PM, Hansen, Dave L - Eagan, MN wrote: > 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. > Dave, Try CMD(MQDLQ &DLQM), then in the Rexx, parse arg dlqm . Regards, Tom Conley ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN ---------------------------------------------------------------------- For IBM-MAIN subscribe / signoff / archive access instructions, send email to [email protected] with the message: INFO IBM-MAIN
