cancel
Showing results for 
Search instead for 
Did you mean: 

Display a logo dynamically in adobe form

Former Member
0 Kudos

I want to display a logo dynamically in adobe form.For that,I have populated a global variable( say g_logo) with the name of the logo (say 'logo1' of type string)maintained in se78 and I am binding this value to the image field in the adobe form.I have also ticked the check box Embed Image data.But the form does not display the logo on execution of the form.

Should the variable I am binding to the image field contain just the name of the logo as in se78 (which is of string type) or does it need any conversion?

Is this approach right?Am I missing out anything?

Regards,

Tejaswini.

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Dear all,

I'm having a problem when I try to display a logo in adobe form.

Following instructions from this [Blog|http://www.sdn.sap.com/irj/scn/weblogs?blog=/pub/wlg/1999] [original link is broken] [original link is broken] [original link is broken]; by Thomas Jung and the instructions from this post but something goes wrong: I am not able to display the logo.

I'am using HCM Processes & Forms

The logo is stored in se78 and it is converted to base64-encoded string using the following code:

DATA l_logo TYPE xstring.
DATA l_logo_base64 TYPE string.
DATA v_field TYPE xstring.

    call method cl_ssf_xsf_utilities=>get_bds_graphic_as_bmp
      exporting
        p_object       = 'GRAPHICS'
        p_name        = 'image_name'
        p_id              = 'BMAP'
        p_btype        = 'BCOL' 
      receiving
        p_bmp          = v_field
      exceptions
        not_found      = 1
        internal_error = 2
        others             = 3.

    l_logo = v_field.

    call function 'SSFC_BASE64_ENCODE'
      exporting
        bindata = l_logo
      importing
        b64data = l_logo_base64.

variable l_logo_base64 is passed to the form using the following code:

loop at service_field_values assigning <service_field_value> where fieldname = 'COMP_LOGO'.
      if <service_field_value> is assigned.
        <service_field_value>-fieldvalue = l_logo_base64.
      endif.
endloop

.

COMP_LOGO is a QISR_TAB_TYPE_STRING and the FIELD is a String

Under the COMP_LOGO context node I have created a node GRAPHIC with the following properties:

GRAPHIC_TYPE: Graphic Content

FIELD: COMP_LOGO-FIELD

MIME TYPE: 'image/bmp'

COMP_LOGO-FIELD contains the logo encoded as Base64-String. If I create a TEXT_FIELD on the form binded with COMP_LOGO-FIELD I see the value of the String.

Creating an IMAGE_FIELD on the form binded with COMP_LOGO-GRAPHIC or COMP_LOGO_FIELD, .I have also ticked the check box Embed Image data.But the form does not display the logo on execution.

I've also added a formcalc script on the initialize event to ensure that the rawValue of the Image Field contains the value:

$.rawValue = $record.COMP_LOGO.DATA[*].GRAPHIC

but...the form does not display the logo.

I hope you give me some advice. Thanks for your attention and your collaboration.

Regards,

Mirco

Former Member
0 Kudos

Hi Vishnu,

I have created a graphic node in the context section and I have chosen the Graphic Type as "Graphic Content".I have some queries with that.

1)What should the cell "Field" in the Properties tab contain..Is it the name of the global variable that holds the name of the logo in se78?

2)What should the cell "MIME type" contain?

3)What should I bind to the Image field in the layout..Is it the global variable containing the name of the logo or Is it the graphic node that we have created?

Regards,

Tejaswini

Former Member
0 Kudos

Hi Tej,

First u hv to create a import parameter in the interface(SFP) eg. graphic type xstring ---> save, check, activate........

then come to form and chose the context tab in tat right click on the node ---> create -> graphic

and then in the property of the graphic u provide the details which i sent b4...

Former Member
0 Kudos

Thanks for the replies..I have got the solution.

You cannot directly display a logo which is uploaded in se78 on an adobe form.The image format needs a conversion.

You can write this code in the interface section.

Create a global variable g_logo of type xstring."converted logo

v_name of type STXBITMAPS-TDNAME. "logo name in se78

Pass these parameters of the image in se78 to this method.

CALL METHOD cl_ssf_xsf_utilities=>get_bds_graphic_as_bmp

EXPORTING

p_object = v_object " 'GRAPHICS'

p_name = v_name " Name of the logo as in se78

p_id = v_id " 'BMAP'

p_btype = v_btype " 'BCOL' ( whether the image is in color or black and white )

RECEIVING

p_bmp = v_field

EXCEPTIONS

not_found = 1

internal_error = 2

OTHERS = 3.

g_logo = v_field.

The variable g_logo will have the converted image.

Drag g_logo into the context from the interface.

In the context of the adobe form make a graphics node and choose Graphic Type as Graphic Content.

The Field should have the global variable g_logo and the mime type is 'BMP' (with quotes).

Create an image field (not just image,that would be static) and in binding,bind it to g_logo and check the check box.Embed image data.

This should work..I have tested it and it is working.

Regards,

Tejaswini

Former Member
0 Kudos

Hi Tejaswini,

I am also facing the same problem.

Shall I do the conversion in adobe form itself? because i am using standard driver program.

Kindly provide me the step by step process to achieve it.

Thanks.

Regards,

Preethi.

Bharathi_j
Explorer
0 Kudos

THough logo is present in mime repostiory even afterfollowing the preocess mentioned in this thread im not getting the logo...

please explain

Former Member
0 Kudos

Try

DATA v_logos TYPE xstring.

DATA: v_logo TYPE string,.

CALL FUNCTION 'SSFC_BASE64_ENCODE'

EXPORTING

bindata = v_logos

IMPORTING

b64data = v_logo.

pass v_logo to the adobe form field say picture and bind this picture variable to a graphic as above

Former Member
0 Kudos

Hi try this,

1. Select an existing node in the context, under which you want to create a graphic node.

2. In the context menu of the node, choose Create ® Graphic.

3. The system creates a graphic node under the selected node. Enter the required data about the graphic in the Properties window under the form context.

You can choose from the following graphic types:

○ Graphic Reference

Choose this option if you want to insert a graphic from its address (URL). The URL can point to a Web server or to a file system. You must be able to access the graphic at the specified URL. This means that you may have to configure appropriate access rights for Adobe Document Services (ADS). Graphics stored in MIME Repository cannot be accessed through a URL. To use these graphics, choose Graphic Content.

○ Graphic Content

Choose this option if you want to specify graphic content using a field. This field contains all image information at runtime. The graphics must be in MIME Repository.

4. The entries you need to make depend on whether you chose Graphic Reference or Graphic Content in the last step.

○ If you have chosen Graphic Reference as your graphic type, enter the URL of the graphic.

Note

In Adobe LiveCycle Designer, you can choose whether the system gets the graphic at runtime, or whether the graphic is embedded in the form. For more information, see the online help in Adobe Designer.

○ If you have specified Graphic Content as your graphic type, you must do the following:

■ In Field, enter a field name from the interface. The field must have the type STRING (graphical data is Base64-coded) or XSTRING (for binary-coded graphical data).

■ Enter a valid MIME type, such as u2019image/bmpu2019.

5. Under Conditions, enter the prerequisites that need to be met before the graphic node is processed at runtime and displayed in the form.

Thanks,

Vishnu

Former Member
0 Kudos

HI,

I am facing another issue with the LOGO Display...

I am able to see the logo but its appearing in a sulken box... i dono y??

i want my logo to be displayed normally.....

can u plz help me out with this...........

Former Member
0 Kudos

se78, that u have created a logo , it is filed in import and better to check ur imported logo.....and again import ur logo from ur import file to destination form.