BARCODE DLL

BARCODE PLUS DLL

 

Version 2.0

 

 

 

 

 

 

 

 

 

 

Birger Rauh Systemtechnik

 

 

 

Informationen for usage with the SAPâ R/3 System

 

 

 

                                                                                                                                                               Version 8.1.2001

1    New features overview.................................................................... 2

1.1            Version 2.06............................................................................................................................................... 2

1.2            Version 2.04............................................................................................................................................... 2

1.3            Version 2.03............................................................................................................................................... 2

1.4            Version 2.02............................................................................................................................................... 2

2    Introduction..................................................................................... 2

3    Installation....................................................................................... 2

3.1            Licensed Version...................................................................................................................................... 2

3.2            Demo Version............................................................................................................................................ 2

3.3            Upgrade from demo to a licensed Version............................................................................................ 2

3.4            Upgrade from BARCODE to BARCODE PLUS DLL........................................................................... 2

3.5            Installing a newer version of BARCODE.DLL or BARCODE PLUS DLL covered by your license              2

4    Suitable printing processes............................................................. 2

4.1            Laser printer.............................................................................................................................................. 2

4.2            Inkjets......................................................................................................................................................... 2

4.3            Impact printers.......................................................................................................................................... 2

5    Printing barcodes from the SAP system......................................... 2

5.1            Requirements............................................................................................................................................ 2

5.2            Parameters................................................................................................................................................. 2

5.2.1          Barcode selection................................................................................................................................ 2

5.2.2          Width.................................................................................................................................................... 2

5.2.3          Height................................................................................................................................................... 2

5.2.4          Checksum............................................................................................................................................. 2

5.2.5          Caption................................................................................................................................................. 2

5.2.6          Horizontal and vertical Position........................................................................................................ 2

5.2.7          Width of bars and gaps..................................................................................................................... 2

6    Configuration in the SAP system.................................................... 2

6.1            Create your own device type.................................................................................................................. 2

6.2            Adding necessary print controls........................................................................................................... 2

6.3            Customizing your printer definition....................................................................................................... 2

6.4            A small test program................................................................................................................................ 2

6.5            Configuration in SAPscript..................................................................................................................... 2

6.6            System barcodes...................................................................................................................................... 2

6.7            Printer barcodes........................................................................................................................................ 2

7    The C-Interface............................................................................... 2

7.1            Initialization............................................................................................................................................... 2

7.2            Printing Barcodes..................................................................................................................................... 2

7.2.1          Passing parameters in the control block.......................................................................................... 2

7.2.2          Passing parameters as part of the data............................................................................................ 2

7.2.3          Note....................................................................................................................................................... 2

8    Troubleshooting.............................................................................. 2

8.1            BARCODE DLL is not used.................................................................................................................... 2

8.2            The wrong barcode is printed................................................................................................................ 2

8.3            Bars are to wide........................................................................................................................................ 2

8.4            Barcodes are not read properly.............................................................................................................. 2

8.5            Unwanted characters printed with the barcode................................................................................... 2

8.6            Problem message...................................................................................................................................... 2

 


1      New features overview

 

1.1    Version 2.07

 

Bugfix:

 

*   Running SAPLPD as a service process could result in hang-ups. This problem has been fixed.

 

1.2    Version 2.06

 

New Features:

 

*   Temporary licenses are supported now. These allow customers to use the BARCODE DLL  for a limited time.

 

1.3    Version 2.04

 

Bugfixes:

 

*   Code 2 of 5 Industrial: Vserion 2.0 beta to 2.03 where incorrect. Gaps between bars have been to wide. This has been fixed with version 2.04

*   Printing barcodes with fixed width and annotation did not always work as intended. Barcodes where too small in some cases. This has been fixed in version 2.04

 

New Features:

 

*   The size of the barcode annotation can be set with parameter A=
A=0 : No Annotation
A=1:  Compatibility mode: 5 mm size
A>1: Size of annotation in millimeter ( 1 inch = 25.4 millimeter)

 

1.4    Version 2.03

 

Bugfix version: Annotation printed too small on some printers

 

1.5    Version 2.02

 

*   New 2-dimensional barcodes PDF 417, Code 49 and Code 16K (Barcode PLUS DLL only).

*   New barcodes: UPC-A, UPC-E, MSI Plessey, UCC-128 and HIBC.

*   Barcodes can be rotated by 90,180 and 270 degrees.

