Suchy MIPS, Barcode Solutions, Questions and Answers

Questions and Answers

FAQ – Frequently Asked Questions and their Answers.

Here, you will find a list of the most frequently asked questions together with the suitable answers. We are permanently updating and expanding this list.

Should you, nevertheless, find no fitting answer to your questions, please contact us. Our Support Team will gladly come to your assistance at any time.

Which RBarc programs are available?

The following programs of the RBarc series are available:

Which barcodes can be generated with the RBarc programs?

With RBarc+, the most well-known 1D barcode symbologies, such as for example Code 128, GS1-128, Code 39, 2 from 5 Interleaved, etc. can be generated. RBarc/Datamatrix generates the 2D barcode Datamatrix or GS1-Datamatrix. RBarc/QRCode generates the 2D barcode QRCode. RBarc/PDF417 generates the stacked 2D Barcode PDF-417. RBarc/OMR generates the OMR-Code for controlling printing devices.

In which way does RBarc differ from other barcode programs?

All RBarc were written in ABAP and are on-the-fly inserted into the documents. Documents containing a barcode generated with RBarc, cannot only be printed directly from the SAP®-System but also faxed, mailed or converted into the PDF-format. Also in archiving, the barcodes remain unchanged, so that for a later reprint no specific printing device has to be available.

Is RBarc a middleware?

No, RBarc is no middleware. Programs of the RBarc-series seamlessly fit into the SAP®-System.

How is RBarc installed?

The installation is carried out in only a few steps and only on the SAP® application server. The administrator creates a packet in which the delivered reports and includes are installed. No transport request is delivered, but only the ABAP source codes.

During the installation of RBarc, will tables have to be created in the data base?

No, all programs of the RBarc series will operate without data base tables.

Are client components necessary for the installation of RBarc?

No. None of the RBarc programs use client components. The installation is made solely on the SAP® application server.

Will printer extensions be necessary for printing barcodes with RBarc?

No. For printing barcodes with RBarc, no printer extensions are necessary. The barcodes can be printed out on every graphics-enabled printer, similar to logos.

How much time will I need for the installation of RBarc?

The administrator will take 10 to 15 minutes to install an RBarc program.

Is a test version available of the RBarc programs?

Yes in the download area of www.suchymips .de you will find test versions of all RBarc programs. Only for RBarc/OMR there is no test version.

What is the difference between an RBarc test version and an RBarc full version?

In the test version, RBarc+ generates solely a Code 39 and changes the 0 for the 9.

RBarc/Datamatrix, RBarc/QRCode and RBarc/PDF417 allow printing of barcodes with only a few test data.

All test versions of the RBarc programs are conceived in such a way that all functions the programs offer can always be tested. Any exception are only related to the barcode symbology or its characteristics.

We have to print GS1-128, previously EAN-128, with FNC1. Which RBarc program is suited for this operation?

RBArc+ explicitly supports the Code GS1-128 with all characteristics specified by GS1. This also includes the FNC1 on the second position and as a separator for data fields.

We have to print VDA Labels with Datamatrix. The labels include characters that cannot be generated using the keyboard, such as for example <GS> <RS> <EOT>. Can we use RBarc/Datamatrix for that?

All RBarc programs are conceived in such a way that, supported by the symbologies, special characters such as for example <RS>, <GS>, <EOT>, <FNC1> etc. can be encoded. You will read more about this in the manual included with every test version. The test version can be found in the download area of

Can I freely choose the parameters of the barcodes among the RBarc programs?

All parameters determined by the respective ISO-specification are supported by the RBarc programs. In case of the 1D barcodes, those are for example the width of the bars and spaces, the barcode height, selection of a checksum, etc. With 2D barcodes those are module size, error correction level (ECC-level), etc.

Does RBarc/Datamatrix support the ECC-200 standard?

Yes, RBarc/Datamatrix does support the ECC-200 standard.

Can barcodes be positioned parallel to each other? Also with SAPscript?

