This document is created in reference to the following discussion threads

1.     http://scn.sap.com/thread/3405500

2.     http://scn.sap.com/thread/1857104

3.     http://scn.sap.com/thread/3307489

4.     http://scn.sap.com/thread/2123556

5.     http://scn.sap.com/thread/3441562

Installation & Configuration of bar code library & Genefix is not in the scope of this document.

Bar code:

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.

Numeric-only barcodes

  • 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

Alpha-numeric barcodes

  • 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

2-Dimensional barcodes

  • 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
  • 16K

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.jpgSample Bar codes

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”

       1.http://wiki.scn.sap.com/wiki/display/Snippets/Step-by step+New+Barcode+Technology+for+Smart+Forms.

         2. http://****************/Tutorials/Smartforms/Barcode/Index.htm.

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,

     FM.jpg

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.

/wp-content/uploads/2013/10/rep_symbol_304858.jpg

Select the report symbol, and use expansion mode ‘M’ to use the conversion function module.

sym. expan.jpg

Now edit the symbol,

Exapnsion mode.jpg

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’

           /wp-content/uploads/2013/10/formatted_305003.jpg

Now Check & Preview the template,

Pass the parameter value, say, 1000070

            Parameter.jpg

           /wp-content/uploads/2013/10/preview_305005.jpg

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 !

           Verify.jpg
WWI & printing bar code using “ Printing Via bar code.dll “:

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,

          B  symbol.jpg

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’)

B parameter.jpg

In the preview, you can see the value printed as bar code is 1234567891118 (‘8’ is check digit).

B preview.jpg



To report this post you need to login first.

6 Comments

You must be Logged on to comment or reply to a post.

  1. Dhinesh A.P

    Subhash, this is an excellent document to understand barcode technology.

    This is indeed a very good effort and time spent by you. It was difficult earlier to understand what is the conversion program and how to convert it and I have seen many thread where ter isnt much information. But this document proves it.Would recommend to provide syntax in the function module explained above.

    Cheers

    Dhinesh.

    (0) 
  2. Harald Schuller

    SP31 WWI supports the same bar code interface as SAPsprint. That means you can use a Barcode DLL from a third party vendor (like TEC-IT TBarCode/SAPwin) for bar code creation. The bar codes are embedded via placeholders as shown above, Example: <02EHS_MATNAM[B:C=128,M=254,H=20]>

    More information:

    25344 – Interface SAPSprint (SAPFprint) barcode DLL

    1293379 – EH&S WWI: Bar code support

    Barcode DLL for SAP ERP, R/3, mySAP, SAPsprint, SAPGUI, WWI, SAPlpd, R3, ECC, Bar Code Printing

    (0) 
    1. Pugazendhi Pugazendhi

       

      Hi Herald,

      I am using TEC-IT dll for the first time. I have used Genifix and Barcode fonts before. While testing TEC-IT for a project I am having tough time fitting the bar code within a specific space I have.

      <02EHS_MATNAM[B:C=128,M=254,H=20]>

      For the above example, bar code generated exceeds my entire 5 inch label width. Some how the overall label generated is too big width wise. Is there any special setting I need to do reduce the overall width. Please let me know if you faced this issue with TEC IT dll and if you fixed it. Thanks

      Thanks

      Pugal Shanmugam

       

      (0) 

Leave a Reply