*   Enhanced codeset selection for barcodes CODE128 and EAN128

 

PDF 417:

 

 

Code 16K:

 

       

 


2      Introduction

 

The use of usage of barcodes on mass products is widely known. They can be found on nearly all articles in the local supermarket. They are used for automatic product recognition. Therefore it is not necessary to recognize any individual items. So all identical products share the same barcode.

 

But barcodes can also be used to distinguish individual articles or documents. This requires the production of individual barcodes on demand as part of the printing process. As many documents are printed from within windows it is a requirement for many users to print barcodes from their windows application. Windows printing is always done through a device driver that is supplied from the printer vendor. This driver has uniform interface to the windows side. The principle advantage of this interface causes problems, as barcodes are not part of the interface. Neither the interface definition nor windows do take care about barcodes. So even if the printer could print barcodes by itself, the windows interface does not allow requesting them.

 

You can buy programs, which produce barcodes by printing graphics. But they do not allow you to integrate these barcodes automatically into your document. You have to do some (electronic or mechanical) clipping for each document.

 

You can also buy barcode fonts. But they are limited to simple barcodes and you have to compute the checksum in your application, which is often not possible at all. Without checksums barcodes are rather risky to use. You can also not adapt the printing process to your physical output device. This is often required to produce optimal barcodes as every printing system has is own characteristics.

 

What is the solution? Our barcode DLL is the perfect solution for applications, which are aware of barcodes. The application has just to call our DLL with the data and the DLL will integrate the barcode into the current document. The barcode DLL will generate checksum and caption automatically on demand. You can also specify the size of the barcode and even the individual relationship of bars and gaps.

 

SAP System R/3 supports Barcode DLL version 2.0. It allows you to print barcodes on all printers which are supported by the SAP program SAPLPD using Windows 95/98/2000/NT. The configuration of the barcode DLL is done from within the SAP system.

 

BRS Systemtechnik supplies two Barcode DLLs: The classic Barcode DLL supports all one-dimensional barcodes like code 39 and 2 of 5 interleaved. The Barcode Plus DLL also supports two-dimensional barcodes like PDF 417 or Code16K.

 

This handbook covers the usage of Barcode DLL and Barcode Plus DLL from the R/3 system. All information in this manual covers both type of libraries except when stated otherwise.


3      Installation

3.1    Licensed Version

 

If you download the Barcode DLL from the Internet at http://www.brs-online.de, you will get a single executable BC32.EXE that contains the compressed installation set. Simply execute this program from your explorer to unpack the installation set. Executing BC32.EXE will result in the files SETUP.EXE, BARCODE.DL_, BARTEST.EX_ and BCLW32.DL_ as well as this MANUAL.DOC. If you received a floppy disk from Birger Rauh Systemtechnik, these files can be found on the disk.

 

The required license key will be sent to you as email, by fax or on floppy disk. Please save the email as LICENCE.KEY in the same directory where you have the unpacked installation files or place it on floppy disk as A:\LICENCE.KEY.

 

To install the Barcode DLL to your system, please run the supplied program SETUP.EXE from the installation set.

 

To install a licensed version, the license disk should be inserted to your diskette drive or the file LICENCE.KEY has to be just beside of the installation set. If this file is found at the start of SETUP.EXE, the license string is read form this file.

 

If you have received the license key by fax, you may enter this string manually into the field license key.

 

The destination directory for the Barcode DLL is set to the windows system directory. This default should normally not be changed. BARCODE.DLL also BCLW32.DLL will be installed into this directory. These files are later used by SAPLPD to actually print the barcodes.

 

The destination for the barcode test utility BARTEST.EXE is found in the last input field.

 


3.2  Demo Version

 

If you download the Barcode DLL from the Internet, you will get a single executable BC32.EXE that contains the compressed installation set. Simply execute this program from your explorer to unpack the installation set. Executing BC32.EXE will result in the files SETUP.EXE, BARCODE.DL_, BARTEST.EX_ and BCLW32.DL_ as well as this MANUAL.DOC.

 

To install the Barcode DLL to your system, please run the supplied program SETUP.EXE from the installation set.

 

The destination directory for the Barcode DLL is set to the windows system directory. This default should normally not be changed. BARCODE.DLL also BCLW32.DLL will be installed into this directory. These files are later used by SAPLPD to actually print the barcodes.

 

