Este es el codigo, donde asigno el nombre de la impresora.
Código COBOL:
IDENTIFICATION DIVISION.
PROGRAM-ID. PHNBLD01.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT OPTIONAL PHONE-FILE ASSIGN TO "PHONE.DAT"
ORGANIZATION IS SEQUENTIAL.
SELECT PRINTER-FILE ASSIGN TO PRINTER, DCP-T300.
* ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD PHONE-FILE.
* LABEL RECORDS ARE STANDARD.
01 PHONE-RECORD.
05 PHONE-LAST-NAME PIC X(20).
05 PHONE-FIRST-NAME PIC X(20).
05 PHONE-NUMBER PIC X(15).
05 PHONE-EXT PIC X(5).
FD PRINTER-FILE.
01 PRINTED-RECORD PIC X(80).
WORKING-STORAGE SECTION.
01 HOW-MANY PIC 999.
01 ENTRY-FIELD PIC ZZZ.
01 PRINT-LINES PIC 99 VALUE ZEROES.
01 FORMATTED-NUMBER.
05 FILLER PIC X(6) VALUE "(404)".
05 FILLER VALUE "555-".
06 PHONE-COUNTER PIC 9(4) VALUE ZERO.
PROCEDURE DIVISION.
PROGRAM-BEGIN.
PERFORM OPENING-PROCEDURE.
PERFORM GET-HOW-MANY.
MOVE ZEROES TO PRINT-LINES.
PERFORM ADD-RECORD VARYING PHONE-COUNTER FROM 1 BY 1 UNTIL
PHONE-COUNTER > HOW-MANY.
PERFORM CLOSING-PROCEDURE.
PROGRAM-DONE.
STOP RUN.
OPENING-PROCEDURE.
OPEN OUTPUT PHONE-FILE.
OPEN OUTPUT PRINTER-FILE.
CLOSING-PROCEDURE.
CLOSE PHONE-FILE.
MOVE SPACE TO PRINTED-RECORD.
WRITE PRINTED-RECORD BEFORE ADVANCING PAGE.
CLOSE PRINTER-FILE.
GET-HOW-MANY.
DISPLAY "How many test entries (1-999): ".
ACCEPT ENTRY-FIELD.
MOVE ENTRY-FIELD TO HOW-MANY.
ADD-RECORD.
PERFORM FORMAT-THE-RECORD.
PERFORM ADD-THIS-RECORD.
FORMAT-THE-RECORD.
MOVE "Joshua-------------X" TO PHONE-FIRST-NAME.
MOVE "Johnson------------X" TO PHONE-LAST-NAME.
MOVE "12345" TO PHONE-EXT.
MOVE FORMATTED-NUMBER TO PHONE-NUMBER.
ADD-THIS-RECORD.
WRITE PHONE-RECORD.
PERFORM PRINT-THIS-RECORD.
PRINT-THIS-RECORD.
IF PRINT-LINES NOT < 55
PERFORM NEW-PAGE
END-IF.
MOVE PHONE-RECORD TO PRINTED-RECORD.
WRITE PRINTED-RECORD BEFORE ADVANCING 1.
ADD 1 TO PRINT-LINES.
NEW-PAGE.
MOVE SPACE TO PRINTED-RECORD.
WRITE PRINTED-RECORD BEFORE ADVANCING PAGE.
MOVE ZEROES TO PRINT-LINES.