This is a tutorial for implementing barcodes in Oracle Reports with the IDAutomation.com PL/SQL Barcode Library and barcode fonts. The barcode library is a PLL file that formats data from fields in the report to the barcode fonts to create a correct barcode. The library contains functions for Code 128, Code 39, Interleaved 2 of 5, UPC and EAN barcodes. For this tutorial, you will also need to download the Oracle Barcode Library Package which contains the IDAutomation.pll file. PL/SQL source code is also provided for advanced Oracle programmers in the IDAutomation.pkg file.
LICENSE NOTICE:
You may incorporate this component in your application
only if you own a valid license from
Idautomation.com, Inc. for the associated
font. Redistribution of our fonts and components requires
a Developer License. The barcode fonts
are available here.
SUPPORT NOTICE:
We fully support our fonts,
ensuring that they are created according to the standards for
the symbology and type of font they
are. However, we do not have experience with Oracle or
UNIX.
Attached Libraries:

| Method Name | Method Description |
| Code128(Data, Number) | If you are not sure which Code 128
set is for your application, then use this one. This
is a "Code 128 Auto" function that will automatically
encode any data from ASCII 0 to ASCII 127. It will
automatically switch to character set C for numbers
also. To encode alpha-numeric UCC/EAN-128, ASCII 202 or character E is entered as the FNC1 before each AI. For example, the UCC number of (8100)712345(21)12WH5678 should be entered as: E8100712345E2112WH5678. (Data, 0) formats barcode output string for the Code 128 barcode fonts. (Data, 1) returns the human readable data. (Data, 2) returns only the check digit. |
| Code128A(Data ) | Use the characters from set B to print characters not on the keyboard; the scanner will scan characters from set A. |
| Code128B(Data ) | Returns codes formatted to the Code 128 character set B. Formats output to the Code 128 barcode fonts. |
| Code128C(Data ) | This code128 function "interleaves" numbers into pairs for high density. |
| I2of5(Data ) | This function "interleaves" numbers into pairs for high density without check digits and formats the return string to the Interleaved 2 of 5 font. |
| I2of5Mod10(Data, Number) | (Data, 0) performs the mod10 checksum
calculation for increased accuracy and formats the
return string to the Interleaved 2 of 5 font. MOD 10
checksums are required by USPS for special services
and for SSC-14 when using Interleaved 2 of 5 for that
purpose. (Data, 1) returns the human readable data with the MOD10 check digit included. (Data, 2) returns the MOD10 check digit. |
| Code39(Data ) | Formats the output to print using Code 39 fonts. |
| Code39Mod43(Data, Number) | (Data, 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
applications. (Data, 1) returns the human readable data with the check digit included. (Data, 2) returns only the check digit. |
| EAN13(Data ) | Enter EAN-13 with or without a check digit, add-ons are supported. If a check digit is passed in it is ignored, recalculated, and added to the encoded output. Formats output to the UPC/EAN barcode font. |
| EAN8(Data ) | Enter exactly 7 characters (EAN-8 without the check digit). Formats output to the UPC/EAN barcode font. |
| Postnet(Data, Number) | Enter a single string of Zip, Zip + 4
or Zip + 4 + Delivery Point. The input for
Data must be a number and can include dashes
and spaces. (Data, 0) formats output to the POSTNET barcode fonts. (Data, 1) returns the human readable data with the check digit included. (Data, 2) returns only the check digit. |
| UPCa(Data ) | Enter UPC-A with or without a check digit, add-ons are supported. Formats output to the UPC/EAN barcode font. |
First you must add a Formula Column to
your report by using the Data Model option of the Report
Layout, clicking the Formula Column button on the toolbar,
and sizing the column in the layout area.

The properties of the newly added
Formula Column need to be adjusted to call the PL/SQL
function from the IDAutomation.pll library. You may
access the property page for the Formula Column by
selecting the Formula Column and hitting the F4 key.
The following window will appear:

Adjust the following properties:
Name -- Choose a descriptive name for the Formula Column
because you will need to reference the columns when
designing the layout of the actual report
Datatype -- This must be selected as Character from the
drop-down menu
Width -- Ensure the width of the field is large enough to
hold all characters for the encoded data
Click on the PL/SQL Formula button
within the Property Inspector, so that you may call the
appropriate IDAutomation.com function. You will see a
screen similar to the following:

At the cursor, insert the appropriate
IDAutomation.com PL/SQL function call. This function
will add the appropriate start and stop characters, encode
the data (if necessary), and add the check sum character
(if required). For example, if you are using
character set A of Code 128, it would look like the graphic
below. This Code 128 A function allows uppercase letters
and converts lowercase letters to functions such as a
return or tab. If you intend to use upper and lower case
characters with code 128, please use the Code 128 B
function instead.

Please note in the above example, that a constant value (Code128Test) was passed into this function, you may substitute the appropriate character field from your database, if necessary.
Click Close in the above window and ensure your report has been saved.
To add this Formula Column to your
report, you must switch to Paper Layout mode for the report
and add a Field object to the report by clicking the
appropriate item in the toolbar and dragging into position
on the report.

Once the Field has been added to the
report, it needs to be linked to the Formula Column that
was created earlier. To link the Field to the Formula
Column, select the field and hit the F4 button to bring up
the Property Inspector for the Field. The Property
Inspector should look similar to the following:

Adjust the following properties:
optional Name -- Choose a descriptive name for the
field
required Source -- Select the name of Formula
Column that was created earlier
Modify the font for the field to the barcode font installed from IDAutomation.com.