2005 Aug 05 5:10 PM
Hi Everybody,
i have copied the standard script F140_DOCU_EXC_01 into zf140_doc, in that form i need to caluculate Net amount in text element 521 in main window. for that i have written the subroutine.
PERFORM <subroutin_name> IN PROGRAM <prog_name>
USING <parms>
CHANGING <parms>
ENDFORM.
FORM <form_name> TABLES in_var type ITCSY
out_var type ITCSY.
endform.
the above code is not a complete one.i need to caluculate the net amount (&RF140-WRSHB). i am not able to calucualte the net amount, i mean from where should i get the data. and y do u we need the ITCSY stru.. could some one help me with a code.
Thanks
Srikanth
2005 Aug 08 11:59 AM
Hi,
Please see the code below,
In script
PERFORM GET_CUST_ADDRESS IN PROGRAM ZSHXS011_TESTING
using &vbdkr-adrnr&
changing &strt4&
changing &str5&
ENDPERFORM
In program
*intab contains input parameters
*process the intab values and populate into out_tab
form get_address tables in_tab structure itcsy
out_tab structure itcsy.
Data : addr1_sel like addr1_sel.
read table in_tab index 1. *adrnr value
if sy-subrc eq 0.
move in_tab-value to addr1_sel-addrnumber.
endif.
call function 'ADDR_GET'
exporting
address_selection = addr1_sel
importing
address_value = addr1_val
*assign street 4 to outtab
read table out_tab index 1.
if sy-subrc eq 0.
move addr1_val-str_suppl2 to out_tab-value.
modify out_tab index 1.
endif.
*assign street 5 to outtab
read table out_tab index 2.
if sy-subrc eq 0.
move addr1_val-str_suppl2 to out_tab-value.
modify out_tab index 2.
endif.
after the process we need to populate the values into outab.
Hope this will solve your problem.
Sasi
Hi,
Please see the code below,
In script
PERFORM GET_CUST_ADDRESS IN PROGRAM ZSHXS011_TESTING
using &vbdkr-adrnr&
changing &strt4&
changing &str5&
ENDPERFORM
In program
*intab contains input parameters
*process the intab values and populate into out_tab
form get_address tables in_tab structure itcsy
out_tab structure itcsy.
Data : addr1_sel like addr1_sel.
read table in_tab index 1. *adrnr value
if sy-subrc eq 0.
move in_tab-value to addr1_sel-addrnumber.
endif.
call function 'ADDR_GET'
exporting
address_selection = addr1_sel
importing
address_value = addr1_val
*assign street 4 to outtab
read table out_tab index 1.
if sy-subrc eq 0.
move addr1_val-str_suppl2 to out_tab-value.
modify out_tab index 1.
endif.
*assign street 5 to outtab
read table out_tab index 2.
if sy-subrc eq 0.
move addr1_val-str_suppl2 to out_tab-value.
modify out_tab index 2.
endif.
after the process we need to populate the values into outab.
Hope this will solve your problem.
Sasi
2005 Aug 05 6:10 PM
2005 Aug 05 6:13 PM
Hi Rich,
Could you please tell me the name of the print program.
Thanks
Srikanth
2005 Aug 05 7:25 PM
Looks like there are a hand full which use this structure in the program.
J_1HKORD Print Program: Document Extract
RFCASH00 Cash Journal
RFKORB00 Internal Documents
RFKORD00 Print Program: Payment Notice
RFKORD10 Print Program: Account Statement
RFKORD11 Print Program: Customer Statement
RFKORD20 Print Program: Charges for a Bill of Exchange
RFKORD30 Print Program: Internal Documents
RFKORD40 Print Program: Individual Letters and Standard Letters
RFKORD50 Print Program: Document Extract
RFKORD60 Print Program: Failed Payments
RFKORD70 Print Program: Periodic Settlement
RFKORD80 Print Program: Cash Documents
RFKORDC1 Print Program: Cash Receipts for Czech Republic and Slovaki
RFKORDJ1 Receipt after Payment (Japan)
RFKORDJ2 Receipt Before Payment (Japan)
RFKORDJ3 Receipt - Cleared (Japan)
RFKORDJ4 Print Program: Statement of Account (Period. Billing)
RFKORDP1 Printout of Official Receipts After Payment (Philippines)
RFKORDP2 Printout of Official Receipts Before Payment (Philippines)
RFKORDP3 Printout of Customer Statements (Philippines)
RFKORDR1 Print Program: Internal Docs for Confederation of Independe
RFKORDR2 Print Program: Cash Documents
What exactly are you doing.....anything here ring a bell?
Regards,
Rich Heilman
2005 Aug 07 8:58 PM
Hi Srikanth,
Best way to know the print program is to findout which output type is being used for printing this script and then find out the print program using transaction NACE. A crude way is to look at table TNAPR and put your sapscipt name in the field for FORM.
Cheers,
Sanjeev
2005 Aug 08 4:53 AM
Hi Srikanth
The print program will have the code(logic) for the perform. All parameters (whether it is using or changing) is received in the print program in the internal table in_var which is of type itcsy.
Check the structure of itcsy and u will understand the details clearly.
Remember 2 reward points to replies that have answered ur question.
Regards,
PP.
2005 Aug 08 6:43 AM
Hi Srikanath,
Here is a quick example of how to use the PERFORM statement in SAPscript:
In SAPScript:
perform get_net_amount in program zinvoice01
using &GROSS_AMOUNT&
using &TAX_AMOUNT&
changing &NET_AMOUNT&
endperform.
In program ZINVOICE01:
form get_net_amount tables t_input structure itcsy
t_output structure itcsy.
data: l_gross type wrbtr,
l_tax type wrbtr,
l_net type wrbtr.
loop at t_input.
case i_input-name.
when 'GROSS_AMOUNT'.
l_gross = t_input-value.
when 'TAX_AMOUNT'.
l_tax = t_input-value.
endcase.
endloop.
endform.
l_net = l_gross - l_tax.
loop at t_output.
case t_output-name.
when 'NET_AMOUNT'.
t_output-value = l_net.
endcase.
modify t_output transporting value.
endloop.
Hope this points you in the right direction!
Cheers,
Pat.
PS. kindly assign reward points to the responses that you find helpful.
2005 Aug 08 11:59 AM
Hi,
Please see the code below,
In script
PERFORM GET_CUST_ADDRESS IN PROGRAM ZSHXS011_TESTING
using &vbdkr-adrnr&
changing &strt4&
changing &str5&
ENDPERFORM
In program
*intab contains input parameters
*process the intab values and populate into out_tab
form get_address tables in_tab structure itcsy
out_tab structure itcsy.
Data : addr1_sel like addr1_sel.
read table in_tab index 1. *adrnr value
if sy-subrc eq 0.
move in_tab-value to addr1_sel-addrnumber.
endif.
call function 'ADDR_GET'
exporting
address_selection = addr1_sel
importing
address_value = addr1_val
*assign street 4 to outtab
read table out_tab index 1.
if sy-subrc eq 0.
move addr1_val-str_suppl2 to out_tab-value.
modify out_tab index 1.
endif.
*assign street 5 to outtab
read table out_tab index 2.
if sy-subrc eq 0.
move addr1_val-str_suppl2 to out_tab-value.
modify out_tab index 2.
endif.
after the process we need to populate the values into outab.
Hope this will solve your problem.
Sasi
| User | Count |
|---|---|
| 6 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |