As you are looking for Solutions to your SYSPRO™ needs, there may be other choices, but ask them if they have been working exclusively with SYSPRO™ since 1991. Ask them if they use the same NetExpress development system and tools SYSPRO uses. Very few other companies can say yes to both answers, but we can!

Providing quality solutions to the SYSPRO™ user community since 1991!

Label Commands

Instructions on how to output a label are given via label commands.  A label command is enclosed in [] and starts at the beginning of a line (indentation is allowed).

  The label system will always append to the output file.
[BARTENDER] <Export File>

ActiveX interface for Bartender Enterprise Edition.  For more information see the Bartender Direct ActiveX Interface section here.

NOTE:  It is no longer advised to use the Bartender ActiveX interfaces as problems with newer versions of SYSPRO have become known. It is recommended to switch to using the Bartender Commander Interface documented here.

 [CHAIN] <name and optional full path to a new label file>
 [CHAIN] ADVANCED <name and optional full path to a new label file>

Performs the creation of labels based on the current label control file, then "chains" to another label control file to enable printing multiple different labels based on need.  Only use one of the two forms above.  The "ADVANCED" option switches the shipping system label engine from the normal shipping one to the same one the handheld modules use which is based on the data tables instead of a fixed set of information.

For example, to create additional Hazmat labels for UPS, the following [CHAIN] command could be added to an existing label control file for UPS labels:


In the above scenario, after the normal UPS label is created, if there are dangerous items in the package, the [CHAIN] command will "chain" to the UPS-HAZMAT.LBL file to generate hazzardous labels.  The "ADVANCED" option uses the handheld label engine (versus the shipping label engine) to process the UPS-HAZMAT.LBL file contents.

Note the "ADVANCED" option would not be needed for any regular handheld labels, such as job receipts, since these only use the advanced engine.  Also, the [CHAIN] command has not been added to any labels called from the handhelds at this time.

[COMMAND] <Workstation Command to Execute>
[COMMAND] SERVER <Server Command to Execute>
  The label system will execute the requested command after the label printing is complete. Only use one of the two forms above. Note: See Command Token replacement below
  Old method of indicating the parameter replacement information. This method is obsolete.
[COPYFILE] <Workstation File Name>
  The label system will copy the output file to the workstation file name specified after all data has been written.
[COUNT] <Label Count>
  Sets label copy count.  Tokens can be used for the count.
[DELIMITERS] <Start><Stop>
  Changes the default "<" and ">" delimiters for tokens.
  If the "IF" test failed lines under this statement will be processed otherwise they will be ignored.
  The label system will mark any " (double-quote) characters in any text information with a \ to allow for proper printing on Eltron printers.
  Last line of the label information. Everything after this line is ignores. Usually used to prevent blank lines is CSV style output files.
  Terminates the previous [IF] test. All lines will be processed.
[FILE] <Server File Name>
  Indicates a file on the server to create instead of printing directly to a printer.
Note: See Command Token replacement below
[HEADER] <number of header lines>
  Indicates the number of header lines in the label format. Used to tell the system to skip the beginning lines when appending to a CSV style output file.
[IF] <test item 1> <comparison> <test item 2>
  The information in <test item 1> is compared as instructed by the <comparison> operator to <test item 2>. If the statement is true, the lines in the label control file up to an [ELSE] or [ENDIF] will be processed, otherwise they will be skipped. The use of [ELSE] is not required. [IF] commands can not be inside other [IF]commands.

<test item 1> and <test item 2> can be a quoted string (i.e. "ABC") or one of the format codes above (i.e. <STATION>). The comparison operators are as follows:
= Items are equal
!= Items are not equal
> Item 1 is greater than Item 2
< Item 1 is less than Item 2
>= Item 1 is greater than or equal to Item 2
<= Item 1 is less than or equal to Item 2
BLANK Item 1 is blank (spaces)
NOTBLANK Item 1 is not blank

[IF] <STATION> = "A"
; Whatever needs to happen if the Station code is "A"
; Whatever needs to happen if the Station code is not "A"

  True if processing the first label in a batch set