Yes, barcodes in documents can also be positioned parallel to each other- Also with SAPscript.

With SAPscript, can the barcodes be positioned in the window main?

Yes, with SAPscript, the barcodes can be positioned in the window main as well as in any other window.

Are you providing manual for the RBarc programs?

For each program of the RBarc series, we offer a detailed manual in German and English. With each program, we supply examples of implementations in SAPscript, Smart Forms and Interactive Forms, facilitating a quick access into printing barcodes with RBarc.

How many printer connection types (connectivity) can be used for printing barcodes with RBarc?

Printing barcodes with programs of the RBarc series is not influenced by the choice of the printer connectivity. You can use any connectivity of your choice.

Which device types can or have to be used for printing barcodes with RBarc?

In principle, every device type can be used that is able to create graphics. These are all device types based upon drivers for PCL, Postscript and Prescribe. SAPWIN can also be chosen as a device type. Only very few device types available for the older line printers do no support graphics.

How can I check in advance whether barcodes will work with RBarc and the device types we have installed?

Save a small graphic (e.g. your company logo) in the SAP® system and then print it out. When that graphic is printed, then barcodes that were generated with RBarc will also be printed.

Will RBarc also operate after an update of the SAP® system?

All RBarc programs are installed in the Z-area and are not influenced by the update. They will also operate after the update.

We are printing labels with SAPscript, be defining the window main several times on one page. Will that also work with RBarc?

Yes, you will be able to work that way with RBarc. The barcode definition can be placed in the window main and then the window can be defined several times on one page.

How can I print the Check Sum in the HRT?

The check digit calculated by RBarc+ will be returned to the form as a parameter so that it can be printed in the line reserved for the Human Readable Text (HRT).


Can I Print the HRT embedded into the bar code?

YES. Beginning with vers. 2010 RBarc+ uses the parameter Margin defining the embedding in the graphic barcodes. Thus, the indentations at the bottom of the barcode are reserved for the HRT. See the example below:


Which resulutions does Rbarc+ supports?

For the graphic resolution, a separate parameter RES was introduced. Via this parameter it is possible – either globally or individually – to determine the graphic’s resolution – also separately for each defined barcode. Thus, any resolution may be defined, e.g. 150 dpi, 200 dpi, 300 dpi, 600 dpi.

Some SAP-variables beginn with spaces or leading zeroes, which often shall not be encoded in the bar code. Does Rbarc+ offer a solution for such a problem?

Beginning with the vers. 2010 the parameter Input_handling is available. With this parameter, the text to be encoded can be modified. The following options are implemented at present:

  1. Deletion of leading zeros.
  2. Deletion of leading empty spaces.
  3. Deletion of invalid characters/fonts.
  4. All possible combinations of 1, 2 and 3.

May bar codes with HRT be rotated?

Together with RBarc+2010, special fonts are delivered, enabling the output of HRT with the barcode also in a rotated form. This is true for SAPscript as well as for SmartForms.

RBarc+2010 - TrueType Fonts

Can the new RBarc+2010 operate parallel to previous versions on the same SAP-system?

Yes, RBarc+2010 can be run parallel to any other RBarc+ versions on one SAP system.

Rbarc/Datamatrix: How can a variable be encoded that represents no displayable characters (e.g. the binary value “00”)?

There are two possibilities to encode such data:

    • Convert the data into ASCII Hex and then use the flag “X”.

      dmvalue = '000000'. « Here, the value 00 is encoded three times in succession.
      dflag = 'X'. perform collect_dm using dflag dmvalue.

    • Use the decimal notation for the character and the flag “B”.

      dmvalue = 0.
      dflag = 'B'.
      perform collect_dm using dflag dmvalue.

      With method b, only one character per call-up of collect_dm can be transmitted.

Rbarc/Datamatrix: How can a variable be encoded, that ends with blanks? For example, if I transmit “ABC”, the blanks coming after the “C” are lost.

