‎2008 Jan 09 8:28 PM
Hi Gurus,
Can you please give me a simple FI classical report example.....
Thanks,
Rajeev !!!!
‎2008 Jan 09 9:28 PM
‎2008 Jan 09 8:56 PM
Hi Rajeev,
Try the transaction FBL5N (report RFITEMAR) for example, which is customer items..or
the transaction FBL1N (report RFITEMAP) for vendors... but it's probably more important understanding how the FI database tables fit together (BKPF, BSEG, BSIK, BSID and all their friends).
To understand these programs tou need to have an idea about Report programming using ALV.
Hope you are familiar with it and antyways you have lots of mateerial on ALV on SDN.
Kindly reward if useful,
Regards,
Jose
Edited by: Jose Anthony Reddy on Jan 10, 2008 2:26 AM
‎2008 Jan 09 9:28 PM
‎2008 Jan 09 10:08 PM
Thanks for the reply Maha,
Actually what I am looking for is a classic report which one can prepare using different FI tables, I have prepared a report for MM and I want such FI related report.
REPORT ZTEST_REPORT
.
TYPE-POOLS: slis.
Data: begin of it_mara occurs 0,
matnr like mara-matnr,
mtart like mara-matkl ,
end of it_mara.
Data: begin of it_marc occurs 0,
matnr like marc-matnr,
mmsta like marc-mmsta,
werks like marc-werks,
end of it_marc.
DATA: fieldcat TYPE slis_t_fieldcat_alv.
DATA: repid TYPE syrepid.
repid = sy-repid.
select matnr matkl into table it_mara
from mara
where matkl eq '001'.
loop at it_mara.
select werks mmsta into table it_marc
from marc
where matnr eq it_mara-matnr.
clear it_mara.
endloop.
CALL FUNCTION 'REUSE_ALV_FIELDCATALOG_MERGE'
EXPORTING
i_program_name = repid
i_internal_tabname = 'IT_MARC'
i_inclname = repid
i_bypassing_buffer = 'X'
CHANGING
ct_fieldcat = fieldcat.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
it_fieldcat = fieldcat
TABLES
t_outtab = it_marc.
Thanks,
Rajeev !!!!
‎2008 Jan 09 10:12 PM
Rajeev,
See the following custom report :
&----
*& Report Z_FI_REP_000002
*&
&----
*&
*&
&----
report z_fi_rep_000002.
----
Declaration of all the includes being used in the program.
----
This include is used to declare all global data used in the program
include z_fi_rep_000002_top. " Include for Global Data Declaration
include z_fi_rep_000002_events.
This include is used to declare all subroutines used in the program
include z_fi_rep_000002_forms. " FORM-Routines
&----
*& Include Z_FI_REP_000002_TOP
&----
type-pools slis.
...Internal data specific for g/l accounts............................
types : begin of type_t001u,
vbukr type vbukr, " Property Company Code
end of type_t001u ,
type_t_t001u type standard table of type_t001u .
types : begin of type_bvor,
bukrs type bukrs, " Company Code
gjahr type gjahr, " FiscalYear
Begin of Delete on Vinitia Jain
belnr TYPE belnr, " Accounting Document Number
End of Delete on Vinitia Jain
Begin of Insert on Vinitia Jain
belnr type belnr_d, " Accounting Document Number
End of Insert on Vinitia Jain
end of type_bvor,
type_t_bvor type standard table of type_bvor.
types : begin of type_bsik,
lifnr type lifnr, " Account Number of Vendor
belnr type belnr, " Accounting Document Number
zfbdt type dzfbdt, "Baseline date for due date
bstat type bstat, " Document Status
zlspr type dzlspr, " Payment Block Indicator
wrbtr type wrbtr, " Amount in document currency
end of type_bsik,
type_t_bsik type standard table of type_bsik.
types : begin of type_lfa1,
lifnr type lifnr, " Account Number of Vendor
name1 type name1, " Name of Vendor
end of type_lfa1,
type_t_lfa1 type standard table of type_lfa1.
types : begin of type_final,
lifnr type lifnr, " Account Number of Vendor
name1 type name1, " Vendor Description
belnr type belnr, " Accounting Document Number
zfbdt type dzfbdt, " Baseline date for due date
bstat type bstat, " Cleared/Open Items Symbol
zlspr type dzlspr, " Payment Block Key
wrbtr1 type wrbtr, " for 1-30 days
wrbtr2 type wrbtr, " for 31-60 days
wrbtr3 type wrbtr, " for 60+ days
amount type wrbtr, " Total Amount
end of type_final ,
type_t_final type standard table of type_final .
----
Structure Declaration
----
data : fs_layout type slis_layout_alv, "alv_layout
fs_t001u type type_t001u ,
fs_bvor type type_bvor,
fs_lfa1 type type_lfa1,
fs_final type type_final,
fs_bsik type type_bsik.
----
Internal table Declaration
----
data : i_t001u type type_t_t001u, " table for T001u
i_bvor type type_t_bvor, " table for bvor
i_bsik type type_t_bsik, " table for bsik
i_lfa1 type type_t_lfa1, " table for lfa1
i_final type type_t_final , " final data table
i_listheader type slis_t_listheader, " List header
i_fieldcat type slis_t_fieldcat_alv, " Fieldcatalog
i_sortinfo type slis_t_sortinfo_alv, " Sort
i_events type slis_t_event. " Alv grid events
Global varible declaration
data : v_repid type sy-repid, " Program name
v_bukrs type bukrs, " Company code
v_zfbdt type dzfbdt, " Run date
v_prctr type prctr. " Profit center
----
SELECTION SCREEN PARAMETERS
----
selection-screen begin of block main with frame title text-001.
parameters : p_bukrs type bukrs.
parameters : p_zfbdt type dzfbdt.
select-options: s_prctr for v_prctr.
selection-screen end of block main.
&----
*& Include Z_FI_REP_000002_EVENTS
&----
----
INITIALIZATION
----
initialization.
Assign Program name
v_repid = sy-repid .
----
AT SELECTION-SCREEN.
----
at selection-screen.
If Company Code is not entered then Error Message will display
if p_bukrs is initial.
set cursor field p_bukrs.
MESSAGE e004. "Enter Company Code
endif.
----
Start-of-selection event
----
start-of-selection.
perform get_data.
perform process_data.
----
End-of-selection event
----
end-of-selection.
&----
*& Include Z_FI_REP_000002_FORMS
&----
&----
*& Form get_data
&----
text
----
--> p1 text
<-- p2 text
----
form get_data .
if p_zfbdt is initial.
p_zfbdt = sy-datum.
endif.
select vbukr
from t001u
into table i_t001u
where abukr eq p_bukrs.
konts like 'V%'.
check not i_t001u[] is initial.
select bukrs
gjahr
belnr
from bvor
into corresponding fields of table i_bvor
for all entries in i_t001u
where bukrs eq i_t001u-vbukr.
*loop at i_t001u into fs_t001u.
*
*select bukrs
gjahr
belnr
from bvor
into fs_bvor
where bukrs eq fs_t001u-vbukr.
*
append fs_bvor to i_bvor.
*
*endselect.
*
*
*endloop.
check not i_bvor[] is initial.
select lifnr
belnr
zfbdt
bstat
zlspr
wrbtr
from bsik
into table i_bsik
for all entries in i_bvor
where bukrs = i_bvor-bukrs and
gjahr = i_bvor-gjahr." and
belnr = i_bvor-belnr.
if not i_bsik[] is initial.
select lifnr
name1
from lfa1
into table i_lfa1
for all entries in i_bsik
where lifnr = i_bsik-lifnr.
if sy-subrc eq 0.
sort i_lfa1 by lifnr name1.
endif.
endif.
endform. " get_data
&----
*& Form process_data
&----
text
----
--> p1 text
<-- p2 text
----
form process_data .
loop at i_bsik into fs_bsik.
move-corresponding fs_bsik to fs_final.
call function 'DAYS_BETWEEN_TWO_DATES'
exporting
i_datum_bis = p_zfbdt
i_datum_von = fs_bsik-zfbdt
importing
e_tage = v_zfbdt
exceptions
days_method_not_defined = 1
others = 2.
if v_zfbdt between 0 and 30.
fs_final-wrbtr1 = fs_bsik-wrbtr.
elseif v_zfbdt between 31 and 60.
fs_final-wrbtr2 = fs_bsik-wrbtr.
else.
fs_final-wrbtr3 = fs_bsik-wrbtr.
endif.
read table i_lfa1 into fs_lfa1 with key lifnr = fs_bsik-lifnr binary
search.
if sy-subrc eq 0.
fs_final-amount = fs_final-wrbtr1 + fs_final-wrbtr3 + fs_final-wrbtr3 .
collect fs_final into i_final.
clear: fs_bsik, fs_final, fs_lfa1.
endif.
endloop.
endform. " process_data
Thanks
Seshu
‎2008 Jan 10 6:13 AM
Hi,
Check the standard report : RFBILA00.
Regards,
Renjith Michael.
‎2008 Jan 11 10:12 AM
Hi Rajeev,
These are some of the standadard FI report programs.
RKAZCO43,
RKKKS1N0,
RKO7CO88,
SAPKKA07
Hope they would be of use to you.
Reward if helpfull.
Thanks,
Kashyap Ivaturi