The destination for the barcode test utility BARTEST.EXE is found in the last input field.

 


3.3  Upgrade from demo to a licensed Version

 

To upgrade from a demo version to a licensed version, you must obtain a license key from Birger Rauh Systemtechnik. You may download the most recent version the Barcode DLL from the Internet at http://www.brs-online.de.  It is the same executable as for the demo version, so if you already have downloaded the actual demo version, you can go ahead with this one.

 

You will get a single executable BC32.EXE that contains the compressed installation set. Simply execute this program from your explorer to unpack the installation set. Executing BC32.EXE will result in the files SETUP.EXE, BARCODE.DL_, BARTEST.EX_ and BCLW32.DL_ as well as this MANUAL.DOC. If you received a floppy disk from Birger Rauh Systemtechnik, these files can be found on the disk.

 

The required license key will be sent to you as email, by fax or on floppy disk. Please save the email as LICENCE.KEY in the same directory where you have the unpacked installation files or place it on floppy disk as A:\LICENCE.KEY.

 

Before upgrade, please make sure that any copy the demo BARCODE.DLL and optional BCLW32.DLL are removed from system!

 

To update the Barcode DLL to your system, please run the supplied program SETUP.EXE from the installation set.

 

To install a licensed version, the license disk should be inserted to your diskette drive or the file LICENCE.KEY has to be just beside of the installation set. If this file is found at the start of SETUP.EXE, the license string is read form this file.

 

If you have received the license key by fax, you may enter this string manually into the field license key.

 

The destination directory for the Barcode DLL is set to the windows system directory. This default should normally not be changed. BARCODE.DLL also BCLW32.DLL will be installed into this directory. These files are later used by SAPLPD to actually print the barcodes.

 

The destination for the barcode test utility BARTEST.EXE is found in the last input field.

 


3.4  Upgrade from BARCODE to BARCODE PLUS DLL

 

To upgrade from a licensed classic barcode version to a licensed barcode plus version, you must obtain a license key for the barcode plus version from Birger Rauh Systemtechnik. You may download the most recent version the Barcode DLL from the Internet at http://www.brs-online.de.  It is the same executable as for the demo or classic barcode version, so if you already have downloaded the actual demo version, you can go ahead with this one.

 

You will get a single executable BC32.EXE that contains the compressed installation set. Simply execute this program from your explorer to unpack the installation set. Executing BC32.EXE will result in the files SETUP.EXE, BARCODE.DL_, BARTEST.EX_ and BCLW32.DL_ as well as this MANUAL.DOC. If you received a floppy disk from Birger Rauh Systemtechnik, these files can be found on the disk.

 

The required license key will be sent to you as email, by fax or on floppy disk. Please save the email as LICENCE.KEY in the same directory where you have the unpacked installation files or place it on floppy disk as A:\LICENCE.KEY.

 

Before upgrade, please make sure that any copy the demo BARCODE.DLL and optional BCLW32.DLL are removed from system!

 

To update the Barcode DLL to your system, please run the supplied program SETUP.EXE from the installation set.

 

To install a licensed version, the license disk should be inserted to your diskette drive or the file LICENCE.KEY has to be just beside of the installation set. If this file is found at the start of SETUP.EXE, the license string is read form this file.

 

If you have received the license key by fax, you may enter this string manually into the field license key.

 

The destination directory for the Barcode DLL is set to the windows system directory. This default should normally not be changed. BARCODE.DLL also BCLW32.DLL will be installed into this directory. These files are later used by SAPLPD to actually print the barcodes.

 

The destination for the barcode test utility BARTEST.EXE is found in the last input field.

 


3.5  Installing a newer version of BARCODE.DLL or BARCODE PLUS DLL covered by your license

 

Any license obtained from Birger Rauh Systemtechnik entitles you to use newer versions of the Barcode DLL respective Barcode PLUS DLL released up to six month after the issue date of the license.

 

To use this update feature, please download the newer version of barcode demo from http://www.brs-online.de and proceed as described under “upgrading from demo to licensed version”.  To be eligible for upgrading, the new Barcode DLL MUST be released within six month after the issue date of your license or you will get an error message when installing a version that was released after that date.

 

If you have purchased a license for Barcode DLL or Barcode PLUS DLL with maintenance contract, you may install any covered newer version of the Barcode.DLL respective Barcode PLUS DLL.

 

 


4      Suitable printing processes

 