ABAP does not make allowances for the blanks at the end of a variable (be it C or String). The blanks, however, can be transmitted to Rbarc/Datamatrix in ASCII Hex form and thus be encoded. Here is a programming example:

  • The length of the variable is checked to verify how many blanks are missing.
  • The missing number of blanks is written into the variable “Blanks” in ASCII Hex notation.
  • Following this, everything is transmitted to the container, however with the dflag-value "X".

    Data: l type i, rest type i, blanks type string.
    l = strlen( dmvalue ).
    rest = 24 - l.
    do rest times.
    concatenate blanks '20' into blanks.
    dmvalue = blanks.
    dflag = 'X'.
    perform collect_dm using dflag dmvalue.

It seems to me as if the parameters XPOS and YPOS for the positioning of the barcodes are not always functioning. What has to be observed when using these parameters?

The parameters XPOS and YPOS are only unconditionally operational with the PCL method. In this case, the following has to be taken into account: if the value of the parameter POSTYP equals 1, then it is a case of so-called relative positions of the current cursor position (you will find out where the cursor is when you define XPOS = YPOS = 0. The cursor is situated at the upper left corner of the barcode). That means, the barcode is moved from the current cursor position by the stated value. Negative values are not permitted. If the value of the parameter POSTYP equals 0, then it is an absolute position related to the upper left paper rim. In this case, only positive values are permitted.

In case of the Bitmap method XPOS and YPOS have no effect.

In case of the OTF method (recommended for SAPscript), the parameter POSTYP causes a horizontal shift to the right within the window in which the barcode was defined. Only positive values are permitted.

The parameter YPOS has no effect if POSTYP equals 1. If POSTYP equals 0, then the parameter YPOS stands for the absolute vertical position on the paper. Please keep in mind that in this situation other objects have no impact on the barcode position. The barcode always appears on the same spot of the paper, even when the window was shifted.

Note: In case of Rbarc/Datamatrix, the parameter POSTYP is no longer in use. Should, however, the parameter YPOS be defined and has a value of >0, the same performance occurs as if POSTYP would equal 0.

Are programs of the Rbarc series Unicode-enabled?

Yes, from Version 2007 onwards, all programs of the Rbarc series are Unicode- enabled.

We are trying to print barcodes with Rbarc+ on Zebra printers, but the reading quality of the barcodes is rather poor. What is the reason for this and can we take remedial actions?

Some Zebra printers are printing with a resolution of 203 dpi (characters per inch). Up to version 2006, Rbarc+ created the graphics with 300 dpi. When 300 dpi graphics are printed on a 203 printer, those graphics are stretched or compressed, a circumstance leading to a notable loss of quality. Without exception, barcodes should be printed with the same resolution with which they were produced. From Rbar+2007 onwards, the users have the possibility to determine their own settings of the barcode graphics resolution. This is done with the parameter “ESC”, also used for defining the method to be used. Here is an example:

ESC = '<0BMP>203'

The barcode appears in the SAPscript form at the spot where the Include was defined in the window, e.g.:
Often, however, this is not exactly the desired position. How can I adjust the position of the barcode more exactly?

With the OTF method, the horizontal position of the barcode can be determined using the XPOS PARAMETER: This has to be defined in the SAPscript form and further transmitted to Rbarc.

DEFINE &XPOS& = '100.00'.

For the vertical positioning, however, you will have to proceed as follows:

The fine adjustment you can achieve by defining a paragraph with a corresponding small line spacing and to insert this paragraph before the Include line. Should this procedure shift your text, you can achieve an equation by defining a further paragraph. This paragraph has to be smaller than the standard paragraph by the value of the just created paragraph.


In a form, you use the standard line spacing 1 LN (as a rule 6 lines per inch, i.e. 4.23 mm).

Now you place the barcode into line 15 and realize that it lies 1 mm too high.

Now, you define a paragraph, e.g. B1 with the line spacing of 1 mm and a second paragraph B2 with the line spacing of 3.23 mm (= 4.23 – 1).

