IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Sometimes Panel updates doesn't reflect


IBM Mainframe Forums -> TSO/ISPF
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
princegaurav

New User


Joined: 08 Dec 2005
Posts: 9

PostPosted: Wed Sep 05, 2012 11:42 am
Reply with quote

Hi,

While developing a ISPF Dialog .. somtime the changes we make in Panel doesn't show when we display it using code. The code simply doesn't pick the updated Panel definition and still shows the old one.

Can anyone please explain, why does it happen ?
and how can we avoid it ?
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10886
Location: italy

PostPosted: Wed Sep 05, 2012 1:32 pm
Reply with quote

Quote:
Can anyone please explain, why does it happen ?
and how can we avoid it ?


it happens because ISPF ( for performance ) keeps an in storage FIFO stack of the panels/skels/messages/tables used

testing new <applications> should be done thru ISPF option 7 ( dialog test )
then ISPF will always read <things> from disk

cannot be avoided on production,
unless You train the end users on how to use ISPF option 7
FASTER to have them LOGOFF/LOGON
Back to top
View user's profile Send private message
Josh Keller

New User


Joined: 08 Oct 2007
Posts: 36
Location: Columbia, SC

PostPosted: Thu Sep 06, 2012 9:34 pm
Reply with quote

I've wondered why option 7 shows the "live" data. Is there a way to purge the cached panel without logging off? ie dropping and reallocating the ISPPLIB?
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10886
Location: italy

PostPosted: Thu Sep 06, 2012 9:41 pm
Reply with quote

Quote:
I've wondered why option 7 shows the "live" data. Is there a way to purge the cached panel without logging off? ie dropping and reallocating the ISPPLIB?

because the option description tells ... TEST
pretty dumb to have to logoff/logon <reallocate> when testing
why would You want to purge the cache live.

usually all the changes are rolled on when <nobody> is logged on

a workaround would be to run every new application thru libdeffed panels,msgs,skels

a bit of overshooting

once upon a time curiosity killed the cat and I did run a test displaying random panel sequences and found that the panel cache would hold about 15 panels
things might be different now
Back to top
View user's profile Send private message
don.leahy

Active Member


Joined: 06 Jul 2010
Posts: 765
Location: Whitby, ON, Canada

PostPosted: Thu Sep 06, 2012 11:06 pm
Reply with quote

Another way to ensure that you see a fresh copy of each panel is to start your ISPF session with the TEST parameter:

ISPSTART TEST
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10886
Location: italy

PostPosted: Thu Sep 06, 2012 11:12 pm
Reply with quote

icon_redface.gif completely forgot about that !
Back to top
View user's profile Send private message
Josh Keller

New User


Joined: 08 Oct 2007
Posts: 36
Location: Columbia, SC

PostPosted: Fri Sep 07, 2012 3:01 am
Reply with quote

[quote="enrico-sorichetti"]
Quote:

because the option description tells ... TEST
pretty dumb to have to logoff/logon <reallocate> when testing
why would You want to purge the cache live.


Because I am testing. I wouldn't do this in production. Sometimes it's nice to display my table panel with data if I update the model section for example. In addition, I usually have a plethora of screens up, and it's a pain to back all the way out just to update one panel. Unless I missed something, option 7 only displays the panel, and allows me to key data, but does not display table data.

Don, I'll try the test option you mentioned.

Thanks,
Back to top
View user's profile Send private message
enrico-sorichetti

Superior Member


Joined: 14 Mar 2007
Posts: 10886
Location: italy

PostPosted: Fri Sep 07, 2012 3:18 am
Reply with quote

Quote:
and it's a pain to back all the way out just to update one panel.
icon_eek.gif
why would You need that? just jump to a different split, make the modifications
and at the first screen I/O in the <TEST> split the modified panel will show up

I have done quite a bit of ISPF development
IMO adding the test invocation option to just refresh the panels is not enough for true testing

I would anyway use option 7 for all the other testing goodies
breakpoints and variable pool display

Code:

   Menu  Utilities  Compilers  Options  Status  Help
 ─ ┌───────────────────────────── Dialog Test ──────────────────────────────┐ ─
   │   Menu  Utilities  View  Help                                          │
 O │ ─────────────────────────────────────────────────────────────────────  │
   │                         Primary Option Panel                           │
 0 │ Option ===>                                                            │
 1 │                                                                        │
 2 │ 1 Functions       Invoke dialog functions/selection panel              │
 3 │ 2 Panels          Display panels                                       │
 4 │ 3 Variables       Display/set variable information                     │
 5 │ 4 Tables          Display/modify table information                     │
 6 │ 5 Log             Browse ISPF log                                      │
 7 │ 6 Dialog Services Invoke dialog services                               │
 8 │ 7 Traces          Specify trace definitions                            │
 9 │ 8 Breakpoints     Specify breakpoint definitions                       │
 1 │ T Tutorial        Display information about Dialog Test                │
 1 │ X Exit            Terminate dialog testing                             │
 1 │                                                                        │
 1 │                                                                        │
 1 └────────────────────────────────────────────────────────────────────────┘
 15 z/OS User     z/OS user applications (Alternate)
 16 z/OS Other    z/OS Other (Condensed)

      Enter X to Terminate using log/list defaults
