home about us   contact us
 
   







 


Chicago-Soft
ATTN: TSO Times
One Maple Street
Hanover, NH 03755
(603) 643-4002
information
@tsotimes.com

 

Dialog Development REXX Exec

by Henry L. Farineau

There are times when the development of an ISPF dialog requires much testing and tweaking. Frequent editing of a REXX exec or panel library can cause your SYSPROC or ISPPLIB libraries to quickly exceed the defined space capacity for that PDS, especially when several developers are using the same libraries. When this happens, further development comes to a halt until the library can be expanded or compressed, usually requiring off-hours maintenance when few people are using TSO.

Some products on the market allow for maintenance of ISPF libraries on the fly, and PDSE's can also help alleviate this problem. In lieu of these solutions, I have developed a simple utility which allows anyone to develop and test TSO CLISTS or REXX execs using a personal PDS library for the elements of an ISPF dialog SYSPROC, ISPPLIB, ISPSLIB, etc.

Once the DDEV elements (below) are moved into the proper libraries, an analyst may execute the DDEV command and start creating and testing the required panels, CLISTS, REXX execs, messages, tables and skeletons for the application. When testing has completed, the dialog elements are simply moved to the active libraries for use by other users. If the dialog is a "one shot" utility or something that is useful only for the developer, the command could stay in the development library for future use by the developer. When the space capacity of the development library is exceeded, the developer may expand or compress their personal library at will.

The development library in this REXX exec is a single previously defined PDS using the user's TSO userid for the high level qualifier followed by ".DIALOG.DEV". Your shop's standards should be used for this name.

Since only one library is used here, the panels, skeletons, REXX execs, etc., must have unique names. If you want to be able to use the same name for each element of a dialog, then a different library must be allocated for each library type, requiring further modifications to the following REXX exec and panel.

The development library name is displayed in the panel so that you may use other libraries for your testing. Once the library name is changed the LIBDEF statements will redirect the ISPF elements to be used. The default at startup will always be your personal dialog development library.

Download this exec in text format (DIAGDEV.TXT)
Fig. 1  REXX exec DDEV

/* REXX */                                                     
DDEVLIB = SYSVAR(SYSUID)||".DIALOG.DEV"                        
DO FOREVER                                                     
   ADDRESS ISPEXEC                                             
   "DISPLAY PANEL(DDEV) CURSOR(EXCED)"                         
   IF RC = 8 THEN                                              
      DO                                                       
         "LIBDEF ISPPLIB DATASET ID()"                         
         "LIBDEF ISPSLIB DATASET ID()"                         
         "LIBDEF ISPMLIB DATASET ID()"                         
         "LIBDEF ISPTLIB DATASET ID()"                         
         EXIT                                                  
      END                                                      
   IF EXCED = "X" THEN                                    
      DO                                                    
        "LIBDEF ISPPLIB DATASET ID('"DDEVLIB"')"                
        "LIBDEF ISPSLIB DATASET ID('"DDEVLIB"')"                
        "LIBDEF ISPMLIB DATASET ID('"DDEVLIB"')"                
        "LIBDEF ISPTLIB DATASET ID('"DDEVLIB"')"                
        ADDRESS "TSO"                                           
        "EX '"DDEVLIB"("DIALMEM")'" "'"CPARM"'"                
      END                                                        
   IF EXCED = "E" THEN                                         
      DO                                                         
        IF DIALMEM = "" THEN "EDIT DATASET('"DDEVLIB"')"                          
        ELSE "EDIT DATASET('"DDEVLIB"("DIALMEM")')"          
      END                                                   
END                                                            
========================================================================
PANEL DDEV (in ISPPLIB)

)ATTR                                                                   
 + TYPE(TEXT) SKIP(ON) INTENS(LOW)                                      
 % TYPE(TEXT) SKIP(ON) INTENS(HIGH)   
 _ TYPE(INPUT) INTENS(HIGH) PAD('_')                                    
 ¢ TYPE(INPUT) INTENS(HIGH)                                             
)BODY                                                                   
%         ISPF DIALOG DEVELOPMENT ENTRY SCREEN      
+                                                                       
+    Command ===>¢ZCMD                                                  
+                                                                       
+    Enter%X+to eXecute dialog member,%E+to Edit ===>_Z+    
+    Enter dialog member to be executed/edited ===>_DIALMEM +          
+    Enter dialog parameter(s), if any ===>_CPARM                       
+    Enter PDS containing dialog elements =>_DDEVLIB                    
+                                                                       
%           Press END key to exit                
)INIT                        
  .ZVARS = '(EXCED)'         
)PROC                        
VER(&DDEVLIB,NONBLANK)       
VER(&EXCED,NB,LIST,X,E)    
)END    

Henry L. Farineau, Sr. Automations Consultant, Allmerica Financial, Worcester, Massachusetts

 



The TSO Times is back by popular demand!
Register now for your FREE subscription









 

Chicago-Soft, LTD
ISPF Tools & Toys
MVS Help Board
Lionel Dyck's Tools
IBM ISPF Page
Tom Brennan's Vista tn3270 Page
Mark Zelden's MVS Utilities


 


 

home · current articles · archives · forums ·
· subscribe · about us · contact us · links