Professional Documents
Culture Documents
// Program -
// Written - xx/xx/xx
// Author - xxxxxxxxxxxxxxxxxxxx
//
// INPUT PARAMETERS
//
// INDICATOR USAGE
// 03 - leave
//---------------------------------------------------
fSINGLEP if e k disk
f SFILE(SUB01:RRN1)
// Data Structures
d Infds ds
INFDS data structure
d Choice 369 369
//
// Program Info
//
d SDS
d @MSGDTA 91 170
//
// Variables
//
d Normal c X'20'
d Red c X'28'
d White c X'22'
d Blue c X'3A'
d Pink c X'38'
d @Scrn1 s 1
d count s 4 0
d EndScreen1 s n inz('0')
d KeyTop s 2
d KeyBottom s 2
d pagesize s 2 0 inz(10)
d RRN1 s like(SCRRN)
d Savrrn s like(SCRRN)
d ScreenError s 1 inz('N')
* Command Keys
d Cmd01 c const(x'31')
Cmd-1
d Cmd02 c const(x'32')
Cmd-2
d LeaveProgram c const(x'33')
Cmd-3
d Cmd04 c const(x'34')
Cmd-4
d Cmd05 c const(x'35')
Cmd-5
d Cmd06 c const(x'36')
Cmd-6
d Cmd07 c const(x'37')
Cmd-7
d Cmd08 c const(x'38')
Cmd-8
d Cmd09 c const(x'39')
Cmd-9
d Cmd10 c const(x'3A')
Cmd-10
d Cmd11 c const(x'3B')
Cmd-11
d Cmd12 c const(x'3C')
Cmd-12
d Cmd13 c const(x'B1')
Cmd-13
d Cmd14 c const(x'B2')
Cmd-14
d Cmd15 c const(x'B3')
Cmd-15
d Cmd16 c const(x'B4')
Cmd-16
d Cmd17 c const(x'B5')
Cmd-17
d Cmd18 c const(x'B6')
Cmd-18
d Cmd19 c const(x'B7')
Cmd-19
d Cmd20 c const(x'B8')
Cmd-20
d Cmd21 c const(x'B9')
Cmd-21
d Cmd22 c const(x'BA')
Cmd-22
d Cmd23 c const(x'BB')
Cmd-23
d Cmd24 c const(x'BC')
Cmd-24
d EnterKey c const(x'F1')
d PageDown c const(x'F5')
Roll Up
d PageUp c const(x'F4')
Roll Down
//
//
//---------------------------------------------------
// C a l c u l a t i o n S p e c s
//---------------------------------------------------
/free
exsr $Screen1;
*inlr = *on;
//===========================================
// Search.
//===========================================
begsr $Screen1;
//
reset EndScreen1;
write FKEY01;
exfmt SUB01CTL;
RRN1 = Currec;
SCRRN = Currec;
endif;
reset ScreenError;
select;
EndScreen1 = *on;
exsr $Clearsfl;
exsr $pageup;
exsr $Clearsfl;
exsr $pagedown;
other;
if c1key = *blanks;
exsr $process;
else;
exsr $position;
endif;
endsl;
enddo;
endsr;
//===========================================
//===========================================
begsr $clearsfl;
*in31 = *Off;
*in32 = *Off;
*in30 = *On;
write SUB01CTL;
*in31 = *On;
*in32 = *On;
*in30 = *Off;
clear RRN1;
clear SCRRN;
clear SavRrn;
*in33 = *off;
clear count;
endsr;
//===========================================
//===========================================
begsr $PageDown;
rrn1 = savrrn;
scrrn = savrrn;
endif;
read SINGLEP;
if %eof(singlep);
leave;
endif;
select;
when count = 1;
keytop = key;
keybottom = key;
endsl;
s1key = key;
s1desc = desc;
RRN1 +=1;
SCRRN = RRN1;
write SUB01;
savrrn = scrrn;
endfor;
//
//
if SavRrn = *zeros;
*in31 = *off;
endif;
endsr;
//===========================================
//===========================================
begsr $PageUp;
rrn1 = savrrn;
scrrn = savrrn;
endif;
readp singlep;
if %eof(singlep);
clear keytop;
clear keybottom;
leave;
endif;
select;
keybottom = key;
endsl;
keytop = key;
endfor;
exsr $pagedown;
//
//
if SavRrn = *zeros;
*in31 = *off;
endif;
endsr;
//===========================================
// $Position
//===========================================
begsr $Position;
endsr;
//===========================================
//===========================================
begsr $Process;
endsr;
//=================================================
//=================================================
begsr *inzsr;
exsr $Clearsfl;
exsr $PageDown;
endsr;
/end-free