3279                                                                      06/018
Back to top
View user's profile Send private message
Pedro

Global Moderator


Joined: 01 Sep 2006
Posts: 2593
Location: Silicon Valley

PostPosted: Fri Sep 07, 2012 3:36 am
Reply with quote

Quote:
Unless I missed something, option 7 only displays the panel, and allows me to key data, but does not display table data.


Using option 7.1, you can display a menu panel, invoke a command, or invoke a program. Use the same method that you normally use to launch your application. Navigate to your table display and then issue DTEST 4 command to examine your table.

DTEST 4 is the same dialog as ISPF option 7.4. Use that panel to view table rows. _Or_ you can use the action bar -> Utilities -> 16 to display table information (this is a more recent table utility).
Back to top
View user's profile Send private message
Josh Keller

New User


Joined: 08 Oct 2007
Posts: 36
Location: Columbia, SC

PostPosted: Fri Sep 07, 2012 7:52 am
Reply with quote

Quote:
Using option 7.1, you can display a menu panel, invoke a command, or invoke a program.


So are you saying if I use 7.1 and issue a TBDISPL command along with the panel name I just modified (and an open table name), I will see the new modification? Essentially the same as 7.2 with table data?

I know this is sounding picky, but making an model section change and not being able to immediately test it (without logging off) is a pet peeve of mine. About 30% of my duties include ISPF development, so I'm always looking for ways to save man hours seconds at a time. I wasn't aware of the ISPSTART TEST parm, so I'll try that tomorrow.

Thanks all. Sorry to hijack this thread.
Back to top
View user's profile Send private message
Pedro

Global Moderator


Joined: 01 Sep 2006
Posts: 2593
Location: Silicon Valley

PostPosted: Fri Sep 07, 2012 9:09 pm
Reply with quote

Quote:
Use the same method that you normally use to launch your application.


and
Quote:
issue a TBDISPL command along with the panel name I just modified (and an open table name),


What happened when you tried it?

No, it should not work. The TBDISPL is not a command or program, but rather an ISPF service call and it has to be called from within an exec or compiled program. You have to issue the exec that invokes TBDISPL as you normally would outside of option 7.

For example, if you normally launch your application from the ISPF primary command line:
Code:
TSO %myexec

then in ISPF option 7.1, you put "%myexec" in the CMD field
Code:
  Menu  Save  Utilities  Help                                           
----------------------------------------------------------------------------
                 Invoke Dialog Function/Selection Panel                 
Command ===>                                                             
                                                              More:     +
Invoke selection panel:                                                 
   PANEL  . .                                                       
   OPT  . . .                                                           
                                                                         
                                                                         
Invoke command:                                                         
   CMD  . . .  %myexec                                                           
                                                                         
   LANG . . .                       (APL, CREX, or blank)               
   MODE . . .                       (LINE, FSCR, or blank)               
                                                                         
Invoke program:                                                         
   PGM  . . .                                                           
   PARM . . .                                                           
                                                                         
   MODE . . .                       (LINE, FSCR, or blank)               


Think of the ISPF 7.1 panel as input to the SELECT service of ISPF.
Back to top
View user's profile Send private message
Josh Keller

New User


Joined: 08 Oct 2007
Posts: 36
Location: Columbia, SC

PostPosted: Fri Sep 07, 2012 9:30 pm
Reply with quote

I get what you're saying Pedro. I wasn't logged in when I reply and couldn't remember what 7.1 looked like. I was confusing it for option 7.6.

Update, I tried the ISPSTART TEST option and that does exactly what I wanted. Thanks all!
Back to top
View user's profile Send private message
Stefan

Active User


Joined: 12 Jan 2006
Posts: 110
Location: Germany

PostPosted: Mon Sep 10, 2012 1:01 pm
Reply with quote

Josh Keller wrote:
Is there a way to purge the cached panel without logging off?

Whenever I test a complex routine and make a lot of changes to panels I use the following code fragment to flush the cache:
Code:
refresh_cache:                                                 
                                                               
  do run_i = 1 by 1 to 12                                       
     "ISPEXEC CONTROL NONDISPL END"                             
     "ISPEXEC DISPLAY PANEL(ISR003" !! RIGHT(run_i,2,'0') !! ")"
  end                                                           
                                                               
  return                                                       

This works fine because ISPF caches the last 10 panels only.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> TSO/ISPF

 


Similar Topics
Topic Forum Replies
No new posts Preserve changes to ISPF Panel Variables TSO/ISPF 5
No new posts Execute secondary panel of sdsf with ... CLIST & REXX 1
No new posts Call program, directly from panel CLIST & REXX 9
No new posts Positioned Deletes/Updates using curs... DB2 3
No new posts panel creation question TSO/ISPF 12
Search our Forums:

Back to Top