*DECK KSTPAGE 
USETEXT NIPDEF
USETEXT KDIS
USETEXT PARAMS
PRGM KSTPAGE; 
STARTIMS; 
# 
*1DC  KSTPAGE 
* 
*     1.PROC NAME       AUTHOR      DATE
*       KSTPAGE         M.GIBIAN    84/01/20
* 
*     2.FUNCTIONAL DESCRIPTION
* 
*       PAGE STATUS DISPLAY BY UPDATING VIEW TABLE
* 
*     3.METHOD USED 
* 
*       IF PAGE FORWARD, MAKE OLD LAST LINE THE NEW FIRST LINE
*           OF DISPLAY
*       ELSE
*          COMPUTE NEW FIRST LINE BY MOVING KDVWLN-1 LINES BACKWARD 
*          IN DISPLAY.
* 
*     4.ENTRY PARAMETERS
* 
*       PARAMS1 - 1 = PAGE FORWARD FUNCTION 
*                 2 = PAGE BACKWARD FUNCTION
* 
*     5.OUTPUT PARAMETERS 
* 
*     6.COMDECKS AND TEXTS USED.
* 
*       NIPDEF    KDIS  PARAMS
* 
*     7.ROUTINES CALLED.
* 
* 
*     8.DAYFILE MESSAGES AND OTHER IMPORTANT INFORMATION
* 
*       MUST FIT IN SECONDARY OVERLAY 
* 
# 
STOPIMS;
  
# 
    INPUT PARAMETER 
# 
  
    ITEM TYPE U;
  
# 
    EXTERNAL REFERENCES 
# 
    XREF
       BEGIN
       LABEL RJMAIN;
       END
  
    BEGIN 
    TYPE=PARAMS1; 
    IF TYPE EQ 1 THEN 
       BEGIN
       IF KDLGLST[0] NQ 0 THEN
          BEGIN 
          KDLGLST[0]=KDLGLND[0];
          KDESTST[0]=0; 
          KDAPPST[0]=0; 
          END 
       ELSE 
          IF KDESTST[0] NQ 0 THEN 
             BEGIN
             KDESTST[0]=KDESTND[0]; 
             KDAPPST[0]=0;
             END
          ELSE
             KDAPPST[0]=KDAPPND[0]; 
       END
    ELSE
       BEGIN
       IF KDAPPST[0] NQ 0 THEN
          IF KDAPPST[0] GR KDVWLN[0] THEN # USE KDVWLN[0] SO APPL LINES#
                                          # START AT ORIGIN 2, NOT 1   #
             KDAPPST[0]=KDAPPST[0]-(KDVWLN[0]-1); 
          ELSE
             KDAPPST[0]=2;
      ELSE
         IF KDESTST[0] NQ 0 THEN
            IF KDESTST[0] GR KDVWLN[0]-1 THEN 
               KDESTST[0]=KDESTST[0]-(KDVWLN[0]-1); 
            ELSE
               IF KDAPPMX[0] GR KDVWLN[0]-KDESTST[0] THEN 
                  KDAPPST[0]=KDAPPMX[0]-((KDVWLN[0]-KDESTST[0])-1); 
               ELSE 
                  KDAPPST[0]=2; 
         ELSE 
            IF KDLGLST[0] GR KDVWLN[0]-1 THEN 
               KDLGLST[0]=KDLGLST[0]-(KDVWLN[0]-1); 
            ELSE
               IF KDESTMX[0] GR (KDVWLN[0]-KDLGLST[0])-1 THEN 
                  KDESTST[0]=KDESTMX[0]-((KDVWLN[0]-KDLGLST[0])-1); 
               ELSE 
                  IF KDAPPMX[0] GR
                     KDVWLN[0]-KDESTMX[0]-KDLGLST[0] THEN 
                     KDAPPST[0]=KDAPPMX[0]- 
                        ((KDVWLN[0]-(KDESTMX)-KDLGLST[0])-1); 
                  ELSE
                     KDAPPST[0]=2;
       END
  
    KDIS$STAT=STM"STM$UPDATE";
    KDBLNK=TRUE;
    GOTO RJMAIN;
    END 
TERM
