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
       EXPORTING
         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
     RECEIVING
        p_bmp             = v_field        ” v_field and g_logo must be typed xstring
     EXCEPTIONS
        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.

To report this post you need to login first.

4 Comments

You must be Logged on to comment or reply to a post.

  1. 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.

    Cheers,

    Bruno

    (0) 

Leave a Reply