[IFLEN] <test item 1> <comparison> <test item 2>
  Same as [IF] except the length of <test item 1> is compared to the value of <test item 2>
  True if not processing the first label in a batch set
[IFNUM] <test item 1> <comparison> <test item 2>
  Same as [IF] except both sides of the test are converted to integers before comparing
[INCLUDE] <file>
  Includes the lines from the file specified. The current file is returned to and further lines read after the new file is processed.
Note: See Command Token replacement below
[LABEL] <number of header lines>
  Starts the actual label information. The header lines parameter is the same as the [HEADER] command.
[MARK] <quote character>
  Sets the system to mark all quotes with a character specified.
[MIXED] <mixed phrase>
  Alters the text output when a mixed carton is printed and one of the mixed fields is specified.
[MOVEATEND] <new file name>
  Moves the outfile to the designated file name after processing a batch of labels
[MOVEFILE] <new file name>
  Moves the outfile to the designated file name after processing
  Sets the system to mark all quotes with a "~" character for use with Monarch printers.
[MSGBOX] <message string>
  Displays the message string on the screen and waits for a "OK" click from the user. Generally only used for debugging.

<message string> is any Alphanumeric string and can contain any of the available tokens.
[MULT] <multiplier>
  Sets a multiplier factor. Any numeric value within <> symbols will be multiplied by this factor. Handy for when moving between printers with different print head densities.
[NUMBER] <Default length for numeric values> or FLOAT

Sets the default length of numeric values.  Numbers shorter than this number of digits will be space filled on the left.  Longer values will be trimmed from the left. Using the "FLOAT" option will output the number without fills or trims.

The default length of a numeric value is 4 for shipping labels. For generic labels "FLOAT" is the default.

[QUEUE] <Print Queue>
  Sends the output file directly into the specific print queue.  Do not use quotation marks. The command [QUEUE] ACTIVEX must also be included on a separate line. Requires the Cadacus Support System to be installed.
  Indicates the Cadacus Support System to be used to send the label file to a printer.
  Indicates the output file should be deleted after it is printed.
  Indicates the printer is connected to the server instead of the workstation.
  Adds " (double-quotes) in front and at the end of each field output.
  Where X = one character to remove from all tokens. You can do multiple characters but you have to add a separate REMOVE command line for each one. There is a space between remove and the character.
  Used for testing. Will add one line for each parameter specifying the code and the information to the label output.
[SCRIPT] <file>
  Designates <file> as the VB script file for the "Function" token
  Sets the SQL command string to be used by the tag to start a SQL select
[SQLCMD] <command>
  Executes the SQL command indicated by <command>.  SQLError token will be set to any error message. Requires label system after 2021-08-27.
  Similar to [END], the difference is in how the command is handled in an included file.  The [STOP] command will stop all reading of control files and not return to the previous label control file.
[SWITCH] <file>
  Stops reading the current label control file and switches to reading the file specified.  The current file is not returned to after reading the new file.
Note: See Command Token replacement below
  forces all tokens results to uppercase characters.
[VAR] <variable> <action or value> <variable or value> ALPHA
   Sets up or modifies a variable.
<variable> is any AlphaNumeric String
<action> is one of "=", "+", "-", "*", "/"
<value> is a positive or negative number
ALPHA, if present, forces labeling system to treat the information as alphanumeric

Once established, variables may be used within <> as a token

Note:  when doing math functions the “=” is required and a spaces are required between the variable name and the actual math statement.  Also spaces are required before and after the math operator.


[VAR] Test = <X> / <Y> Spaces are required before / after variable name, math statements, and math operator
[VAR] X 10 Sets variable "X" to 10
[VAR] X + 10 Adds 10 to "X"
[VAR] L = V Sets variable "L" equal to variable "V"
[VAR] A = 123456 ALPHA Sets variable "A" to "123456" and treats it as alphanumeric instead of numeric.
  Tells the system to format all tokens for the Bartender Enterprise Automation XML interface.
  Adds the Zebra ^FS command at the end of each field.