NotesmailNotesMail - HCL BP Barcode Tutorials

This tutorial is designed for HCL Notes and Domino users. Using the Notes barcode tutorial, IDAutomation's barcode fonts, and LotusScript functions can easily be integrated into Notes applications.

HCL Notes and Domino LotusScript Barcode Functions

The macros, functions, and LotusScript source code provided in this Notes app barcode font encoder tool include working examples. Free to use with IDAutomation barcode fonts, the LotusScript code has been tested with Notes and Domino Designer versions 9, 10, 11, and 12, and should be compatible with later versions as easily.

Download Now

HCL Notes and Domino Barcode Tutorial  

IDAutomation.com, Inc. is an HCL Business Partner

"IDAutomation's barcodes quickly and easily integrated with our HCL Notes printing and reporting tool called Print Merge Reporter (PMR), which allowed us to provide our customers with additional barcode mail merge functionality, as well as displaying barcodes in Notes views."
- Lance Zakin, HCL CAAD, CASA - Domino 12.0, NotesMail http://www.notesmail.com


The appropriate barcode font must be installed as specified in the field before the Notes app can properly generate barcodes for display or printing. The Notes download package database was created in an early Notes version but is compatible with Notes 9 or higher. The Code 39 barcode fields in this database are calculated for display because they are the easiest to format. Notes barcodes can be created from data fields using the following methods.

Using a Formula with Self-Checking Barcode Fonts

This is by far the easiest method for creating barcodes in Notes, and the self-checking fonts available to use are Code39, Codabar, and Industrial Code 2 of 5. To display a barcode, simply create a field computed for display that combines the start and stop characters with the field. For instance, for Code39, the field formula would be: "*" + DataField + "*"
To Display a Barcode, Create a Field That Combines the Start and Stop Characters with the Data-To-Encode.

Choose the barcode font of choice for the field and make sure it is centered in the box with some white space before and after the barcode. The resulting barcode should return an accurate scan.

Using LotusScript to Generate Barcodes in HCL Notes and Domino

This method is recommended for advanced developers of HCL Notes or Domino applications. Code 128 and other more complicated barcodes require a LotusScript event and a LotusScript function. See the Lotus script in the barcode database example for an illustration of how to implement these barcodes. In this database example, the LotusScript code that formats the Code 128 field is located in the form's QuerySave Event. In this example, the LotusScript for the function that formats the text to the barcode font is Code128b. This script is located in the form's Globals definition and must be imported from IDAutomation's LotusScript Functions file.

  • Notes 9 and above Right-click and select Import, then select the IDAutomationLS.lss file located in the LotusScript download.
Import the LotusScript Barcode Functions into the Form
  1. Open the IDAutomationLS.lss file with a text editor. Copy everything at the top of the file in the declarations section, into the declarations event.
  2. Copy only the necessary functions from the IDAutomationLS.lss LotusScript file into the Options event. The functions will appear as an event in (Globals).
    Copy only the necessary functions from the IDAutomationLS.lss LotusScript file into the Options event.

Please note that some functions require other functions to work properly, and some require an additional argument. Every time the document is edited, the field will be updated. After updating the field, it may be used on forms and in views with the appropriate barcode font selected.

Adding the LotusScript Source Code for the QuerySave Event

This LotusScript barcode source code performs the following:

  1. Retrieves the appropriate data field.
  2. Calls the function to format the barcode.
    LotusScript Source Code for the QuerySave Event
  3. Saves the result to a field on the form during the save process.

For example:

Sub Querysave(Source As Notesuidocument, Continue As Variant) 
  Dim uiDoc As NotesUIDocument
  Dim uiWorkspace As New NotesUIWorkspace
  Set uiDoc = uiWorkspace.CurrentDocument
  'call the function to format the data from field SSN and save it to field Method2SSN
  Call uiDoc.FieldSetText("Method2SSN", Code128(uiDoc.FieldGetText("SSN"),0,0))
End Sub

Choose the correct barcode font for the barcode field and make sure that it is centered in the box with some white space before and after the barcode.

Available LotusScript Barcode Functions

These functions are supplied in the IDAutomationLS.lss file, which is provided in the LotusScript download package. If needed, the IDAutomationLS.lss file may be imported into Domino Designer as a Shared Script Library. For all functions, the DataToEncode is the string data type. Other data types such as numbers or dates may need to be converted to the string data type for proper encoding.

All parameters are required. For example, use Code128("123456", 0, 1) instead of Code128("123456"). For all number symbologies such as Postnet and UPC, dashes or spaces may be input for easier readability. These characters will be filtered out by the function before the barcode is generated. For UPC-A, UPC-E & EAN-13, the +2 and +5 add-on codes may be created by adding the data to the end of the string.

Function Font Name Function Notes and Additional Information
Code128
(DataToEncode)
(ReturnType)
(ApplyTilde)
IDAutomationC128 This Code 128 Auto function automatically encodes any DataToEncode from ASCII 0 to ASCII 127. Select this function if unsure as to which Code 128 set is used for an application. It will automatically switch to character set C for numbers as well. Data may be easily encoded without any options. For example, the formula Code128("123456") will encode the numbers 123456. It may be necessary to use the ReturnType and ApplyTilde for special purposes.
  • If ApplyTilde is set to True, the tilde will be processed. ApplyTilde is False by default.
  • To encode alpha-numeric UCC/EAN-128, ASCII 202 or character Ê is entered as the FNC1 before each AI. For example, the UCC number of (8100)712345(21)12WH5678 should be entered as:

    Ê
    8100712345Ê2112WH5678

    More information is available about AIs and UCC/EAN-128 in the Code 128 Barcode FAQ.

    (DataToEncode, 0, False) formats barcode output string to the Code 128 barcode fonts.
    (DataToEncode, 0, True) formats barcode output string for the Code 128 barcode fonts with ApplyTilde enabled.
    (DataToEncode, 1, True) returns the human-readable text.
    (DataToEncode, 2, True) returns only the check digit.
