Skip to Content
Author's profile photo Former Member

How to place an SE78 image on an Adobe Form

The following five steps show how to place an SE78 graphic on an Adobe Form.


In this example, we will add an existing color logo named Z_LOGO to an existing Adobe form,
ZRUOTC_SERVSTAR_PDF. First, make sure the logo exists in SE78 as a bitmap image and that
the Adobe form and interface exist as well.
(1) Go to transaction SE78 and ascertain Z_LOGO exists by following this path:
Form Graphics->Stored on Document Server->GRAPHICS General Graphics->BMAP Bitmap Images.
Do a print preview to see the graphic.
6-20-2014 10-35-58 AM.png

(2) Go to transaction SFP. Select the Interface radio button and click the Change icon.

Under the Global Definitions folder double click into Global Data and add these fields.

Variable name     Type Assignment     Type Name                         Default Value
V_FIELD                 TYPE                       XSTRING
V_BTYPE               TYPE                       TDBTYPE                              ‘BCOL’
V_ID                       TYPE                       TDIDGR                                 ‘BMAP’
V_OBJECT            TYPE                       TDOBJECTGR                      ‘GRAPHICS’
V_NAME                TYPE                       STXBITMAPS-TDNAME       ‘Z_LOGO’
G_LOGO               TYPE                        XSTRING

6-20-2014 10-38-01 AM.png

Do a syntax check.


(3) Under the Initialization folder, double click into the Code Initialization area.

Create the following logic.

* Call method get_bds_graphic_as_bmp to retrieve z_logo. Note that v_field and g_logo
* MUST be typed as XSTRING NOT string or the conversion of the form from SE78 will
* not work and the logo will NOT display on the Adobe form. On the layout tab of the
* Adobe form, bind z_logo to the graphics node created here in the Interface, NOT
* directly to g_logo. Adobe sees g_logo as a text field.
CALL METHOD cl_ssf_xsf_utilities=>get_bds_graphic_as_bmp
p_object           = v_object      ” ‘GRAPHICS’
p_name            = v_name      ” Name of the SE78 logo inside Quotes
p_id                  = v_id            ” ‘BMAP’
p_btype            = v_btype      ” ‘BCOL’ for color, ‘BMON’ for Black & White
p_bmp             = v_field        ” v_field and g_logo must be typed xstring
not_found        = 1
internal_error   = 2
OTHERS         = 3.
g_logo = v_field.                       ” g_logo and v_field must be typed xstring

6-20-2014 10-39-54 AM.png

Do a syntax check, save, and back out of the Interface.


(4) Select the Adobe Form radio button and click the Change Icon.

Go to the Context tab.
Expand the Global Data folder. You should see the 6 fields created in the Interface.

Under the Context bar on the upper right window, right click on the top folder.

6-20-2014 10-44-59 AM.png
Choose Create, Graphic and give it a name.

Under the Global Data folder on the upper left window locate the G_LOGO field.
Drag and drop G_LOGO on top of your new Graphics Node.

Under Properties at the bottom right window, change the Graphic Type Value.
It defaults to ‘Graphic Reference’. Change it to ‘Graphic Content’.

6-20-2014 10-56-48 AM.png
Enter G_LOGO as the Graphic Content field.
Enter ‘IMAGE/BMP’ with the quotes as the MIME Type.
6-20-2014 10-59-20 AM.png
(5) Go to the Layout Tab of the Adobe form.
Expand the standard palette object library and choose an Image Field.

6-20-2014 11-01-58 AM.png
Drag and drop the Image field to the location on the form where you want the logo displayed.

Under the Field tab make sure the URL field is blank because this is not a static logo.

6-20-2014 11-10-37 AM.png
Check the Embed Image Data box. However, it seems to work checked or unchecked.
Choose Scale Image Proportionately.
Under the Binding Tab, bind the image field to the Graphic Node, not to the G_LOGO field.

6-20-2014 11-11-55 AM.png

Do a syntax check on the interface and form. Save and activate.

Assigned Tags

      You must be Logged on to comment or reply to a post.
      Author's profile photo Bruno Esperança
      Bruno Esperança

      Thanks for this Brad, I was having trouble with the MIME type thing.

      By the way, this might come as a surprise to you, but I didn't put any code in the interface. I hate having code in multiple places and I think this is really bad in terms of readability.

      So, I added only an XSTRING type field in the interface, and I get the content in the printing program.



      Author's profile photo Siegfried Weber
      Siegfried Weber

      Hello Brad,

      thank you very much for this How-To-solution.

      It helped me to solve my problems



      Author's profile photo Former Member
      Former Member
      Blog Post Author

      Sigi, I'm glad this helped you and thanks for letting me know. Cheers!

      Author's profile photo Dave Taranovich
      Dave Taranovich


      Thank you for this excellent post !
      Detailed and clear…

      Hope it works in our system.

      Dave T.

      Author's profile photo Brad Holtzclaw
      Brad Holtzclaw

      Dave, glad you liked it and hope it helps. If you have any issues please let me know.


      Author's profile photo Former Member
      Former Member

      Hi Brad,

      I have followed the steps provide by you. But the image is not appearing. May I know what am I missing please.

      Below are the screen shots of the interface, adobe form and its output.

      Author's profile photo Former Member
      Former Member

      Dear Any one else this is quite urgent for me…please review my steps and code to advice/suggest me with the solution for my issue.

      Author's profile photo HarikaSri Vyasam
      HarikaSri Vyasam

      I am also facing the same issue. Let me know if you find the solution. Thank you!

      Author's profile photo Ivo Ferreira
      Ivo Ferreira

      Hi all,

      The same problem still today.


      Author's profile photo Ivo Ferreira
      Ivo Ferreira


      I found the solution for my case. I was using STRING data type for G_LOGO variable.

      Now it is properly defined as XSTRING and it's working.



      Author's profile photo Andrew Howell
      Andrew Howell

      I know this is very old but I found it useful and thought I would add a couple of comments

      1] I agree that Bruno's approach to pass the xstring in the form parameters instead of creating code within the interface is cleaner

      2] MIME type 'IMAGE/BMP' is actually incorrect, it works more by luck than judgement, probably the render engine defaults to bitmap. The correct value is 'image/bmp' - lower case is important:

      3] Don't add the xstring data to the context. The graphic object in the context can still read the xstring data 'on the interface side'. By adding the xstring to the context side, you are adding a 2nd copy of the data in a different format which is still rendered into XML and then sent to the form processor.


      The way I think of the context, is a kind of ABAP layer which SAP created to make Adobe forms a little more familiar for SAP developers.
      Adobe forms use a single XML as input data, it has no knowledge of SAP dictionary concepts. At runtime, the context is used to dynamically generate this input XML data, which is then sent to the actual Adobe form rendering engine.

      Author's profile photo Aqib Jamil Pathan
      Aqib Jamil Pathan


      Thanks for step-by-step details. I have tried and it is working fine. Even with MIME type in small or caps both works fine.