ISPF Panel Symbols



Ask about System customization & performance, Workload management, I/O device configuration etc.

ISPF Panel Symbols

Postby deucalion0 » Wed Jan 21, 2015 7:55 pm

Hello everyone,

On and off for the past month or so I have been trying to understand the cod ein the IPF panels on our systems. I have almost given up trying to understand how the symbols work, what they resolve to and how they get their value.

I have Googled and also went through a lot of this IBM guidehttp://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/ISPZDG30/CCONTENTS?DT=20040720211441, but still no luck.

I will post a bit of code which I am struggling with:

PROC                                                                         
 IF (&CMDI ¬= &Z)                                                             
     &CMDI  = 'PGM(DGTFMD01) PARM(&ZCMD) NEWAPPL(DGT) NOCHECK'               
&ZSEL = TRANS( TRUNC (&ZCMD,'.')                                             
     A,'&CMDA'                     
    AB,'&CMDAB'                 
    AV,'&CMDAV'                 
    AM,'&CMDAM'               
    AP,'&CMDAP'                 
     B,'&CMDB'                   
     C,'&CMDC'                   


The above is for a panel on our system. When I enter C I am taken to another panel, I do not understand what exactly is happening in the code, some of those options also invoke programs too, so what i want to know is, is &CMD stored somewhere in the system with a default value? If so where and how can I find it.

Any assistance or pointers with this would be very appreciated, no one at my site can figure this out.

Many thanks!!!
deucalion0
 
Posts: 58
Joined: Thu Jul 31, 2014 3:47 pm
Has thanked: 32 times
Been thanked: 0 time

Re: ISPF Panel Symbols

Postby enrico-sorichetti » Wed Jan 21, 2015 8:07 pm

The above is for a panel on our system.

the fragment posted is not enough to explain

most probably somewhere in Your panel &CMDC is defined to a command and its parameters
cheers
enrico
When I tell somebody to RTFM or STFW I usually have the page open in another tab/window of my browser,
so that I am sure that the information requested can be reached with a very small effort
enrico-sorichetti
Global moderator
 
Posts: 2994
Joined: Fri Apr 18, 2008 11:25 pm
Has thanked: 0 time
Been thanked: 164 times

Re: ISPF Panel Symbols

Postby deucalion0 » Wed Jan 21, 2015 8:13 pm

Thanks Enrico, i will get the full panel up, edited of course to remove any site info, and hopefully that will be enough. Thank you!
deucalion0
 
Posts: 58
Joined: Thu Jul 31, 2014 3:47 pm
Has thanked: 32 times
Been thanked: 0 time

Re: ISPF Panel Symbols

Postby deucalion0 » Thu Jan 22, 2015 4:16 pm

Hey there,

below is the complete panel code minus the list of applications, I have listed up to E just to show how it is done, the list is quite big.

But basically after weeks of digging i cannot for the life of me figure out how when I say enter A, it brings up another panel for that product with another list of options. I would love to know where how entering A resolves to the next panel being loaded.

I am currently reading through this manual right now:
http://publibz.boulder.ibm.com/epubs/pdf/isp2dg00.pdf


I would appreciate any help at all on this as I am absolutely stuck. Thank you!!

)ATTR                                                                             
   % TYPE(TEXT)  COLOR(WHITE)      /* intens(high)  */                         
   ¯ TYPE(TEXT)  COLOR(WHITE)      /* intens(high)  */                         
   + TYPE(TEXT)  COLOR(BLUE)       /* intens(low)   */                         
   ! TYPE(TEXT)  COLOR(BLUE)       /* intens(low)   */                         
   _ TYPE(INPUT) COLOR(RED)        /* intens(high)  */                         
   @  AREA(DYNAMIC) EXTEND(OFF) SCROLL(OFF)                                     
   # TYPE(DATAOUT) COLOR(WHITE)    /* intens(high)  */                         
   $ TYPE(DATAOUT) COLOR(BLUE)     /* intens(low)   */                         
   ¬ AREA(SCRL)              /* allow scrollable display  */           
)BODY EXPAND(\\)                                                               
%-\-\-   Applications Menu   -\-\-                               
%OPTION ===>_ZCMD                                                               
+                                                                               
¬SAREA                                                                     ¬
¬                                                                              ¬
¬                                                                              ¬
¬                                                                              ¬
¬                                                                              ¬
¬                                                                              ¬
¬                                                                              ¬
¬                                                                              ¬
¬                                                                              ¬
¬                                                                              ¬
¬                                                                              ¬
¬                                                                              ¬
¬                                                                              ¬
¬                                                                              ¬
¬                                                                              ¬
¬                                                                              ¬
¬                                                                              ¬
+                                                                               
%+Enter%END+to Exit;%HELP+for descriptions of above applications.               
+                                                                               
)AREA SAREA                                                                     
@REQ1              @@REQ16             @@OPT1              @@OPT16             @
@REQ2              @@REQ17             @@OPT2              @@OPT17             @
@REQ3              @@REQ18             @@OPT3              @@OPT18             @
@REQ4              @@REQ19             @@OPT4              @@OPT19             @
@REQ5              @@REQ20             @@OPT5              @@OPT20             @
@REQ6              @@REQ21             @@OPT6              @@OPT21             @
@REQ7              @@REQ22             @@OPT7              @@OPT22             @
@REQ8              @@REQ23             @@OPT8              @@OPT23             @
@REQ9              @@REQ24             @@OPT9              @@OPT24             @
@REQ10             @@REQ25             @@OPT10             @@OPT25             @
@REQ11             @@REQ26             @@OPT11             @@OPT26             @
@REQ12             @@REQ27             @@OPT12             @@OPT27             @
@REQ13             @@REQ28             @@OPT13             @@OPT28             @
@REQ14             @@REQ29             @@OPT14             @@OPT29             @
@REQ15             @@REQ30             @@OPT15             @@OPT30             @
)INIT                                                                           
.HELP= TSOUMEN1                                                                 
 &ZHTOP   = TSOUMEN1                                                           
 &ZHINDEX = TSOUMEN1                                                           
 IF (&OPTC = 0)                       
   .ATTRCHAR(¯) = 'INTENS(NON)'
   .ATTRCHAR(!) = 'INTENS(NON)'
   &TIMDATE = '&ZTIME &ZMONTH/&ZDAY/&ZJDATE'                                   
 &DST = &YOSDIST                                                               
 &SMFI= &YMPSMFI                                                               
)REINIT                                                                         
  REFRESH (QESN0,QESN1,QESN2,QESN3,QESN4,QESN5,QESN6,QESN7,                     
           QESN8,QESN9,QESN10,QESN11,QESN12,QESN13,                             
           QESN14,QESN15,QESN16,QESN17,QESN18,QESN19,         
          QESN20,QESN21,QESN22,QESN23,QESN24)             
 REFRESH (QESN25,QESN26,QESN27,QESN28,QESN29,             
          QESN30,QESN31,QESN32,QESN33,QESN34,             
          QESN35,QESN36,QESN37,QESN38,QESN39,             
          QESN40,QESN41,QESN42,QESN43,QESN44,             
          QESN45,QESN46,QESN47,QESN48,QESN49,             
          QESN50,QESN51,QESN52,QESN53,QESN54,             
          QESN55,QESN56,QESN57,QESN58,QESN59,QESN60)     
 REFRESH (QBSN0,QBSN1,QBSN2,QBSN3,QBSN4,QBSN5,QBSN6,QBSN7,
          QBSN8,QBSN9,QBSN10,QBSN11,QBSN12,QBSN13,       
          QBSN14,QBSN15,QBSN16,QBSN17,QBSN18,QBSN19,     
          QBSN20,QBSN21,QBSN22,QBSN23,QBSN24)             
 REFRESH (QBSN25,QBSN26,QBSN27,QBSN28,QBSN29,             
          QBSN30,QBSN31,QBSN32,QBSN33,QBSN34,             
          QBSN35,QBSN36,QBSN37,QBSN38,QBSN39,             
          QBSN40,QBSN41,QBSN42,QBSN43,QBSN44,             
          QBSN45,QBSN46,QBSN47,QBSN48,QBSN49,             
          QBSN50,QBSN51,QBSN52,QBSN53,QBSN54,             
          QBSN55,QBSN56,QBSN57,QBSN58,QBSN59,QBSN60)     
)PROC                                                                 
  IF (&CMDI ¬= &Z)                                                     
      &CMDI  = 'PGM(DGTFMD01) PARM(&ZCMD) NEWAPPL(DGT) NOCHECK'       
 &ZSEL = TRANS( TRUNC (&ZCMD,'.')                                     
      A,'&CMDA'
     B,'&CMDB'
     C,'&CMDC'
     D,'&CMDD'
     E,'&CMDE'                                 
    ' ',' '                                             
      X,'EXIT'                                           
      *,'?'                                             
   )                                                     
