Function module SPELL_AMOUNT
Hi All,
I am using this function module "SPELL_AMOUNT". But this function module works with the customized tables and it gives amount into Millons and billons but i want in crores.
I am not getting how to configure because there is difference between crores and millions & billions in terms of figure.
I have also created my own function module "Y_SPELL_AMOUNT" But i want to use the standard one.
Please help.
Regards,
Vikas Madaan
Hi,
Please have a look at this.
Re: Covert INR into words
Cheers
Vinod
Similar Messages
-
Error while using Function module SPELL_AMOUNT with arabic language AR
Hi ,
When i am trying to convert the number to words, using function module SPELL_AMOUNT with arabic language(AR),following abend message is coming and FM is getting abended.
Entry AR 0 1 in table T015Z does not have a delimiter (
Can you please provide me how to overcome this error?
Thanks & Regards
Seshagiri.Hi Santosh,
Thanks for quick inputs.
And amount is not having any delimitors.
I have checked in table T015Z and it has entries with AR as SPRAS.
All entries are having ':' at the beginning of the arabic words,and there is no single entry with ';'.
All entries with EN as SPRAS are having delimiters ';' at the end of the words.
Numbers are correctly converted to words in english,but abending in arabic.
Any idea please.
Thanks & Regards
Seshagiri. -
Regarding function module spell_amount
hi
i am working with the function module spell_amount.
the outcome that i am getting is different when compared with the amount in words and figures
ex : amt is 1,800.00
in words : one hundred eighty thousandcheck this code:
v_i_amount = tmp_amt.
call function 'HR_IN_CHG_INR_WRDS'
exporting
amt_in_num = v_i_amount
IMPORTING
AMT_IN_WORDS = amt_in_words
EXCEPTIONS
DATA_TYPE_MISMATCH = 1
OTHERS = 2.
if sy-subrc 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
endif..
Ur FM
TABLES SPELL.
DATA : T_SPELL LIKE SPELL OCCURS 0 WITH HEADER LINE.
DATA : PAMOUNT LIKE SPELL-NUMBER VALUE '1234510'.
SY-TITLE = 'SPELLING NUMBER'.
PERFORM SPELL_AMOUNT USING PAMOUNT 'USD'.
WRITE: 'NUMBERS', T_SPELL-WORD, 'DECIMALS ', T_SPELL-DECWORD.
FORM SPELL_AMOUNT USING PWRBTR PWAERS.
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
AMOUNT = PAMOUNT
CURRENCY = PWAERS
FILLER = SPACE
LANGUAGE = 'E'
IMPORTING
IN_WORDS = T_SPELL
EXCEPTIONS
NOT_FOUND = 1
TOO_LARGE = 2
OTHERS = 3.
ENDFORM. " SPELL_AMOUNT -
Hi Experts. I hav a doubt in Function Module SPELL_AMOUNT how to use it ?
Parameters: p_num type c.
Data: Res_in_Words Type c.
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
AMOUNT = p_num
CURRENCY = ' '
FILLER = ' '
LANGUAGE = SY-LANGU
IMPORTING
IN_WORDS = Res_in_Words.
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.
Write: /3 Res_in_Words.
When I execute it, program goes to Dump due to an exception in the program, that is, in the parameter IN_WORDS of the FM, the parameter passed is of type not matching with the type to be sent to that parameter. So run time error occured.
Can any one pls. resolve it soon.
Thanks in advance.
Moderator Message: This type of questions have been asked many times in the forum. Search for them. Also, do NOT ask the forum members to "resolve your issue soon". We all have full-time jobs and are not getting paid to resolve your issues, especially the ones that have been asked and answered many times in the forum.
Edited by: kishan P on May 26, 2011 1:09 PMHi,
If you pass the following values into the FM,
AMOUNT 10000
CURRENCY INR
LANGUAGE EN
you will get the output as
IN_WORDS 000000000000100000 2 ONE HUNDRED
Here the last two digit of the amount is considered as decimal place in INR currency.
Check whether you are passing the right amount with considering decimal places according to the passed currency. -
Using Function Module in SAP Script
Dear Friends,
how can i use function modules in sap scripts?. i want to use call function SPELL_AMOUNT in sap script?
in text element using perform statement hw can i use?
Regarding i search related articles but, i am not getting any solution.
Plz help Me.
Regards,
K.S.KannanDear Kanan,
You can do it in two ways:
Way1
your Amount will be in some variable say VAR_AMT1 and want in words in field say VAR_SPELL.
In your report program you can use the function module SPELL_AMOUNT and pass the VAR_AMT1 to it and you will get the words in VAR_SPELL.
So now in your sap script you can use the variable VAR_SPELL to print the amount in words.
we normally use this above method.
WAY2
You are inside Sap script and you can write the following code in the sap Script window.
/: PERFORM AMT_TEXT IN PROGRAM ZF_REPORT USING &VAR_AMT1& CHANGING &VAR_SPELL&
/: ENDPERFORM
In the Tag Column when you press F4 you can see various symbols like
/: = ( / /= /( /: /* /E
. Select
In the program ZF_REPORT (any report) you should have the perform AMT_TEXT where you should use the function module SPELL_AMOUNT to convert the amount into words.
Hope its Clear. -
SPELL_AMOUNT function module
Hi frnds,
If i input 1,00,000 then the fn.module is giving one hundred thousand as output.
But for me the output should be "One lakh".
Is there anyother fn.module to get this?...
OR any additional parameter i have to pass in the SPELL_AMOUNT fn.module to get the same.....
Regards,
Rengahi,
this is my own customised Function Module..You can use this...
import
AMOUNT TYPE KONV-KAWRT Condition base value
CURRENCY TYPE CHAR3 3-Byte field
export
WORDS TYPE C
FUNCTION zconvert_amnt_to_words.
""Local Interface:
*" IMPORTING
*" REFERENCE(AMOUNT) TYPE KONV-KAWRT
*" REFERENCE(CURRENCY) TYPE CHAR3
*" EXPORTING
*" REFERENCE(WORDS) TYPE C
DATA: w_amount(255) TYPE c,
w_out_amt(255) TYPE c,
amt_in_inr TYPE pc207-betrg.
amt_in_inr = amount.
IF currency = 'INR'.
CALL FUNCTION 'HR_IN_CHG_INR_WRDS'
EXPORTING
amt_in_num = amt_in_inr
IMPORTING
amt_in_words = w_amount
EXCEPTIONS
data_type_mismatch = 1
OTHERS = 2.
IF sy-subrc 0.
RAISE data_type_mismatch.
ENDIF.
IF w_amount CS 'Rupee' AND w_amount NS 'Rupees'.
IF w_amount CS 'Paise'.
REPLACE 'Rupee' WITH 'And' INTO w_amount.
ELSE.
REPLACE 'Rupee' WITH space INTO w_amount.
ENDIF.
CONCATENATE w_amount ' Only' INTO w_amount.
ELSEIF w_amount CS 'Rupees'.
IF w_amount CS 'Paise'.
REPLACE 'Rupees' WITH 'And' INTO w_amount.
ELSE.
REPLACE 'Rupees' WITH space INTO w_amount.
ENDIF.
CONCATENATE w_amount ' Only' INTO w_amount.
ELSE.
CONCATENATE w_amount ' Only' INTO w_amount.
ENDIF.
TRANSLATE w_amount TO UPPER CASE.
words = w_amount.
ENDIF.
ENDFUNCTION.
regards
siva -
Function module for converting the foreign currency to words
hi,
can anybody tell me about the function module for converting the foreign currency to words format.
Like 25.50 USD
should be "Twenty Five Dollar & Fifty Sents."
foreign currency can be anyone like USD, JPY, EUR etc.
Regards
Nitin VarshneyHi,
Try using the FM SPELL_AMOUNT
Check this wiki
[SPELL_AMOUNT|https://wiki.sdn.sap.com/wiki/display/Snippets/SpelltheAmountenteredin+words]
Regards
Sarves -
Function Module to convert amount to amount in words
Dear Guru ,
I want to know is there any sap standard Function Module to convert amount value to amount in words
Thanks & RegardsHi..
Use FM SPELL_AMOUNT.
This function module converts an amount or number into words. It can be used as follows:
Convert a number into words
To do this, the transfer parameters LANGUAGE and AMOUNT have to be entered.
Convert an amount into words
To do this, the fields LANGUAGE, CURRENCY, and AMOUNT have to be entered.
Program RF_SPELL contains a sample call of the function module. You can use it for test purposes.
REPORT ZSPELL.
TABLES SPELL.
DATA : T_SPELL LIKE SPELL OCCURS 0 WITH HEADER LINE.
DATA : PAMOUNT LIKE SPELL-NUMBER VALUE '1234510'.
SY-TITLE = 'SPELLING NUMBER'.
PERFORM SPELL_AMOUNT USING PAMOUNT 'USD'.
WRITE: 'NUMBERS', T_SPELL-WORD, 'DECIMALS ', T_SPELL-DECWORD.
FORM SPELL_AMOUNT USING PWRBTR PWAERS.
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
AMOUNT = PAMOUNT
CURRENCY = PWAERS
FILLER = SPACE
LANGUAGE = 'E'
IMPORTING
IN_WORDS = T_SPELL
EXCEPTIONS
NOT_FOUND = 1
TOO_LARGE = 2
OTHERS = 3.
ENDFORM. " SPELL_AMOUNT
I hope it helps.
Reward pts if helpful
Regards
- Rishika Bawa -
FUNCTION MODULE TO CONVERT DATE / TIME INTO WORDS.
HI EXPERTS,
FUNCTION MODULE TO CONVERT DATE / TIME INTO WORDS.
PLS DO HELP.....Hiii gita
we have another FM SPELL_AMOUNT
regards
Jaipal -
Error Function module " " not found in Smartforms
Hi all,
Please help me out .
I created the form using the smartforms, check it and activated it. I can see the unique function module is assigned to the form. I wrote the ABAP program and use function module SSF_FUNCTION_MODULE_NAMEand also define data types.
when I called the function module fm_name for passing values and tables from program to smartform. This is working perfectly in development server but in production it giving error like Function module " " not found.
Below I m pasting my code.
*& Report ZCASHJOURNAL *
REPORT zcashjournal .
TABLES: bseg.
DATA: FM_NAME TYPE rs38l_fnam.
DATA:BEGIN OF it_bseg OCCURS 0.
INCLUDE STRUCTURE bseg.
DATA:END OF it_bseg.
DATA:BEGIN OF it_bseg1 OCCURS 0.
INCLUDE STRUCTURE bseg.
DATA:END OF it_bseg1.
DATA: gv_amt_in_words TYPE spell,
gv_word TYPE spell-word,
gv_decword TYPE spell-decword.
DATA:BEGIN OF gt_bkpf OCCURS 0.
INCLUDE STRUCTURE bkpf.
DATA:END OF gt_bkpf.
DATA:bktxt TYPE bktxt.
DATA:waers TYPE waers.
DATA:belnr TYPE belnr_d.
DATA:werks TYPE bukrs.
DATA:desc TYPE butxt.
DATA:awkey TYPE awkey.
DATA:docno TYPE matnr.
DATA:cajo TYPE awkey.
DATA:desc1 TYPE butxt.
DATA:dmbtr TYPE dmbtr.
SELECTION-SCREEN BEGIN OF BLOCK b2.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT (15) FOR FIELD s_belnr.
SELECTION-SCREEN POSITION 28 .
PARAMETERS : s_belnr TYPE bseg-belnr .
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT (15) FOR FIELD s_werks.
SELECTION-SCREEN POSITION 28 .
PARAMETERS: s_werks TYPE werks.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b2.
SELECT * FROM bkpf
INTO CORRESPONDING FIELDS OF TABLE gt_bkpf
WHERE belnr LIKE s_belnr
AND bukrs LIKE s_werks.
IF NOT gt_bkpf[] IS INITIAL.
SELECT * FROM bseg
INTO CORRESPONDING FIELDS OF TABLE it_bseg
FOR ALL ENTRIES IN gt_bkpf
WHERE bukrs EQ gt_bkpf-bukrs
AND belnr EQ gt_bkpf-belnr
AND shkzg EQ 'S'.
ENDIF.
LOOP AT gt_bkpf.
bktxt = gt_bkpf-bktxt.
waers = gt_bkpf-waers.
belnr = gt_bkpf-belnr.
werks = gt_bkpf-bukrs.
awkey = gt_bkpf-awkey.
docno = awkey+0(10).
cajo = awkey+10(4).
ENDLOOP.
LOOP AT it_bseg.
dmbtr = it_bseg-dmbtr.
ENDLOOP.
IF s_werks EQ '65'.
desc = 'JCBML - Heavy Equipments'.
ENDIF.
IF cajo EQ '0001'.
desc1 = 'PETTY CASH PLANT II'.
ENDIF.
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
amount = dmbtr
currency = waers
filler = space
language = sy-langu
IMPORTING
in_words = gv_amt_in_words
EXCEPTIONS
not_found = 1
too_large = 2
OTHERS = 3.
IF sy-subrc EQ 0.
MOVE : gv_amt_in_words-word TO gv_word,
gv_amt_in_words-decword TO gv_decword.
ENDIF.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZCASHRECPT'
IMPORTING
FM_NAME = FM_NAME
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 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.
*CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING formname = 'ZCASHRECPT'
variant = ' '
direct_call = ' '
IMPORTING fm_name = lf_fm_name
EXCEPTIONS no_form = 1
no_function_module = 2.
*v_vbeln = S_VBELN-low.
CALL FUNCTION FM_NAME
EXPORTING
bktxt = bktxt
waers = waers
belnr = belnr
werks = werks
desc = desc
docno = docno
cajo = cajo
desc1 = desc1
dmbtr = dmbtr
gv_word = gv_word
TABLES
T_ZDEB = it_bseg
EXCEPTIONS
formatting_error = 1
internal_error = 2
send_error = 3
user_canceled = 4
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.Hi Rakesh,
Check two things
1. Program tranpsorted to production without any error in request log.
2. Smartform tranpsorted to production without any error in request log and without renaming / misspelling it.
CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
EXPORTING
formname = 'ZCASHRECPT'
IMPORTING
FM_NAME = FM_NAME
EXCEPTIONS
NO_FORM = 1
NO_FUNCTION_MODULE = 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.
Also try to uncomment the Message id part and it will show some meaningful message.
And to check whether actaually fucntion module is generated or not goto smartforms ->Smartform name -> Display -> Environment->Fucntion module name . if this is blank try to retransport smartform.
Hope that helps.
Regards
Kapadia
***Assigning points is the way to say thanks in SDN.*** -
Functional module amount_string_convert
hi to all
plz help me in this issue
i am using this function module for decimal seperator it is working fine for EUR currency but when other currencies like NL,ISK etc comes it is raising an exeption 203 .plz help me in in sloving this issue
hi sailatha this is the code
IF L_CURR EQ 'EUR'.
CALL FUNCTION 'AMOUNT_STRING_CONVERT'
EXPORTING
AMOUNT_STRING = AMOUNT
DCPFM = '2'
MLLN = 'M'
TSND = 'T'
WAERS = L_CURR
IMPORTING
AMOUNT = L_VALUE.
EXCEPTIONS
INVALID_TYPE = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ELSE.
END OF INSERTION BY NTT 13-07-2006
CALL FUNCTION 'AMOUNT_STRING_CONVERT'
EXPORTING
AMOUNT_STRING = AMOUNT
DCPFM = '0'
MLLN = 'M'
TSND = 'T'
WAERS = CURR
IMPORTING
AMOUNT = L_VALUE.
EXCEPTIONS
INVALID_TYPE = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
Thanks & Regards
Kiran kumar
Message was edited by: kiran kumarcheck this function module( i copied from one of the SDN post, but doesnt remember the link)
REPORT YTEST no standard page heading .
data : tline like tline occurs 0 with header line,
SPELL LIKE SPELL OCCURS 0 WITH HEADER LINE.
data amouno type p DECIMALS 5 value '5455555.65461'.
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
AMOUNT = amouno
CURRENCY = 'USD'
FILLER = ' '
LANGUAGE = SY-LANGU
IMPORTING
IN_WORDS = SPELL
EXCEPTIONS
NOT_FOUND = 1
TOO_LARGE = 2
OTHERS = 3
WRITE : / 'Amount in Number: ',AMOUNO.
WRITE : / 'Amount in Word: ',SPELL-WORD, 'AND DECIMALS' , SPELL-DECWORD.
Result
Amount in Number: 5,455,555.65461
Amount in Word:
FIVE BILLIONS FOUR HUNDRED FIFTY-FIVE MILLION FIVE HUNDRED FIFTY-FIVE THOUSAND SIX HUNDRED FIFTY-FOUR
AND DECIMALS SIXTY-ONE
regards
srikanth
Message was edited by: Srikanth Kidambi -
Spell amount functional module
hi guys,
i want u guys to help me out here.i need a functional module which works exactly like SPELL_AMOUNT.The issue is that i want the amount 100,000 to be spelt as 1 lakh instead of one hundred thousand.hi Arup,
If you look at the documentation of the Function Module, it tells you that the table T015Z has to be customized for your language if the default format of the spelled amounts is not acceptable.
Unfortunately, the vales are stored only based on the language, and not on the currency. So If you configure the table for the English language, then all users who log on in English will get the same format (LAKHS, CRORES etc.,). This may not be acceptable for users in a country like US where the format preferred might be MILLIONS , BILLIONS etc.,
Please exercise caution before going ahead with configuring the table.
The only other alternative (to modifying the table) that I can think of will be to write your own function module!!
or check the below program
FUNCTION Z_FI_AMT_WRDS_CONVERT .
""Local interface:
*" IMPORTING
*" REFERENCE(AMT)
*" EXPORTING
*" REFERENCE(WORD) TYPE SPELL-WORD
amt_c1 = amt.
replace '.' with 'D' into amt_c1.
SEARCH amt_c1 for 'D'.
IF sy-subrc = 0.
amt_wh1 = amt_c1+0(sy-fdpos).
wrk_fdpos = sy-fdpos + 1.
amt_dc1 = amt_c1+wrk_fdpos(2).
ELSE.
amt_wh1 = amt_c1.
amt_dc1 = '00'.
ENDIF.
amtnmr = amt_wh1.
amtdec = amt_dc1.
CONCATENATE amtnmr amtdec INTO amount.
CALL FUNCTION 'SPELL_AMOUNT'
EXPORTING
amount = amount
currency = 'INR'
filler = ' '
language = 'E'
IMPORTING
in_words = amountrs.
*WRITE: / 'amount in figures: ' ,'Rs.-->', AMTNMR,'.',AMTDEC.
*WRITE: / 'Amount in WORDS.: ' ,' Rs.' ,AMOUNTRS-WORD,
*'AND' ,AMOUNTRS-DECWORD ,'Paisa Only'.
*SKIP.
CLEAR: unit1,digit1,unit2,digit2,unit3,digit3,unit4,digit4,word1,word2,
word3,word4,word.
digit1 = amtnmr+14.
unit1 = amtnmr+13.
digit2 = amtnmr+12.
unit2 = '0'.
digit3 = amtnmr+11.
unit3 = amtnmr+10.
digit4 = amtnmr+9.
unit4 = amtnmr+8.
digit5 = amtnmr+7.
unit5 = amtnmr+6.
digit6 = amtnmr+5.
unit6 = '0'.
digit7 = amtnmr+4.
unit7 = amtnmr+3.
digit8 = amtnmr+2.
unit8 = amtnmr+1.
digit9 = amtnmr.
unit9 = '0'.
*WRITE:/ 'UNIT9 = ' , UNIT9, 'DIGIT9 = ', DIGIT9.
IF ( unit1 NE '0' ) OR ( digit1 NE '0' ).
SELECT SINGLE wort INTO word1 FROM t015z WHERE einh = unit1
AND ziff = digit1 AND spras = 'E'.
word1 = t015z-wort.
REPLACE ';' WITH '' INTO word1.
*write: / word1.
ENDIF.
IF unit2 NE '0' OR digit2 NE '0'.
SELECT SINGLE * FROM t015z WHERE einh = unit2
AND ziff = digit2 AND spras = 'E'.
word2 = t015z-wort.
REPLACE ';' WITH '' INTO word2.
CONCATENATE word2 ' HUNDRED ' INTO word2.
*REPLACE '(FEMININE)' WITH '' INTO WORD2.
*write: / word2.
ENDIF.
IF unit3 NE '0' OR digit3 NE '0'.
SELECT SINGLE * FROM t015z WHERE einh = unit3
AND ziff = digit3 AND spras = 'E'.
word3 = t015z-wort .
CONCATENATE word3 ' THOUSAND ' INTO word3.
REPLACE ';' WITH '' INTO word3.
*write: / word3.
ENDIF.
IF unit4 NE '0' OR digit4 NE '0'.
SELECT SINGLE * FROM t015z WHERE einh = unit4
AND ziff = digit4 AND spras = 'E'.
word4 = t015z-wort.
REPLACE ';' WITH '' INTO word4.
CONCATENATE word4 ' LAKH ' INTO word4.
*WRITE: / WORD4.
ENDIF.
IF unit5 NE '0' OR digit5 NE '0'.
SELECT SINGLE * FROM t015z WHERE einh = unit5
AND ziff = digit5 AND spras = 'E'.
word5 = t015z-wort.
REPLACE ';' WITH '' INTO word5.
*write: / word5.
ENDIF.
IF unit6 NE '0' OR digit6 NE '0'.
*UNIT6 = 'H'.
SELECT SINGLE * FROM t015z WHERE einh = unit6
AND ziff = digit6 AND spras = 'E'.
word6 = t015z-wort.
REPLACE ';' WITH ' ' INTO word6.
CONCATENATE word6 ' HUNDRED ' INTO word6.
*REPLACE '(FEMININE)' WITH '' INTO WORD6.
*write: / word6.
ENDIF.
IF unit7 NE '0' OR digit7 NE '0'.
SELECT SINGLE * FROM t015z WHERE einh = unit7
AND ziff = digit7 AND spras = 'E'.
word7 = t015z-wort.
REPLACE ';' WITH ' ' INTO word7.
CONCATENATE word7 ' THOUSAND ' INTO word7.
*write: / word7.
ENDIF.
IF unit8 NE '0' OR digit8 NE '0'.
SELECT SINGLE * FROM t015z WHERE einh = unit8
AND ziff = digit8 AND spras = 'E'.
word8 = t015z-wort.
REPLACE ';' WITH '' INTO word8.
CONCATENATE word8 ' LAKHS ' INTO word8.
*write: / word8.
ENDIF.
IF digit9 NE '0'.
unit9 = '0'.
SELECT SINGLE * FROM t015z WHERE einh = unit9
AND ziff = digit9 AND spras = 'E'.
word9 = t015z-wort.
REPLACE ';' WITH ' ' INTO word9.
*REPLACE '(FEMININE)' WITH ' ' INTO WORD9.
CONCATENATE word9 ' HUNDRED ' INTO word9.
ENDIF.
CONCATENATE word9 word8 word7 word6 word5 ' CRORE ' INTO wordc
SEPARATED BY space.
*WRITE:/ 'Amount in Rs.------->'.
IF amountrs-decword NE 'ZERO'.
CONCATENATE ' AND PAISE ' amountrs-decword INTO dcwrd
SEPARATED BY space.
ENDIF.
IF amtnmr > 9999999.
*WRITE: / WORDC.
*ENDIF.
CONCATENATE 'RUPEES' wordc word4 word3 word2 word1 dcwrd 'ONLY'
INTO word SEPARATED BY space.
ELSE.
CONCATENATE 'RUPEES'word4 word3 word2 word1 dcwrd 'ONLY'
INTO word SEPARATED BY space.
ENDIF.
CLEAR dcwrd.
*WRITE :/ WORD.
*WRITE: 'AND' ,AMOUNTRS-DECWORD ,'Paise Only
ENDFUNCTION.
or try to use the below function module
HR_IN_CHG_INR_WRDS
if u find it useful just mark some points
Regards,
Naveen -
hi to all
plz suggest an alternative to this functional module
AMOUNT_STRING_CONVERT since it is giving me e203 error
how to solve this
thanks in advance
Message was edited by: kiran kumarHai Kiran
Check the following Code
data: words type spell.
call function 'SPELL_AMOUNT'
exporting
amount = '100000'
CURRENCY = ' '
FILLER = ' '
LANGUAGE = SY-LANGU
importing
in_words = words.
if words-word = 'ONE HUNDRED THOUSAND'.
words-word = '1 LAKH'.
endif.
write:/ words-word.
Regards
Sreeni -
URGENT: Function modules or BAPIs
Hi Experts,
I need function modules or BAPI to get the open items and cleared items G/L Account wise.
Useful replies will be surely awarded.Hi Chakradhar,
Check tcode : BAPI
u will get all bapis there.
Regards,
Hemant -
How to attached class or function module in FD03
Hi Guys
I want to attached CL_ATTACHMENT_LIST for retriving attachment list from fd03 please help to attached the function module in my program?
regards
Piroz
report zfir_aged_debtors no standard page heading
line-size 255.
Type group
type-pools:
slis. " ALV types
Tables
tables:
adrc, " Addresses
bsad, " Accounting: Customer secondary index (Cleared)
bsid, " Accounting: Customer secondary index (Open)
kna1, " Customer master: General data
knkk, " Customer master: Credit management
knvk. " Customer master: Contact persons
Types
types:
begin of ty_bsadbsid,
bukrs like bsad-bukrs, " Company code
kunnr like bsad-kunnr, " Customer
gjahr like bsad-gjahr, " Fiscal year
belnr like bsad-belnr, " Accounting document number
buzei like bsad-buzei, " Line item
budat like bsad-budat, " Posting date
bldat like bsad-bldat, " Document date
waers like bsad-waers, " Currency
xblnr like bsad-xblnr, " Reference
shkzg like bsad-shkzg, " Debit/credit indicator
dmbtr like bsad-dmbtr, " Amount
zfbdt like bsad-zfbdt, " Baseline date for due date
" calculation
zbd1t like bsad-zbd1t, " Cash discount days 1
zbd2t like bsad-zbd2t, " Cash discount days 2
zbd3t like bsad-zbd3t, " Net payment terms period
rebzg like bsad-rebzg, " Number of the invoice
rebzt like bsad-rebzt, " Follow on document type
end of ty_bsadbsid,
ty_it_bsadbsid type ty_bsadbsid occurs 0,
begin of ty_merged,
kunnr like kna1-kunnr, " Customer number
name1 like adrc-name1, " Name
city1 like adrc-city1, " City
post_code1 like adrc-post_code1, " Post code
street like adrc-street, " Street
house_num1 like adrc-house_num1, " House number
tel_number like adrc-tel_number, " Telephone number
fax_number like adrc-fax_number, " Fax number
namev like knvk-namev, " First name
namew like knvk-name1, " Last name
telf1 like knvk-telf1, " Telephone number
klimk like knkk-klimk, " Credit limit
skfor like knkk-skfor, " Total receivables
total like bsad-dmbtr, " Total amount
rast1 like bsad-dmbtr, " Amount period 1
rast2 like bsad-dmbtr, " Amount period 2
rast3 like bsad-dmbtr, " Amount period 3
rast4 like bsad-dmbtr, " Amount period 4
rast5 like bsad-dmbtr, " Amount period 5
rast6 like bsad-dmbtr, " Amount period 6
end of ty_merged,
ty_it_merged type ty_merged occurs 0.
Internal tables
data:
Internal table to store customer line items from BSAD and BSID
it_bsadbsid type ty_it_bsadbsid,
Internal table to store field catalog for ALV function call
it_fieldcat type slis_t_fieldcat_alv,
Internal table to store summarised data for report output
it_merged type ty_it_merged.
Structures
data:
Display variant structures
st_tvariant like disvariant,
st_variant like disvariant.
Constants
constants:
co_delim_dash type c
value '-',
co_false type c " False
value space,
co_koart_d like faede-koart " Customer account type
value 'D',
co_save_u type c " User display variant
value 'U', " saving allowed.
co_shkzg_h like bsid-shkzg " Debit/Credit indicator
value 'H', " for credit
co_shkzg_s like bsid-shkzg " Debit/Credit indicator
value 'S', " for debit
co_selected type c " Value of selected radio
value 'X', " button or checkbox
co_true type c " True
value co_selected.
Variables
data:
va_exit type c.
Selection screen definition
selection-screen: begin of block b1 with frame title text-001.
select-options:
s_kunnr for bsad-kunnr. " Customer number
parameters:
p_kkber like knkk-kkber, " Credit control area
p_pafkt like knvk-pafkt, " Contact function
p_datum like sy-datum. " Report date
selection-screen: begin of line,
comment 01(30) text-006,
position pos_low.
parameters:
rastbis1 like rfpdo1-allgrogr " Due date sorted 1
default '000',
rastbis2 like rfpdo1-allgrogr " Due date sorted 2
default '000',
rastbis3 like rfpdo1-allgrogr " Due date sorted 3
default '000',
rastbis4 like rfpdo1-allgrogr " Due date sorted 4
default '000',
rastbis5 like rfpdo1-allgrogr " Due date sorted 5
default '000'.
selection-screen: end of line.
selection-screen: end of block b1,
begin of block b2 with frame title text-002.
parameters:
p_varint like disvariant-variant. " Display variant.
selection-screen: end of block b2.
Initialisation
initialization.
Provide default periods for due date sorted list.
rastbis1 = 0.
rastbis2 = 30.
rastbis3 = 60.
rastbis4 = 90.
rastbis5 = 120.
Default report date to current.
p_datum = sy-datlo.
Default credit control area to BP01.
p_kkber = 'BP01'.
At selection screen on value request for
at selection-screen on value-request for p_varint.
Provide display variant list for this program.
call function 'REUSE_ALV_VARIANT_F4'
exporting
is_variant = st_variant
i_save = co_save_u
importing
e_exit = va_exit
es_variant = st_tvariant
exceptions
not_found = 2.
if sy-subrc eq 2.
message id sy-msgid type 'S'
number sy-msgno
with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
else.
if va_exit eq space.
st_variant = st_tvariant.
p_varint = st_tvariant-variant.
endif.
endif.
At selection screen
at selection-screen.
Load display variant.
if not p_varint is initial.
move st_variant to st_tvariant.
move p_varint to st_tvariant-variant.
call function 'REUSE_ALV_VARIANT_EXISTENCE'
exporting
i_save = co_save_u
changing
cs_variant = st_tvariant.
st_variant = st_tvariant.
else.
clear st_variant.
st_variant-report = sy-repid.
endif.
if p_kkber is initial.
Ensure credit control area is specified.
message e000(zgen) with 'Credit control area must be specified'.
endif.
if p_pafkt is initial.
Ensure contact person function is specified.
message e000(zgen) with 'Contact person function must be specified'.
endif.
Start of selection
start-of-selection.
Extract open customer items from BSID
select bukrs kunnr gjahr belnr buzei budat bldat waers xblnr shkzg
dmbtr zfbdt zbd1t zbd2t zbd3t rebzg rebzt
from bsid
into table it_bsadbsid
where kunnr in s_kunnr
and budat le p_datum.
Extracct cleared customer items from BSAD
select bukrs kunnr gjahr belnr buzei budat bldat waers xblnr shkzg
dmbtr zfbdt zbd1t zbd2t zbd3t rebzg rebzt
from bsad
appending table it_bsadbsid
where kunnr in s_kunnr
and budat le p_datum
and augdt ge p_datum.
Ensure that items were not selected twice while getting data from the
open and cleared items tables (Only if transaction occured during
report run).
sort it_bsadbsid by bukrs belnr gjahr buzei.
delete adjacent duplicates from it_bsadbsid
comparing bukrs belnr gjahr buzei.
if it_bsadbsid[] is initial.
No data found for selection
message s001(zgen).
exit.
endif.
Merge data for report output
perform merge_data tables it_bsadbsid
it_merged.
Build field catalog
perform build_field_catalog tables it_fieldcat.
Output report via ALV
perform output_report_via_alv tables it_fieldcat
it_merged.
*& Form merge_data
text
form merge_data tables pa_it_bsadbsid type ty_it_bsadbsid
pa_it_merged type ty_it_merged.
Local work areas
data:
lwa_bsadbsid type ty_bsadbsid,
lwa_merged type ty_merged.
Local structures
data:
lst_faede like faede.
Local variables
data:
lva_daysover type i,
lva_merged_tabix like sy-tabix.
loop at pa_it_bsadbsid into lwa_bsadbsid.
Lookup merged entry for customer
clear lwa_merged.
read table pa_it_merged into lwa_merged
with key kunnr = lwa_bsadbsid-kunnr
binary search.
lva_merged_tabix = sy-tabix.
if sy-subrc ne 0.
Create new merged record for customer
lwa_merged-kunnr = lwa_bsadbsid-kunnr.
Get customer details from KNA1
clear kna1.
select single *
from kna1
where kunnr eq lwa_bsadbsid-kunnr.
Get customer address details from ADRC
clear adrc.
select single *
from adrc
where addrnumber eq kna1-adrnr
and date_from le p_datum.
lwa_merged-name1 = adrc-name1.
lwa_merged-city1 = adrc-city1.
lwa_merged-post_code1 = adrc-post_code1.
lwa_merged-street = adrc-street.
lwa_merged-house_num1 = adrc-house_num1.
lwa_merged-tel_number = adrc-tel_number.
lwa_merged-fax_number = adrc-fax_number.
Get credit limit details from KNKK
clear knkk.
select single *
from knkk
where kunnr eq lwa_bsadbsid-kunnr
and kkber eq p_kkber.
lwa_merged-klimk = knkk-klimk.
lwa_merged-skfor = knkk-skfor.
Get customer contact person details from KNVK
clear knvk.
select single *
from knvk
where kunnr eq lwa_bsadbsid-kunnr
and pafkt eq p_pafkt.
lwa_merged-namev = knvk-namev.
lwa_merged-namew = knvk-name1.
lwa_merged-telf1 = knvk-telf1.
insert lwa_merged into pa_it_merged index lva_merged_tabix.
endif.
Interpret debit/credit indicator
case lwa_bsadbsid-shkzg.
when co_shkzg_h.
Credit
lwa_bsadbsid-dmbtr = 0 - lwa_bsadbsid-dmbtr.
when co_shkzg_s.
Debit
endcase.
Perform ageing
clear lst_faede.
move-corresponding lwa_bsadbsid to lst_faede.
lst_faede-koart = co_koart_d.
call function 'DETERMINE_DUE_DATE'
exporting
i_faede = lst_faede
importing
e_faede = lst_faede
exceptions
others = 1.
lva_daysover = p_datum - lst_faede-netdt.
Accumulate total.
add lwa_bsadbsid-dmbtr to lwa_merged-total.
if lva_daysover le rastbis1.
add lwa_bsadbsid-dmbtr to lwa_merged-rast1.
else.
if lva_daysover le rastbis2 or
rastbis3 is initial.
add lwa_bsadbsid-dmbtr to lwa_merged-rast2.
else.
if lva_daysover le rastbis3 or
rastbis4 is initial.
add lwa_bsadbsid-dmbtr to lwa_merged-rast3.
else.
if lva_daysover le rastbis4 or
rastbis5 is initial.
add lwa_bsadbsid-dmbtr to lwa_merged-rast4.
else.
if lva_daysover le rastbis5.
add lwa_bsadbsid-dmbtr to lwa_merged-rast5.
else.
add lwa_bsadbsid-dmbtr to lwa_merged-rast6.
endif.
endif.
endif.
endif.
endif.
Update the merged record
modify pa_it_merged from lwa_merged index lva_merged_tabix.
endloop.
endform. " merge_data
*& Form build_field_catalog
text
form build_field_catalog tables pa_it_fieldcat type slis_t_fieldcat_alv.
Local work areas
data:
lwa_fieldcat type slis_fieldcat_alv.
--WG1K903216: Start Insert-
data: v_datum type datum,
v_mdmth type datum,
v_datxt type string,
v_noday type i.
--WG1K903216: End Insert---
refresh pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'KUNNR'.
lwa_fieldcat-ref_tabname = 'KNA1'.
lwa_fieldcat-ref_fieldname = 'KUNNR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '1'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'NAME1'.
lwa_fieldcat-ref_tabname = 'ADRC'.
lwa_fieldcat-ref_fieldname = 'NAME1'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '2'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'CITY1'.
lwa_fieldcat-ref_tabname = 'ADRC'.
lwa_fieldcat-ref_fieldname = 'CITY1'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '3'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'POST_CODE1'.
lwa_fieldcat-ref_tabname = 'ADRC'.
lwa_fieldcat-ref_fieldname = 'POST_CODE1'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '4'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'STREET'.
lwa_fieldcat-ref_tabname = 'ADRC'.
lwa_fieldcat-ref_fieldname = 'STREET'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '5'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'HOUSE_NUM1'.
lwa_fieldcat-ref_tabname = 'ADRC'.
lwa_fieldcat-ref_fieldname = 'HOUSE_NUM1'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '6'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'TEL_NUMBER'.
lwa_fieldcat-ref_tabname = 'ADRC'.
lwa_fieldcat-ref_fieldname = 'TEL_NUMBER'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '7'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'FAX_NUMBER'.
lwa_fieldcat-ref_tabname = 'ADRC'.
lwa_fieldcat-ref_fieldname = 'FAX_NUMBER'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '8'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'NAMEV'.
lwa_fieldcat-ref_tabname = 'KNVK'.
lwa_fieldcat-ref_fieldname = 'NAMEV'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '9'.
lwa_fieldcat-seltext_l = 'Contact first name'.
lwa_fieldcat-seltext_m = 'Contact Fname'.
lwa_fieldcat-seltext_s = 'Ctct Fname'.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'NAMEW'.
lwa_fieldcat-ref_tabname = 'KNVK'.
lwa_fieldcat-ref_fieldname = 'NAME1'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '10'.
lwa_fieldcat-seltext_l = 'Contact last name'.
lwa_fieldcat-seltext_m = 'Contact Lname'.
lwa_fieldcat-seltext_s = 'Ctxt Lname'.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'TELF1'.
lwa_fieldcat-ref_tabname = 'KNVK'.
lwa_fieldcat-ref_fieldname = 'TELF1'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '11'.
lwa_fieldcat-seltext_l = 'Contact phone no.'.
lwa_fieldcat-seltext_m = 'Contact phone'.
lwa_fieldcat-seltext_s = 'Ctct Phne'.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'KLIMK'.
lwa_fieldcat-ref_tabname = 'KNKK'.
lwa_fieldcat-ref_fieldname = 'KLIMK'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '12'.
lwa_fieldcat-seltext_l = 'Credit limit'.
lwa_fieldcat-seltext_m = 'Credit limit'.
lwa_fieldcat-seltext_s = 'Crdt limit'.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'SKFOR'.
lwa_fieldcat-ref_tabname = 'KNKK'.
lwa_fieldcat-ref_fieldname = 'SKFOR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '13'.
lwa_fieldcat-seltext_l = 'Credit used'.
lwa_fieldcat-seltext_m = 'Credit used'.
lwa_fieldcat-seltext_s = 'Crdt used'.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'TOTAL'.
lwa_fieldcat-ref_tabname = 'BSAD'.
lwa_fieldcat-ref_fieldname = 'DMBTR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '14'.
lwa_fieldcat-seltext_l = 'Total'.
lwa_fieldcat-seltext_m = 'Total'.
lwa_fieldcat-seltext_s = 'Total'.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'RAST1'.
lwa_fieldcat-ref_tabname = 'BSAD'.
lwa_fieldcat-ref_fieldname = 'DMBTR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '15'.
--WG1K903216: Start Delete-
concatenate '<'
rastbis2
into lwa_fieldcat-seltext_l
separated by space.
--WG1K903216: End Delete---
--WG1K903216: Start Insert-
clear: v_datum,
v_datxt.
v_noday = rastbis2.
Always use the middle of the report month as a heading reference date.
concatenate p_datum+0(6) '15' into v_mdmth.
call function 'ZWAG_DATE_CALCULATOR'
exporting i_datum = v_mdmth
i_noday = v_noday
i_oprnd = '+'
importing e_datum = v_datum
exceptions invalid_operand = 1.
call function 'ZWAG_END_MONTH'
exporting i_datum = v_datum
importing e_datum = v_datum
e_datxt = v_datxt
exceptions invalid_date = 1.
concatenate 'Due' v_datxt into lwa_fieldcat-seltext_l
separated by space.
--WG1K903216: End Insert---
lwa_fieldcat-seltext_m = lwa_fieldcat-seltext_l.
lwa_fieldcat-seltext_s = lwa_fieldcat-seltext_l.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'RAST2'.
lwa_fieldcat-ref_tabname = 'BSAD'.
lwa_fieldcat-ref_fieldname = 'DMBTR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '16'.
--WG1K903216: Start Delete-
concatenate rastbis1
rastbis2
into lwa_fieldcat-seltext_l
separated by co_delim_dash.
--WG1K903216: End Delete---
--WG1K903216: Start Insert-
clear: v_datum,
v_datxt.
v_noday = rastbis1.
call function 'ZWAG_DATE_CALCULATOR'
exporting i_datum = v_mdmth
i_noday = v_noday
i_oprnd = '+'
importing e_datum = v_datum
exceptions invalid_operand = 1.
call function 'ZWAG_END_MONTH'
exporting i_datum = v_datum
importing e_datum = v_datum
e_datxt = v_datxt
exceptions invalid_date = 1.
concatenate 'Due' v_datxt into lwa_fieldcat-seltext_l
separated by space.
--WG1K903216: End Insert---
lwa_fieldcat-seltext_m = lwa_fieldcat-seltext_l.
lwa_fieldcat-seltext_s = lwa_fieldcat-seltext_l.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'RAST3'.
lwa_fieldcat-ref_tabname = 'BSAD'.
lwa_fieldcat-ref_fieldname = 'DMBTR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '17'.
--WG1K903216: Start Delete-
concatenate rastbis2
rastbis3
into lwa_fieldcat-seltext_l
separated by co_delim_dash.
--WG1K903216: End Delete---
--WG1K903216: Start Insert-
clear: v_datum,
v_datxt.
v_noday = rastbis2.
call function 'ZWAG_DATE_CALCULATOR'
exporting i_datum = v_mdmth
i_noday = v_noday
i_oprnd = '-'
importing e_datum = v_datum
exceptions invalid_operand = 1.
call function 'ZWAG_END_MONTH'
exporting i_datum = v_datum
importing e_datum = v_datum
e_datxt = v_datxt
exceptions invalid_date = 1.
concatenate 'Due' v_datxt into lwa_fieldcat-seltext_l
separated by space.
--WG1K903216: End Insert---
lwa_fieldcat-seltext_m = lwa_fieldcat-seltext_l.
lwa_fieldcat-seltext_s = lwa_fieldcat-seltext_l.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'RAST4'.
lwa_fieldcat-ref_tabname = 'BSAD'.
lwa_fieldcat-ref_fieldname = 'DMBTR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '18'.
--WG1K903216: Start Delete-
concatenate rastbis3
rastbis4
into lwa_fieldcat-seltext_l
separated by co_delim_dash.
--WG1K903216: End Delete---
--WG1K903216: Start Insert-
clear: v_datum,
v_datxt.
v_noday = rastbis3.
call function 'ZWAG_DATE_CALCULATOR'
exporting i_datum = v_mdmth
i_noday = v_noday
i_oprnd = '-'
importing e_datum = v_datum
exceptions invalid_operand = 1.
call function 'ZWAG_END_MONTH'
exporting i_datum = v_datum
importing e_datum = v_datum
e_datxt = v_datxt
exceptions invalid_date = 1.
concatenate 'Due' v_datxt into lwa_fieldcat-seltext_l
separated by space.
--WG1K903216: End Insert---
lwa_fieldcat-seltext_m = lwa_fieldcat-seltext_l.
lwa_fieldcat-seltext_s = lwa_fieldcat-seltext_l.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'RAST5'.
lwa_fieldcat-ref_tabname = 'BSAD'.
lwa_fieldcat-ref_fieldname = 'DMBTR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '19'.
--WG1K903216: Start Delete-
concatenate rastbis4
rastbis5
into lwa_fieldcat-seltext_l
separated by co_delim_dash.
--WG1K903216: End Delete---
--WG1K903216: Start Insert-
clear: v_datum,
v_datxt.
v_noday = rastbis4.
call function 'ZWAG_DATE_CALCULATOR'
exporting i_datum = v_mdmth
i_noday = v_noday
i_oprnd = '-'
importing e_datum = v_datum
exceptions invalid_operand = 1.
call function 'ZWAG_END_MONTH'
exporting i_datum = v_datum
importing e_datum = v_datum
e_datxt = v_datxt
exceptions invalid_date = 1.
concatenate 'Due' v_datxt into lwa_fieldcat-seltext_l
separated by space.
--WG1K903216: End Insert---
lwa_fieldcat-seltext_m = lwa_fieldcat-seltext_l.
lwa_fieldcat-seltext_s = lwa_fieldcat-seltext_l.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
clear lwa_fieldcat.
lwa_fieldcat-tabname = 'PA_IT_MERGED'.
lwa_fieldcat-fieldname = 'RAST6'.
lwa_fieldcat-ref_tabname = 'BSAD'.
lwa_fieldcat-ref_fieldname = 'DMBTR'.
lwa_fieldcat-row_pos = '1'.
lwa_fieldcat-col_pos = '20'.
--WG1K903216: Start Delete-
concatenate '>'
rastbis5
into lwa_fieldcat-seltext_l
separated by space.
--WG1K903216: End Delete---
--WG1K903216: Start Insert-
clear: v_datum,
v_datxt.
v_noday = rastbis5.
call function 'ZWAG_DATE_CALCULATOR'
exporting i_datum = v_mdmth
i_noday = v_noday
i_oprnd = '-'
importing e_datum = v_datum
exceptions invalid_operand = 1.
call function 'ZWAG_END_MONTH'
exporting i_datum = v_datum
importing e_datum = v_datum
e_datxt = v_datxt
exceptions invalid_date = 1.
concatenate 'Due By' v_datxt into lwa_fieldcat-seltext_l
separated by space.
--WG1K903216: End Insert---
lwa_fieldcat-seltext_m = lwa_fieldcat-seltext_l.
lwa_fieldcat-seltext_s = lwa_fieldcat-seltext_l.
lwa_fieldcat-ddictxt = 'L'.
append lwa_fieldcat to pa_it_fieldcat.
endform. " build_field_catalog
*& Form output_report_via_alv
text
form output_report_via_alv
tables pa_it_fieldcat type slis_t_fieldcat_alv
pa_it_merged type ty_it_merged.
Local variables
data:
lva_repid like sy-repid,
lva_formname type slis_formname.
lva_repid = sy-repid.
lva_formname = 'USER_COMMAND'.
call function 'REUSE_ALV_GRID_DISPLAY'
exporting
i_callback_program = lva_repid
i_callback_user_command = lva_formname
i_save = 'A'
is_variant = st_variant
it_fieldcat = pa_it_fieldcat[]
tables
t_outtab = pa_it_merged
exceptions
program_error = 1
others = 2.
endform. " output_report_via_alvHi shiva
Thanks for your help,
Can you check this coding and revert me back ASAP Please.
REPORT BDS_GOS_CONNECTION.
DATA : logical_system LIKE BAPIBDS01-log_system.
CLASSNAME LIKE BAPIBDS01-CLASSNAME
OBJKEY LIKE SWOTOBJID-objkey.
PARAMETERS: pa_lo_sys BAPIBDS01-log_system,
pa_class like BPIBDS01-CLASSNAME,
pa_objkey like swotobjidobjkey.
AT SELECTION-SCREEN.
CALL FUNCTION 'BDS_GOS_CONNECTIONS_GET'
EXPORTING
bor_id = bor_id
IMPORTING
logical_sytem = pa_lo_sys.
classname = pa_class.
objkey = pa_objkey.
EXCEPTIONS
no_objects_found = 1
internal_error = 2
internal_gos_error = 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.
clear v_attno1.
i_object1-typeid = 'BUS2012'.
i_object1-catid = 'BO'.
i_object1-instid = i_yItem-docno.
call method cl_gos_attachment_query=>count_for_object
exporting
is_object = i_object1
ip_arl = space
receiving
rt_stat = i_stat1.
read table i_stat1 into wa_stat1 index 1.
if sy-subrc eq c_0.
move wa_stat1-counter to v_attno1.
endif.
CALL METHOD cl_gos_attachment_query=>count_for_object
EXPORTING
is_object = object
ip_arl = space
RECEIVING
rt_stat = lt_stat.
READ TABLE lt_stat INDEX 1 into ls_stat.
count = ls_stat-counter.
*The object has to be a concatenation of your document, like this:
CONCATENATE object-instid tab-gjahr INTO object-instid.
ELSE.
CONCATENATE tab-bukrs tab-belnr tab-gjahr INTO
object-instid.
ENDIF.
Maybe you are looking for
-
When I upgraded to OS X 10.9.1 Everything got synced in very well. But a few days later when automatic apdates were completed, all my saved notes were erased(very important personal information and passwords). I couldn't restore them back. I can you
-
Please help!!! 10.5.8 won't fully install!
I'm trying to update to 10.5.8 (ancient...i know) but it keeps getting stuck at "configuring installation" i've tried to install it about a dozen times and even let it install for ~24hours...I cant update/use any apps that require quicktime until i c
-
Hi, I'm just about to upgrade to Leopard and going to erase and install. I'm not sure how to save my (1200) work emails though in a quick and easy way without doing them individually. I'd like to fill up my inbox again once I've installed Leopard....
-
Cannot open calendar in Mavericks
I updated to Mavericks and now I cannot open calendar. I cannot revert back to snow leopard. How can I fix it so it will open?
-
Adobe Premier CC_ sequence problem
First I want to apologize, maybe my post wasn't in the right place. I`m here first time.... I have aproblem with Adobe Premier CC 2014, every time when I start a program my sequence has a mixed within the project, they are not in the right place wher