298 lines
12 KiB
HTML
298 lines
12 KiB
HTML
|
<?xml version="1.0" encoding="utf-8"?>
|
||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
|
||
|
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-us">
|
||
|
<head>
|
||
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||
|
<meta name="dc.language" scheme="rfc1766" content="en-us" />
|
||
|
<!-- All rights reserved. Licensed Materials Property of IBM -->
|
||
|
<!-- US Government Users Restricted Rights -->
|
||
|
<!-- Use, duplication or disclosure restricted by -->
|
||
|
<!-- GSA ADP Schedule Contract with IBM Corp. -->
|
||
|
<meta name="dc.date" scheme="iso8601" content="2005-09-06" />
|
||
|
<meta name="copyright" content="(C) Copyright IBM Corporation 1998, 2006" />
|
||
|
<meta name="security" content="public" />
|
||
|
<meta name="Robots" content="index,follow"/>
|
||
|
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
|
||
|
<title>Example: Using an externally described printer file with an application
|
||
|
program</title>
|
||
|
<link rel="stylesheet" type="text/css" href="ibmidwb.css" />
|
||
|
<link rel="stylesheet" type="text/css" href="ic.css" />
|
||
|
</head>
|
||
|
<body>
|
||
|
<a id="Top_Of_Page" name="Top_Of_Page"></a><!-- Java sync-link -->
|
||
|
<script language = "Javascript" src = "../rzahg/synch.js" type="text/javascript"></script>
|
||
|
|
||
|
|
||
|
<a name="rzaluexternalexmp"></a>
|
||
|
<h3 id="rzaluexternalexmp">Example: Using an externally described printer file with an application
|
||
|
program</h3>
|
||
|
<p>This example shows how an application program calls and uses an externally
|
||
|
described printer file to control how your printed output will look.</p>
|
||
|
<p>This example consists of:</p>
|
||
|
<ul>
|
||
|
<li>An RPG-coded application program that produces mailing labels.</li>
|
||
|
<li>A printer file that is opened by the application program when the application
|
||
|
program runs.</li>
|
||
|
<li>A detailed listing of which parameters from the printer file are used
|
||
|
by the application program and at what point during the processing of the
|
||
|
application program they are used.</li>
|
||
|
<li>A detailed listing of the DDS keywords and an explanation of which DDS
|
||
|
keywords are used by the mailing label application program.</li></ul>
|
||
|
<p>This is the RPG-coded application program. The numbers within the program
|
||
|
correspond to the list on the following pages. That list explains how this
|
||
|
program works and specifically how the program opens and uses the printer
|
||
|
file.</p>
|
||
|
<ul>
|
||
|
<li>Part <span class="bold">(1)</span> opens the printer file.</li>
|
||
|
<li>Part <span class="bold">(2)</span> sends the output to the designated output
|
||
|
queue.</li>
|
||
|
<li>Part <span class="bold">(3)</span> closes the opened files.</li>
|
||
|
<li>Part <span class="bold">(4)</span> processes the data.</li></ul>
|
||
|
<p><span class="bold">Note:</span> Read the <a href="rzalucodedisclaimer.htm#rzalucodedisclaimer">Code disclaimer information</a> for
|
||
|
important legal information.</p>
|
||
|
<p></p>
|
||
|
<pre class="xmp">************************************************************************
|
||
|
FADDRESS IF E K DISK
|
||
|
<span class="bold">(1)</span> FLABELPR3O E PRINTER
|
||
|
************************************************************************
|
||
|
|
||
|
CTAR 20 1
|
||
|
CSAR 30 1
|
||
|
STAR 2 1
|
||
|
ZPAR 8 1
|
||
|
|
||
|
READ ADDRESS 10
|
||
|
************************************************************************
|
||
|
WRITEHEADNG
|
||
|
|
||
|
*IN10 DOWEQ'0'
|
||
|
|
||
|
EXSR CKCITY
|
||
|
|
||
|
<span class="bold">(2)</span> WRITEDETAIL1
|
||
|
|
||
|
ADD2 IFNE *BLANKS
|
||
|
WRITEDETAIL3
|
||
|
END
|
||
|
|
||
|
WRITEDETAIL4
|
||
|
READ ADDRESS 10
|
||
|
|
||
|
END
|
||
|
************************************************************************
|
||
|
|
||
|
************************************************************************
|
||
|
<span class="bold">(3)</span> MOVE '1' *INLR
|
||
|
************************************************************************
|
||
|
CKCITY BEGSR
|
||
|
|
||
|
MOVEA*BLANKS CTAR
|
||
|
MOVEA*BLANKS STAR
|
||
|
MOVEA*BLANKS ZPAR
|
||
|
MOVEA*BLANKS CSAR
|
||
|
MOVEACITY CTAR
|
||
|
MOVEAST STAR
|
||
|
MOVEAZIP ZPAR
|
||
|
Z-ADD1 X 20
|
||
|
Z-ADD1 Y 20
|
||
|
|
||
|
EXSR LOOKBL 1ST WORD</pre><p class="indatacontent"> </p>
|
||
|
<pre class="xmp"> ADD 1 X
|
||
|
CTAR,X IFGT *BLANKS 2ND WORD
|
||
|
MOVE ' ' CSAR,Y
|
||
|
ADD 1 Y
|
||
|
EXSR LOOKBL
|
||
|
ADD 1 X
|
||
|
CTAR,X IFGT *BLANKS 3RD WORD
|
||
|
MOVE ' ' CSAR,Y
|
||
|
ADD 1 Y
|
||
|
<span class="bold">(4)</span> EXSR LOOKBL
|
||
|
END
|
||
|
END
|
||
|
MOVE ',' CSAR,Y
|
||
|
ADD 1 Y
|
||
|
MOVE ' ' CSAR,Y
|
||
|
ADD 1 Y
|
||
|
MOVE STAR,1 CSAR,Y
|
||
|
ADD 1 Y
|
||
|
MOVE STAR,2 CSAR,Y
|
||
|
ADD 1 Y
|
||
|
MOVE ' ' CSAR,Y
|
||
|
ADD 1 Y
|
||
|
MOVE ' ' CSAR,Y
|
||
|
ADD 1 Y
|
||
|
Z-ADD1 X
|
||
|
X DOWLT9
|
||
|
MOVE ZPAR,X CSAR,Y
|
||
|
ADD 1 Y
|
||
|
ADD 1 X
|
||
|
END
|
||
|
MOVEACSAR CTSTZP 30
|
||
|
MOVEACSAR CTSTZ2 30
|
||
|
ENDSR
|
||
|
|
||
|
LOOKBL BEGSR
|
||
|
CTAR,X DOWGT*BLANKS
|
||
|
MOVE CTAR,X CSAR,Y
|
||
|
ADD 1 X
|
||
|
ADD 1 Y
|
||
|
END
|
||
|
ENDSR
|
||
|
|
||
|
******************************************************************</pre>
|
||
|
<p><span class="bold">Open processing</span></p>
|
||
|
<p></p><blockquote>Part <span class="bold">(1)</span> of the application program opens files
|
||
|
that are called by the application program. Among those, and of particular
|
||
|
interest at this point, is the printer file whose name is LABELPR3. You can
|
||
|
locate LABELPR3 next to <span class="bold">(1)</span> in the program listing.
|
||
|
<p>A printer file is opened to prepare the system so that the application can
|
||
|
put data into a spooled file or print it out directly to a printer. Information
|
||
|
from the high-level language application program, the printer file, and any
|
||
|
printer file overrides is combined.</p>
|
||
|
<p>The printer file open operation
|
||
|
is controlled by parameters specified in the printer file, in the high-level
|
||
|
language program, and in printer file overrides (through the OVRPRTF command).
|
||
|
See <a href="rzaluoverride.htm#rzaluoverride">Printer file overrides</a> for more information on overrides.</p>
|
||
|
<p>As an example, if the printer file specified lines per inch (LPI) of 8, and
|
||
|
an Override with Printer File (OVRPRTF) command specified an LPI of 6, the
|
||
|
LPI of 6 would be used since the override value specified by the OVRPRTF command
|
||
|
takes precedence over the LPI value specified in the printer file.</p>
|
||
|
<p>The following list contains parameters from the printer file LABELPRT. These
|
||
|
are the parameters that the application program accesses or looks at when
|
||
|
it opens the printer file. They are the majority of the parameters in the
|
||
|
printer file, but not all of them. When the application looks at each parameter,
|
||
|
it finds a value specified for each parameter. For a description of each
|
||
|
parameter, see the Create Printer File (<a href="../cl/crtprtf.htm">CRTPRTF</a>)
|
||
|
CL command. </p>
|
||
|
<pre class="xmp">FILE
|
||
|
DEV
|
||
|
DEVTYPE
|
||
|
CVTLINDTA
|
||
|
PAGESIZE
|
||
|
LPI
|
||
|
UOM
|
||
|
CPI
|
||
|
OVRFLW
|
||
|
RPLUNPRT
|
||
|
FIDELITY
|
||
|
CTLCHAR
|
||
|
PRTQLTY
|
||
|
FORMFEED
|
||
|
DRAWER
|
||
|
OUTBIN
|
||
|
FONT
|
||
|
CHRID
|
||
|
DECFMT
|
||
|
FNTCHRSET
|
||
|
CDEFNT
|
||
|
PAGDFN
|
||
|
FORMDF
|
||
|
AFPCHARS
|
||
|
TBLREFCHR
|
||
|
PAGRTT
|
||
|
PRTTXT
|
||
|
JUSTIFY
|
||
|
DUPLEX
|
||
|
IPDSPASTHR
|
||
|
USRRSCLIBL
|
||
|
CORNERSTPL
|
||
|
EDGESTITCH
|
||
|
SADLSTITCH
|
||
|
FNTRSL
|
||
|
SPOOL
|
||
|
SCHEDULE
|
||
|
USRDTA
|
||
|
SPLFOWN
|
||
|
USRDFNOPT
|
||
|
USRDFNDTA
|
||
|
USRDFNOBJ
|
||
|
IGCDTA
|
||
|
IGCEXNCR
|
||
|
IGCCHRTT
|
||
|
IGCCPI
|
||
|
IGCSOSI
|
||
|
IGCCDEFNT
|
||
|
WAITFILE
|
||
|
SHARE
|
||
|
LVLCHK
|
||
|
AUT
|
||
|
TEXT</pre></blockquote>
|
||
|
<p><span class="bold">Output processing</span></p>
|
||
|
<p></p><blockquote>Part <span class="bold">(2)</span> of the application program performs
|
||
|
the operations of reading, compiling, and sending the output to the output
|
||
|
queue specified in the OUTQ parameter of the CRTPRTF command, or to the printer
|
||
|
specified in the DEV parameter of the CRTPRTF command. In this example, the
|
||
|
SPOOL parameter has a value of (*YES), which means the output will become
|
||
|
a spooled file in the designated output queue.
|
||
|
<p>The following printer file
|
||
|
parameters from the CRTPRTF command are parameters that are looked at by the
|
||
|
application program during the output processing. The DDS is compiled before
|
||
|
the application program runs. The application program never looks at the DDS
|
||
|
file and member, only at the compiled results.</p>
|
||
|
<p>Since this example uses
|
||
|
DDS, look at <span class="bold">(1)</span> in the program listing and see that
|
||
|
the name of the printer file is LABELPR3. LABELPR3 was compiled using the
|
||
|
source from the member and file that are listed here. </p>
|
||
|
<pre class="xmp">SRCFILE
|
||
|
SRCMBR
|
||
|
FOLD
|
||
|
ALIGN
|
||
|
CHLVAL
|
||
|
PRTTXT
|
||
|
REDUCE
|
||
|
MULTIUP
|
||
|
FRONTMGN
|
||
|
BACKMGN
|
||
|
FRONTOVL
|
||
|
BACKOVL
|
||
|
MAXRCDS
|
||
|
DFRWRT
|
||
|
OPTION
|
||
|
GENLVL</pre></blockquote>
|
||
|
<p><span class="bold">Data description specifications</span></p>
|
||
|
<p></p><blockquote>Below is the example of the compiled DDS used by the RPG program. You
|
||
|
can update the DDS; however, you must then recompile it.
|
||
|
<p></p>
|
||
|
<pre class="xmp">000100900115 R HEADNG
|
||
|
000200900115 3 2'MAILING LABELS'
|
||
|
000300900115
|
||
|
000400900115 R DETAIL1
|
||
|
000500900115 NAME 25 2 2UNDERLINE
|
||
|
000600900115 ADD1 25 3 2
|
||
|
000700900115 R DETAIL3
|
||
|
000800900115 ADD2 25 2SPACEB(1)
|
||
|
000900900115 R DETAIL4
|
||
|
001000900115 CTSTZP 30 2HIGHLIGHT SPACEB(1)</pre>
|
||
|
<p>This example uses three DDS keywords: SPACEB, UNDERLINE, and
|
||
|
HIGHLIGHT.</p>
|
||
|
<p>DDS and its associated keywords can only be used if the
|
||
|
SRCFILE parameter contains the name of the file and the SRCMBR parameter
|
||
|
contains the name of the member that the DDS source resides in.</p>
|
||
|
<p>For
|
||
|
a description of DDS keywords for printer files and more detailed information
|
||
|
on DDS source files, see <a href="../rzakd/kickoff.htm">DDS Reference: Printer files</a> in the Programming category.</p></blockquote>
|
||
|
<p><span class="bold">Close processing</span></p>
|
||
|
<p></p><blockquote>Part <span class="bold">(3)</span> of the application program performs
|
||
|
the close operations of the application program.
|
||
|
<p>When the application program
|
||
|
has finished the output processing part of the application program, it performs
|
||
|
a close operation on all the files it opened during the open processing of
|
||
|
the application program.</p>
|
||
|
<p>The application program looks at the SCHEDULE
|
||
|
parameter from the CRTPRTF command during the close portion of the application
|
||
|
program.</p></blockquote>
|
||
|
<p><span class="bold">Output from the example</span></p>
|
||
|
<p></p><blockquote>
|
||
|
<pre class="xmp"><span class="underlined">Ann White</span>
|
||
|
Box 123
|
||
|
RR 1
|
||
|
<span class="bold">Anytown, IA 12345</span>
|
||
|
|
||
|
<span class="underlined">Tom Smith</span>
|
||
|
123 Main St.
|
||
|
<span class="bold">Somewhere, IN 54321</span></pre></blockquote>
|
||
|
<a id="Bot_Of_Page" name="Bot_Of_Page"></a>
|
||
|
</body>
|
||
|
</html>
|