&ZTRAIL = .TRAIL                                         
)END                                                 

deucalion0
 
Posts: 58
Joined: Thu Jul 31, 2014 3:47 pm
Has thanked: 32 times
Been thanked: 0 time

Re: ISPF Panel Symbols

Postby Stefan » Fri Jan 23, 2015 4:02 pm

The ISPF panel retrieves the variables &CMDA, &CMDB etc. from the ISPF function pool. If the currently executing dialog function refers to an interpretive language (CLIST, REXX) the function pool and the command processor's variable list are identical. So you will find the processing of these variables within the CLIST or REXX coding.
But how to find what program is currently active?
Before invoking your function you should issue "tso executil ts" to start interactive tracing of the REXX Interpreter. This is the most probable assumption of what language is used. When the REXX interpreter starts you have the chance to interactively execute additional REXX statements. Now enter "parse source xxx;say xxx" and you will see a new line written to your screen. The third word is the name of the active REXX program.
Once you've got the program's name you should switch off tracing by entering "executil te". When you now again have an ISPF panel with command input field, enter "tso isrddn m <rexx name>". This utility will search all datasets currently allocated to your TSO session for the REXX program. With line command "v" you might inspect the code and find all references to the variables used in the panel.
However if the currently active program is a CLIST or a compiled program it is more difficult to find the ist name.
But first you should try the approach described above.
There are 10 types of people in the world: Those who understand binary, and those who don't.
User avatar
Stefan
 
Posts: 27
Joined: Tue Aug 21, 2012 3:02 pm
Has thanked: 0 time
Been thanked: 2 times

Re: ISPF Panel Symbols

Postby deucalion0 » Fri Jan 23, 2015 4:24 pm

Thank you very much Stefan, i will try your advice right now and let you know how I get on!! Thank you!
deucalion0
 
Posts: 58
Joined: Thu Jul 31, 2014 3:47 pm
Has thanked: 32 times
Been thanked: 0 time


Return to System programming

 


  • Related topics
    Replies
    Views
    Last post