Technology Blogs by Members
Explore a vibrant mix of technical expertise, industry insights, and tech buzz in member blogs covering SAP products, technology, and events. Get in the mix!
cancel
Showing results for 
Search instead for 
Did you mean: 
sabarna17
Contributor
2,031

Few days back we found a serious problem regarding Translation of the Labels of all the forms we were working on. The pressure came from the functional. As per there requirement they want to update a table(Constant table) and they want to reflect the changes in the adobe forms. Then things were getting little challenging. One of my senior created an method to fetch all the Translation details for any of the form. We were passing the values through the context of the forms. She created a structure with 200 fields. Among those fields anybody can pass max of 200 fields to a structure for translation. For our forms the number 200 was little high. Anyways after that we follow the below steps and successfully displayed the caption of the fields dynamically as per the system language.



this.resolveNode("this.caption.value.#text").value = data.Page1.Translations.FIELD_001.rawValue ;


The bold one is the field which contains translation and the italic one is the subform in which we wrapped the fields which contains translation.


Now the problem begins. Some of the field text needed to be like this as shown below.



  


Case A: For this case the caption is needed to be right aligned. The initial spaces may varies for different languages.




  • First calculate the total no of letters may fit in that field A. Say it is 50 char.

  • Then create an global field named 'i' set its value as 50 spaces. Goto Edit->Form Properties->Variables. Click on '+' and set the value as 50 spaces. It may change for other fields.

  • Then write the following code.


 
var label = 0 ;

var i_val = 0;

var i_len = 0;

var label_len = 0;

var space_len = 0;

var space_app = 0;

label = data.Page1Translations.FIELD_001.rawValue ;

i_val = String(i.value); //................................................... " For spaces

i_len = i_val.length; //................................................... " Checking the space length

label_len = label.length ; //.................................................... " Checking the label length

space_len = Number(i_len) - Number(label_len); //.................................................... " finding the no of spaces have to be appended to a field labels

space_app = i_val.substring(1,space_len); //............................" actual required spaces

this.resolveNode("this.caption.value.#text").value = space_app + label; //..........." Concatenating and displaying the labels..

 

Thus we achieved our requirement. Now I thought how to fulfill the next requirement...


Case B: I created another global variable named 'NXT_LINE' and set its value as 'enter'. (That means in the value I pressed only enter.. )


Then wrote the same code as before just passed NXT_LINE instead if 'i'. In the output it came like field B only.


At last the things are done with the forms. Then I started to write this document. Suddenly senior came and stood behind me and watched what I was writing.


I realized somebody behind.. Heard a little tough voice "Enough blogging something I have regarding MIGO tcode"... 


If any improvement is needed in this technique then please don't forget to write. The main implementation of this technique is to display the caption with your required alignment.



5 Comments
sabarna17
Contributor
0 Kudos

Thanks to Sailaja..

nikolayevstigneev
Contributor
0 Kudos

I believe the trick you're doing with right aligning will work out only for monospace fonts. And when someone tells you to change the width of some cells you'll need to recalculate the number of suitable spaces, do I get it right?

sabarna17
Contributor
0 Kudos

Yes Nikolay, you are right. For this case if any changes come to the field we have to change the global variable length again.. If there is any alternative solution please share.

Former Member
0 Kudos
Hi Chatterjee,

 

I have a requirement in Adobe form to display the Captions in layout as per the system language, so there are no translations maintained any where manually is it possible? Please could you help me out on this. Thank you.
sabarna17
Contributor
0 Kudos
You can maintain translations in table and pass the value via Data-Binding. Or in Adobe form also you can maintain the Translation of the text ( if those are fixed texts)
Labels in this area