In principle every fully supported windows printer can be used for barcode printing. But the quality of the resulting printouts will differ depending of the used printing process. The commonly used printing techniques generate the output composed of individual dots. Finer and more precise positioning of the dots will increase the quality of the resulting barcode, as increased contrast will do.

 

4.1    Laser printer

 

Most laser printer are well suited to print high quality barcodes.

 

4.2    Inkjets

 

Inkjets can be used to print barcodes if suitable paper is used. The ink should not spread over the paper.

 

4.3    Impact printers

 

Impact printers, mostly dot matrix printers, should not be used to print barcodes with more than two different bar sizes (code 39 for example). If it is indispensable to print such codes, you will have to calibrate the size of the printed bars for your printer.

 

Make sure to use quality ribbons and change them regular. Worn out ribbons will result in errors in the barcode detection.

 


 

 

5       Printing barcodes from the SAP system

 

5.1    Requirements

 

The barcode DLL requires Windows 95, 98, NT or Windows 2000. Windows 3.1 is no longer supported. The barcode DLL extends other programs but does not execute standalone.

 

When printing barcodes from the SAP system you need the SAP program SAPLPD version 2.17 or above and SAP Release 2.1A or above. You have to send the data to the SAPLPD using the SAP device type SAPWIN.

 

5.2    Parameters

 

When printing barcodes from the SAP system, barcode data and parameters are embedded in the data stream sent from the SAP system. The sequence <Escape>b [1] indicates the beginning of a barcode. All following data is sent to the barcode DLL until the terminating <Escape>[2] is reached. This is part of the SAPLPD protocol and only noted as information for you.

 

The data sent to the barcode DLL consists of some parameters and the data itself. The parameters determine the properties of the printed barcode. Parameters are structured all equal. They are distinguished by a key letter, followed by an equal sign and terminated by a comma. The associated value is between the equal sign and the comma.

 

 

Parameter

Meaning

C

 

Barcode selection

B

 

Width in millimeters

H

 

Height in millimeters

P

 

Enable or disable checksum

A

 

Enable or disable caption

X

 

Horizontal position of the barcode

Y

 

Vertical position of the barcode

S1  bis  S4

 

Relative size of the bars­

L1  bis L4

Relative size of the gaps ­

RA

 

Ratio between smallest and next smaller bar multiplied by ten.

(20, 25 and 30 are valid.)

 

ADS

Additional space for gaps

 

R

 

Barcode rotation ( 0,1,2,3 for 0,90,180 and 270 degrees)

 

SEC

Security for code PDF 417U (0 to 8)

 

FR

Forced rows for code PDF 417U (0 = default, 3 to 90 rows)

FC

Forced columns for code PDF 417U ( 0 = default, 1 to 30 columns)

 

 


5.2.1         Barcode selection

 

You select the barcode with parameter ‘C’. Valid selections are:

 

Parameter

Selected barcode

C=128

Code 128

C=25I

Code 2 aus 5 Industrial  (Default)

C=25M

Code 2 aus 5 Matrix

C=25L

Code 2 aus 5 Interleaved

C=39

Code 39

C=39X

Code 39 Extended

C=93

Code 93

C=93X

Code 93 Extended

C=CODA

Codabar

C=E13

EAN 13

C=E13+2

EAN 13 + 2 Zusatzzeichen

C=E13+5

EAN 13 + 5 Zusatzeichen

C=E8

EAN 8

C=E8+2

EAN 8 + 2 Zusatzzeichen

C=E8+5

EAN 8 + 5 Zusatzeichen

C=UCC128

UCC 128 / EAN 128

C=UPCA

UPCA

C=UPCA+2

UPCA + 2 Zusatzzeichen

C=UPCA+5

UPCA + 5 Zusatzzeichen

C=PDF417

PDF 417U

C=C16K

Code 16KU

C=C49

Code 49U

 

5.2.2            Width

 

Versions before 2.0

 

With the parameter B=<Number> the required width of the barcode is selected. The width is measured in millimeters. The really printed width of the barcode might vary slightly as all bars and gaps should have the same width. Make sure that each bar and gap are printed with at least some dots. It makes no sense to print a 10-digit barcode with a width of 1 millimeter.

 

If no width is specified or the specified width is zero, the width of the bars and gaps is taken from the parameters Sx and Px. They are interpreted as absolute number of dots in this case. The width of a dot depends on the selected printing resolution of the printer. A typical value for current printers is 300 dots per inch. So, if the sum of all bars and gaps gives a value of 300, the resulting barcode will have a width of one inch.

 