Now, you insert a line above the Include line with the paragraph formatting B1. Should this action shift the following text downward, replace the following standard paragraph with the paragraph B2 (which now is decreased by paragraph B1).



How can I print several barcodes side by side in SAPscript that were defined in the same window?

Make sure that no other lines get between the single Include lines, which could shift the cursor downward. Then, with the second barcode, you use an XPOS parameter that shifts this barcode to the right, accordingly.

mehrere Barcodes nebeneinander drucken

Fact is, that in a field that is to be encoded as a barcode for example commas, dots or slashes occur, resulting in a program abort. How can we generally avoid such aborts?

Every barcode symbology has its own character repertoire that can be encoded. When characters are transmitted that do not belong to the character repertoire of the called-up barcode symbology, then during the implementation, an error message is displayed. For example, it is only digits that belong to the character repertoire of the Code 2/5 Interleaved. Therefore, a variable like 12345ABC causes an error. Rbarc must not simply remove these characters as this would possibly mask currently existing problems. You as a user have to make sure that only characters from the character repertoire of the called-up barcode symbology is transmitted to Rbarc. If you are unsure, please ask for our Barcode Guide.

The Barcode EAN-128 automatically creates an FNC1 character after the start character. How can I add further FNC1 characters to the barcode?

Rbarc supports the following not printable character codes for the “Code 128” family:

<FNC1>, <FNC2> <FNC3> und <SHIFT> Use the following ASCII characters for generating these codes:

<FNC1> = ASCII- character 237 = 0xED = ( “í” or ALT + 161).
<FNC2> = ASCII-character 243 = 0xF3 = ( “ó” or ALT + 162)
<FNC3> = ASCII- character 250 = 0xFA = ( “ú” or ALT + 163)
<SHIFT> = ASCII- character 241 = 0xF1 = ( “ñ” or ALT + 164 )

For example: in order to separate the values A = ‘111’ and B = ‘222’ with FNC1, please use the value C = ‘111í222’.

Rbarc+ aborted when a variable with “*” was transmitted. Why does that happen and how can a remedy be found?

The character “*” does not belong to the character repertoire of barcode 39. It just symbolizes the start and stop characters. As Rbarc+ automatically creates start and stop characters, these characters (the case also with other symbologies) must not be transmitted.

All ‘Y’ characters that get encoded, are read by the barcode as ‘Z’ and vice versa. Is that an error made by Rbarc+?

No, that is no Rbarc+ error. Reading devices have to be set for the respective keyboard (look it up in the scanner handbook or ask your dealer). The matter is similar to the keyboard: if, for example, an English Windows system is installed on a German PC, then pressing the key “Z” results in the ‘Y’ to appear on the screen and vice versa. Here also, the input and output systems have to be synchronized.

At present, we are having a problem with the SLASH! The barcodes 39 and 39e include the Slash, according to the documentation. In the program Rbarc, it is transformed into /O! And then interpreted as –O by the scanner! It looks as if either the wrong string for transformation is set in the field ZNAKI or else that the transformation is totally superfluous. Do you happen to have a patch or perhaps an encoding instruction?

In this case, there is no Rbarc error.
You are not encoding “Code 39” (‘c39’) but the “Code 39 extended” (‘c39e’). This code is able to encode a lot more characters than “Code 39”. As that is utilizing the same character repertoire, it is making use of a trick: it encodes some characters with 2 barcode symbols. The slash, that is really a native character in “Code 39”, is – according to the specifications – encoded as /O in the “Code 39 extended”. Rbarc+ behaves exactly the same way. The problem can be solved when your “opponent” changes his reader to “Code 39 extended”, or you change to “Code 39”. However, you have to take into consideration that then the encodable character repertoire of the “Code 39 extended” is no longer available (e.g. lower case letters). More detailed information concerning “Code 39” and “Code 39 extended” you will find in the relevant specification, available at AIM or in the Barcode Guide published by Suchy MIPS.

How exact can the barcodes be positioned?

