cancel
Showing results for 
Search instead for 
Did you mean: 

Smartforms Currency format wrongly printing

Former Member
0 Kudos

Hi All,

I'm facing a problem with printing the amount field on Smartform.

I also tried it display in Document currency format eg.,

In the document amount displayed like 1,234.56 (in a standard transaction)

When printing on the form it displayed like 1.234,56

I also checked my user settings in SU3 it is like 1,234.56 format only.

When i checked it in Debug mode the Amount is showling 1,234.56 correctly.. till it reaches to form end but while displaying it changing the format.

Any suggestion ? please help.

Thanks in advance.

-Kiran

Accepted Solutions (1)

Accepted Solutions (1)

david_liu1
Advisor
Advisor
0 Kudos

Hello,

If the decimal notation is set in your user profile correct please check

the following in your smartforms, printprogram.

- do you use the "SET COUNTRY" command in your coding?

- it can be that a function will be called by your program which

contains this statement "SET COUNTRY country".

Regards,

David

Former Member
0 Kudos

Hi David,

There is no SET COUNTRY command in my smartform and Driver program and it is RLB_INVOICE sap standard.

And this is not obeying user setting from SU3.

any other possible reason?

Thank you,

Kiran

david_liu1
Advisor
Advisor
0 Kudos

Hello,

If you print an invoice, the print program RLB_INVOICE usually reads the country of the customer.

This is the reason why the decimal notation is not correct.

See please the T-code OY01 also.

This is the standard customising of SD. A customer from country e.g. OMAN (OM)

gets number like 332.500,00 and a customer from GB gets 332,500.00.

If you really need to modify the decimal format, you can add the command SET COUNTRY 'EN' in

your Smartforms. So the effect of a change of the decimal format is a cosmetic one only.

Via debug you can change the value of the field IT_HD_GEN-DLV_LAND to EN.

Check the following code part in include RLB_INVOICE_FORM01 sample code:

  • get delivery land

PERFORM GET_DLV-LAND USING CS_BIL_INVOICE-HD_GEN

CHANGING CS_DLV-LAND.

CS_DLV-LAND = OM.

Regards,

David

Former Member
0 Kudos

Thank you David,

it is working as per the customer country(payer in my case)

Thanks for the help.

-Kiran

Former Member
0 Kudos

Thank You David .. 😃

this one Worked for me

in the Initialization of the Smartform

write:

SET COUNTRY 'EN'.

Former Member
0 Kudos

Hi David,

I had the same issue and your input answered all.

Regards,

Mohammed Raheez

Answers (0)