Version 2.0

 

The parameter B is deprecated. Complex barcodes cannot be calculated with the required precision.

 

5.2.3            Height

 

With H=<number> the height of the barcode is specified in millimeters. If a positive number is used, the barcode will have its lower left corner at the current cursor of SAPLPD. If a negative number is used, the barcode will have its upper left corner at the current cursor of SAPLPD.

 

5.2.4            Checksum

 

P=1 selects the automatic generation of a checksum for the barcode if this feature is defined for the selected barcode. With P=0 no checksum is generated.

 

5.2.5            Caption

 

With A=0 caption is suppressed. With A=1 barcodes are printed with caption using the default height 5 millimeter (backward compatibility with versions prior to 2.0.4). Values larger than 1 enable the annotation and specify the size of the annotation. The size is specified in millimeter.

 

5.2.6            Horizontal and vertical Position

 

Parameters X and Y give control over the positioning of the barcode on the current page of the SAPLPD output. The position is specified in millimeters from the top left corner. When they are not specified, the barcode is printed at the current cursor of the SAPLPD.

 

5.2.7            Width of bars and gaps

 

Versions before 2.0:

 

With Parameters S1, S2, S3, S4 and L1, L2, L3, L4 you can select the relative or absolute width of bars and gaps. If a total width is selected (parameter B), these parameters specify the relative width. If no total width is selected, they specify the absolute width in printer dots.

 

 

Parameter

Defaultvalue

S1=

6

S2=

12

S3=

18

S4=

24

L1=

6

L2=

12

L3=

18

L4=

24

 

You may adjust these values if you have problems with the recognition of printed barcodes, especially when using impact printers where the dots are much larger as the printer resolution suggests.

 

Version 2.0

               

Parameter S1 defines the width of the smallest bar. The ratio between the size of the smallest and the next smallest bar is defined by the parameter RA (expressed as ten times the real ratio). A value of 20 defines a ratio of 2:1, a value of 25 a ratio of 2.5:1 and 30 a ratio of 3:1. For backward compatibility, the ration will be computed from S2:S1 if both values are supplied but no RA is given.

 

By default, the size of the bars will also be used as size of the gaps. To add some space between the bars, you can define the parameter ADS. A given value of 1 will result in a one-dot wider gap between the bars and so on. For backward compatibility, the value for ADS will be computed from given values for S1 and L1 if no ADS is given.


6      Configuration in the SAP system

 

The principle configuration is described in the SAP documentation. Please read this documentation first. In this chapter you will only find additional information about using the barcode DLL.

 

6.1    Create your own device type

 

To use the barcode DLL you have to copy the SAP device type SAPWIN. This is the only base type for adding barcode information. Barcode DLL will not work with other device types because they do not use the appropriate SAPLPD interface. This is a restriction in SAPLPD. We cannot do anything about this. Copy the device type SAPWIN to a new device type. The name must begin with ZSAPWI. You can do this from within the transaction SPAD. Use the menu entry ‘Utilities/copy device type’.

 

6.2    Adding necessary print controls

 

Printing of barcodes is requested by a control code sent to the SAPLPD. This control code is known to be <Escape>b. Control codes to a printing device are generated through print controls. They have a five-letter name. You call these print controls from your ABAP program or from SAPscript.  Print controls are translated into data sent to the printing device, in our case the SAPLPD. SAPLPD recognizes <Escape>b and sends the following data until the terminating <Escape>  to the barcode DLL. So when you define your print controls, they have to start with <Escape>b and continue with the barcode parameters. The last parameter should be D= to start with the raw barcode data. The terminating Escape should be generated by a separate print control. Here an example:

 

                              

Print control

Type

Hex

Def

Value

BC25I

5

 

 

bC=25I,B=50,H=20,P=1,D=

ESCAP  

1

X

 

1B

SUFFX

1

 

 

 

 

                              

When calling the print control BC25I, you will get a barcode of type ‘2 of 5 interleave’, width 50 mm, height 20 mm with checksum. The print control is followed by your data. To terminate the barcode, you add the print control ESCAP to your program. Please make sure that your print controls are defined exactly as shown above. Please note the lowercase letter ‘b’ as the first character of the print control BC25I.

 

6.3    Customizing your printer definition

 

