Hi Larry,
On 7/19/2012 4:27 PM, DrFranken wrote:
The logic would have to be "Replace any 0C with 0A unless it is the VERY
last character in the print stream. In that case don't send anything
whatever."
IBM provides an example of a user-defined transform program (specified
on the USRDTATFM parameter of CRTDEVPRT, et al) the IBM example is
called TSPRWPR, and they provided it for the purposes of doing
page-range support (on outq types that don't normally allow page
ranges). It's written in C, normally available in QUSRTOOL, but there
are also downloadable copies here:
http://www-01.ibm.com/support/docview.wss?uid=nas1584a2dee8678698386256624004b527e
Yours would obviously work significantly different from the IBM ones
since your goal isn't to handle page range support :-)
But if you read the code, you'll see that TSPWPR is called by the print
writer to transform the data, it then takes it's input (which is the
input from the print writer) and passes it to the QwpzHostPrintTransform
API -- so essentially, it's calling the system's built-in host print
transform function.
It then takes the output of that API and returns it back (via it's
parameters) to the printer writer that called it. Somewhere in there,
it eliminates the unwanted pages from the page range (but you won't need
to do that.)
In your case, once you have the transformed data, you will want to scan
it for x'0c' characters and replace them with either x'0a' or just
remove them, as needed. That's the part you'll have to figure out (but
it doesn't sound hard to me.)
I wish I had an example of my own to send you... but I haven't
published one (yet).
Good luck,
-SK
As an Amazon Associate we earn from qualifying purchases.