A bit late in the day (some email authorization problems when I tried to
post this), but the following would allow you to add ('A'), delete ('D')
and edit ('S') TSO commands in your MACCMDS table. You would need also
to add panel ZCOMMAND (shown further below) to your ISPPLIB concat for
this to work.

BTW Bypass label 'COPYBACK:' if you do not want to overwrite your
original MACCMDS.

Ignore the 'ZA' command at label 'EXECUTE_ZCOMMAND:' - it's my thing.

But try this Clist, after adjusting it to suit your own environment.

/*-------------------------------------------------------------------*/
/* CLIST ZCOMMAND TO ADD/DISPLAY ENTRIES IN THE CMD TABLE            */
/*                                                                   */
/* 1996/07/19 CMP                                                    */
/*-------------------------------------------------------------------*/
CONTROL: +
  CONTROL MAIN END(ENDO)
  IF &DEBUG = DEBUG | &DEBUG = D THEN +
    CONTROL LIST SYMLIST CONLIST MSG
  ELSE +
    CONTROL NOLIST NOSYMLIST NOCONLIST NOMSG

INITS: +
  FREE FI(SYSIN)
  FREE FI(SYSPRINT)
  SET TABLEDSN = &SYSUID..ISPTLIB
  SET TEMPTDSN = &SYSUID..TABLEST

COPYTO: +
  ALLOC FI(SYSUT1) DA('&TABLEDSN(MACCMDS)') SHR KEEP
  ALLOC FI(SYSUT2) DA('&TEMPTDSN(MACCOPY)') +
    NEW CATALOG SPACE(15,15) RECFM(F B) TRACKS DIR(1) +
    BLKSIZE(11440) LRECL(80)
  ALLOC FI(SYSPRINT) SYSOUT(*)
  ALLOC FI(SYSIN)    DUMMY
  ISPEXEC SELECT PGM(IEBGENER)
  FREE FI(SYSIN)
  FREE FI(SYSPRINT)
  FREE FI(SYSUT1)
  FREE FI(SYSUT2)

PROCESS_DI: +
  SET MATABLE = '&TEMPTDSN'
  /* TABLE OUTPUT LIBRARY CHAIN */
  ISPEXEC LIBDEF MATABLE DATASET ID(&MATABLE)

  ISPEXEC TBSTATS MACCOPY STATUS1(STATUS1) STATUS2(STATUS2)
  IF &STATUS2 ¬= 1 THEN +
    ISPEXEC TBCLOSE MACCOPY LIBRARY(MATABLE)
  IF &STATUS1  = 1 +
  OR &STATUS1  = 2 THEN +
    ISPEXEC TBOPEN  MACCOPY WRITE LIBRARY(MATABLE)

WHILE_NOT_QUIT: +
  DO WHILE &RESP ¬= QUIT
    ISPEXEC ADDPOP
    ISPEXEC TBDISPL MACCOPY PANEL(ZCOMMAND)
    ISPEXEC REMPOP

SELECT_S: +
    SELECT (&S)
      WHEN (D) +
DELETE_ZCOMMAND: +
        DO
        ISPEXEC TBDELETE MACCOPY
        SET S =
        ENDO DELETE_ZCOMMAND
      WHEN (A) +
ADD_ZCOMMAND: +
        DO
        DO WHILE &RESP ¬= QUIT
          ISPEXEC DISPLAY PANEL(ZCOMMAN0)
          ENDO
        SET RESP =
        SET S =
        ISPEXEC TBADD MACCOPY MULT(10)
        ENDO ADD_ZCOMMAND
      WHEN (S) +
EXECUTE_ZCOMMAND: +
        DO
        /* NOTE: WE AVOID INVOKING %ZCOMMAND RECURSIVELY VIA 'ZA' */
        IF &ZCTVERB ¬= ZA THEN +
          ISPEXEC &ZCTACT
        SET S =
        ENDO EXECUTE_ZCOMMAND
      OTHERWISE +
HOLD_POSITION: +
        DO
        SET S =
        ISPEXEC TBSKIP MACCOPY ROW(&ZTDTOP) NOREAD
        ENDO HOLD_POSITION

      ENDO SELECT_S
    ENDO WHILE_NOT_QUIT

  ISPEXEC TBSAVE MACCOPY LIBRARY(MATABLE)
  ISPEXEC TBEND  MACCOPY

