Advanced Guide to SAP BarCode Printing

Options for Generating BarCode documents from SAP

As many of us who work with SAP know, there are many ways to accomplish the same task. Printing is one of those areas, because of our Advanced Enterprise Labeling for SAP solution we are regularly asked about the various ways of printing barcodes within SAP and how they work. I hope that with this guide we will answer some of the questions. If you are just starting to look at how you are going to address customer compliance labels, EDI integrated SSCC labels or just looking for options for internal BarCode labels or documents, this guide should be helpful. To start with we do not believe that there is a wrong way out there to print labels, every environment is different so we won't presume to know what works in your specific industry or company so our intent is just to show you what your options are. If you do have specific questions or need additional guidance drop us a note we'll be happy to help.

As an overview are several ways to print bar-code documents from SAP and I will try and explain them so you can better make a decision on your approach.

 SAP Standard Message Output technique

The typical way that most users are accustomed to output in SAP is the message output technique. Message output uses a combination of condition types, access sequences and condition records to determine what to print and when. Message output functionality is attached to documents within SAP, so in cases where there is no document such as a relabeling effort etc. you could not use this technique. Message output is normally viewed from within the document either under Output(SD)  or Messages (MM) depending on the area of SAP you are in.

Figure 1 Output determination technique

As shown above (Fig 1. ) most documents within SAP will use the output determination technique to select output types that are pre-setup in your system and queue them to be printed based on established  settings.

In the case of a label usually this means adding a condition record for a handling unit to be generated say at the time a delivery is created (or some other event such as PGI). This is done for almost any document within SAP ( Sales order, Delivery, Handling Unit, Shipment, Invoice etc.) though there are a couple of exceptions so you'll want to check.  The output type in your document is just a pointer to a report program and possibly a label/ document format in the background (Fig. 2) .

Figure 2 Output Configuration

This as they say is the meat and potatoes, to generate a label for a document you need the report program to extract and make available the data that will be in the label/document and a format that describes what it will look like when it is generated. Note that we are primarily discussing printouts but this goes for faxed copies and also emailed pdf versions of the document.

If a label format is used there are two types that SAP supports, older versions of SAP used SAPscript based formats whereas as of SAP version 4.6 a new more robust tool and formats called SmartForms were introduced and made available. Note that the addition of the SmarForm tool does not stop you from using SAPscript both are viable options and in some cases you will use a mixture of both. (SAP has not converted old SAPscript documents to SmartForms so both techniques continue to be used and supported)  I'll describe both below.  Be aware that we do not delve into Adobe interactive forms within this guide.

Print Methods

It is important to note a characteristic that distinguishes some of the below print methods, what we call direct or indirect print methods. In the case of SAPscript or Smartforms they are entirely managed within SAP and are direct print methods, the benefit of this is that you have access to seeing the status of print job within standard SAP print tools such as spool requests (SP01) and can also have print preview capabilities in some cases this is available within the originating application but also with the spool request.

Using SAPscript generated Output

Sapscript is a page markup language that SAP developed for use in describing forms. (SAPscript is not ABAP) It's simple to learn but yet another language to add to your toolbox and developers to worry about. (Fig. 3.).  We recommend if you are developing new forms that you use SmartForms but the main reason for its continued use is the significant library of existing SAPscript forms available and the native support throughout SAP configuration tools whereas SmartForms have not yet been completely integrated (note that it is possible to make SmartForms available even within application areas that do not allow configuration options, contact us for more information).

Figure 3 SAPscript language

Using SAPscript the label/document is described and formats described in a word processing format. Within SAPscript each line of a label/document are described with placeholders for field data to be provided and as displayed in (Fig. 4) each line can be preceded by a format or each field placeholder can be surrounded by formatting that describes how the font / line is to be printed. BarCodes are handled the same way, in the case of the example below the <LS> describes a BC character format for a Code 3 of 9 barcode. What this means is that field value that is replaced on the document with a BarCode symbol.  