Code128a
(DataToEncode)
IDAutomationC128 Caution: Entering a lowercase character will create a function. Use the character values 64 through 95 from set A to print characters not present on the keyboard. The scanner will recognize these functions as from set A. Formats output to the Code 128 barcode fonts.
Code128b
(DataToEncode)
IDAutomationC128 Returns codes formatted to the Code 128 character set B. Formats output to the Code 128 barcode fonts.
Code128c
(DataToEncode)
(ReturnType)
IDAutomationC128 This code128 function "interleaves" numbers into pairs for high density.
(DataToEncode, 0) formats output to the Code 128 barcode fonts.
(DataToEncode, 1) returns the human-readable text with the check digit included.
(DataToEncode, 2) returns only the check digit.
Code39
(DataToEncode)
IDAutomationC39
or
IDAutomationHC39
Formats the output to print using Code 39 fonts.
Code39Mod43
(DataToEncode)
(ReturnType)
IDAutomationC39
or
IDAutomationHC39
(DataToEncode, 0) performs the mod43 checksum calculation for increased accuracy and then formats the output to print using Code 39 fonts. The mod43 checksum is usually required for LOGMARS and HIBC applications.
(DataToEncode, 1) returns the human-readable data with the check digit included.
(DataToEncode, 2) returns only the check digit.
Code93
(DataToEncode)
IDAutomationC93 Formats the output to print with the 2 required check digits using Code 93 fonts.
Codabar
(DataToEncode)
IDAutomationCB Formats the output to print using Codabar fonts.
Code11
(DataToEncode)
IDAutomationC11 Formats output to the Code 11 fonts. Only the "C" check digit is calculated which is the standard when encoding 10 digits or less.
EAN13
(DataToEncode)
IDAutomationUPCEAN DataToEncode is a number string of 12, 13, 14, 15, 17, or 18 digits with or without a check digit, add-ons are supported. Formats output to the UPC/EAN barcode font. Entering incorrect data will create a barcode containing all zeros.
EAN8
(DataToEncode)
IDAutomationUPCEAN DataToEncode is a number string of 7 or 8 characters (EAN-8 without the check digit). Formats output to the UPC/EAN barcode font. Entering incorrect data will create a barcode containing all zeros.
I2of5
(DataToEncode)
IDAutomationI25
or
IDAutomationHI25
This function "interleaves" numbers into pairs for high density without check digits and formats the return string to the Interleaved 2 of 5 fonts.
I2of5Mod10
(DataToEncode)
(ReturnType)
IDAutomationI25
or
IDAutomationHI25
(DataToEncode, 0) performs the mod10 checksum calculation for increased accuracy and formats the return string to the Interleaved 2 of 5 fonts. MOD 10 checksums are required by USPS for special services and for SSC-14 when using Interleaved 2 of 5 for that purpose.
(DataToEncode, 1) returns the human readable data with the MOD10 check digit included.
(DataToEncode, 2) returns the MOD10 check digit.
MOD10
(DataToEncode)
Not Applicable Returns the MOD 10 check digit for a given string of numbers according to the UCC/EAN method.
MSI
(DataToEncode)
(ReturnType)
IDAutomationMSI
or
IDAutomationHMSI
(DataToEncode, 0) formats output to the MSI barcode fonts.
(DataToEncode, 1) returns the human-readable data with the check digit included.
(DataToEncode, 2) returns only the check digit.
RM4SCC
(DataToEncode)
IDAutomationRM Formats the output to print using RM4SCC fonts. Checksum calculated according to the mail sort customer bar-coding specification.
SpliceText
(DataToEncode) (SpacingNumber) (ApplyTilde)
Text Font Returns text with a space inserted every SpacingNumber of digits to improve readability. If ApplyTilde is set to True, the tilde will be processed as described here.
UPCa
(DataToEncode)
IDAutomationUPCEAN DataToEncode is a UPC-A number string of 11, 12, 13, 14, 16, or 17 digits with or without a check digit, add-ons are supported. Formats output to the UPC/EAN barcode fonts. Entering incorrect data will create a barcode containing all zeros.
UPCe
(DataToEncode)
IDAutomationUPCEAN DataToEncode is a UPC-E number of 6, 7, or 8 digits or a UPC-A number string of 11, 12, 13, 14, 16,  or 17 digits with or without a check digit, add-ons are supported only with 13, 14, 16 or 17 digits. Formats output to the UPC/EAN barcode fonts. Entering incorrect data will create a barcode containing "00005000000". UPC-E1 is supported when the first character is "1" instead of "0".

Function Property Descriptions

  • DataToEncode: a string value that represents the data being encoded.
  • ApplyTilde: when ApplyTilde is set to "1" in Code 128 with the Auto character set, the format ~ddd may be used to specify the ASCII code of the character to be encoded, and several other tilde options are enabled.
Importing Barcode Methods into a Shared Script Library

Barcode functions may be imported into the shared script library. For example, in Domino Designer 7 perform the following:

  1. Choose Shared Code - Script Libraries.
  2. Select New LotusScript Library.
  3. After the Option Public statement, right-click and choose Import.
  4. Select the IDAutomationLS.lss file, which is provided in the LotusScript download package.