/*PROGRAM ARP000 - HWCS ACCOUNTS RECEIVABLE MAIN MENU PROGRAMMER ROBERT M. WHITE DATE WRITTEN APRIL 15, 1981 PURPOSE THIS ROUTINE DISPLAYS THE MAIN MENU FOR THE ACCOUNTS RECEIVABLE SYSTEM AND ALLOWS THE OPERATOR TO SELECT THE APPROPRIATE FUNCTION TO BE PERFORMED WITHIN THE SYSTEM. INPUT OUTPUT REMARKS */ ARP000: PROC OPTIONS(MAIN); /* * * * A/R MASTER MENU PROGRAM * * * */ /* * * PROGRAM REPLACEMENTS * * */ %INCLUDE 'C:BTCCS.PLI'; /* BT-80 FUNCTIONS */ %INCLUDE 'C:BTERRCS.PLI'; /* BT-80 ERROR RETURN CODES */ %REPLACE FALSE BY '0'B; %REPLACE TRUE BY '1'B; /* * * PROGRAM AREAS * * */ DCL I BIN(7); /* INDEX VARIABLE */ DCL RP CHAR(2); /* CHAR RESPONSE */ DCL NRP BIN(15); /* NUMERIC RESPONSE */ DCL RTN_COD BIN(7); /* SUBROUTINE RETURN CODE */ /* * * COMMON DCL INCLUDES * * */ %INCLUDE 'C:SUBS1.DCL'; %INCLUDE 'ARCOMMON.DCL'; %INCLUDE 'ARCUSTM.DCL'; /* * * COMMON PROC INCLUDES * * */ DCL BTREE ENTRY(BIN(7),BIN(7),PTR,BIN(7)); DCL ARM000 ENTRY; /* EXTERNAL MAPS */ DCL ARP010 ENTRY; /* EXTERNAL PROGRAMS */ DCL ARP020 ENTRY; DCL ARP030 ENTRY; DCL ARP040 ENTRY; DCL ARP050 ENTRY; DCL ARP060 ENTRY; DCL ARP070 ENTRY; /* * * START OF MAIN PROGRAM * * */ PGM_BGN: /* FORMAT BT-80 CONTROL BLOCKS (IOCB & OPENCB). */ OPENCB1.IDXDRIVE='C'; /*FORMAT OPENCB.*/ OPENCB1.IDXFILE='ARCUSTM'; OPENCB1.IDXTYPE='DAT'; OPENCB1.NPAGES=16; CALL CLRSCRN; CALL PUTMSG(1,1,'ENTER PASSWORD: '); CALL GETSTR(1,17,4,ADDR(OPENCB1.PW),RTN_COD); OPENCB1.DLYUPD=FALSE; OPENCB1.DRIVES(1)='C'; OPENCB1.DRIVES(2)='C'; IDX1=0; CALL BTREE(BT_OPEN,IDX1,ADDR(OPENCB1),RTN_COD); IF RTN_COD~=0 THEN DO; CALL PUTERR('OPEN RETURN CODE ='||RTN_COD||'.'); STOP; END; IOCB1P=ADDR(IOCB1); /*FORMAT IOCB.*/ IOCB1.KEYPTR1=ADDR(REC1.CSID); IOCB1.RECPTR1=ADDR(REC1); CALL PUTMSG(2,1,'ENTER DATE(MMDDYY): '); CALL GETSTR(2,21,8,ADDR(CURDAT),RTN_COD); /* HANDLE ALL MAJOR FUNCTIONS. */ MAIN_MENU: BEGIN; CALL ARM000; /* PUT UP MASTER SCREEN. */ CALL GETB15(12,23,NRP,0,07,RTN_COD); GOTO MAIN_FUNC(NRP); /* PERFORM THE FUNCTION. */ END; /* MAIN_MENU */ MAIN_FUNC(00): BEGIN; CALL CLRSCRN; CALL BTREE(BT_CLOSE,IDX1,ADDR(OPENCB1),RTN_COD); IF RTN_COD~=0 THEN DO; CALL PUTERR('CLOSE RETURN CODE ='||RTN_COD||'.'); STOP; END; STOP; END; MAIN_FUNC(01): BEGIN; CALL ARP010; GOTO MAIN_MENU; END; MAIN_FUNC(02): BEGIN; CALL ARP020; GOTO MAIN_MENU; END; MAIN_FUNC(03): BEGIN; CALL ARP030; GOTO MAIN_MENU; END; MAIN_FUNC(04): BEGIN; CALL ARP040; GOTO MAIN_MENU; END; MAIN_FUNC(05): BEGIN; CALL ARP050; GOTO MAIN_MENU; END; MAIN_FUNC(06): BEGIN; CALL ARP060; GOTO MAIN_MENU; END; MAIN_FUNC(07): BEGIN; CALL ARP070; GOTO MAIN_MENU; END; END ARP000;