COPYBACK: +
  ALLOC FI(SYSUT1) DA('&TEMPTDSN(MACCOPY)') SHR KEEP
  ALLOC FI(SYSUT2) DA('&TABLEDSN(MACCMDS)') SHR KEEP
  ALLOC FI(SYSPRINT) SYSOUT(*)
  ALLOC FI(SYSIN)    DUMMY
  ISPEXEC SELECT PGM(IEBGENER)
  FREE FI(SYSIN)
  FREE FI(SYSPRINT)
  FREE FI(SYSUT1)
  FREE FI(SYSUT2)

  ISPEXEC LIBDEF MATABLE

  ALLOC FI(SCRATCH0) DA('&TEMPTDSN') OLD DELETE
  ALLOC FI(SCRATCH1) DA('&TEMPTDSN') OLD UNCATALOG
  FREE  FI(SCRATCH0,SCRATCH1)

EXIT: +
  EXIT CODE(0)


/*-------------------------------------------------------------------*/
/* PANEL ZCOMMAND USED WITH CLIST ZCOMMAND                           */
/*                                                                   */
/*-------------------------------------------------------------------*/
)ATTR
  ¢ TYPE(TEXT) INTENS(LOW)    SKIP(ON)            COLOR(BLUE)
  ! TYPE(TEXT) INTENS(HIGH)   SKIP(ON)            COLOR(RED)
  @ TYPE(TEXT) INTENS(HIGH)   SKIP(ON)            COLOR(YELLOW)
  _ TYPE(INPUT) INTENS(LOW)   CAPS(OFF)           COLOR(GREEN)
  | TYPE(INPUT) INTENS(HIGH)
)BODY EXPAND(//)
===>|ZCMD
 &ZTIME
@
@------------------- Z Commands -/-/-
@
!?¢Command  ¢T¢Comment
¢   ¢Action
¢
)MODEL
|S|Z        _Z_Z
¢   |Z
)INIT
  .ZVARS = '(ZCTVERB,ZCTTRUNC,ZCTDESC,ZCTACT)'
  &ZTDMARK = &MESSAGE              /* ALLOW USING VARIABLE MESSAGES */
  &ZSCROLLD = CSR                  /* TABLE SCROLL SET TO CSR */
  &ZTDMARK = '*------------- That''s all, folks ----------------------*'
)PROC
  &ZTRAIL = .TRAIL
  IF (.RESP=END)
    &RESP = QUIT
  &PFNUM = PFK(DOWN)
  IF (.PFKEY=&PFNUM)
    &ZCMD = DOWN
  &PFNUM = PFK(UP)
  IF (.PFKEY=&PFNUM)
    &ZCMD = UP
)END


On 29/11/2016 15:17, Brenton, Ren wrote:
> We have a COMMAND TABLE (MADCMDS), with entries like this:
> 
>          Verb       T     Action                       
>       IPTOOLS   0  SELECT CMD(%AAA &ZPARM) 
>       IPLIST        0  SELECT CMD(%BBBBBB &ZPARM) 
>       ITAUTO    0  SELECT CMD(%CCCC &ZPARM) 
>       ITCK          0  SELECT CMD(%DDD &ZPARM)   
> 
> Is there any way to get this list into a dataset that I can edit/view?
> 
> I’m trying to come up with a list of commands that can be invoked from this 
> Command Table, (or any other of our command tables as well), to be used in 
> another process (a REXX solution would be terrific).
> 
> TIA
> 
> Ren Brenton
> MSP Home Equity 
> Black Knight Financial Services
> 601 Riverside Ave., 
> Jacksonville, FL 32204
> __________________________________________________
> O: 904.357.1448 | M: 404.438.3868 | F: 904.357.1807
> [email protected] || www.BKFS.com
> The information contained in this message is proprietary and/or confidential. 
> If you are not the intended recipient, please: (i) delete the message and all 
> copies; (ii) do not disclose, distribute or use the message in any manner; 
> and (iii) notify the sender immediately. In addition, please be aware that 
> any message addressed to our domain is subject to archiving and review by 
> persons other than the intended recipient. Thank you.
> 
> 
> ----------------------------------------------------------------------
> 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

Reply via email to