Skip to end of metadata
Go to start of metadata

The goal of this conversion is to describe a step by step easy approach to print the bar code using smartforms. 

Create your own bar code font

Go to SE73 SAPscript Font Maintenance to create or display the system bar codes.

Check on the radio button System Bar Codes. Press display if you want to see different bar codes styles or press change button if you want to create your own bar code style.

Now press the change button you will get the following screen. 

Press the create button.

Press New button. Give the bar code name and short text as BAR_CODE and Demo Bar Code. Press enter.

Check any radio button according to your requirement. I am using Code 39 .Press enter and set bar code alignment as normal, rotated, inverted or bottom up as shown below.

  1. normal -> scan direction is from left to right.
  2. rotated -> scan direction is rotated by 90 degree from top to bottom
  3. inverted -> scan direction is rotated by 180 degree from right to left
  4. bottom-up -> scan direction is rotated by 270 degree from bottom to top

Set the bar code parameters, width, height, etc., according to requirement as shown below.

Save the bar code definition.

Here you have created a demo bar code as shown below.

You can see the print preview of your created bar code as executing it as shown below.

Import the created bar code pattern into smart style

Using t-code SMARTSTYLES.

Create a smart style ZSMS_BARCODE

Create a paragraph format P1 into the smartstyle as shown below.

Give font family anyone suppose Courier etc.

Click on Header data and enter the standard paragraph as P1 as shown below.

Create a node in the character formats as shown below.

Give a name to character format.

Import the bar code that you created using SE73 into your character formats as shown below.

Now save and activate your smart style. 

Use that bar code character format into your smart form

Start transaction SMARTFORMS and create a smartform ZSFS_BARCODE as shown below.

Click on Form attributes and import the smart style's character format that you have recently created in the output option as shown below. Define import parameter into the import tab of form interface as shown below.

Now in Global Definition->Global Data, declare the following.

Variable Name

Type assignment

Associated type










As shown below.

Then right click main window and create Program line.

Since input is coming from Mara, we need to declare MARA as input parameter. Since we are writing the output on itab, we need to declare itab as output parameter. Then write the required coding as mentioned above.

Then right click %CODE1 New Program line in left as marked above. Then create a loop.

In that loop->Data.

Internal table ITAB into WA. As shown below.

Then create text element by right clicking the Program line just created.

Enter the field that you want to print as in the form of bar code. Use that character format into your output parameter as shown below.

Save and activate your smart form.

Execute your smart form as shown below, you will get the material number as in the form of bar code.

The print preview is shown below.


This is how we can create the barcode.


  1. Unknown User (106nts1lv)

    Hi Dheeraj,

     Thanks a lot for the nice demo code. This is my first smarform creation ever. I have created a scenario following your instructions. However when I click on 'Print Preview' though, it shows the me <bc>&WA-MATNR&</> not the barcode. Can you please let me know what went wrong? Thanks.

  2. Unknown User (gtudhpv)

    Thanks Dheeraj,

    I followed your instruction and the barcode test in SE73 was exactly the same as your screen print.  However, when I tested the SMARTForm, all I got was a series of black squares.  And if I entered a 4 digit material number, I get nothing in the preview.

  3. Unknown User (e6d5ah8)

    This solution was very useful.

  4. Unknown User (107kb28y3)

    Is it possible to add a " Data Matrix" code in the same way ?



    Very nicely explained!



    Kripa Rangachari.