Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

Wiki Markup
Sometimes 5250 enquiry style transactions use a 5250 screen that loop on <enter key values> -> <display data> -> <enter key values> -> <display data> interactions. 
 Typically these screens have an INVOKE script that is structured along these lines:  
 
         var strAccessMenu   = "SomeMenuScreenName"; 
         var strThisEnquiry  = "SomeCherryEnquiryScreenName";    
 
         /*  Navigate to the menu that will provide access to the enquiry function */ 
         
         NAVIGATE_TO_JUNCTION(strAccessMenu);
         if ( !( CHECK_CURRENT_FORM(strAccessMenu, "Could not display menu", strAccessMenu) ) return;
 
         /* Invoke the screen from the access menu */
 
         SETVALUE("uMenuOptionField","7");  /* Say */ 
         SENDKEY(KeyEnter);
         if ( !( CHECK_CURRENT_FORM(strThisEnquiry,"Could not display enquiry screen", strThisEnquiry ) ) return;
 
         /* Enter the appropriate key value and display the enquiry details */ 
         
         SETVALUE("uKeyValueField",objInstanceList.Akey1\[0\] );  /* Say */ 
         SENDKEY(KeyEnter);
         if ( !( CHECK_CURRENT_FORM(strThisEnquiry,"Could not display", strThisEnquiry ) ) return;
          
         /* Finished */
 
When this transaction is used repeatedly (for example by clicking down through an instance list or orders, products, policies, etc) you can sometimes short-circuit the navigation logic by a simple script change along the following lines. This change produces less 5250 screen interactions giving a faster response for your end-users: 
 
         var strAccessMenu   = "SomeMenuScreenName"; 
         var strThisEnquiry  = "SomeCherryEnquiryScreenName";    
 
         /* We only need to navigate if we are not already at the screen */
 
         if ( CURRENT_FORM() != strThisEnquiry )
         \{      
 
             /*  Navigate to the menu that will provide access to the enquiry function */ 
         
             NAVIGATE_TO_JUNCTION(strAccessMenu);
             if ( !( CHECK_CURRENT_FORM(strAccessMenu, "Could not display menu", strAccessMenu) ) return;
 
             /* Invoke the screen from the access menu */
 
             SETVALUE("uMenuOptionField","7");  /* Say */ 
             SENDKEY(KeyEnter);
             if (!(CHECK_CURRENT_FORM(strThisEnquiry,"Could not display enquiry screen",strThisEnquiry)) return;
         
         \}  
 
 
         /* Enter the appropriate key value and display the enquiry details */ 
         
         SETVALUE("uKeyValueField",objInstanceList.Akey1\[0\] );  /* Say */ 
         SENDKEY(KeyEnter);
         if ( !( CHECK_CURRENT_FORM(strThisEnquiry,"Could not display", strThisEnquiry ) ) return;
 
         /* Finished */