That depends on the measurement units used. As a rule, the exactness is extending to two digits after the point, e.g. 0.01 mm.

Can different versions of Rbarc run parallel?

Yes, they can. Rbarc was designed in such a way that the names of the relevant Includes do not collide with each other. That way, a new version can be tested without influencing the version used so far.

Although I leave the check digit parameters W_CHKSUM empty, a check digit is created. What am I doing wrong?

The parameter W_CHKSUM only has an effect in case of barcodes where the check digit is not obligatory. Those are for example Code 39 and 2/5 Interleaved. The most barcode symbologies, as for example Code 128, EAN, Code 93, etc. have obligatory check digits that cannot be tuned out.

We are printing the barcode PDF-417. We have defined the following variables:

rows = 39
columns = 13
x_dim = 0.15
y_dim = 0.45

In these cases, the barcode is always created in the same size. However, when there are only few data to be encoded, the rest is filled with space characters. Can the barcode also be defined in such a way, that the size is adjusted according to the data volume?

Yes, that can be done. When you use the parameter Rows and Columns, then this size is obligatory for Rbarc/PDF-417 and the data are always filled up in such a way that the barcode corresponds to this size. However, an error is reported should the data not fit into the pre-defined raster. If you want to keep the barcode variable, please define rows = 0, columns = 0 and use only the parameter ASPRATIO instead. This parameter defines the height/width-ratio of the barcode. When using this method, however, it is possible that the barcode image can vary considerably from page to page, depending on the encoded amount of data.

In SAPscript, I join 2 variables to make one and transfer this to Rbarc+. However, instead of transferring the values of the variables, the names of the variables get passed on.

Define &V1& = '123'
Define &V2& = 'ABC'
Define &VAR& = '&V1&&V2&'.
I expect to see 123ABC, what I get is &V1&&V2

You are using the wrong syntax when joining the variables. The colon before the equal is missing. The following is the correct notation:

Define &VAR& := '&V1&&V2&'.

What is the function of the parameters BARIDENT and TEXT_ID?

The parameter BARIDENT is serving as a means of differentiation of the single barcodes within a form. Every barcode in a form should have a distinctive BARIDENT. Ideally, you should use different BARIDENT-values for each single form. By means of the parameter BARIDENT, Rbarc+ can identify the type of barcode on hand and assigns the correct parameter (symbology, height, width, etc.).

The parameter Text_ID is used for the differentiation of the single barcodes in the system. The parameter should only be used once for each utilized barcode definition.

Which parameter controls the barcode width?

This is done indirectly by the parameters "B", "BB", "BBB", "BBBB" and "W", "WW", "WWW", "WWWW".
A barcode is not like every other graphic. It consists of dark bars and light spaces. There are barcodes that have only 2 different bar and space widths (e.g. Code 39, Code 2/5 Interleaved) and barcodes that show 4 different bar and space widths. For the readability of the barcodes neither the width of the entire barcode nor the width of the single bars and spaces are decisive factors but the ratio between the single bars and spaces.
As a rule of thumb the following is true for so-called 2-width barcodes: 2<= BB:B<=3 as well as B=W, BB = WW, BBB = WWW, BBBB = WWWW.
As a rule of thumb the following is true for so-called 4-width barcodes: B:BB:BBB:BBBB = 1:2:3:4,
als auch B = W, BB = WW, BBB = WWW, BBBB = WWWW.

How can I determine the parameters for a pre-defined barcode width? I am printing the Code 39 with 9 digits and without a check digit. The barcode is supposed to be 5cm wide.

For this purpose, we recommend the add-on program Rbarc+ Visualizer. The Windows program automatically calculates the parameters according to your specifications and, in addition, generates a corresponding ABAP report.

Barcode Breite

Contact Information

  • Suchy MIPS GmbH
    Prinzregentenstraße 128
    81677 München
  • + 49 (0) 89 - 944 19 77 - 0
  • + 49 (0) 89 - 944 19 77 - 13