Printers that print barcode need to use your newly created device type. Make sure to set the device type right in the transaction SPAD to the output device. The ‘print method’ has to be ‘S’ for proper usage of SAPLPD. Further details can be found in the SAP documentation.

 

6.4    A small test program

 

Here a small test program to print barcodes from a ABAP program:

 

1  REPORT TEST1.

2

3  NEW-PAGE PRINT ON NO-HEADING.

4  WRITE: / ‘Test Barcode.’.

5  FORMAT COLOR OFF INTENSIFIED OFF.

6  WRITE: / ‘Start Barcode:’.

 

7  PRINT-CONTROL FUNCTION ‘BC25I’.

8  WRITE: ‘1234567890’ NO-GAP.

9  PRINT-CONTROL FUNCTION ‘ESCAP’.

10 WRITE: ‘ ‘ NO-GAP. ‘’required from 2.1G

 

11 WRITE: / ‘Hier gehts weiter’.

 

Explanations:

 

Line 5) ‘Format Color Off Intensified off’ is necessary on some SAP systems as the list processor otherwise inserts print controls by its own that disturb the barcode output. If you see some strange characters in your barcode or the following SAPLPD output is corrupted, you should check the spool job with the hex display from transaction SP01. If you find unintended print controls between your print controls (e.g. between BC25I and ESCAP, line 7 and 9) please call SAP to get find out the reason for it.  This is not a topic of barcode printing.

 

Line 7) Start of barcode printing. The used name BC25I is the name of the print control.

 

Line 8) Here we print the raw data for the barcode. Please note the ‘NO-GAP’ at the end of the write to suppress trailing blanks.

 

Line 9) Barcode termination.


6.5  Configuration in SAPscript

 

Configuration of printers is primarily described in the SAP documentation. This chapter provides additional information for adding barcode printing. Please make sure that you have created your own device type as described in previous sections.

 

 

6.6    System barcodes

 

First you have to define your barcode type or to choose a predefined barcode type. You can use the transaction SE73 to create your own barcode type.

 

 

6.7    Printer barcodes

 

To print barcodes from SAPscript, it is necessary to define two print controls in your newly created device type (e.g. ZSAPWIN). The first print control is sent from SAPscript to introduce the barcode, the second one to terminate the barcode. You can use the same print controls as for printing from the ABAP list processor. The second print control will be ESCAP, which can be called directly. Some versions of SAPscript complain about the name but accept it nevertheless. As an alternative you may define your own group of print controls for printing from SAPscript. This may look like the following:

 

                              

Print control

Type

Hex

Def

Value

ZB25I

5

 

 

bC=25I,B=50,H=20,P=1,D=

ZBC39

5

 

 

bC=39,B=50,H=20,P=0,D=

ZBEND

5

 

 

 

ESCAP  

1

X

 

1B

SUFFX

1

 

 

 

 

 

In SAPscript you use the print controls ZB25I or ZBC39 as starting code, ZBEND as stop code for all barcodes. Please note that all print controls of a single group (defined by the first two letters of the name) have to have the same type code (here 5). ZBEND will be evaluated as <Escape> if everything is defined as described above.

 


7      The C-Interface

 

This chapter describes the interface from C programs. This information is only necessary for developing your own programs on the PC using the barcode DLL.

 

7.1    Initialization

 

FAR PASCAL BarcodeInit( char far* buff, int buff_len);

 

This function initializes the barcode DLL.  buff points to a buffer, buff_len gives the available length of the buffer.

 

If the initialization was successful, a 1 is returned and the given buffer is filled with the barcode sign on message, which must be displayed by your program.

 

7.2    Printing Barcodes

 

To print a barcode you call the Function " BarcodePrint".

 

FAR PASCAL BarcodePrint( HDC hdc, struct bcinfo * bci );

 

Hdc is the device context for your output document. bci points to a control block:

 

struct bcinfo {

 

       short  protovers;   // see below

 

       long   xpos;        // X-Pos.

       long   ypos;        // Y-Pos.

 

       int    breite;      // Width

       int    hoehe;       // Height

 

       char const far * str;      // Data

       int    strlength;   // Length of data

 

       int    pz;          // 1 = Generate checksum

       int    beschrift;   // 1 = Generate caption

       int    fontsize;    // reserved

       int    hspacing;    // reserved

       enum bctype codeid; // Barcode selection, see below

 

