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
