home *** CD-ROM | disk | FTP | other *** search
/ CP/M / CPM_CDROM.iso / simtel / sigm / vols000 / vol049 / arp000.pli < prev    next >
Encoding:
Text File  |  1984-04-29  |  2.8 KB  |  129 lines

  1. /*PROGRAM
  2.         ARP000 - HWCS ACCOUNTS RECEIVABLE MAIN MENU
  3.   PROGRAMMER
  4.         ROBERT M. WHITE
  5.   DATE WRITTEN
  6.         APRIL 15, 1981
  7.   PURPOSE
  8.         THIS ROUTINE DISPLAYS THE MAIN MENU FOR THE
  9.         ACCOUNTS RECEIVABLE SYSTEM AND ALLOWS THE
  10.         OPERATOR TO SELECT THE APPROPRIATE FUNCTION
  11.         TO BE PERFORMED WITHIN THE SYSTEM.
  12.   INPUT
  13.   OUTPUT
  14.   REMARKS
  15. */
  16.  
  17. ARP000: PROC OPTIONS(MAIN);
  18. /* * * *   A/R MASTER MENU PROGRAM  * * * */
  19.  
  20. /* * *  PROGRAM REPLACEMENTS * * */
  21. %INCLUDE 'C:BTCCS.PLI';        /* BT-80 FUNCTIONS */
  22. %INCLUDE 'C:BTERRCS.PLI';    /* BT-80 ERROR RETURN CODES */
  23. %REPLACE FALSE BY '0'B;
  24. %REPLACE TRUE BY '1'B;
  25.  
  26. /* * *  PROGRAM AREAS  * * */
  27.     DCL    I BIN(7);    /* INDEX VARIABLE */
  28.     DCL    RP CHAR(2);  /* CHAR RESPONSE */
  29.     DCL    NRP BIN(15);  /* NUMERIC RESPONSE */
  30.     DCL    RTN_COD BIN(7); /* SUBROUTINE RETURN CODE */
  31.  
  32. /* * *  COMMON DCL INCLUDES  * * */
  33. %INCLUDE 'C:SUBS1.DCL';
  34. %INCLUDE 'ARCOMMON.DCL';
  35. %INCLUDE 'ARCUSTM.DCL';
  36.  
  37. /* * *  COMMON PROC INCLUDES * * */
  38.     DCL    BTREE ENTRY(BIN(7),BIN(7),PTR,BIN(7));
  39.     DCL    ARM000 ENTRY;    /* EXTERNAL MAPS */
  40.     DCL    ARP010 ENTRY;    /* EXTERNAL PROGRAMS */
  41.     DCL    ARP020 ENTRY;
  42.     DCL    ARP030 ENTRY;
  43.     DCL    ARP040 ENTRY;
  44.     DCL    ARP050 ENTRY;
  45.     DCL    ARP060 ENTRY;
  46.     DCL    ARP070 ENTRY;
  47.  
  48. /* * *  START OF MAIN PROGRAM  * * */
  49. PGM_BGN:
  50. /* FORMAT BT-80 CONTROL BLOCKS (IOCB & OPENCB). */
  51.     OPENCB1.IDXDRIVE='C';        /*FORMAT OPENCB.*/
  52.     OPENCB1.IDXFILE='ARCUSTM';
  53.     OPENCB1.IDXTYPE='DAT';
  54.     OPENCB1.NPAGES=16;
  55.     CALL CLRSCRN;
  56.     CALL PUTMSG(1,1,'ENTER PASSWORD: ');
  57.     CALL GETSTR(1,17,4,ADDR(OPENCB1.PW),RTN_COD);
  58.     OPENCB1.DLYUPD=FALSE;
  59.     OPENCB1.DRIVES(1)='C';
  60.     OPENCB1.DRIVES(2)='C';
  61.     IDX1=0;
  62.     CALL BTREE(BT_OPEN,IDX1,ADDR(OPENCB1),RTN_COD);
  63.     IF RTN_COD~=0 THEN
  64.        DO;
  65.           CALL PUTERR('OPEN RETURN CODE ='||RTN_COD||'.');
  66.           STOP;
  67.        END;
  68.     IOCB1P=ADDR(IOCB1);        /*FORMAT IOCB.*/
  69.     IOCB1.KEYPTR1=ADDR(REC1.CSID);
  70.     IOCB1.RECPTR1=ADDR(REC1);
  71.     CALL PUTMSG(2,1,'ENTER DATE(MMDDYY): ');
  72.     CALL GETSTR(2,21,8,ADDR(CURDAT),RTN_COD);
  73.  
  74. /* HANDLE ALL MAJOR FUNCTIONS. */
  75. MAIN_MENU:
  76.     BEGIN;
  77.     CALL ARM000;    /* PUT UP MASTER SCREEN. */
  78.     CALL GETB15(12,23,NRP,0,07,RTN_COD);
  79.     GOTO MAIN_FUNC(NRP);    /* PERFORM THE FUNCTION. */
  80.     END; /* MAIN_MENU */
  81.  
  82. MAIN_FUNC(00): BEGIN;
  83.     CALL CLRSCRN;
  84.     CALL BTREE(BT_CLOSE,IDX1,ADDR(OPENCB1),RTN_COD);
  85.     IF RTN_COD~=0 THEN
  86.        DO;
  87.           CALL PUTERR('CLOSE RETURN CODE ='||RTN_COD||'.');
  88.           STOP;
  89.        END;
  90.     STOP;
  91.     END;
  92.  
  93. MAIN_FUNC(01): BEGIN;
  94.     CALL ARP010;
  95.     GOTO MAIN_MENU;
  96.     END;
  97.  
  98. MAIN_FUNC(02): BEGIN;
  99.     CALL ARP020;
  100.     GOTO MAIN_MENU;
  101.     END;
  102.  
  103. MAIN_FUNC(03): BEGIN;
  104.     CALL ARP030;
  105.     GOTO MAIN_MENU;
  106.     END;
  107.  
  108. MAIN_FUNC(04): BEGIN;
  109.     CALL ARP040;
  110.     GOTO MAIN_MENU;
  111.     END;
  112.  
  113. MAIN_FUNC(05): BEGIN;
  114.     CALL ARP050;
  115.     GOTO MAIN_MENU;
  116.     END;
  117.  
  118. MAIN_FUNC(06): BEGIN;
  119.     CALL ARP060;
  120.     GOTO MAIN_MENU;
  121.     END;
  122.  
  123. MAIN_FUNC(07): BEGIN;
  124.     CALL ARP070;
  125.     GOTO MAIN_MENU;
  126.     END;
  127.  
  128.     END ARP000;
  129.