       long   code;        // reserved

 

       int    scale_s1;    // width of bar 1

       int    scale_s2;    // width of bar 2

       int    scale_s3;    // width of bar 3

       int    scale_s4;    // width of bar 4

       int    scale_l1;    // width of gap 1

       int    scale_l2;    // width of gap 2

       int    scale_l3;    // width of gap 3

       int    scale_l4;    // width of gap 4

 

       char far *errmsg;   // errormessage from BarcodePrint

};

 

Barcode selection (field codeid):

 

enum bctype {

       BC25INDU = 1,       2 aus 5 Industrial

       BC25INTER,          2 aus 5 Interleave

       BC25MATRIX,         2 aus 5 Matrix

       BCCODABAR,          Codabar

       BCCODE39,           Code 39

       BCCODE39EXT,        Code 39 Extended

       BCCODE93,           Code 93

       BCCODE93EXT,        Code 93 Extended

       BCCODE128,          Code 128 B

       BCEAN13,            EAN 13 ohne Zusatz

       BCEAN13P2,          EAN 13 mit 2 stelligem Zusatz

       BCEAN13P5,          EAN 13 mit 5 stelligem Zusatz

       BCEAN8,             EAN 8 ohne Zusatz

       BCEAN8P2,           EAN 8 mit 2 stelligem Zusatz

       BCEAN8P5            EAN 8 mit 5 stelligem Zusatz

};

 

 

 

 

7.2.1      Passing parameters in the control block

 

In protocol version 2 all parameters are passed in the protocol block as described above. The data in ‘str’ is printed as supplied.

 

7.2.2      Passing parameters as part of the data

 

In protocol version 3 ( as used by SAPLPD) the string given in ‘str’ is analyzed. It is assumed that the string supplies parameters as described in the previous chapters. Raw data will follow the parameter D= until the end of the string.

 

7.2.3      Note

 

Portion of the bar code technology of this product are copyrighted by Strandware, Inc.


8      Troubleshooting

 

8.1    BARCODE DLL is not used

 

Please make sure that the file ‘BARCODE.DLL’ is copied into the directory ‘C:\WINDOWS’. SAPLPD shows the init message at startup time. This message indicates that the DLL is found.

 

8.2    The wrong barcode is printed

 

Please check the data sent to the SAPLPD using SAP transaction SP01. Display the contents of your spool job using the hexadecimal display. Check that the right print controls are used and that no spaces or unintended print control are insert by the SAP system as it happens sometimes. If his happens please contact SAP.

 

8.3    Bars are to wide

 

Some impact printers produce dots, which are much wider as assumed. You may check this with a good magnifier. You may reduce the bar width using parameters S1 to S4.

 

 

8.4    Barcodes are not read properly

 

*   Most frequent reasons are used up ribbons or toner. Please refill these first.

*   Try to print your barcode without specifying a width (using B=0). If this solves your problem try to use the barcode without explicit width or with a larger width.

*   Is the barcode reader OK?

 

8.5    Unwanted characters printed with the barcode

 

Please check the data inside the R/3 Spool (function HEX display). Make sure, that there is no extra print control between the print control for barcode start and barcode end. If you see any unwanted print control between them, please check with SAP how to suppress them. We cannot help you with that problem, as it is an R/3 internal problem. With these extra print controls we will receive wrong data from SAPLPD.

 


8.6  Problem message

 

If you have problems, which are localized in the barcode DLL without doubt, please send us the required information to solve the problem:

 

*   What is the problem,

*   Why do you think the BARCODE DLL is the cause of your problem,

*   Which version of the DLL is used,

*   Which program is calling the BARCODE DLL, 

*   Which operation system is used.

 

If you have problems reading the barcodes with a barcode reader, so please add

 

*   Some example printouts (with caption if possible),

*   Printout of the hex display from the SAP spool,

*   The definition of the used print controls,

*   Description of the barcode readers response,

*   Examples of barcodes from another source, which are read correctly.

 



â SAP, ABAP and SAPscript are trademarks of the SAP AG, Walldorf, Germany

[1] Hexadecimal 1B 62

[2] Hexadecimal 1B

­ S2 to S4, L1 to L4: Version 1 only, Version 2 will use this information only if RA and ADS are not given. S1 is used in version 2 to determine the size of a narrow bar as in version 1.

 

U Barcode PLUS only

 

 

U Barcode PLUS only