2022-04-22 17:11:04 -04:00

53 lines
1.7 KiB
Plaintext

**free
// Demo of First Character Form Control (FCFC) Printing
ctl-opt option(*srcstmt) actgrp(*new) main(Prt);
dcl-f MYPRT printer(133) oflind(*in99);
dcl-proc Prt;
dcl-c TOP '1'; // Skip to top of page
dcl-c S1 ' '; // Space 1 line & print
dcl-c S2 '0'; // Space 2 lines & print
dcl-c S3 '-'; // Space 3 lines & Print
dcl-c S0 '+'; // Space 0, overprint
dcl-ds line len(133) inz qualified;
fcfc char(1);
*n char(6); // left margin
text Char(126); // Ad-hoc text
num char(6) overlay(text:*next);
*n char(6) overlay(text:*next);
ts char(26) overlay(text:*next);
end-ds;
dcl-ds head1 likeds(line);
dcl-ds head2 likeds(line);
dcl-ds head3 likeds(line);
dcl-s k int(10);
// Initialization
head1.fcfc = TOP;
head1.text = 'Sample Report Using Concocted Data';
head2.fcfc = S2;
head2.num = 'Number';
head2.ts = 'Time Stamp';
head3.fcfc = S0;
head3.num = *all'_';
head3.ts = *all'_';
*in99 = *on; // First page is always skip
for k = 1 to 70;
if (*in99 = *on);
*in99 = *off;
write MYPRT head1;
write MYPRT head2;
write MYPRT head3;
endif;
evalr line.num = %trim(%char(k));
line.ts = %char(%timestamp());
line.fcfc = S1;
write MYPRT line;
endfor;
line.fcfc = S3;
line.text = '*** End of Report ***';
write MYPRT line;
return;
end-proc;
// CRTPRTF FILE(LENNONS1/MYPRT) CTLCHAR(*FCFC) CHLVAL((1 (3)))
// OVRPRTF FILE(QPRINT) CTLCHAR(*FCFC) CHLVAL((1 (3)))