on 09-16-2008 6:42 AM
Dear all,
For India cheque the wording printed for cheque amount for thousand is Lakhs. My abaper has problem and unable to print Lakhs instead of thousand.
Eg: 400,800.00 is printed as four lakhs and eight hundred only instead of four thousand and eight hundred only.
Can any one share how you managed to print Lakhs instead of thousand for india cheque? Any function can be used for this?
Thank you very much in advance for your assistance.
kind rgds,
Dahlia
Hi Dahlia Tan,
Use FM
HR_IN_CHG_INR_WRDS
Import parameters Value
AMT_IN_NUM 400,800.00
Export parameters Value
AMT_IN_WORDS FOUR LAKH EIGHT HUNDRED Rupees
Hope it will solve your problem..
Thanks & Regards
ilesh 24x7
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
hi
ask ur abaper to use function - 'HR_IN_CHG_INR_WRDS'.
i think he is using spell_amt presently.
regards
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Dahlia,
Please check the Currency setting in T-code: OY01.
Also controlled via standard function module to convert the format of currency,
The name is SPELL_AMOUNT
FUNCTION zsdfmc2_india_amtfmt.
*"----
""Local interface:
*" IMPORTING
*" VALUE(AMOUNT) DEFAULT 0
*" EXPORTING
*" VALUE(NEW_AMOUNT) TYPE C
*" EXCEPTIONS
*" TOO_LONG
*"----
DATA spell LIKE spell.
DATA itemline TYPE i.
DATA countamt(15).
DATA netwr TYPE p DECIMALS 2.
DATA sign.
CHECK NOT amount IS INITIAL.
CLEAR: countamt, sign.
MOVE amount TO countamt.
SEARCH countamt FOR '-'.
IF sy-subrc = 0.
SPLIT countamt AT '-' INTO countamt sign.
CONDENSE countamt.
sign = '-'.
ENDIF.
CONDENSE countamt NO-GAPS.
itemline = strlen( countamt ).
MOVE countamt TO netwr.
IF itemline <= 8.
WRITE netwr TO new_amount DECIMALS 2.
ELSEIF itemline = 9.
WRITE netwr TO new_amount USING EDIT MASK 'V_,__,___.__'.
ELSEIF itemline = 10.
WRITE netwr TO new_amount USING EDIT MASK 'V__,__,___.__'.
ELSEIF itemline = 11.
WRITE netwr TO new_amount USING EDIT MASK 'V_,__,__,___.__'.
ELSEIF itemline = 12.
WRITE netwr TO new_amount USING EDIT MASK 'V__,__,__,___.__'.
ELSE.
RAISE too_long.
EXIT.
ENDIF.
CONDENSE new_amount NO-GAPS.
CONCATENATE sign new_amount INTO new_amount.
CONDENSE new_amount NO-GAPS.
ENDFUNCTION.
Hope this helps !
Rgds,
x-coll
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
AMOUNT = V_TOTAL
CURRENCY = WA_EKKO-WAERS
FILLER = ' '
LANGUAGE = SY-LANGU
IMPORTING
IN_WORDS = WA_SPELL
EXCEPTIONS
NOT_FOUND = 1
TOO_LARGE = 2
OTHERS = 3
.
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Call the Function Module Spell_amount in a Subroutine. Also check the entries in the table T015Z, before you do the print.
Hope That Helps
Anirban M.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi ,
Create a subroutine pool in SE38 and call that in your script
Try to use function module : SPELL_AMOUNT
Example Program : RF_SPELL
Regards
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
88 | |
23 | |
11 | |
9 | |
8 | |
5 | |
5 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.