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: 

Smartform in Arabic - Dots prints at beginning of text

venkateswaran_k
Active Contributor
0 Kudos

Dear All  We have one smartform for Goods Receipt.

We have desinged in Arabic Language.

( ls_control_param-langu = 'A'.)

All are okay.  But When a vendor name contains like  Co.  or LTd.   then the Dot is printed in front of the text.

Example :     MyCompany Co. Ltd.    -->  is printed as  .My Company Co  Ltd

Can someone help me where I am missing.

Regards,

Venkat

22 REPLIES 22

Former Member
0 Kudos

Are you printing in Address......

Check Translations if they are correctly maintained.

0 Kudos

Dear Sai

I am printing the Vendor Name.  Directly picking up from LFA1 tbale

The Vendor Name is   ABC Company Ltd.

It prints   .ABC Company Ltd

The Dot after Ltd is printed at Front.

Regards,

Venkat

Former Member
0 Kudos

Hi Venkat,

Check these Notes ..

Note 822634 - RTL SAPScript/Smartforms printing with embedded LTR texts

Note 587150 - Support of Arabic-script languages

Regard's

Smruti

0 Kudos

Dear Smruti

We have applied the SAP Notes. 822634 (RTL SAPscrip/Smartforms)

Still the problem exits..

Our latest kernel is 720

Regards,

Venkat

0 Kudos

Dear Venkat ,

What device type used "ARSWIN"  or ?? .

Also check with

ls_control_param-langu = 'AR'  not only 'A'.

Regard's

Smruti

0 Kudos

Dear Smruti

I tried with both 'A' and 'AR'.   No difference.

The device type is 'ARSWIN'.

Regards,

Venkat

0 Kudos

Hi Venkat ,

Did you Check this  Note 1291845 - Display of mixture of Hebrew/Arabic, Latin, and digits .

Specially Read "Appendix: How to reproduce the behaviour of the BIDI algorithm"

is it your unicode system ? also Check this Note for Fonts required for your required language .

Note 776507 - SAPscript/SmartForms: Which fonts for which languages?

Regard's

Smruti

0 Kudos

Thank you smruti,

I shall check this note and get back to you

Regards,

Venkat

venkateswaran_k
Active Contributor
0 Kudos

Hi All

Is there any solution for this..

Can someone help me please

Regards,

Venkat

0 Kudos

Hi,

Are you trying to take the value in a variable of type NAME1_GP check the Bi-directional Options in SE11. What is it set to if its default then for Hebrew and Arabic it will try to do a RTL (Right to left) casting. I would suggest crate a Z-data element tick this option this will help it to always keep the text direction as LTR as required in your code and should help you avoid the dot at the start of the name.

Cheers,

Arindam

0 Kudos

Hi Arindam

I created a zchar50 data element.

I checked the bi direction option. 

I used that data element type in the smartform to print vendor name. 

But still it is giving same error...

Regards,

Venkat

0 Kudos

Hi,

from which table do you select the data when does the format change at selection or after selection?

Cheers,

Arindam

0 Kudos

I am selecting the data from vendor master tale LFA1.

LFA1-name1,  LFA1-name2.

Concatinate and put it in Form Variable WA_VEND_NAME.

in the Global defenition of form, I defined VEND_NAME of type ZCHARXX - what I defined data element with bi direcctional option/

Regards,

Vekat

0 Kudos

Hi Vakat,

Before printing in Smartform use below code. hope this will solve your problem.

CALL FUNCTION 'CONVERSION_EXIT_STLTR_OUTPUT'
EXPORTING
input  =
VEND_NAME
IMPORTING
output =
VEND_NAME.

Please reply if any problem.

Thanks and Best Regards,

Faisal

0 Kudos

Hi,

I think the issue here could be you are selecting the data and executing rest of your program in English and even you name i.e the alphabets are English then you are setting the smartform for Arabic Output. Usually the language of the form has to match with the data that gets displayed, any exceptions get displayed by Standard text I think the mix-up is causing the issue.

Have you tried the standard text way?

Cheers,

Arindam

0 Kudos

Hi

I tried with the function.

Actually, the value in VEND_NAME is correct.

Only at the printing time, it prints as  dot at first place.

Actual name =  Md. Nova Ltd.

but prints as  .Md. Nova Ltd

Regards,

Venkat

0 Kudos

Hi Venkat,

As setting the parameter in control param changes the setting at the time of the print. Can you change the smartform in that case try to see if the command SET LANGUAGE EN before you print the name then reset it to Arabic.

Cheers,

Arindam

0 Kudos

Hi,

Check this note 822634 may it will help you to solve this problem.

Best Regards,

Faisal

venkateswaran_k
Active Contributor
0 Kudos

Can someone help me .. I am still in search of solution for this.

Regards,

Venkat

0 Kudos

Hi,

Can you just do a offset and concatenate a '.' after the text before you print, that's the only workaround I can see. Logic like

IF lv_text(1) EQ '.'.

     concatenate lv_text+1 '.' INTO lv_text.

ELSE.

     "Do Nothing

ENDIF.

One thing to consider would be the language characters before you proceed with this.

Cheers,

Arindam

0 Kudos

Thank you Arindam,

But the issue is that ... the value of the filed is correct..ie the Dot is at end only...  Only at the time of print it prints at beginning.

So, as per your logic, it will not find the . at 1st position. 

Regards,

Venkat

0 Kudos