2005 IBM Corporation Dynamic Screen Sequence | 6.10 March-2005
Dynamic Screen Sequence IBM Global Services 2005 IBM Corporation 2 March-2005 Dynamic Screen Sequence | 6.10 Objectives The participants will be able to: Know about the next screen attribute for a screen. Understand the functioning of the following screen navigation commands: LEAVE SCREEN SET SCREEN LEAVE TO SCREEN CALL SCREEN
IBM Global Services 2005 IBM Corporation 3 March-2005 Dynamic Screen Sequence | 6.10 Overview Academy Awards Year Category 1994 PIC Academy Awards Year Category 1994 PIC Winner Forrest Gump Notes Critic Dean Currently, the screen sequence of our online program is determined by static Next Screen attributes on each screen. We will learn how to dynamically set the screen sequence and add a pop-up dialog box to enter a critics name. Exit Edit Loop Exit Update Enter Name The Shawshank Redemption should have won. IBM Global Services 2005 IBM Corporation 4 March-2005 Dynamic Screen Sequence | 6.10 LEAVE SCREEN Statement
PROCESS BEFORE OUTPUT. MODULE INITIALIZE.
PROCESS AFTER INPUT. MODULE ONE. MODULE TWO. ** PAI Modules ** MODULE ONE INPUT. . . . LEAVE SCREEN. . . . ENDMODULE. MODULE TWO INPUT. . . . ENDMODULE. Screen 9000 Next Screen attribute is 9001. When LEAVE SCREEN is encountered, the system immediately terminates the current screens PAI event and goes to the PBO event of the screen specified in the Next Screen attribute. IBM Global Services 2005 IBM Corporation 5 March-2005 Dynamic Screen Sequence | 6.10 SET SCREEN Statement
PROCESS AFTER INPUT. FIELD YMOVIE-AAYEAR VALUES (BETWEEN 1927 AND 1996). CHAIN. FIELD: YMOVIE-AAYEAR, YMOVIE-CATEGORY. MODULE SELECT_LISTING. ENDCHAIN. Screen 9000 ** MZA06I01 - PAI Modules ** MODULE SELECT_LISTING INPUT. IF OKCODE = EDIT. SET SCREEN 9001. * code to select record from YMOVIE ENDIF. ENDMODULE. Next Screen attribute is 9000. When SET SCREEN is encountered, the system temporarily ignores the value in the Next Screen attribute and uses the value specified instead. The current screens PAI processing is not terminated. IBM Global Services 2005 IBM Corporation 6 March-2005 Dynamic Screen Sequence | 6.10 LEAVE TO SCREEN Statement
PROCESS AFTER INPUT. FIELD YMOVIE-AAYEAR VALUES (BETWEEN 1927 AND 1996). CHAIN. FIELD: YMOVIE-AAYEAR, YMOVIE-CATEGORY. MODULE SELECT_LISTING. ENDCHAIN. Screen 9000 ** MZA06I01 - PAI Modules ** MODULE SELECT_LISTING INPUT. IF OKCODE = EDIT. * code to select record from YMOVIE LEAVE TO SCREEN 9001. ENDIF. ENDMODULE. Next Screen attribute is 9000. When LEAVE TO SCREEN is encountered, the system terminates the current screens PAI event and immediately goes to the PBO event of the screen specified in the statement. IBM Global Services 2005 IBM Corporation 7 March-2005 Dynamic Screen Sequence | 6.10 CALL SCREEN Statement Academy Awards Year Category 1994 PIC Winner Forrest Gump Notes Critic Dean Exit Update The Shawshank Redemption should have won. Enter critics name Dean Titlebar Exit Screen 9002 is a Modal dialog box type screen with a dialog box type GUI status. CALL SCREEN 9002 STARTING AT 30 5 ENDING AT 60 10. This ABAP code would be in a PAI module for screen 9001. Enter Name IBM Global Services 2005 IBM Corporation 8 March-2005 Dynamic Screen Sequence | 6.10
PROCESS BEFORE OUTPUT. MODULE INITIALIZE.
PROCESS AFTER INPUT. MODULE END. Screen 9002 ** MZA06O01 - PBO Modules ** MODULE INITIALIZE OUTPUT. * set GUI status and titlebar * depending on screen number * and clear okcode ENDMODULE. ** MZA06I01 - PAI Modules ** MODULE END INPUT. LEAVE TO SCREEN 0. ENDMODULE. Leaving a Called Screen Next Screen attribute is 9002. Because screen 9002 was called, SCREEN 0 refers to the calling screen (9001). IBM Global Services 2005 IBM Corporation 9 March-2005 Dynamic Screen Sequence | 6.10 Demonstration Demonstration of screen navigation commands in a sample online program. IBM Global Services 2005 IBM Corporation 10 March-2005 Dynamic Screen Sequence | 6.10 Practice Demonstration of screen navigation commands in a sample online program. IBM Global Services 2005 IBM Corporation 11 March-2005 Dynamic Screen Sequence | 6.10 Summary The screen sequence of an online program is determined by Next Screen pointers. When the system encounters the LEAVE SCREEN ABAP statement, it immediately terminates the screens PAI event and goes to the PBO event of the screen specified in the Next Screen attribute. When the system encounters the SET SCREEN <screen #> ABAP statement, it temporarily overrides the Next Screen attribute with this <screen #> and the PAI processing continues. After all PAI modules are executed, the system goes to the PBO event of <screen #>. When the system encounters the LEAVE TO SCREEN <screen #> ABAP statement, it terminates the screens PAI event and immediately goes to the PBO of <screen #>. The LEAVE TO SCREEN <screen #> statement performs the functionality of two statements: SET SCREEN <screen #> and LEAVE SCREEN. IBM Global Services 2005 IBM Corporation 12 March-2005 Dynamic Screen Sequence | 6.10 Summary (Contd.) When the system encounters the CALL SCREEN <screen #> ABAP statement, it temporarily suspends the current screens PAI processing and immediately goes to the PBO event of <screen #>. When control returns back to the calling screen, its PAI processing will resume. After you have called another screen, you need to code a way back to the calling screen. Using screen number zero will accomplish this task. IBM Global Services 2005 IBM Corporation 13 March-2005 Dynamic Screen Sequence | 6.10 Questions Screen Attributes Short Description Screen Type Next screen 9100 Screen 9100 Screen Attributes Short Description Screen Type Next screen Screen 9100 What happens after all PAI modules are processed and the next screen is itself? What happens after all PAI modules are processed and the next screen is blank?