I have a challenge to do double sided printing from Natural mainframe program to a XEROX printer. is there someone with ideas on how to be able to manage that? I though of perhaps using control variables , but can’t find a proper control variable for double sided.
A few questions:
Is the report created by a natural program running in batch or online?
What kind of XEROX printer is it? Model # ? Attached to the mainframe and located at the computer room, or a PC/network-attached printer?
If it’s on a PC network, what software routes output from mainframe to networked printers?
I recommend you start by contacting your computer center Help desk, talk to someone responsible for printing. Some mainframe shops set up separate printer destination names for different formats, like portrait vs landscape mode. They may have a special destination name to send reports for double-sided printing. Other sites may accomplish this by using special FORMS names specified in the JCL.
Natural has a DEFINE PRINTER statement that allows you to specify some parameters, like DEST and FORMS, but double-sided isn’t one of them.
Hope that helps somewhat, a direction for further research.
Years ago, printer manufacturers published their escape sequences. I’m not sure they do that any more. If you were able to find an escape sequence for “double-sided” in the Xerox documentation for the specific printer model, then you could send it to the printer prior to the first line of your report.
Mainframes reserve the first print position for carriage control, but printers expect escape sequences to begin in the first position, so you will need to use Natural’s CCONTROL keyword.
You define a (sequential) pair of printers.
DEFINE PRINTER (01) OUTPUT 'CMPRT02' DEFINE PRINTER (02) OUTPUT 'CCONTROL' WRITE (02) NOTITLE H'0102030405' /* Escape sequence for double-sided WRITE (02) ' ' 'First line of report'
When you write to (02), the line is not prefixed with a carriage control character.