Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

Adobe Forms: Logo based on Print Langauge

Phillemove
Newcomer
0 Kudos

Hi Community,

i am new to SAP. My Company is Changing our ERP-System to S4/HANA Cloud
and my issue is to design our Forms with Adobe Forms and the Adobe Lifecycle Designer.
We print our Forms in different Langauges. For every Langauge we have also a different Company Logo.
Is there any possibility to determine in the Master Form Template
the Language which should be used for output of the Form?
My approach is to put all 5 Logos on Top and with some Script Logic determine the Language
and then set the correct Logo to visible and all other Logos invisible.

Thanks and best regards

2 REPLIES 2

raymond_giuseppi
Active Contributor

stephenl1
Participant
0 Kudos

This may or may not be relevant, as I am unsure of the context of your forms.  This answer relates to ABAP driven forms.

Save each of your logos under transaction code SE78, giving them a name that includes the word LOGO (for later easier identification of which images represent logos compared to other images), also include the country in the name, and a version number, as you may decide to change logos at some point in the future.

Once saved, these can then be referenced in your forms Interface.  create a global variable of type XSTRINGVAL to hold the logo image.  Next check your current language and set a local variable to your logo name to reference the relevant logo for that language that you saved in SE78.   Use this variable to call method cl_ssf_xsf_utilities=>get_bds_graphic_as_bmp.  Look at examples of use of this on your system to see how it works.  This is used to load the actual returned graphic image into your global variable for the logo.

TIP: In your interface it is best not to reference the logo name direct, but instead have a lookup table on your database that has the form name in one column, the language in another column, and the logo name (created in SE78) in a third column.  In this way you can update the logo name in the table when you change versions, and not have to change the form interface each time.  If your forms are likely to have several images, create a fourth column called image type, which might have values like "Logo", "Map", "illustration", etc, that further identifies what the image is about in relation to the form.

In your form's context dialogue, you create the logo variable by right clicking and selecting Create >> Graphic

illustration.jpg

Name your graphic "LOGO" for ease of recognition.  Then in the Properties, associate this logo with the image global variable from your interface.

illustration.jpg

In the illustration I have used two fields from my interface, one that contains the name of the logo as saved under transaction SE78, and the other holding the logo MIME type.  

Once done, open your form in the designer and place the LOGO field where you want the logo to appear and size it appropriately.

All going well, when you run the form generation your driver program will check the language, retrieve the appropriate logo from SE78 and display it in the place you have placed the logo on the form.