Printing in Bar code in SAP EHS WWI
This document is created in reference to the following discussion threads
Installation & Configuration of bar code library & Genefix is not in the scope of this document.
A code consisting of a group of printed and variously patterned bars and spaces and sometimes numerals that is designed to be scanned and read into computer memory and that contains information (as identification) about the object it labels.
Bar code Symbology & bar code Types:
A Barcode Symbology defines the technical details of a particular type of barcode: the width of the bars, character set, method of encoding, checksum specifications, etc.
- Codabar: Older code often used in library systems, sometimes in blood banks
- Code 11: Used primarily for labeling telecommunications equipment
- EAN-13: European Article Numbering international retail product code
- EAN-8: Compressed version of EAN code for use on small products
- Industrial 2 of 5: Older code not in common use
- Interleaved 2 of 5: Compact numeric code, widely used in industry, air cargo
- MSI: Variation of the Plessey code commonly used in USA
- Plessey: Older code commonly used for retail shelf marking
- PostNet: Used by U.S. Postal Service for automated mail sorting
- UPC-A: Universal product code seen on almost all retail products in the USA and Canada
- Standard 2 of 5: Older code not in common use
- UPC-E: Compressed version of UPC code for use on small products
- Code 128: Very capable code, excellent density, high reliability; in very wide use world-wide
- Code 39: General-purpose code in very wide use world-wide
- Code 93: Compact code similar to Code 39
- LOGMARS: Same as Code 39, this is the U.S. Government specification
- PDF417: Excellent for encoding large amounts of data
- DataMatrix: Can hold large amounts of data, especially suited for making very small codes
- Maxicode: Fixed length, used by United Parcel Service for automated package sorting
- QR Code: Used for material control and order confirmation
- Data Code
- Code 49
Quick Bar Code Specifications:
Bar Code 2/5 interleaved: high density numeric, variable length, no checksum
Bar Code 39: partial alpha-numeric, variable length, no checksum
Bar Code 93: partial alpha-numeric, variable length, two checksums required
Bar Code 128: alpha-numeric, plus numeric, variable length, checksum required
Bookland: fixed length numeric, checksum required, encodes ISBN and price
Codabar: numeric plus four alpha characters, variable length, no checksum
EAN 8: 8 digit numeric, checksum required
EAN 13: 13 digit numeric, checksum required, for retail products in Europe
ISBN: fixed length numeric, checksum required, encodes ISBN and price
ITF-14: fixed length numeric, checksum required, encodes GTIN
SCC-14: Shipping Container Code, based on UPC
SSCC-18: Serial Shipping Container Code, based on UPC and tracking number
UPC-A: 12 digit numeric, checksum required, for retail products in North America
UPC-E: 6 digit numeric, checksum required, for retail products in North America
Bar code & SAP:
There are 5 different ways to print Bar code in SAP.
- Printing via bar code DIMM/SIMM or barcode-capable printer
- Printing via a barcode.dll
- New bar code technology
- Using a bar code font
- Printing via a PDF-based form
Relevant information are explained in Note 1557674.
There are many help documents available to print bar code in smartforms using “New bar code technology”
Bar code & SAP EHS WWI:
WWI Supports only two of the above 5 methods.
Printing Via barcode.dll
Using a bar code font
Relevant information are explained in Note 1293379.
WWI & printing bar code using “Bar code font”:
To enable the SAP system to output values as bar codes using fonts, you need to carry out the following steps.
1. Acquire the required font for your bar code and install it.
There are lot of websites available which can give you bar code font for free !
Refer this highly informative website about bar code: http://www.barcodeisland.com
2. Write your own conversion program (ABAP function module) that adjusts the values. The interface must correspond to the function module C128_DUMMY_CONVERSION_METHOD.
If you study the symbology of each & every bar code, you will find out what kind of modification has to be done before printing a value as bar code.
Eg. Code 39 requires ‘*’ at the front & at the back. Then only the bar code scanner will recognize this as code 39 type bar code & read it.
See the screen shot for details,
So the functional module should be written to add ‘*’ as prefix & suffix.
3. Use the function module C128_DUMMY_CONVERSION_METHOD as the method for the corresponding symbol in the report template (expansion mode M) or in the symbol definition.
Insert the report symbol in template.
Select the report symbol, and use expansion mode ‘M’ to use the conversion function module.
Now edit the symbol,
4. Format the symbol in the report template using the relevant font.
Format the symbol using the code 39 font. Here the symbol is ‘GCG_CHARG’
Now Check & Preview the template,
Pass the parameter value, say, 1000070
Just to verify, remove the restriction in the document. Select the bar code characters and format the font to ‘Times New Roman’. Now you can see the value is right !
For symbols of symbol type Parameter and symbols of symbol type Specification, you can generate bar codes using the Static Bar Code expansion mode.
To be able to generate bar codes using the Static Bar Code expansion mode, a bar code library must be implemented on the WWI generation server. When the report is generated, this library generates the bar code as a graphic, which you insert into the report template.
The advantage of this type of bar code generation is that all bar code types from the bar code library can be generated. This is because bar code libraries can usually generate not only one-dimensional but also two-dimensional bar codes.
SAP does not ship a bar code library, but instead provides an interface that can be implemented by bar code manufacturers.
Refer this Note ‘14561’ to know about the SAP recommended Bar code library vendors.
Follow Note 25344 & also the bar code library provider’s manual to install the bar code library & SAPSprint interface..
Please note that the std. Bar code interface in WWI is available only after EHP 5 SP 11, EHP 6 SP 08, EHP 7. Simultaneously you need to upgrade your generation server to minimum of SP 31.
Then you will have static bar code expansion mode in CG42,
Select the report symbol (eg. GCG_EAN13)from the symbol tree, select expansion mode ‘Bar code’ and edit the bar code parameters.
Now insert the symbol in the template,
Note: In this example the parameter value for check digit is set as ‘1’ which means the bar code library will calculate the check digit for the entered value. (Since its an CG 42 preview am using like that. Usually EAN 13 will come from material master and that value would already have check digit attached to it).
Check & preview the template.
Pass the parameter value as ‘123456789111’ (12 digit input. 13th digit is the check digit. In this case it will be calculate by bar code library. The check digit in this regard is ‘8’)
In the preview, you can see the value printed as bar code is 1234567891118 (‘8’ is check digit).