WORK5 ASGN PRINTER 2 COBOL RUN THRU OUTPUT IDENTIFICATION DIVISION. PROGRAM-ID. @TELEPHONE EXCHANGES@. AUTHOR. RONALD MAK. INSTALLATION. RICHMOND SCHOOLS DATA PROCESSING CENTER. DATE-WRITTEN. AUGUST 3-5, 1970. DATE-COMPILED. AUGUST 9, 1970. REMARKS. A PERSON@S NAME AND HIS TELEPHONE NUMBER ARE READ FROM A DATA CARD. IT IS DETERMINED WHETHER HIS NUMBER BELONGS TO THE BECON, PROSPECT, OR A MISCELLANEOUS EXCHANGE. THIS INFORMA- TION IS PRINTED AND ALSO PUNCHED, WITH THE BECON CARDS DROP- PED INTO STACKER 0, PROSPECT CARDS INTO STACKER 4, AND THE MISCELLANEOUS CARDS INTO STACKER 8. THE PROCESS IS REPEATED UNTIL ALL THE DATA CARDS HAVE BEEN READ. AT THE END, THE NUM- BER OF CARDS READ AND THE PERCENTAGE IN EACH EXCHANGE WILL BE PRINTED. A LISTING OF AUTOCODER SYMBOLIC STATEMENTS WILL BE INCLUDED. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. IBM-1401. OBJECT-COMPUTER. IBM-1401 MEMORY SIZE 16000 CHARACTERS NO-MULTIPLY-DIVIDE NO-OVERLAP. SPECIAL-NAMES. 1403-CT IS SKIPPING-TO-CHANNEL-1. 1403-P-CV ON STATUS IS AT-END-OF-PAGE. 1402-P IS CARD-PUNCHER. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT READER-FILE ASSIGN TO 1402-R. SELECT PRINTER-FILE ASSIGN TO 1403-P. SELECT NORMAL-PUNCH-FILE ASSIGN TO 1402-P, 0. SELECT PUNCH-SELECT-FILE ASSIGN TO 1402-P, 4. SELECT COMMON-PUNCH-FILE ASSIGN TO 1402-P, 8. DATA DIVISION. FILE SECTION. FD READER-FILE RECORDING MODE IS 1 RECORD CONTAINS 80 CHARACTERS LABEL RECORDS ARE OMITTED DATA RECORD IS DATA-CARD. 01 DATA-CARD. 02 EXCHANGE-NUMBER PICTURE 999. 02 CALL-NUMBER PICTURE 9999. 02 FILLER PICTURE XXX. 02 CUSTOMER-NAME PICTURE X%30). 02 FILLER PICTURE X%40). FD PRINTER-FILE RECORDING MODE IS 1 RECORD CONTAINS 132 CHARACTERS LABEL RECORDS ARE OMITTED DATA RECORD IS PRINTED-LINE. 01 PRINTED-LINE PICTURE X%132). FD NORMAL-PUNCH-FILE RECORDING MODE IS 1 RECORD CONTAINS 80 CHARACTERS LABEL RECORDS ARE OMITTED DATA RECORD IS PUNCHED-CARD-0. 01 PUNCHED-CARD-0 PICTURE X%80). FD PUNCH-SELECT-FILE RECORDING MODE IS 1 RECORD CONTAINS 80 CHARACTERS LABEL RECORDS ARE OMITTED DATA RECORD IS PUNCHED-CARD-4. 01 PUNCHED-CARD-4 PICTURE X%80). FD COMMON-PUNCH-FILE RECORDING MODE IS 1 RECORD CONTAINS 80 CHARACTERS LABEL RECORDS ARE OMITTED DATA RECORD IS PUNCHED-CARD-8. 01 PUNCHED-CARD-8 PICTURE X%80). WORKING-STORAGE SECTION. 77 NUMBER-OF-BECONS PICTURE 999 VALUE ZERO. 77 NUMBER-OF-PROSPECTS PICTURE 999 VALUE ZERO. 77 NUMBER-OF-MISC PICTURE 999 VALUE ZERO. 77 BECON PICTURE X%8) VALUE @BECON @. 77 PROSPECT PICTURE X%8) VALUE @PROSPECT@. 77 MISC PICTURE X%8) VALUE @**MISC**@. 01 BANNER. 02 FILLER PICTURE X%51) VALUE SPACES. 02 TITLE PICTURE A%31) VALUE @*** TELEPHONE EXCHANGE LIST ***@. 02 FILLER PICTURE X%50) VALUE SPACES. 01 COLUMN-HEADERS. 02 FILLER PICTURE X%36) VALUE SPACES. 02 TELEPHONE-HEADER PICTURE A%19) VALUE @TELEPHONE NUMBER @. 02 NAME-HEADER PICTURE A%4) VALUE @NAME@. 02 FILLER PICTURE X%29) VALUE SPACES. 02 EXCHANGE-HEADER PICTURE A%8) VALUE @EXCHANGE@. 02 FILLER PICTURE X%36) VALUE SPACES. 01 PRINTER-STORAGE. 02 FILLER PICTURE X%44) VALUE SPACES. 02 NUMBER-PART-1 PICTURE 999. 02 HYPHEN PICTURE X VALUE @-@. 02 NUMBER-PART-2 PICTURE 9999. 02 FILLER PICTURE XXX VALUE SPACES. 02 NAME PICTURE X%30). 02 FILLER PICTURE XXX VALUE SPACES. 02 EXCHANGE PICTURE X%8). 02 FILLER PICTURE X%36) VALUE SPACES. 01 PUNCHER-STORAGE. 02 EXCHANGE-NAME PICTURE X%8). 02 FILLER PICTURE XXX VALUE SPACES. 02 PART-1-NUMBER PICTURE 999. 02 DASH PICTURE X VALUE @-@. 02 PART-2-NUMBER PICTURE 9999. 02 FILLER PICTURE XXX VALUE SPACES. 02 CUSTOMER PICTURE X%30). 02 FILLER PICTURE X%28) VALUE SPACES. 01 TOTALS-STORAGE. 02 FILLER PICTURE X%28) VALUE SPACES. 02 CARDS-READ PICTURE 9999 VALUE ZERO. 02 CD-RD-PCT-HEADER PICTURE A%37) VALUE @ CARDS READ.....PERCENTAGES... BECON @. 02 BECON-PERCENTAGE PICTURE 99.99 VALUE ZERO. 02 PROSPECT-HEADER PICTURE A%12) VALUE @ PROSPECT @. 02 PROSPECT-PERCENTAGE PICTURE 99.99 VALUE ZERO. 02 MISC-HEADER PICTURE A%9) VALUE @ MISC. @. 02 MISC-PERCENTAGE PICTURE 99.99 VALUE ZERO. 02 FILLER PICTURE X%27) VALUE SPACES. PROCEDURE DIVISION. INITIALIZATION. OPEN INPUT READER-FILE, OUTPUT PRINTER-FILE, NORMAL-PUNCH-FILE, PUNCH-SELECT-FILE, COMMON-PUNCH-FILE. WRITE PRINTED-LINE FROM BANNER BEFORE ADVANCING 2 LINES. WRITE PRINTED-LINE FROM COLUMN-HEADERS BEFORE ADVANCING 1 LINES. READ-A-DATA-CARD. READ READER-FILE RECORD, AT END, GO TO FINISH-JOB. ADD 1 TO CARDS-READ. MOVE EXCHANGE-NUMBER TO NUMBER-PART-1, PART-1-NUMBER. MOVE CALL-NUMBER TO NUMBER-PART-2, PART-2-NUMBER. MOVE CUSTOMER-NAME TO NAME, CUSTOMER. FILE-DATA. IF EXCHANGE-NUMBER IS EQUAL TO 232, MOVE BECON TO EXCHANGE, EXCHANGE-NAME, ADD 1 TO NUMBER-OF-BECONS, WRITE PUNCHED-CARD-0 FROM PUNCHER-STORAGE, GO TO PRINT-A-LINE, ELSE, NEXT SENTENCE. IF EXCHANGE-NUMBER IS EQUAL TO 776, MOVE PROSPECT TO EXCHANGE, EXCHANGE-NAME, ADD 1 TO NUMBER-OF-PROSPECTS, WRITE PUNCHED-CARD-4 FROM PUNCHER-STORAGE, GO TO PRINT-A-LINE, ELSE, MOVE MISC TO EXCHANGE, EXCHANGE-NAME, ADD 1 TO NUMBER-OF-MISC, WRITE PUNCHED-CARD-8 FROM PUNCHER-STORAGE. PRINT-A-LINE. IF AT-END-OF-PAGE WRITE PRINTED-LINE FROM PRINTER-STORAGE AFTER SKIPPING-TO-CHANNEL-1, ELSE, WRITE PRINTED-LINE FROM PRINTER-STORAGE. GO TO READ-A-DATA-CARD. FINISH-JOB. COMPUTE BECON-PERCENTAGE ROUNDED # NUMBER-OF-BECONS / CARDS-READ * 100. COMPUTE PROSPECT-PERCENTAGE ROUNDED # NUMBER-OF-PROSPECTS / CARDS-READ * 100. COMPUTE MISC-PERCENTAGE ROUNDED # NUMBER-OF-MISC / CARDS-READ * 100. WRITE PRINTED-LINE FROM TOTALS-STORAGE AFTER SKIPPING-TO-CHANNEL-1. CLOSE READER-FILE, PRINTER-FILE, NORMAL-PUNCH-FILE, PUNCH-SELECT-FILE, COMMON-PUNCH-FILE. DISPLAY @END OF JOB@. DISPLAY @END OF JOB@ UPON CARD-PUNCHER. STOP RUN. END OF SOURCE