Está en la página 1de 3

IDENTIFICATION DIVISION.

*************************************************************************
*
*
* NOMBRE DE PROGRAMA............. PRUEBAPRIN
*
* MODULO......................... CBL
*
* BREVE DESCRIPCION.............. Demostracion de printerfile
*
* PROGRAMADOR.................... EMANUEL MARTIN SCHIFFINI
*
* FECHA DE CREACION.............. 27/11/2014
*
*************************************************************************
PROGRAM-ID. PRUEBAPRIN.
AUTHOR. EMANUEL MARTIN SCHIFFINI.
DATE-WRITTEN.
SECURITY. PRUEBA PARA PRINTERFILES.
ENVIRONMENT DIVISION.
*--------------------------------------------------------------*
CONFIGURATION SECTION.
SOURCE-COMPUTER. IBM-AS400.
OBJECT-COMPUTER. IBM-AS400.
SPECIAL-NAMES. I-O-FEEDBACK IS FEEDBACK-INFO
LOCAL-DATA
IS LOCAL-DATA-AREA
DECIMAL-POINT IS COMMA.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT PANTALLA
ASSIGN
TO
ORGANIZATION IS
ACCESS MODE IS
CONTROL-AREA IS
FILE STATUS IS

WORKSTATION-PRUEBAPAN
TRANSACTION
SEQUENTIAL
WSCONTROL
FS-PANTALLA.

SELECT PRINTER
ASSIGN TO FORMATFILE-PRUEBA1
STATUS FS-PRINTER.
*
*--------------------------------------------------------------*
DATA DIVISION.
FILE SECTION.
*--------------------------------------------------------------*
FD PANTALLA
LABEL RECORDS OMITTED.
01 REG-PANTA

PIC X(2000).

FD PRINTER
LABEL RECORD IS OMITTED.
01 PRINTER-REG
PIC X(1024).
*--------------------------------------------------------------*
WORKING-STORAGE SECTION.
01 WS-VARIABLES.
05 WS-FILE-STATUS
05 FS-PRINTER
05 FS-PANTALLA
*-----------------------*

PIC X(02)
PIC X(02)
PIC X(02)

VALUE "00".
VALUE "00".
VALUE "00".

* Registros de IMPRESION*
*-----------------------*
01 W-CABECERA.
COPY DDS-TITULO-O OF PRUEBA1.
01 W-DETALLE.
COPY DDS-DETALLE-O OF PRUEBA1.
*-----------------------*
* Registros de PANTALLA *
*-----------------------*
01 PANTALLA-I.
COPY DDS-UNICA
OF PRUEBAPAN.
01 WSCONTROL.
05 WS-CONTROL
PIC 99.
88 INTRO
VALUE 00.
88 F3
VALUE 03.
88 F12
VALUE 12.
*--------------------------------------------------------------*
PROCEDURE DIVISION .
000-COMIENZO.
*-------------PERFORM 100-INICIO
THRU 100-INICIO-EXIT
PERFORM 200-PROCESO
THRU 200-PROCESO-EXIT
PERFORM 1000-FIN
THRU 1000-FIN-EXIT
EXIT PROGRAM
GOBACK.
000-FINAL.
*-----------100-INICIO SECTION.
100-ENTRY.
*-----------OPEN I-O PANTALLA.
OPEN OUTPUT PRINTER.
100-INICIO-EXIT.
EXIT.
*-----------200-PROCESO SECTION.
200-ENTRY.
*----------INITIALIZE REG-PANTA
WRITE REG-PANTA FROM PANTALLA-I FORMAT "UNICA"
READ PANTALLA INTO PANTALLA-I FORMAT "UNICA"
PERFORM 200-IMPRIMO-CABECERA
THRU 200-IMPRIMO-CABECERA-EXIT
PERFORM 300-IMPRIMO-DETALLE

THRU 300-IMPRIMO-DETALLE-EXIT.
200-PROCESO-EXIT.
EXIT.
*--------------------200-IMPRIMO-CABECERA SECTION.
200-ENTRY.
*--------------------WRITE PRINTER-REG FROM TITULO-O

FORMAT "TITULO".

200-IMPRIMO-CABECERA-EXIT.
EXIT.
*--------------------300-IMPRIMO-DETALLE SECTION.
300-ENTRY.
*--------------------MOVE POLIZA OF PANTALLA-I TO DETPOL OF DETALLE-O
MOVE ENDOSO OF PANTALLA-I TO DETEND OF DETALLE-O
WRITE PRINTER-REG FROM DETALLE-O FORMAT "DETALLE".

300-IMPRIMO-DETALLE-EXIT.
EXIT.
*--------------------1000-FIN SECTION.
1000-ENTRY.
*--------------------CLOSE PANTALLA
PRINTER.
*--------------------1000-FIN-EXIT.
EXIT.

También podría gustarte