Page 2 of 2

Re: ISPF VIEW Dataset in small panel

PostPosted: Mon Mar 21, 2011 1:11 pm
by mongan
Here is an example of something like what you want - this is for JCL though.
/*  rexx   */                                                         
trace o                                                               
  ret = 0                                                             
   arg membp edit                                                     
   do while membp = ''                                               
      say 'Bitte Membername oder CANCEL eingeben'                     
      pull membp                                                     
   end                                                               
   if find('CAN CANCEL',membp) > 0 then exit                         
   sysenv = alsymlst('V','sysenv')                                   
   select                                                             
    when sysenv = 'SYSENV(P)'                                         
      then do                                                         
           jtlib.0 = 8   /* Anzahl Libraries in Jobtrac Verkettung */
           jtlib.1 = 'PBASLB.DBP1.JCLLIB'                             
           jtlib.2 = 'PBASLB.SYST.JCLLIB'                             
           jtlib.3 = 'PBASLB.TSTXPRD.JCLLIB'                         
           jtlib.4 = 'PBASLB.USER.JCLLIB'                             
           jtlib.5 = 'PBASLB.DBT2.JCLLIB'                             
           jtlib.6 = 'PBASLB.DBT3.JCLLIB'                             
           jtlib.7 = 'PBASLB.DBT4.JCLLIB'                             
           jtlib.8 = 'PBASLB.AUFTR.JCLLIB'                           
           end                                                       
    when sysenv = 'SYSENV(W)'                                       
      then do                                                       
           jtlib.0 = 1   /* Anzahl Libraries in Jobtrac Verkettung */
           jtlib.1 = 'CANWU1.NSHR.JOBT.BASLER.JCLLIB'               
           end                                                       
    otherwise do                                                     
           say 'Prozedur in dieser Maschiene nicht unterstützt'     
           exit 99                                                   
           end                                                       
   end                                                               
   membp = strip(membp,'B')                                         
   do i = 1 to jtlib.0                                               
      xxpjcl = "'"jtlib.i"("membp")'"                               
      x = sysdsn(xxpjcl)                                             
      if x /= "OK" then  iterate                                     
      leave                                                         
      end                                                             
   if x /= "OK" then  do                                             
   select                                                             
     when edit = ''                                                   
         then do                                                     
              ZEDSMSG = " ALLOC  FAILED "                             
              ZEDLMSG = " Job "membp" nicht in Jobtrac Libraries  " x
              address ispexec " SETMSG MSG(ISRZ001) "                 
              exit                                                   
              end                                                     
     when edit = 'A' then xxpjcl = ''                                 
     otherwise xxpjcl = "'"jtlib.1"("membp")'"                       
     end                                                             
   end                                                               
   select                                                             
     when edit = 'A'                                                 
       then do                                                       
            return xxpjcl                                             
            end                                                       
     when edit = '' then address ispexec "VIEW DATASET("xxpjcl")"     
     otherwise address ispexec "EDIT DATASET("xxpjcl")"               
     end                                                             
 exit                                                                 
 /* ----------------  end panel/command Handler  ----------------- */