IDENTIFICATION DIVISION. PROGRAM-ID. BRDCST. AUTHOR. MARLEX PETROLEUM, 2633 CHERRY AVE, SIGNAL HILL, CA 90806. DATA DIVISION. WORKING-STORAGE SECTION. 01 OUTPUT-STRING PIC X(80). 01 INPUT-STRING PIC X(79). 01 BELL-CHAR-DEFN PIC 9(02) COMP VALUE 7. 01 BELL-CHAR REDEFINES BELL-CHAR-DEFN PIC X(01). 01 CR-CHAR-DEFN PIC 9(02) COMP VALUE 13. 01 CR-CHAR REDEFINES CR-CHAR-DEFN PIC X(01). 01 NUMBER-OF-LINES PIC S9(04) COMP. 77 INPUT-LENGTH PIC S9(04) COMP. 77 OUTPUT-LENGTH PIC S9(04) COMP. 77 PROMPT-STRING PIC X(05) VALUE "MSG> ". 77 BRDCST$M_SCREEN PIC S9(09) COMP VALUE EXTERNAL BRDCST$M_SCREEN. 77 BRDCST$M_BOTTOM PIC S9(09) COMP VALUE EXTERNAL BRDCST$M_BOTTOM. 77 LIB$_INPSTRTRU PIC S9(09) COMP VALUE EXTERNAL LIB$_INPSTRTRU. 77 SYS-STATUS PIC S9(09) COMP. 77 CLEAR-VALUE PIC S9(09) COMP. 77 SPACE-CHAR PIC X(01) VALUE SPACE. PROCEDURE DIVISION. AAA. CALL "LIB$GET_FOREIGN" USING BY DESCRIPTOR INPUT-STRING, PROMPT-STRING BY REFERENCE INPUT-LENGTH GIVING SYS-STATUS. IF SYS-STATUS = LIB$_INPSTRTRU THEN GO TO BBB. IF SYS-STATUS IS FAILURE CALL "LIB$STOP" USING BY VALUE SYS-STATUS. BBB. MOVE 1 TO NUMBER-OF-LINES. INSPECT INPUT-STRING TALLYING NUMBER-OF-LINES FOR ALL CR-CHAR. IF INPUT-LENGTH = ZERO STOP RUN. ADD NUMBER-OF-LINES, BRDCST$M_SCREEN, BRDCST$M_BOTTOM GIVING CLEAR-VALUE. ADD 1, INPUT-LENGTH GIVING OUTPUT-LENGTH. STRING INPUT-STRING(1:INPUT-LENGTH) DELIMITED BY SIZE BELL-CHAR DELIMITED BY SIZE INTO OUTPUT-STRING. CALL "SYS$BRDCST" USING BY DESCRIPTOR OUTPUT-STRING(1:OUTPUT-LENGTH), BY VALUE 0, CLEAR-VALUE, 32 GIVING SYS-STATUS. IF SYS-STATUS IS FAILURE CALL "LIB$STOP" USING BY VALUE SYS-STATUS. STOP RUN.