on 11-26-2008 9:33 AM
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.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
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...
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
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
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
84 | |
25 | |
12 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.