Internal Variables

Top  Previous  Next

Internal Variables

 

In addition to your own variables, UnForm provides a list of variables that you can use, or in many cases, set to a desired value.

 

across$

Can be set to values described in the across command.  Available only in prepage and precopy.

bin$

Can be set to values described in the bin command.  Available only in prepage and precopy.

cols$

Can be set to values described in the cols command.  Available only in prepage and precopy.

copies

pcopies

Can be set to the number of copies to generate for a page.  You can change this value to dynamically adjust the number of copies.  If the number you specify is higher than the number specified by the rule set, then that highest defined copy's text and enhancements will be repeated until your specified copies are complete.  This value is reset after each page to the rule set default, so you can't set it in the prejob routine.  If you set pcopies, that is also honored like the pcopies command.

copy

Contains the current copy number in precopy.  Generally you shouldn't modify this value.  If you need to skip printing of a copy, use the skip variable instead.

coverset$, coverfile$, coverargs$

If coverset$ is set to a rule set name$, a cover page is generated for the current document, using the rule set specified.  Additionally, coverfile$ can specify a rule file, if the rule set is not in the current rule file, and coverargs$ can be set to command line arguments to use when running the subjob that generates the cover page.  The cover page values must be set before the first page of the document is generated, so typically these values will be assigned in a prejob code block.  However, if different cover page details are needed as the output device changes, you can set them in prepage or precopy code blocks.

crosshair$

Can be set to "Y" or "y" to enable crosshair grid printing over the output (laser and PDF output only).

down$

Can be set to values described in the down command.  Available only in prepage and precopy.

driver$

Stores the current driver as "laser", "ps", "pdf", or "zebra".  The win and winpvw drivers are considered variants of PDF, and driver$ is set to "pdf" when used.  This variable should not be changed.

duplex$

Can be set to values described in the duplex command.  Available only in prepage and precopy.

gs$

Can be set to the values described in the gs command.  Available only in prepage and precopy.

lcopies$, ldarkness$, lspeed$

Set any of these values in a prepage code block to mimic the zcopies, zdarkness, or zspeed commands that can be used to control specific aspects of ZPL label printing.

margin$

Can be set to values described in the margin command.  Available only in prepage and precopy.

noarchive

Set to 1 in prejob to turn off all archiving for the job, or in prepage to turn off archiving of just the current page.

nocover

Set to 1 to turn off cover page generation, before the first page of a document.

noemail

Set to 1 to turn off the execution of the email command.  Note: this does not affect the email() code block function or direct calls to mailcall.

nohpgl

Set to 1 in prejob to turn off HP/GL formatting, as if the -nohpgl command line argument had been used.  This variable is ignored in code blocks other than prejob.

nooverlay

Set to 1 to suppress an AFO overlay on a page, in either prepage or precopy.

orientation$

Can be set to "landscape", "portrait", "rlandscape", or "rportrait".  It can also be set to a literal digit: "0"=portrait, "1"=landscape, "2"=reverse portrait, or "3"=reverse landscape.

outline$

Can be set to an outline string used when the PDF outline feature is turned on, by use of the outline command.  Multiple levels of outlines can be defined by delimiting levels with vertical bars, such as outline$="Customer type "+get(1,6,4)+"|Page "+str(pagenum).  This example would produce a 2-level outline structure with a customer type code being the top level, and page numbers as child levels.

output$

In laser output, this can be changed in prejob, prepage, or precopy, and is tracked by copy.  Set it to the device or file name desired for output on the server.  If it changes for a given copy in the middle of a laser job, UnForm will close the prior output channel and reopen the new one.  This can be used to send a copy to a different printer, or to a fax device.  You can set the value to any file, or a pipe or redirect (Linux/Unix), such as ">vfx -n "+faxnum$.  When using a redirect or pipe, be sure to add quote characters (CHR(34)) around any data that might contain ampersands (&) or other shell-aware characters.

 

For PDF output, you can set this value in the prejob code block to override any –o command line setting.  Setting this value in any other code block is ignored.

pagenum

Can be referenced as the current page number.  The value should not be changed.

paper$

Can be set to values described in the paper command.  Available only in prepage and precopy.

rows$

Can be set to values described in the rows command.  Available only in prepage and precopy.

showimages

Can be set to a non-zero value to execute an images command even if the skip variable is true.  This is only honored in the precopy code block.

skip

Can be set to a non-zero value in prepage or precopy, to skip printing of that page or copy, respectively.  If set non-zero in prejob, the entire job is skipped.

text$[all]

textpage$[all]

textjob$[all]

Stores the text for the page as a one-dimensional array.  For example, text$[2] is the second line of text on the page.  In prejob, it contains the content of the first page.  In prepage and precopy, it contains the content of each page in sequence.  You can use the array directly in code, or you can use the built in get(), mget(), set(), cut(), and mcut() functions to retrieve or manipulate its contents.

Textpage$[all] contains the text of the current page before any manipulations by code blocks.

