90 lines
2.8 KiB
COBOL
90 lines
2.8 KiB
COBOL
IDENTIFICATION DIVISION.
|
|
PROGRAM-ID. report_example.
|
|
AUTHOR. Rildo Pragana.
|
|
* REMARKS.
|
|
* Example report.
|
|
*
|
|
ENVIRONMENT DIVISION.
|
|
CONFIGURATION SECTION.
|
|
INPUT-OUTPUT SECTION.
|
|
FILE-CONTROL.
|
|
SELECT sales-file
|
|
ASSIGN TO "sales.dat"
|
|
ORGANIZATION IS LINE SEQUENTIAL
|
|
ACCESS MODE IS SEQUENTIAL.
|
|
|
|
DATA DIVISION.
|
|
FILE SECTION.
|
|
FD sales-file.
|
|
01 sales-record.
|
|
05 sales-vendor-name pic X(20).
|
|
05 sales-value pic S9(6).
|
|
05 sales-number pic X(13).
|
|
05 sales-type pic X.
|
|
05 sales-vendor-region pic X(17).
|
|
05 sales-vendor-city pic X(20).
|
|
05 sales-comments pic X(60).
|
|
|
|
WORKING-STORAGE SECTION.
|
|
77 data-end-flag pic X.
|
|
77 REPORT-OUTPUT-NAME pic X(80).
|
|
77 REPORT-LAYOUT-NAME pic X(80).
|
|
77 END-OF-STRING pic X value low-values.
|
|
|
|
01 transaction-dsp.
|
|
* This is temporary fix due to some bug in the preprocessor
|
|
* which causes a seg fault.
|
|
* COPY displayable.
|
|
COPY 'displayable.cpy'.
|
|
77 transaction-eos pic X value low-values.
|
|
01 totals-accumulators.
|
|
05 vendor-total pic 9(12) comp.
|
|
05 city-total pic 9(12) comp.
|
|
05 region-total pic 9(12) comp.
|
|
05 grand-total pic 9(12) comp.
|
|
|
|
PROCEDURE DIVISION.
|
|
|
|
move zeros to vendor-total city-total region-total
|
|
string "repoutput.pdf" END-OF-STRING into REPORT-OUTPUT-NAME
|
|
string "report.layout" END-OF-STRING into REPORT-LAYOUT-NAME
|
|
CALL "rep_initiate" using REPORT-OUTPUT-NAME REPORT-LAYOUT-NAME.
|
|
*
|
|
open input sales-file
|
|
move 'N' to data-end-flag
|
|
read sales-file
|
|
perform 200-CONV-DISPLAY
|
|
perform 100-GENERATE
|
|
until data-end-flag = 'Y'.
|
|
close sales-file
|
|
perform 200-CONV-DISPLAY
|
|
call "rep_terminate"
|
|
* display "vendor-total = " vendor-total ", city-total = " city-total
|
|
STOP RUN.
|
|
|
|
100-GENERATE.
|
|
perform 200-CONV-DISPLAY
|
|
* display "COBOL record: [" transaction-dsp "]"
|
|
call "rep_generate" using transaction-dsp vendor-total
|
|
city-total region-total grand-total-dsp
|
|
add sales-value to
|
|
vendor-total, city-total, region-total, grand-total
|
|
read sales-file
|
|
at end
|
|
move 'Y' to data-end-flag.
|
|
|
|
200-CONV-DISPLAY.
|
|
move sales-vendor-name to vendor-name-dsp
|
|
move sales-value to value-dsp
|
|
move sales-number to number-dsp
|
|
move sales-type to type-dsp
|
|
move sales-vendor-region to vendor-region-dsp
|
|
move sales-vendor-city to vendor-city-dsp
|
|
move sales-comments to comments-dsp
|
|
move vendor-total to vendor-total-dsp
|
|
move city-total to city-total-dsp
|
|
move region-total to region-total-dsp
|
|
move grand-total to grand-total-dsp
|
|
.
|
|
|