Figure 4 Barcode symbol markup

 As I mentioned above SAP provides some of these fonts to be shown and used within SAP. The only caveat is that your printer must support printing BarCodes.  (Most LaserJet and clones do not, albeit you can add this capability using a attachment or software (see references below for guidance). SAP provides support for a limited set of barcodes but it is also possible to add additional capabilities such as with add-ons such as the BarCode dll (see reference below) we do not recommend this solutions as it requires installation on the SAP application server or printer server (of they are separate) and installing any software on your app server is never a good thing.


 Fig. 4. Typical BarCode format in SAPscript 

In addition to using to simple formatting as shown above its possible and more typical to use direct printing to a BarCode specific printer such as a Zebra, SATO, Intermec etc. to control these it is possible to send printer codes directly to the printer to control printing, this method though more efficient requires learning the printer specific language.


  • 121305 - JetMobile BarDimm for HP LaserJets
  • 894444 - Tool for server based printing on Windows 
  • 25344 - Interface SAPSprint BarCode DLL
  • BarCode Writer in Pure Postcript SAPscript Manual MethodSAPscript Upload Method
  • A slightly easier method is what some companies refer to as the upload method, there are several third party tools in addition to Seagull Scientific's BarTender (which we support) that provide this capability. Using your third party tool you can develop your label / document in a WYSIWYG environment (separate from SAP) (See Fig. 5).  This potentially eliminates the need for a development resource to develop the label.
  • This as you can image is the easiest to get started with because you need nothing else then your working SAP system and time on your hands. This involves writing and formatting SAPscript markup text in the editor and configuring the use of your new label. The best practice is never to start from scratch but to take an existing form that SAP provides, save as your own Z copy and edit it to your liking. (We of course recommend if you are just starting out that you start with a SmartForm) Though a graphical layout editor is available it is primitive at best and only helps with layout of form sections (windows) and not a true WYSIWYG tool. The only real way to know what your document looks like is to test with a real document. This can be time consuming process for a developer as the process of writing SAPscript markup text and subsequent testing in a SAP document (delivery, sales order etc.) is required. A typical form can take over a day or more. (If you have existing forms you need modified, contact us for a cost effective quote).
  •  There are two ways to develop SAPscript forms for use on BarCode printers, described below.

Figure 5 WYSIWYG design tool (Seagull Scientific BarTender)

 After completing the label document it is exported to a interim file, normally this is extracted as ITF (Interchange Text Format) file that SAP recognizes.


Figure 6 ITF markup

This code is then inserted into your SAPscript form. Note that the code generated is printer language specific code. Once it is uploaded to SAPscript the external tool is not necessary unless a modification is required. The code that is uploaded is editable for changes directly in SAP the only problems with this is that once you modify the code directly the saved label format that was used no longer reflects the label that is in SAP.  We recommend Seagull Scientific's BarTender application. 

A typical label /document usually takes a couple of hours to develop. One of the benefits that we see is that the process does not require a developer. 


Using a SmartForm generated Output Type

As of version 4.6c SAP introduced the SmartForms tool to allow richer and easier development of forms. With smartforms there is no longer a need for a BAR-SIMM chip in a non barcode printer as barcodes can be generated within SAP and are sent to the printer as a image, so the printer does not require the ability to generate a barcode, this means that almost any printer can be used to generate barcodes. (We do not recommend PCL form based printers in labeling environments and suggest a barCode printer). 

Figure 7 Smartform Design Tool


SAP has also committed to support of the ZPL printer language which means that Zebra printers and any printer that support the ZPL printer language which means that if you have a ZPL based printer defined in SAP, it can be used in SmartForms without the need to add printer specific language in your form. 







External Output management

External output management is a technique whereby in place of a printers you integrate a external print server to SAP. OMS systems are rarely used specifically for BarCode printing but some OMS vendors provide this functionality so we did not want to exclude mention. An OMS typically is sent raw data from SAP and document formats are defined and managed within the OMS. One of the benefits of the OMS are that they look as direct printed documents within SAP so usually there is visibility within Spool management (SP01).  External output management like an external interfaced application is ideal in high volume printing environments.

See Service marketplace notes

  • 1545557 OMS interface for SAPSprint Best of Breed Print ApplicationInterface technology - ALE / IDOC / BAPI Conclusion Below is a simple decision tree that might help you decide the path, we have excluded several of your options as we would not recommend them except without understanding your landscape better and your requirements but should be helpful in most situations.
  • Resources
  • There are many options for printing BarCoded labels/documents in SAP and no one solution will fit for all environments. Advanced Solutions supports all the methods described in this guide, we can provide you guidance for your specific needs or assist you in implementing any of the options discussed here. 
  • This technique which is also a popular method uses an best of breed application as a central print method similar to External Output management, forms are managed centrally in the external tool and usually provide added features not available from a native SAP approach. In this indirect print method SAP documents interface using one of the standard interface techniques (i.e IDOC ) to the external application which receives the data and selects the appropriate label format based on the data received. The external application may provide a best of breed application necessary to generate labels, documents RFID tags etc with no or minimal changes to SAP. In cases where applications other then just SAP require the ability to print labels / documents this approach might be the best suited. This approach like the external output management approach is ideal in high volume printing environments. 

Figure 8 Print method selection decision tree





Advanced Solutions is a leading supplier of Supply Chain solutions and consulting for SAP. A trusted partner to SAP customers worldwide, Advanced Solutions leads the way with innovative solutions for the supply chain application area. Advanced Solutions leverages the thousands of hours our professionals have spent implementing SAP solutions worldwide to ensure the success of your solution.

Founded in 2000 and headquartered in downtown Chicago, IL Advanced Solutions has been named one of the top diversity businesses in 2009.

To learn more, contact us today:

Advanced Solutions, Inc.


Feel free to drop us a note via our contact form if you have any questions or need assistance, guidance in implementing a solution for your environment.

This guide was originally published and created for and by Advanced Solutions at

Go To Top