/*PROGRAM
ARP060 - HWCS ACCOUNTS RECEIVABLE CUSTOMER FILE LOAD
PROGRAMMER
ROBERT M. WHITE
DATE WRITTEN
APRIL 15, 1981
PURPOSE
THIS ROUTINE LOADS THE CUSTOMER FILE FROM A
PREVIOUSLY SAVED SEQUENTIAL FILE. THIS COM-
PLEMENTS THE CUSTOMER FILE OFFLOAD PROGRAM.
INPUT
OUTPUT
REMARKS
*/
ARP060: PROC;
/* * * * 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;
/* * * 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 ARM060 ENTRY; /* EXTERNAL MAPS */
/* * * PRINT A RECORD. * * */
PUT_RECS: PROC;
/* DELETE THE RECORD IF IT ALREADY EXISTS. */
CALL BTREE(BT_LOCATE,IDX1,IOCB1P,RTN_COD);
IF RTN_COD=0 THEN
CALL BTREE(BT_ERASE,IDX1,IOCB1P,RTN_COD);
/* PUT THE RECORD. */
CALL BTREE(BT_WRITE,IDX1,IOCB1P,RTN_COD);
IF RTN_COD=0 THEN
PUT SKIP LIST(REC1.CSID,' HAS BEEN ADDED.');
ELSE
PUT SKIP LIST('WRITE RETURN CODE FOR ',REC1.CSID,' IS',RTN_COD,
'.');
/* * * START OF MAIN PROGRAM * * */
MAIN_MENU:
BEGIN;
CALL ARM060; /* PUT UP BACKGROUND. */
CALL GETB15(06,23,NRP,0,1,RTN_COD); /* GET THE FUNCTION. */
GOTO MAIN_FUNC(NRP); /* PERFORM THE FUNCTION. */
END; /* MAIN_MENU */
/* * * RETURN TO MAIN MENU * * */
MAIN_FUNC(00):
BEGIN;
CALL CLRSCRN;
CALL PUTMSG(1,1,'RETURNING TO MASTER MENU...');
RETURN;
END;
/* * * PRINT THE REPORT * * */
MAIN_FUNC(01):
BEGIN;
/* DO INITIALIZATION. */
CALL CLRSCRN;
PUT SKIP LIST(' * * * CUSTOMER FILE LOAD PROGRAM * * *');
PUT SKIP LIST(' ***PRINT THE REPORT***');
EOF_MSTR='0'B;
/* OPEN THE PRINT FILE AND PRINT THE FIRST HEADING. */
CALL EOL(24,1);
CALL PUTMSG(24,1,'ENTER INPUT FILE NAME:');
CALL GETSTR(24,26,LENGTH(PF_TITLE),ADDR(PF_TITLE),RTN_COD);
OPEN FILE(PRINTFILE) STREAM INPUT PAGESIZE(0) LINESIZE(512)
ENV(B(4096)) TITLE(PF_TITLE);
ON ENDFILE(PRINTFILE)
BEGIN;
EOF_MSTR='1'B;
END;
/* PRINT THE DATA FROM THE FILE. */
RCD_CNT=0;
CALL CLRSCRN;
PUT SKIP(0);
PUT SKIP LIST('LOADING THE FILE......');
PRINT_LOOP:
DO WHILE(EOF_MSTR='0'B);
CALL GET_RECS;
IF EOF_MSTR='0'B THEN
DO;
CALL PUT_RECS;
RCD_CNT=RCD_CNT+1;
END;
RP=CONINP();
IF RP=ASCII(27) THEN /* OPERATOR INTERVENTION VIA ESC */
DO;
EOF_MSTR='1'B;
END;
END;
/* RETURN TO CALLER. */
PRINT_END:
CLOSE FILE(PRINTFILE);
PUT SKIP;
PUT SKIP LIST('RECORDS PRINTED:',RCD_CNT);
PUT SKIP;
CALL PUTMSG(24,1,'PRESS <ENTER> TO CONTINUE.');
CALL GETSTR(24,60,1,ADDR(RP),RTN_COD);
GOTO MAIN_MENU;
END;