Textjob$[all] contains the text of all pages in the job.  Each line of each page, up through the last non-blank line of each page, is appended to the array when the input stream is initially parsed for the job.  This array can be used in a prejob code block to analyze the full report content.

 

PostScript input not supported.

tray$

Can be set to values described in the tray command.  Available only in prepage and precopy.

uf.xxx$

A string template or composite string that can provide access to many attributes of the UnForm environment and command line.

uf.afo2

Set to true (1) if the -afo2 command line option is used.

uf.arcjob

Set to true (1) if the current job is a subjob for an archive command.  This will be 0 otherwise.

uf.arcenabled

Set to true (1) if archiving is licensed.

uf.clientip$

The IP address of the connecting uf100c client.

In the case of the Unix perl-based client, an attempt is made to identify the connecting terminal’s IP address, whether by telnet or ssh.  The who command is used, which may provide a name from /etc/hosts rather than an IP address, but it will still be locally resolvable.

In the case of jobs submitted via direct TCP/IP ports, the IP address of the computer that connected to the server’s listening raw port.  Note that if this is a server-based printer share, the IP address returned will be of the server and not the originating computer.

uf.clientoutput$

The original -o argument value passed by the client to the server, including any "client:" prefix.  On Unix, if the client does not specify a -o option (or doesn't quote it properly), output goes to its standard output and this value is null.

uf.cols

Columns for the current page.

uf.copies

Copies defined for the job.

uf.deljob

Set to true (1) if the current job is a subjob for a delivery command.  This will be 0 otherwise.

uf.dfrule$

Default rule file from the environment.

uf.driver$

Driver for the current job.

uf.dsnrun

Set to true (1) if this execution is for a design tool preview.  Use it if you need to enable or disable processing when a rule set is running from the design tool.

uf.emattach$

Command-line –emattach value.

uf.embcc$

Command-line –embcc value.

uf.emcc$

Command-line –emcc value.

uf.emfrom$

Command line –emfrom value.

uf.emlogin$

Command line –emlogin value.

uf.emmsgtxt$

Command line –emmsgtxt value.

uf.emoh$

Command line –emoh value.

uf.empswd$

Command line –empswd value.

uf.emsubject$

Command line –emsubject value.

uf.emto$

Command line –emto value.

uf.errfile$

Command line –e file value (dynamically determined by the server).

uf.home$

Home directory of the UnForm server.

uf.inputfile$

Command line –i file value (dynamically determined by the server).

uf.job

Current job number.

uf.jobexecerr$

If an error occurs while running a subjob with the jobexec() command, the error message will be in this variable.

uf.localclient$

Path to the local uf100c client that resides on the server.

uf.login$

Contains the login name from a -arclogin command option.

uf.maxdatacols

Maximum column with data on any page in the job.

uf.maxdatarows

Maximum row with data on any page in the job.

uf.maxpagecols

Maximum column with data in the current page.

uf.maxpagerows

Maximum row with data in the current page.

uf.maxpage

The maximum page number for the job.  This value is calculated at the start of the job, and may be adjusted if pages are inserted or removed.

uf.model$

Command line –m model value.

uf.outputfile$

Command line –o file value.  For server-based output, this is the –o option sent by the client.  For client-based output, this is dynamically determined by the server.

uf.page

Number of input lines per page.  Do not confuse this with the pagenum variable, which holds the current page number.

uf.paper$

Paper size name.

uf.parent

The job ID of the parent job when a subjob is running.

uf.pcopies

Pcopies defined for the job.

uf.pdfauthor$

Command line –pdfauthor value.

uf.pdfkeywords$

Command line –pdfkeywords value.

uf.pdfprotect$

Command line –pdfprotect value.

uf.pdfsubject$

Command line –pdfsubject value.

uf.pdftitle$

Command line –pdftitle value.

uf.prm$

Command line –prm value.

uf.rows

Rows for the current page.

uf.rulefile$

Command line –f rule file value.

uf.ruleset$

Selected rule set for the current job.

uf.shift

Horizontal shift value.

uf.subjob

Set to 1 (can be treated as a Boolean) if this is a sub-job executed by the jobexec() function.

uf.subst_file$

Command line –s file value.

uf.version$

The version of the UnForm server.

uf.vshift

Vertical shift value.

uf.warn$

Job warning messages, delimited by line-feeds.  For example, to add your own message: uf.warn$=uf.warn$+"My message"+chr(10).

 

zcopies$, zdarkness$, zspeed$

Set any of these values in a prepage code block to mimic the zcopies, zdarkness, or zspeed commands that can be used to control specific aspects of ZPL printing.

%c, %s

These are global convenience variables that are an inifile object for uf100d.ini, and a system object, respectively.

%linux, %windows, %unix

Global convenience variables to indicate the server operating envirionment.  %windows will be true (1) on Windows, or false (0) on Linux environments.  Likewise, %linux will be true (along with the %unix synonym) on Linux, false on Windows.