Report for vendors/customers
In sap can be get a report for vendors/ customers showing debit column and credit column separately
what is the transaction code for the report
thanks in advance
Joseph David
Hi,
I am afraid, such report is not available in SAP. I have not seen such a report. You can get it sign wise + and - for debit / credit or H\S indicator wise. But column wise debit / credit is not available.
Pl confirm
Regards,
Gov
Similar Messages
-
Agewise Outstanding Report for Vendors report
Hi All,
In SAP, Agewise Outstanding Report for Vendors report coming with Vendor Master Details along with Address details in the report S_ALR_87012085 - Vendor Payment History with OI Sorted List which is not really required. Hence we need to remove all un necessary details. We need only a signle line report for each vendor like below.
Vendor Code Vendor Name Due - 30 days Due - 60 days Due 90 Days Due 120 days and more than above
The selection of period option is already available in std SAP. We have to change the output report only. This is rquired for Audit purpose.
Please help me in the above issue.
Regards
VinuHello,
The following example I have given is for customers.
The only difference is in transaction codes. For customer you go to FDI1, for vendor you go to FKI1 (reports).
For Customer you go to FDI4, for vendor you go to FKI4 for forms.
Remaining all are the same.
Hello,
Go to transaction code FDI4
Select Form Type RFFRRD20 Line item analysis
Give your form name and description
Structure (Two axis) - as defaulted
Click on Create
You will have lead column
Delete the rows 2, 3 and 4
Double click on column 1
Enter the customer numbers from 1 to 999999
First column double click (A)
Slelect following values
Due date analysis 1
Days for net due date 0 to 30
Give the short name, medium name and long text for the column.
Repeat this step in next columns like 31 to 60, 61 to 90, 91 to 120 and 121 to 99999 days etc in other columns and select due date analysis 1. (B,C,D,E)
Create one more column by way of formula. To create a new column you need to double click on blue line. Put formula add all five columns you have created above. (F = ABCDE)
You prepare one more column with
Due date analysis 2 (G)
Now you prepare one more column add (F+G) = This will be total open items = over due and not due.
Now go to FDI1 and prepare a report - assign the form created in FDI4 to the report.
Characteristics you need to select are
Account Type (Select Account Type as D for customers)
Currency
Customer
Document Type
Special G/L Ind
Company Code
Change the output types and options according to your requirement.
Refer FDI2 and FDI3 for other standard reports created.
Refer FDI5 and FDI6 for other standard forms created.
Save your report and execute.
Regards,
Ravi -
Hello,
I need to run a query or transaction to find the vendor opening and closing balances at the beginning and end of the financial years. Is there any standard report that can provide both these amounts? or any transparent tables that hold them?
Thanks a lot!Hi,
Go to SAP Menu >Accounting >Accounts Payable >Information System >Reports for Accounts Payable Accounting >Vendor Balances
Here you can find variety of reports for vendor.
Thanks,
Nirav -
SAP QUERY report for vendor line items
Hi
I have created a SAP QUERY report for vendor line items with fields vendor no.,vendor name,amount,company code and period.But there is one line item i donot know from wher system is getting it picked with is not in that vedor account,when i compare with fbl1n.I checked the document number too...the same doc number is twice in my query report.One with correct amount and another with wrong one.How do i chk.Where did i go wrong in creating query.I used logical database KDF.
Please advise.i chked...how do we get the amount displayed in query...it just displays amount no debit credit symbol... i have selected BSEG-DMBTR field but no -/+ sign,how is it done in query,please suggest.
-
V V URGENT Report for Vendor Aging
Hi ABAP Gurus,
I have to develop a report for VENDOR AGING. My requirement is i have to post an invoice. From Payment terms i have to get Dependent on posting date. Let us assume if payment term is 100 by adding posting date + payment term (100) i have to get due date. I'am giving I/P terms as Company code & Period. If i enter company code i have to get O/P as vendor name(lfa1-name1),vendor no(bsik-lifnr),bill no(bsik-xblnr),bill date(bsik-bldat) i.e., baseline date,amount(bsik-dmbtr) and duedate (this i have to pick from payment terms). For period i have to get O/P as 1st week bucket,2nd week bucket,3rd week bucket,4th week bucket and beyond. For this you have to take the difference b/n due date and that buckets based on this result you have to put that amount of rupees whether it is going to pay in 1st week r 2nd r 3rd r 4th or beyond this. If that due date is less than or equal to 1st week it has to come and fall in 1st week. THIS IS MY REQUIREMENT.
For this i'am using tables BSIK,LFA1.
Can any body send me the code on this. For this my delivery date is on monday.
Please help me on this it's very Urgent...
I will REWARD you the points definitely for those who help me on this.
my mail id : [email protected]
waiting for your VALUABLE REPLIES. Please intimate me if you send it to my mail.
Thanks and Regards,
Sundeep.Hi
See the report code and modify as per your requirements
REPORT zfi_vendor_ageing
NO STANDARD PAGE HEADING
LINE-COUNT 58
line-size 168
MESSAGE-ID zh_msg.
D A T A B A S E T A B L E S D E C L A R A T I O N
TABLES: lfa1, " Vendor Master (General)
t001, " Company Codes
rfpdo.
I N T E R N A L T A B L E S D E C L A R A T I O N S *
Internal Table for Vendor Open Items Data
DATA: BEGIN OF int_bsik OCCURS 0,
lifnr LIKE bsik-lifnr, " Vendor Number
name1 LIKE lfa1-name1, " Vendor Name
shkzg LIKE bsik-shkzg, " Dr/Cr Indicator
belnr LIKE bsik-belnr, " Document Number
xblnr LIKE bsik-xblnr, " Ref Doc No
blart LIKE bsik-blart, " Document Type
zfbdt LIKE bsik-zfbdt, " Base Line Date
zbd1t LIKE bsik-zbd1t, " Due date1
zbd2t LIKE bsik-zbd2t, " Due Date2
zbd3t LIKE bsik-zbd3t, " Due Date3
waers LIKE bsik-waers, " Currency
dmbtr LIKE bsik-dmbtr, " Amount in Local Curr
END OF int_bsik.
Internal Table for Amounts Sum Up Data
DATA: BEGIN OF int_final OCCURS 0,
lifnr LIKE bsik-lifnr, " Vendor Number
name1 LIKE lfa1-name1, " Vendor Name
total1 LIKE bsik-dmbtr, " Amount in Local Curr
total2 LIKE bsik-dmbtr, " Amount in Local Curr
total3 LIKE bsik-dmbtr, " Amount in Local Curr
total4 LIKE bsik-dmbtr, " Amount in Local Curr
total5 LIKE bsik-dmbtr, " Amount in Local Curr
total6 LIKE bsik-dmbtr, " Amount in Local Curr
total LIKE bsik-dmbtr, " Amount in Local Curr
END OF int_final.
D A T A D E C L A R A T I O N S
DATA : v_flag, " Flag
v_gtotal1 LIKE bsik-dmbtr, " Amount Totals
v_gtotal2 LIKE bsik-dmbtr, " Amount Totals
v_gtotal3 LIKE bsik-dmbtr, " Amount Totals
v_gtotal4 LIKE bsik-dmbtr, " Amount Totals
v_gtotal5 LIKE bsik-dmbtr, " Amount Totals
v_gtotal6 LIKE bsik-dmbtr, " Amount Totals
v_gtotal LIKE bsik-dmbtr, " Amount Totals
v_subtotal1 LIKE bsik-dmbtr, " Amount Totals
v_subtotal2 LIKE bsik-dmbtr, " Amount Totals
v_subtotal3 LIKE bsik-dmbtr, " Amount Totals
v_subtotal4 LIKE bsik-dmbtr, " Amount Totals
v_subtotal5 LIKE bsik-dmbtr, " Amount Totals
v_subtotal6 LIKE bsik-dmbtr, " Amount Totals
v_subtotal LIKE bsik-dmbtr, " Amount Totals
v_date LIKE bsik-zfbdt, " Due Date
v_tage1(4), " Age 30 days
v_tage2(4), " Age 60 days
v_tage3(4), " Age 90 days
v_fir(15), " Column Text1
v_sec(15), " Column Text2
v_thir(15), " Column Text3
v_four(17), " Column Text4
v_fidd(4), " Days field1
v_sedd(4), " Days field2
v_thdd(4), " Days field3
v_fodd(4), " Days field4
v_str TYPE SY-LISEL, " String
v_str1(11), " String
v_tage(3), " String
v_date1(10). " Date field
R A N G E D E C L A R A T I O N S
RANGES: r_date1 FOR bsik-zfbdt, " Date Range 1
r_date2 FOR bsik-zfbdt, " Date Range 2
r_date3 FOR bsik-zfbdt, " Date Range 3
r_date4 FOR bsik-zfbdt. " Date Range 4
S E L E C T I O N S C R E E N *
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
SELECT-OPTIONS: s_lifnr FOR lfa1-lifnr. "Vendor account
PARAMETERS: p_bukrs LIKE t001-bukrs. "Co. Code
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
PARAMETERS: p_allgst LIKE rfpdo-allgstid OBLIGATORY DEFAULT sy-datum.
"Open items at key date
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
PARAMETERS: p_tage1 LIKE rfpdo1-allgfael DEFAULT '30',
p_tage2 LIKE rfpdo1-allgfael DEFAULT '60',
p_tage3 LIKE rfpdo1-allgfael DEFAULT '90',
p_tage4 LIKE rfpdo1-allgfael DEFAULT '120'.
SELECTION-SCREEN END OF BLOCK b3.
A T S E L E C T I O N S C R E E N *
AT SELECTION-SCREEN.
Validate the screen fields
PERFORM validate_flds.
S T A R T O F S E L E C T I O N *
START-OF-SELECTION.
Fetch main data
PERFORM fetch_data.
T O P O F P A G E
Header
TOP-OF-PAGE.
PERFORM header.
E N D O F P A G E
Footer
END-OF-PAGE.
ULINE.
T O P O F P A G E D U R I N G L I N E S E L E C T I O N *
Top of Page in Secondary List
TOP-OF-PAGE DURING LINE-SELECTION.
PERFORM header1.
A T L I N E S E L E C T I O N *
AT LINE-SELECTION.
Perform Line Selections
PERFORM line_selection.
E N D O F S E L E C T I O N
END-OF-SELECTION.
List generation
PERFORM basic_list.
*& Form validate_flds
Validation of Selection Screen fields
FORM validate_flds .
Validate Vendor Code
CLEAR lfa1-lifnr.
SELECT lifnr UP TO 1 ROWS
INTO lfa1-lifnr
FROM lfa1
WHERE lifnr IN s_lifnr AND
spras = sy-langu.
ENDSELECT.
IF sy-subrc <> 0.
MESSAGE e000 WITH 'Invalid Vendor Code range'(023).
ENDIF.
Validate Company Code
CLEAR t001-bukrs.
SELECT bukrs UP TO 1 ROWS
INTO t001-bukrs
FROM t001
WHERE bukrs = p_bukrs AND
spras = sy-langu.
ENDSELECT.
IF sy-subrc <> 0.
MESSAGE e021. " Invalid Company Code range
ENDIF.
IF ( p_tage1 > p_tage2 ) OR ( p_tage1 > p_tage3 ) OR
( p_tage1 > p_tage4 ).
MESSAGE e999 WITH 'Column 1 greater'(004)
'than Column# 2 or 3 or 4'(005).
ENDIF.
*column 2
IF ( p_tage2 > p_tage3 ) OR ( p_tage1 > p_tage4 ).
MESSAGE e999 WITH 'Column 2 greater'(006)
'than Column# 3 or 4'(007).
ENDIF.
*column3
IF ( p_tage3 > p_tage4 ).
MESSAGE e999 WITH 'Column 3 greater'(008)
'than Column#4'(009).
ENDIF.
ENDFORM. " validate_flds
*& Form fetch_data
Fetching Data from Database Tables
FORM fetch_data .
Date Range Population
r_date1-sign = 'I'.
r_date1-option = 'BT'.
r_date1-low = p_allgst.
r_date1-high = r_date1-low + p_tage1.
APPEND r_date1.
r_date2-sign = 'I'.
r_date2-option = 'BT'.
r_date2-low = r_date1-high + 1.
r_date2-high = r_date1-low + p_tage2.
APPEND r_date2.
r_date3-sign = 'I'.
r_date3-option = 'BT'.
r_date3-low = r_date2-high + 1.
r_date3-high = r_date1-low + p_tage3.
APPEND r_date3.
r_date4-sign = 'I'.
r_date4-option = 'BT'.
r_date4-low = r_date3-high + 1.
r_date4-high = r_date1-low + p_tage4.
APPEND r_date4.
Select the Vendor Open Items data from BSIK
SELECT l~lifnr
l1~name1
b~waers
b~dmbtr
b~zfbdt
b~zbd1t
b~zbd2t
b~zbd3t
b~belnr
b~xblnr
b~shkzg
b~blart
INTO CORRESPONDING FIELDS OF TABLE int_bsik
FROM lfb1 AS l INNER JOIN lfa1 AS l1
ON llifnr = l1lifnr
INNER JOIN bsik AS b
ON llifnr = blifnr AND
lbukrs = bbukrs
WHERE l~lifnr IN s_lifnr AND
l~bukrs = p_bukrs and
b~zfbdt le p_allgst.
IF SY-SUBRC <> 0.
MESSAGE i000 WITH 'No Data found'(027).
ENDIF.
Removing the date limit to get the due items in the past
DELETE int_bsik WHERE
( blart NE 'RE' AND blart NE 'KR' ) OR
shkzg NE 'H'.
SORT int_bsik BY lifnr.
ENDFORM. " fetch_data
*& Form header
Display the Report Columns
FORM header .
v_tage1 = p_tage1 + 1.
v_tage2 = p_tage2 + 1.
v_tage3 = p_tage3 + 1.
v_fidd = p_tage1.
v_sedd = p_tage2.
v_thdd = p_tage3.
v_fodd = p_tage4.
MOVE v_fodd0(4) TO v_fodd1(3).
v_fodd+0(1) = space.
CONCATENATE '1 to'(010) v_fidd INTO v_fir.
CONCATENATE v_tage1 ' to '(011) v_sedd INTO v_sec.
CONCATENATE v_tage2 ' to '(011) v_thdd INTO v_thir.
CONCATENATE v_tage3 ' to '(011) space v_fodd INTO v_four.
Standard header
clear: v_date1, v_str, v_str1, v_tage.
write p_allgst to v_date1.
Move p_tage4 to v_tage.
concatenate '>' v_tage text-025 into v_str1.
concatenate
'Summary of Ageing Analysis for Vendor Open Invoices as on'(013)
v_date1 into v_str separated by space.
CALL FUNCTION 'Z_STANDARD_HEADER'
EXPORTING
title1 = 'Saudi International Petrochemical Company'(012)
title2 = v_str.
FORMAT COLOR OFF.
WRITE : /1(168) sy-uline.
FORMAT COLOR 1 INTENSIFIED.
WRITE :/1 sy-vline, 13 sy-vline, 49 sy-vline,
50(101) 'Invoices Due For(In Days)'(014) CENTERED,
151 sy-vline, 168 sy-vline .
WRITE :/1 sy-vline, 2(11) 'Vendor#'(015) CENTERED,
13 sy-vline ,14(35) 'Vendor Name'(016) CENTERED,
49 sy-vline,
50(101) sy-uline,151 sy-vline,
152(16) 'Total'(017) CENTERED,
168 sy-vline.
WRITE : /1 sy-vline,13 sy-vline, 49 sy-vline,
50(16) v_fir CENTERED, 66 sy-vline,
67(16) v_sec CENTERED, 83 sy-vline,
84(16) v_thir CENTERED, 100 sy-vline,
101(16) v_four CENTERED, 117 sy-vline,
118(16) v_str1 centered, 134 sy-vline,
135(16) 'Already Overdue'(018) CENTERED,151 sy-vline,
168 sy-vline.
FORMAT COLOR OFF.
WRITE : /1(168) sy-uline.
ENDFORM. " header
*& Form basic_list
Display the Basic List
FORM basic_list .
NEW-PAGE LINE-SIZE 168.
LOOP AT int_bsik.
CLEAR v_date.
IF int_bsik-zbd3t <> ' '.
v_date = int_bsik-zfbdt + int_bsik-zbd3t.
ELSE.
IF int_bsik-zbd2t <> ' '.
v_date = int_bsik-zfbdt + int_bsik-zbd2t.
ELSE.
v_date = int_bsik-zfbdt + int_bsik-zbd1t.
ENDIF.
ENDIF.
IF int_bsik-zbd1t = ' '.
v_date = int_bsik-zfbdt.
ENDIF.
IF v_date IN r_date1.
int_final-total1 = int_final-total1 + int_bsik-dmbtr.
ELSEIF v_date IN r_date2.
int_final-total2 = int_final-total2 + int_bsik-dmbtr.
ELSEIF v_date IN r_date3.
int_final-total3 = int_final-total3 + int_bsik-dmbtr.
ELSEIF v_date IN r_date4.
int_final-total4 = int_final-total4 + int_bsik-dmbtr.
ELSEif v_date > r_date4-high.
int_final-total5 = int_final-total5 + int_bsik-dmbtr.
ELSEif v_date < p_allgst.
int_final-total6 = int_final-total6 + int_bsik-dmbtr.
ENDIF.
AT END OF lifnr.
v_flag = 1.
ENDAT.
IF v_flag = 1.
int_final-lifnr = int_bsik-lifnr.
int_final-name1 = int_bsik-name1.
int_final-total = int_final-total1 + int_final-total2 +
int_final-total3 + int_final-total4 + int_final-total5 +
int_final-total6.
APPEND int_final.
v_gtotal1 = v_gtotal1 + int_final-total1.
v_gtotal2 = v_gtotal2 + int_final-total2.
v_gtotal3 = v_gtotal3 + int_final-total3.
v_gtotal4 = v_gtotal4 + int_final-total4.
v_gtotal5 = v_gtotal5 + int_final-total5.
v_gtotal6 = v_gtotal6 + int_final-total6.
v_gtotal = v_gtotal + int_final-total.
WRITE: /1 sy-vline,
2 int_final-lifnr COLOR 4 INTENSIFIED ON,
13 sy-vline,
14 int_final-name1 COLOR 4 INTENSIFIED ON,
49 sy-vline.
DATA : v_rem.
v_rem = sy-tabix MOD 2.
IF v_rem NE 0.
FORMAT COLOR 2 INTENSIFIED.
WRITE : 50 int_final-total1 CURRENCY int_bsik-waers,
66 sy-vline,
67 int_final-total2 CURRENCY int_bsik-waers,
83 sy-vline,
84 int_final-total3 CURRENCY int_bsik-waers,
100 sy-vline,
101 int_final-total4 CURRENCY int_bsik-waers,
117 sy-vline,
118 int_final-total5 CURRENCY int_bsik-waers,
134 sy-vline,
135 int_final-total6 CURRENCY int_bsik-waers,
151 sy-vline,
152 int_final-total CURRENCY int_bsik-waers,
168 sy-vline.
ELSE.
WRITE : 50 int_final-total1 CURRENCY int_bsik-waers,
66 sy-vline,
67 int_final-total2 CURRENCY int_bsik-waers,
83 sy-vline,
84 int_final-total3 CURRENCY int_bsik-waers,
100 sy-vline,
101 int_final-total4 CURRENCY int_bsik-waers,
117 sy-vline,
118 int_final-total5 CURRENCY int_bsik-waers,
134 sy-vline,
135 int_final-total6 CURRENCY int_bsik-waers,
151 sy-vline,
152 int_final-total CURRENCY int_bsik-waers,
168 sy-vline.
ENDIF.
FORMAT COLOR OFF.
HIDE int_final.
CLEAR int_final.
v_flag = 0.
ENDIF.
AT LAST.
WRITE : /1(168) sy-uline.
FORMAT COLOR 3 INTENSIFIED.
WRITE : /1 sy-vline, 2(47) 'GRAND TOTAL'(022) CENTERED,
49 sy-vline, 50 v_gtotal1 CURRENCY int_bsik-waers,
66 sy-vline, 67 v_gtotal2 CURRENCY int_bsik-waers,
83 sy-vline, 84 v_gtotal3 CURRENCY int_bsik-waers,
100 sy-vline,101 v_gtotal4 CURRENCY int_bsik-waers,
117 sy-vline,118 v_gtotal5 CURRENCY int_bsik-waers,
134 sy-vline,135 v_gtotal6 CURRENCY int_bsik-waers,
151 sy-vline,152 v_gtotal CURRENCY int_bsik-waers,
168 sy-vline.
HIDE : v_gtotal1,
v_gtotal2,
v_gtotal3,
v_gtotal4,
v_gtotal5,
v_gtotal6,
v_gtotal.
ENDAT.
FORMAT COLOR OFF.
ENDLOOP.
WRITE : /1(168) sy-uline.
ENDFORM. " basic_list
*& Form line_selection
When double clicked on the line display the seconday list
FORM line_selection .
NEW-PAGE LINE-SIZE 206.
Sy-lsind = 1.
DATA : v_rem,v_cnt LIKE sy-tabix.
v_cnt = 0.
SORT int_bsik BY belnr zfbdt.
LOOP AT int_bsik WHERE lifnr EQ int_final-lifnr.
v_rem = v_cnt MOD 2.
CLEAR v_date.
IF int_bsik-zbd3t <> ' '.
v_date = int_bsik-zfbdt + int_bsik-zbd3t.
ELSE.
IF int_bsik-zbd2t <> ' '.
v_date = int_bsik-zfbdt + int_bsik-zbd2t.
ELSE.
v_date = int_bsik-zfbdt + int_bsik-zbd1t.
ENDIF.
ENDIF.
IF int_bsik-zbd1t = ' '.
v_date = int_bsik-zfbdt.
ENDIF.
IF v_rem NE 0.
format color 2 intensified.
WRITE :/1 sy-vline, 2 int_bsik-belnr,
12 sy-vline,13 int_bsik-lifnr,
23 sy-vline,24 int_bsik-name1,
59 sy-vline,60 int_bsik-xblnr,
76 sy-vline,77 int_bsik-zfbdt,
87 sy-vline.
WRITE : 104 sy-vline,121 sy-vline,
138 sy-vline,155 sy-vline,
172 sy-vline, 189 sy-vline,
190 int_bsik-dmbtr CURRENCY int_bsik-waers,
206 sy-vline.
IF v_date IN r_date1.
v_subtotal1 = v_subtotal1 + int_bsik-dmbtr.
WRITE : 88 int_bsik-dmbtr CURRENCY int_bsik-waers.
ELSEIF v_date IN r_date2.
v_subtotal2 = v_subtotal2 + int_bsik-dmbtr.
WRITE : 105 int_bsik-dmbtr CURRENCY int_bsik-waers.
ELSEIF v_date IN r_date3.
v_subtotal3 = v_subtotal3 + int_bsik-dmbtr.
WRITE : 122 int_bsik-dmbtr CURRENCY int_bsik-waers.
ELSEIF v_date IN r_date4.
v_subtotal4 = v_subtotal4 + int_bsik-dmbtr.
WRITE : 139 int_bsik-dmbtr CURRENCY int_bsik-waers.
ELSEif v_date > r_date4-high.
v_subtotal5 = v_subtotal5 + int_bsik-dmbtr.
WRITE : 156 int_bsik-dmbtr CURRENCY int_bsik-waers.
ELSEif v_date < p_allgst.
v_subtotal6 = v_subtotal6 + int_bsik-dmbtr.
WRITE : 173 int_bsik-dmbtr CURRENCY int_bsik-waers.
ENDIF.
format color off.
ELSE.
WRITE :/1 sy-vline, 2 int_bsik-belnr,
12 sy-vline,13 int_bsik-lifnr,
23 sy-vline,24 int_bsik-name1,
59 sy-vline,60 int_bsik-xblnr,
76 sy-vline,77 int_bsik-zfbdt,
87 sy-vline.
WRITE : 104 sy-vline,121 sy-vline,
138 sy-vline,155 sy-vline,
172 sy-vline,189 sy-vline,
190 int_bsik-dmbtr CURRENCY int_bsik-waers,
206 sy-vline.
IF v_date IN r_date1.
v_subtotal1 = v_subtotal1 + int_bsik-dmbtr.
WRITE : 88 int_bsik-dmbtr CURRENCY int_bsik-waers.
ELSEIF v_date IN r_date2.
v_subtotal2 = v_subtotal2 + int_bsik-dmbtr.
WRITE : 105 int_bsik-dmbtr CURRENCY int_bsik-waers.
ELSEIF v_date IN r_date3.
v_subtotal3 = v_subtotal3 + int_bsik-dmbtr.
WRITE : 122 int_bsik-dmbtr CURRENCY int_bsik-waers.
ELSEIF v_date IN r_date4.
v_subtotal4 = v_subtotal4 + int_bsik-dmbtr.
WRITE : 139 int_bsik-dmbtr CURRENCY int_bsik-waers.
ELSEif v_date > r_date4-high.
v_subtotal5 = v_subtotal5 + int_bsik-dmbtr.
WRITE : 156 int_bsik-dmbtr CURRENCY int_bsik-waers.
ELSEif v_date < p_allgst.
v_subtotal6 = v_subtotal6 + int_bsik-dmbtr.
WRITE : 173 int_bsik-dmbtr CURRENCY int_bsik-waers.
ENDIF.
ENDIF.
FORMAT COLOR OFF.
v_cnt = v_cnt + 1.
ENDLOOP.
WRITE : /1(206) sy-uline.
v_subtotal = v_subtotal1 + v_subtotal2 + v_subtotal3
+ v_subtotal4 + v_subtotal5 + v_subtotal6.
FORMAT COLOR 3 INTENSIFIED.
WRITE : /1 sy-vline,
2(85) 'Total'(017) CENTERED CURRENCY int_bsik-waers ,
87 sy-vline,
88 v_subtotal1 CURRENCY int_bsik-waers,
104 sy-vline,
105 v_subtotal2 CURRENCY int_bsik-waers,
121 sy-vline,
122 v_subtotal3 CURRENCY int_bsik-waers,
138 sy-vline,
139 v_subtotal4 CURRENCY int_bsik-waers,
155 sy-vline,
156 v_subtotal5 CURRENCY int_bsik-waers,
172 sy-vline,
173 v_subtotal6 CURRENCY int_bsik-waers,
189 sy-vline,
190 v_subtotal CURRENCY int_bsik-waers,
206 sy-vline.
FORMAT COLOR OFF.
WRITE : /1(206) sy-uline.
CLEAR : v_subtotal,v_subtotal1,v_subtotal2,v_subtotal3,
v_subtotal4,v_subtotal5,v_gtotal1,v_gtotal2,v_gtotal3,
v_gtotal4, v_gtotal5,v_gtotal,v_subtotal6,v_gtotal6.
ENDFORM. " line_selection
*& Form header1
Secondary List Header
FORM header1 .
Standard header
clear: v_date1, v_str, v_str1, v_tage.
write p_allgst to v_date1.
Move p_tage4 to v_tage.
concatenate '>' v_tage text-025 into v_str1.
concatenate
'Details of Ageing Analysis for Vendor Open Invoices as on'(024)
v_date1 into v_str separated by space.
CALL FUNCTION 'Z_STANDARD_HEADER'
EXPORTING
title1 = 'Company'(012)
title2 = v_str.
FORMAT COLOR 1 intensified.
WRITE :/1(206) sy-uline.
WRITE :/1 sy-vline,12 sy-vline ,
23 sy-vline,59 sy-vline,76 sy-vline,87 sy-vline,
88(101) 'Invoices Due For(In Days)'(014) CENTERED,
189 sy-vline,206 sy-vline.
WRITE : /1 sy-vline, 2(10) 'Doc Number'(021) CENTERED,
12 sy-vline, 13(10) 'Vendor#'(015) CENTERED,
23 sy-vline, 24(35) 'Vendor Name'(016) CENTERED,
59 sy-vline, 60(16) 'Ref invoice#'(019) CENTERED,
76 sy-vline, 77(10) 'Inv dt'(020) CENTERED,
87 sy-vline, 88(101) sy-uline,
189 sy-vline,190(16) 'Total'(017) CENTERED,
206 sy-vline.
WRITE : /1 sy-vline, 12 sy-vline,
23 sy-vline,59 sy-vline,
76 sy-vline,87 sy-vline,
88(16) v_fir CENTERED, 104 sy-vline,
105(16) v_sec CENTERED, 121 sy-vline,
122(16) v_thir CENTERED, 138 sy-vline,
139(16) v_four CENTERED, 155 sy-vline,
156(16) v_str1 CENTERED,
172 sy-vline,
173(16) 'Already Overdue'(018) CENTERED,
189 sy-vline,
206 sy-vline.
format color off.
WRITE : /1(206) sy-uline.
ENDFORM. " header1
Reward points if useful
Regards
Anji -
Hello Friends,
I want one report for vendor for which, Opening Balance, Debit and Credit Totals and Closing balance will be showing.
Additional Fields will be Reconciliation Account, Posting date from 01.05.2007 to 29.02.2008.
Our financial period is from January to December and as per IT, it is April to March.
We run the following reports but it doesnt fulfill our criteria
F.44 - This report does not fulfill the reporting period which i enter
S_ALR_87012079 - Transaction Figures: Account Balance - this report does not fulfill the opening balance
Can anyone help pls?
Regards,
Jigarhiii Jigar.
Try S_ALR_87012165 I am sure this will help.
Regards,
D RANA -
Standard SAP report for vendor hierarchy
Hi Gurus,
Does SAP have standard report for vendor hierarchy? We want to use vendor hierarchy to capture all the expense to a list of vendors and wondering if we can utilize some standard report to see the total supply or we should develop custom reports to handle them?
Thanks a lotHi,
Check this link
http://help.sap.com/saphelp_45b/helpdata/en/12/084635470311d1894a0000e8323352/frameset.htm
Thanks
suresh -
Payment block rerlease for vendor/customers
Hi Gurus
which t-code we used for payment block rerlease for vendor/customers
regards
MallikarjunaHi,
For more clear Use FK05 for vendors
Give company code and Vendor account no
enter
You get screen where you should deselct payment block either code / all company codes
For customers FD05
Same procedure
If it is useful please assing points
Thanks
RAM -
Withholding Tax Report for vendors
Hello All,
I want to output a WT ceritificate from the 'Withholding Tax Report for Vendors' ( TX Code: S_PL0_09000447 and Prog name: RFKQST00 ) . Where in the IMG i can give my customer prog (ZRFKQST00) and its related form ??
Can ppl guide me how is the standard prog related to diff country variants ?
Big Help required. Thanks
Shehryar DaharHi Sehryar,
In SPRO please check Financial Accounting -> Financial Accounting Global settings -> Extended witholding tax ->Reporting -> Assign forms for witholding taxes.
hope this helps you -
Agewise Reports for Vendors - Transaction Code?
Agewise reports for Vendors are needed.
What would be the best way and the Transaction code?Hi Bhatia,
Transaction code F.42 via Information systems > Accounting > Financial accounting > Vendor accounts > Account balances ; you may find the balances and movements for different periods by varying the reporting periods and years.
Hope this helps.
Please assign points as way to say thanks -
Tolerance Groups for Vendors/Customers
Hi Experts,
Where do I define Tolerance Groups for Vendors/Customers?
Thanks!Hi,
Use transaction code OBA3.
Normally the entries are maintained by FI/CO team.
Regards, -
Report for Vendor payment with check no, reference
Hi Gurus;
My client issue one cheque against multiple vendor invoices and used F-53 to knockoff vendor invoices against this cheque.
He enter the check no. in assignment field.
Now, he want a report for - Which check is used to knockoff (Paid) which invoice.
Is there any way or report in SAP.
Thanks in Advance.
Devendra Singh ChauhanHi Devendra,
How about using the check register (transaction code S_P99_41000101) and select the radio button 'with items paid'. The report provides details such as check number, payment document, vendor invoice and other relavant details per bank account.
Ashish -
Hi Seniors,
Please help me with this issue........i have to develope a New report Vendor balance Reconcillation ......Using the Standard report S_ALR_87012082 vendor balances in local currency.....it should be same like this Standard report but this Report is not Designed to give Line Items Because it has Picked up the Data only from few tables like LFA1 LFB1 LFC3.....which give Direct Balances in these tables......But i have Developed a report to Some Extent....But Finding it Difficult in Adding a Special GL Date which is Reflecting in the LFC3 Table....I have to Keep a Check Box Special GL balances in the Selection-Screen when when ever i select Special GL Balances indicator ....Date from LFC3
should be Selected and Addred to the Final in the Internal Table....I have Written a program .......Based on GSBER And LIFNR SUBTOTALS.....I have to Add this New check box in this Slection-Screen.....this report should be same like this Standard Report....S_ALR_87012082...the Program for this Report is RFKSLD00...please tel me the logic or help me with the Modification my below Report.....If i am not clear please reply me back...
waiting for your replys...
Thank you...
*& Report ZVENDOR_BALANCES
REPORT ZMM_PO_CHECKLIST.
TYPE-POOLS : SLIS.
DATA: it_fcat TYPE slis_t_fieldcat_alv,
wa_fcat LIKE LINE OF it_fcat,
lt_top_of_page TYPE slis_t_listheader,
ls_layout TYPE slis_layout_alv,
gt_events TYPE slis_t_event.
TYPES : BEGIN OF TY_BSEG,
LIFNR TYPE BSEG-LIFNR,
BUKRS TYPE BSEG-BUKRS,
BELNR TYPE BSEG-BELNR,
GJAHR TYPE BSEG-GJAHR,
SHKZG TYPE BSEG-SHKZG,
GSBER TYPE BSEG-GSBER,
DMBTR TYPE BSEG-DMBTR,
WRBTR TYPE BSEG-WRBTR,
SGTXT TYPE BSEG-SGTXT,
buzei TYPE bseg-buzei,
buzid TYPE bseg-buzid,
augdt TYPE bseg-augdt,
augcp TYPE bseg-augcp,
augbl TYPE bseg-augbl,
bschl TYPE bseg-bschl,
koart TYPE bseg-koart,
umskz TYPE bseg-umskz,
zuonr TYPE bseg-zuonr,
saknr TYPE bseg-saknr,
hkont TYPE bseg-hkont,
END OF TY_BSEG,
BEGIN OF TY_LFA1,
LIFNR TYPE LFA1-LIFNR,
LAND1 TYPE LFA1-LAND1,
NAME1 TYPE LFA1-NAME1,
END OF TY_LFA1,
BEGIN OF TY_LFC1,
LIFNR TYPE LFC1-LIFNR,
BUKRS TYPE LFC1-BUKRS,
GJAHR TYPE LFC1-GJAHR,
UMSAV TYPE LFC1-UMSAV,
END OF TY_LFC1,
BEGIN OF TY_BKPF,
BUKRS TYPE BKPF-BUKRS,
BELNR TYPE BKPF-BELNR,
GJAHR TYPE BKPF-GJAHR,
BLart type bkpf-blart,
BUDAT TYPE BKPF-BUDAT,
bldat TYPE bkpf-bldat,
monat TYPE bkpf-monat,
usnam TYPE bkpf-usnam,
xblnr TYPE bkpf-xblnr,
END OF TY_BKPF,
BEGIN OF it_bsak,
bukrs TYPE bsak-bukrs,
lifnr TYPE bsak-lifnr,
umskz TYPE bsak-umskz,
augdt TYPE bsak-augdt,
augbl TYPE bsak-augbl,
zuonr TYPE bsak-zuonr,
gjahr TYPE bsak-gjahr,
belnr TYPE bsak-belnr,
buzei TYPE bsak-buzei,
budat TYPE bsak-budat,
bldat TYPE bsak-bldat,
xblnr TYPE bsak-xblnr,
blart TYPE bsak-blart,
monat TYPE bsak-monat,
bschl TYPE bsak-bschl,
shkzg TYPE bsak-shkzg,
gsber TYPE bsak-gsber,
dmbtr TYPE bsak-dmbtr,
wrbtr TYPE bsak-wrbtr,
sgtxt TYPE bsak-sgtxt,
saknr TYPE bsak-saknr,
hkont TYPE bsak-hkont,
END OF it_bsak,
BEGIN OF it_skat,
spras TYPE skat-spras,
saknr TYPE skat-saknr,
txt20 TYPE skat-txt20,
txt50 TYPE skat-txt50,
END OF it_skat,
BEGIN OF TY_ITAB,
GSBER TYPE BSEG-GSBER,
LIFNR TYPE BSEG-LIFNR,
BUKRS TYPE BSEG-BUKRS,
BELNR TYPE BSEG-BELNR,
GJAHR TYPE BSEG-GJAHR,
SHKZG TYPE BSEG-SHKZG,
GSBER TYPE BSEG-GSBER,
DMBTR TYPE BSEG-DMBTR,
WRBTR TYPE BSEG-WRBTR,
SGTXT TYPE BSEG-SGTXT,
buzei TYPE bseg-buzei,
buzid TYPE bseg-buzid,
augdt TYPE bseg-augdt,
augcp TYPE bseg-augcp,
augbl TYPE bseg-augbl,
bschl TYPE bseg-bschl,
koart TYPE bseg-koart,
umskz TYPE bseg-umskz,
zuonr TYPE bseg-zuonr,
saknr TYPE bseg-saknr,
hkont TYPE bseg-hkont,
LIFNR TYPE LFA1-LIFNR,
LAND1 TYPE LFA1-LAND1,
NAME1 TYPE LFA1-NAME1,
DMBTR_H TYPE BSEG-WRBTR,
DMBTR_S TYPE BSEG-WRBTR,
DH TYPE BSEG-WRBTR,
DS TYPE BSEG-WRBTR,
HS TYPE BSEG-WRBTR,
BAL TYPE BSEG-WRBTR,
FLAG TYPE C,
LIFNR TYPE LFC1-LIFNR,
BUKRS TYPE LFC1-BUKRS,
GJAHR TYPE LFC1-GJAHR,
UMSAV TYPE LFC1-UMSAV,
UM(15) TYPE P DECIMALS 2,
BUKRS TYPE BKPF-BUKRS,
BELNR TYPE BKPF-BELNR,
GJAHR TYPE BKPF-GJAHR,
BLart type bkpf-blart,
BUDAT TYPE BKPF-BUDAT,
bldat TYPE bkpf-bldat,
monat TYPE bkpf-monat,
usnam TYPE bkpf-usnam,
xblnr TYPE bkpf-xblnr,
spras TYPE skat-spras,
saknr TYPE skat-saknr,
txt20 TYPE skat-txt20,
txt50 TYPE skat-txt50,
LINE_COLOR(4) TYPE C,
LINE_CTR(4) TYPE C,
END OF TY_ITAB,
BEGIN OF TY_TEMP,
LIFNR TYPE BSEG-LIFNR,
GSBER TYPE BSEG-GSBER,
BUKRS TYPE BSEG-BUKRS,
BELNR TYPE BSEG-BELNR,
GJAHR TYPE BSEG-GJAHR,
SHKZG TYPE BSEG-SHKZG,
GSBER TYPE BSEG-GSBER,
DMBTR TYPE BSEG-DMBTR,
WRBTR TYPE BSEG-WRBTR,
SGTXT TYPE BSEG-SGTXT,
buzei TYPE bseg-buzei,
buzid TYPE bseg-buzid,
augdt TYPE bseg-augdt,
augcp TYPE bseg-augcp,
augbl TYPE bseg-augbl,
bschl TYPE bseg-bschl,
koart TYPE bseg-koart,
umskz TYPE bseg-umskz,
zuonr TYPE bseg-zuonr,
saknr TYPE bseg-saknr,
hkont TYPE bseg-hkont,
LIFNR TYPE LFA1-LIFNR,
LAND1 TYPE LFA1-LAND1,
NAME1 TYPE LFA1-NAME1,
LIFNR TYPE LFC1-LIFNR,
BUKRS TYPE LFC1-BUKRS,
GJAHR TYPE LFC1-GJAHR,
UMSAV TYPE LFC1-UMSAV,
DMBTR_H TYPE BSEG-WRBTR,
DMBTR_S TYPE BSEG-WRBTR,
HS TYPE BSEG-WRBTR,
BAL TYPE BSEG-WRBTR,
FLAG TYPE C,
FLAG TYPE C,
BUKRS TYPE BKPF-BUKRS,
BELNR TYPE BKPF-BELNR,
GJAHR TYPE BKPF-GJAHR,
BLart type bkpf-blart,
BUDAT TYPE BKPF-BUDAT,
bldat TYPE bkpf-bldat,
monat TYPE bkpf-monat,
usnam TYPE bkpf-usnam,
xblnr TYPE bkpf-xblnr,
bukrs TYPE bsak-bukrs,
lifnr TYPE bsak-lifnr,
umskz TYPE bsak-umskz,
augdt TYPE bsak-augdt,
augbl TYPE bsak-augbl,
zuonr TYPE bsak-zuonr,
gjahr TYPE bsak-gjahr,
belnr TYPE bsak-belnr,
buzei TYPE bsak-buzei,
budat TYPE bsak-budat,
bldat TYPE bsak-bldat,
xblnr TYPE bsak-xblnr,
blart TYPE bsak-blart,
monat TYPE bsak-monat,
bschl TYPE bsak-bschl,
shkzg TYPE bsak-shkzg,
gsber TYPE bsak-gsber,
dmbtr TYPE bsak-dmbtr,
wrbtr TYPE bsak-wrbtr,
sgtxt TYPE bsak-sgtxt,
saknr TYPE bsak-saknr,
hkont TYPE bsak-hkont,
spras TYPE skat-spras,
saknr TYPE skat-saknr,
txt20 TYPE skat-txt20,
txt50 TYPE skat-txt50,
LINE_COLOR(4) TYPE C,
LINE_CTR(4) TYPE C,
END OF TY_TEMP.
DATA : IT_BSEG TYPE STANDARD TABLE OF TY_BSEG WITH HEADER LINE,
IT_LFA1 TYPE STANDARD TABLE OF TY_LFA1 WITH HEADER LINE,
IT_LFC1 TYPE STANDARD TABLE OF TY_LFC1 WITH HEADER LINE,
IT_BKPF TYPE STANDARD TABLE OF TY_BKPF WITH HEADER LINE,
IT_BSIK TYPE STANDARD TABLE OF TY_BSIK WITH HEADER LINE,
IT_BSAK TYPE STANDARD TABLE OF TY_BSAK WITH HEADER LINE,
IT_BSIP TYPE STANDARD TABLE OF TY_BSIP WITH HEADER LINE,
IT_SKAT TYPE STANDARD TABLE OF IT_SKAT WITH HEADER LINE,
IT_ITAB TYPE STANDARD TABLE OF TY_ITAB WITH HEADER LINE,
IT_TEMP TYPE STANDARD TABLE OF TY_TEMP WITH HEADER LINE.
TABLES : BSEG, LFA1, LFC1, BKPF ,SKAT.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE T001.
SELECT-OPTIONS: Vendor FOR BSEG-LIFNR OBLIGATORY.
PARAMETERS : CoCd LIKE BSEG-BUKRS OBLIGATORY.
PARAMETERS : Fiscal LIKE BSEG-GJAHR OBLIGATORY.
SELECT-OPTIONS : Period FOR BKPF-MONAT .
*SELECT-OPTIONS : b_monate for rfsdo-allgbmon "Berichtsperioden
no-extension,
*SELECT-OPTIONS: SO_LIFNR FOR BSEG-LIFNR.
SO_BELNR FOR BSEG-BELNR.
SELECTION-SCREEN END OF BLOCK B1.
PERFORM DATA_RETRIVE.
*PERFORM SUB_MOVE_DATA.
**PERFORM SUB_FETCH_EXTRA_DATA.
**PERFORM SUB_MOVE_EXTRA_DATA.
PERFORM SUB_CALC.
PERFORM SUB_FIELDCAT.
PERFORM SUB_DISPLAY.
*& Form DATA_RETRIVE
text
--> p1 text
<-- p2 text
form DATA_RETRIVE .
SELECT LIFNR BUKRS BELNR GJAHR SHKZG GSBER DMBTR WRBTR SGTXT BUZEI
BUZID AUGDT AUGCP AUGBL BSCHL KOART UMSKZ ZUONR SAKNR HKONT
FROM BSEG INTO TABLE IT_BSEG
WHERE LIFNR IN vendor AND BUKRS = CoCd AND GJAHR = Fiscal.
IF NOT IT_BSEG[] IS INITIAL.
SELECT LIFNR LAND1 NAME1
FROM LFA1 INTO TABLE IT_LFA1 FOR ALL ENTRIES IN IT_BSEG
WHERE LIFNR = IT_BSEG-LIFNR.
ENDIF.
IF NOT IT_BSEG[] IS INITIAL.
SELECT LIFNR BUKRS GJAHR UMSAV
FROM LFC1 INTO TABLE IT_LFC1 FOR ALL ENTRIES IN IT_BSEG
WHERE LIFNR = IT_BSEG-LIFNR AND BUKRS = IT_BSEG-BUKRS AND GJAHR = IT_BSEG-GJAHR.
ENDIF.
IF NOT IT_BSEG[] IS INITIAL.
SELECT BUKRS BELNR GJAHR BLART BUDAT BLDAT MONAT USNAM XBLNR
FROM BKPF INTO TABLE IT_BKPF FOR ALL ENTRIES IN IT_BSEG
WHERE MONAT IN Period AND BUKRS = IT_BSEG-BUKRS AND GJAHR = IT_BSEG-GJAHR AND BELNR = IT_BSEG-BELNR.
ENDIF.
LOOP AT IT_BSEG.
IT_ITAB-LIFNR = IT_BSEG-LIFNR.
IT_ITAB-BUKRS = IT_BSEG-BUKRS.
IT_ITAB-BELNR = IT_BSEG-BELNR.
IT_ITAB-GJAHR = IT_BSEG-GJAHR.
IT_ITAB-SHKZG = IT_BSEG-SHKZG.
IT_ITAB-GSBER = IT_BSEG-GSBER.
IT_ITAB-DMBTR = IT_BSEG-DMBTR.
IT_ITAB-WRBTR = IT_BSEG-WRBTR.
IT_ITAB-SGTXT = IT_BSEG-SGTXT.
IT_ITAB-BUZEI = IT_BSEG-BUZEI.
IT_ITAB-BUZID = IT_BSEG-BUZID.
IT_ITAB-AUGDT = IT_BSEG-AUGDT.
IT_ITAB-AUGCP = IT_BSEG-AUGCP.
IT_ITAB-AUGBL = IT_BSEG-AUGBL.
IT_ITAB-BSCHL = IT_BSEG-BSCHL.
IT_ITAB-KOART = IT_BSEG-KOART.
IT_ITAB-UMSKZ = IT_BSEG-UMSKZ.
IT_ITAB-ZUONR = IT_BSEG-ZUONR.
IT_ITAB-SAKNR = IT_BSEG-SAKNR.
IT_ITAB-HKONT = IT_BSEG-HKONT.
READ TABLE IT_LFA1 WITH KEY LIFNR = IT_ITAB-LIFNR.
IF SY-SUBRC = 0.
IT_ITAB-LAND1 = IT_LFA1-LAND1.
IT_ITAB-NAME1 = IT_LFA1-NAME1.
ENDIF.
READ TABLE IT_LFC1 WITH KEY LIFNR = IT_ITAB-LIFNR
BUKRS = IT_ITAB-BUKRS
GJAHR = IT_ITAB-GJAHR
BINARY SEARCH.
IF SY-SUBRC = 0.
IT_ITAB-UMSAV = IT_LFC1-UMSAV.
ENDIF.
READ TABLE IT_BKPF WITH KEY BUKRS = IT_ITAB-BUKRS
BELNR = IT_ITAB-BELNR
GJAHR = IT_ITAB-GJAHR.
IF SY-SUBRC = 0.
IT_ITAB-BLART = IT_BKPF-BLART.
IT_ITAB-BUDAT = IT_BKPF-BUDAT.
IT_ITAB-BLDAT = IT_BKPF-BLDAT.
IT_ITAB-MONAT = IT_BKPF-MONAT.
IT_ITAB-USNAM = IT_BKPF-USNAM.
IT_ITAB-XBLNR = IT_BKPF-XBLNR.
ENDIF.
APPEND IT_ITAB.
CLEAR IT_ITAB.
ENDLOOP.
endform. " DATA_RETRIVE
*& Form SUB_CALC
text
--> p1 text
<-- p2 text
form SUB_CALC .
*SORT IT_ITAB BY LIFNR GSBER GJAHR.
*LOOP AT IT_ITAB.
*IF IT_ITAB-SHKZG = 'S'.
IT_ITAB-DMBTR = IT_ITAB-DMBTR * ( -1 ).
*ENDIF.
*CLEAR IT_ITAB-DMBTR_S.
*MODIFY IT_ITAB.
*ENDLOOP.
*LOOP AT IT_ITAB.
*IT_ITAB-BAL = IT_ITAB-UMSAV + IT_ITAB-DMBTR.
*MODIFY IT_ITAB.
*CLEAR IT_ITAB.
*ENDLOOP.
*LOOP AT IT_ITAB.
IF IT_ITAB-SHKZG = 'S'.
IT_ITAB-DMBTR = IT_ITAB-DMBTR * ( -1 ).
ENDIF.
MODIFY IT_ITAB.
*ENDLOOP.
LOOP AT IT_ITAB.
IF IT_ITAB-SHKZG = 'S'.
IT_ITAB-DMBTR_S = IT_ITAB-DMBTR .
ELSE.
IF IT_ITAB-SHKZG = 'H'.
IT_ITAB-DMBTR_H = IT_ITAB-DMBTR.
ENDIF.
ENDIF.
IT_ITAB-DMBTR = ''.
MODIFY IT_ITAB INDEX SY-TABIX TRANSPORTING DMBTR_H DMBTR_S DMBTR.
"VAR.
CLEAR IT_ITAB.
ENDLOOP.
*MOVE CORRESPONDING IT_LFC1-UMSAV = IT_ITAB-UMSAV.
SORT IT_ITAB BY LIFNR GSBER.
LOOP AT IT_ITAB.
IT_ITAB-DMBTR_H = IT_ITAB-DMBTR_H.
IT_ITAB-DMBTR_S = IT_ITAB-DMBTR_S.
IT_ITAB-DH = IT_ITAB-DMBTR_H.
IT_ITAB-DS = IT_ITAB-DMBTR_S.
IT_ITAB-FLAG = 'X'.
IT_ITAB-CTR = 'X'.
IT_ITAB-HS = IT_ITAB-DMBTR_H - IT_ITAB-DMBTR_S.
IT_ITAB-BAL = IT_ITAB-UMSAV + IT_ITAB-HS.
MODIFY IT_ITAB INDEX SY-TABIX TRANSPORTING DMBTR_H DMBTR_S HS
FLAG BAL.
CLEAR IT_ITAB.
ENDLOOP.
*LOOP AT IT_ITAB.
**IF IT_ITAB-MONAT = ''.
DELETE IT_ITAB[] WHERE MONAT = ''.
*MODIFY IT_ITAB.
*ENDLOOP.
LOOP AT IT_ITAB.
AT END OF GSBER.
SUM.
IT_ITAB-DMBTR_H = IT_ITAB-DMBTR_H.
IT_ITAB-DMBTR_S = IT_ITAB-DMBTR_S.
IT_ITAB-DH = IT_ITAB-DMBTR_H.
IT_ITAB-DS = IT_ITAB-DMBTR_S.
IT_ITAB-FLAG = 'X'.
IT_ITAB-CTR = 'X'.
IT_ITAB-DMBTR_H = IT_ITAB-DMBTR_H.
IT_ITAB-DMBTR_S = IT_ITAB-DMBTR_S.
IT_ITAB-HS = IT_ITAB-DMBTR_S - IT_ITAB-DMBTR_H.
IT_ITAB-BAL = IT_ITAB-UMSAV - IT_ITAB-HS.
MODIFY IT_ITAB INDEX SY-TABIX TRANSPORTING DMBTR_H DMBTR_S HS
FLAG BAL.
ENDAT.
CLEAR IT_ITAB.
ENDLOOP.
LOOP AT IT_ITAB.
AT END OF GSBER.
SUM.
IT_ITAB-DMBTR_H = IT_ITAB-DMBTR_H.
IT_ITAB-DMBTR_S = IT_ITAB-DMBTR_S.
IT_ITAB-DH = IT_ITAB-DMBTR_H.
IT_ITAB-DS = IT_ITAB-DMBTR_S.
IT_ITAB-FLAG = 'X'.
IT_ITAB-CTR = 'X'.
IT_ITAB-DMBTR_H = IT_ITAB-DMBTR_H.
IT_ITAB-DMBTR_S = IT_ITAB-DMBTR_S.
IT_ITAB-BAL = IT_ITAB-UMSAV + ( IT_ITAB-DMBTR_H - IT_ITAB-DMBTR_S ).
MODIFY IT_ITAB INDEX SY-TABIX TRANSPORTING DMBTR_H DMBTR_S DH DS
FLAG BAL.
ENDAT.
CLEAR IT_ITAB.
ENDLOOP.
DELETE IT_ITAB[] WHERE FLAG <> 'X'.
SORT IT_ITAB BY LIFNR GSBER.
LOOP AT IT_ITAB.
MOVE-CORRESPONDING IT_ITAB TO IT_TEMP.
APPEND IT_TEMP.
ENDLOOP.
REFRESH IT_ITAB.
SORT IT_TEMP BY LIFNR GSBER.
LOOP AT IT_TEMP.
MOVE-CORRESPONDING IT_TEMP TO IT_ITAB.
APPEND IT_ITAB.
CLEAR IT_ITAB.
AT END OF LIFNR.
SUM.
IT_TEMP-FLAG = ''.
MODIFY IT_TEMP INDEX SY-TABIX TRANSPORTING DMBTR_H DMBTR_S FLAG.
MOVE-CORRESPONDING IT_ITEMP TO IT_ITAB.
IT_ITAB-LIFNR = ''.
IT_ITAB-NAME1 = ''.
IT_ITAB-BELNR = ''.
IT_ITAB-BUKRS = ''.
IT_ITAB-GJAHR = ''.
IT_ITAB-GSBER = ''.
IT_ITAB-UMSAV = '0000'.
IT_ITAB-DMBTR_H = IT_TEMP-DMBTR_H.
IT_ITAB-DMBTR_S = IT_TEMP-DMBTR_S.
IT_ITAB-BAL = IT_TEMP-DMBTR_H - IT_TEMP-DMBTR_S.
IT_ITAB-FLAG = 'Y'.
IT_ItAB-CTR = IT_TEMO-CTR.
APPEND IT_ITAB.
ENDAT.
IF IT_ITAB-FLAG = 'Y'.
it_itab-line_color = 'C600'.
MODIFY IT_ITAB.
ENDIF.
CLEAR IT_TEMP.
ENDLOOP.
LOOP AT IT_ITAB WHERE FLAG = 'Y'.
it_itab-line_color = 'C602'.
MODIFY IT_ITAB INDEX SY-TABIX.
CLEAR IT_ITAB.
ENDLOOP.
loop at it_itab WHERE FLAG = ''.
it_itab-line_color = 'C103'.
IT_ITAB-LINE_CTR = 'C103'.
MODIFY IT_ITAB INDEX SY-TABIX.
CLEAR IT_ITAB.
ENDLOOP.
PERFORM SUB_CALC_1.
endform. " SUB_CALC
*& Form SUB_FIELDCAT
text
--> p1 text
<-- p2 text
FORM SUB_FIELDCAT .
WA_FCAT-FIELDNAME = 'LIFNR'.
WA_FCAT-TABNAME = 'IT_ITAB'.
WA_FCAT-SELTEXT_M = 'Vendor No'. "'VENDOR NAME'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'NAME1'.
WA_FCAT-TABNAME = 'IT_ITAB'.
WA_FCAT-SELTEXT_M = 'Vendor Name'. "'VENDOR NAME'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'BELNR'.
WA_FCAT-TABNAME = 'IT_ITAB'.
WA_FCAT-SELTEXT_M = 'SAP Document No'. "'DOC NUMBER'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'BLDAT'.
WA_FCAT-TABNAME = 'IT_ITAB'.
WA_FCAT-SELTEXT_M = 'Doc Date'. "'FISCAL YEAR'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR wa_fcat.
WA_FCAT-FIELDNAME = 'GSBER'.
WA_FCAT-TABNAME = 'IT_ITAB'.
WA_FCAT-SELTEXT_M = 'BusA'. "'BUSINESS AREA'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'UMSAV'.
WA_FCAT-TABNAME = 'IT_ITAB'.
WA_FCAT-SELTEXT_M = 'Balance Carry Forward'. "'BAL CARRIED FORWARD'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'FLAG'.
WA_FCAT-TABNAME = 'IT_ITAB'.
WA_FCAT-SELTEXT_M = 'FLAG'. "'DOC NUMBER'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'SHKZG'.
WA_FCAT-TABNAME = 'IT_ITAB'.
WA_FCAT-SELTEXT_M = 'SHKZG'. "'DOC NUMBER'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'DMBTR_S'.
WA_FCAT-TABNAME = 'IT_ITAB'.
WA_FCAT-SELTEXT_M = 'Credit'. "'DOC NUMBER'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'DMBTR_H'.
WA_FCAT-TABNAME = 'IT_ITAB'.
WA_FCAT-SELTEXT_M = 'Debit'. "'DOC NUMBER'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'MONAT'.
WA_FCAT-TABNAME = 'IT_ITAB'.
WA_FCAT-SELTEXT_M = 'PERIOD'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'DH'.
WA_FCAT-TABNAME = 'IT_ITAB'.
WA_FCAT-SELTEXT_M = 'DH'. "'DOC NUMBER'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'DS'.
WA_FCAT-TABNAME = 'IT_ITAB'.
WA_FCAT-SELTEXT_M = 'DS'. "'DOC NUMBER'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'BAL'.
WA_FCAT-TABNAME = 'IT_ITAB'.
WA_FCAT-SELTEXT_M = 'Accumlated Bal'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
WA_FCAT-FIELDNAME = 'SGTXT'.
WA_FCAT-TABNAME = 'IT_ITAB'.
WA_FCAT-SELTEXT_M = 'Text'. "'DOC NUMBER'.
APPEND WA_FCAT TO IT_FCAT.
CLEAR WA_FCAT.
ls_layout-info_fieldname = 'LINE_COLOR'.
ENDFORM. " SUB_FIELDCAT
*& Form SUB_DISPLAY
text
--> p1 text
<-- p2 text
FORM SUB_DISPLAY .
IF NOT IT_ITAB[] IS INITIAL.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = 'SY-REPID'
IT_FIELDCAT = IT_FCAT
I_SAVE = 'A'
is_layout = ls_layout
TABLES
T_OUTTAB = IT_ITAB
EXCEPTIONS
PROGRAM_ERROR = 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.
ENDFORM. " SUB_DISPLAY
*& Form SUB_CALC_1
text
--> p1 text
<-- p2 text
FORM SUB_CALC_1 .
LOOP AT IT_ITAB WHERE FLAG = 'Y'.
it_itab-line_color = 'C603'.
MODIFY IT_ITAB INDEX SY-TABIX.
CLEAR IT_ITAB.
ENDLOOP.
ENDFORM. " SUB_CALC_1This is the Report which i am trying to do....please help me with this Report....
*& Report ZVENDOR_RECONCILLATION
REPORT ZVENDOR_RECONCILLATION.
*ALV
TYPE-POOLS: SLIS.
*TYPE-POOLS icon.
DATA: It_SORT TYPE SLIS_T_SORTINFO_ALV ."WITH HEADER LINE.
DATA: TOP TYPE slis_t_listheader,
END TYPE slis_t_listheader,
EVENTS TYPE slis_t_event.
DATA : NAME1 LIKE T001W-NAME1,
WERKS LIKE T001W-WERKS .
DATA : T_KEY TYPE SLIS_KEYINFO_ALV.
DATA : FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
LAYOUT TYPE SLIS_LAYOUT_ALV OCCURS 1 WITH HEADER LINE ,
LCAT TYPE SLIS_FIELDCAT_ALV.
TABLES : BSAK , BSIK , LFC1 , LFC3 , LFA1.
*INTERNAL TABLE
DATA: BEGIN OF sd_bsak,
bukrs TYPE bsak-bukrs,
lifnr TYPE bsak-lifnr,
umsks TYPE bsak-umsks,
umskz TYPE bsak-umskz,
augdt TYPE bsak-augdt,
augbl TYPE bsak-augbl,
zuonr TYPE bsak-zuonr,
gjahr TYPE bsak-gjahr,
belnr TYPE bsak-belnr,
buzei TYPE bsak-buzei,
budat TYPE bsak-budat,
bldat TYPE bsak-bldat,
xblnr TYPE bsak-xblnr,
blart TYPE bsak-blart,
monat TYPE bsak-monat,
bschl TYPE bsak-bschl,
zumsk TYPE bsak-zumsk,
shkzg TYPE bsak-shkzg,
gsber TYPE bsak-gsber,
dmbtr TYPE bsak-dmbtr,
wrbtr TYPE bsak-wrbtr,
sgtxt TYPE bsak-sgtxt,
saknr TYPE bsak-saknr,
hkont TYPE bsak-hkont,
END OF sd_bsak.
DATA: BEGIN OF sd_bsik,
bukrs TYPE bsik-bukrs,
lifnr TYPE bsik-lifnr,
umsks TYPE bsik-umsks,
umskz TYPE bsik-umskz,
augdt TYPE bsik-augdt,
augbl TYPE bsik-augbl,
zuonr TYPE bsik-zuonr,
gjahr TYPE bsik-gjahr,
belnr TYPE bsik-belnr,
buzei TYPE bsik-buzei,
budat TYPE bsik-budat,
bldat TYPE bsik-bldat,
xblnr TYPE bsik-xblnr,
blart TYPE bsik-blart,
monat TYPE bsik-monat,
bschl TYPE bsik-bschl,
zumsk TYPE bsik-zumsk,
shkzg TYPE bsik-shkzg,
gsber TYPE bsik-gsber,
dmbtr TYPE bsik-dmbtr,
wrbtr TYPE bsik-wrbtr,
sgtxt TYPE bsik-sgtxt,
saknr TYPE bsik-saknr,
hkont TYPE bsik-hkont,
zlsch TYPE bsik-zlsch,
END OF sd_bsik.
DATA: BEGIN OF it_lfa1,
lifnr TYPE lfa1-lifnr,
name1 TYPE lfa1-name1,
END OF it_lfa1.
DATA: BEGIN OF sd_lfc1,
lifnr TYPE lfc1-lifnr,
bukrs TYPE lfc1-bukrs,
gjahr TYPE lfc1-gjahr,
erdat TYPE lfc1-erdat,
usnam TYPE lfc1-usnam,
umsav TYPE lfc1-umsav,
END OF sd_lfc1.
DATA: BEGIN OF sd_lfc3,
lifnr TYPE lfc3-lifnr,
bukrs TYPE lfc3-bukrs,
gjahr TYPE lfc3-gjahr,
shbkz TYPE lfc3-shbkz,
saldv TYPE lfc3-saldv,
solll TYPE lfc3-solll,
habnl TYPE lfc3-habnl,
END OF sd_lfc3.
*FINAL INTERNAL TABLE DECLARATION
DATA: BEGIN OF IT_FINAL,
gsber TYPE bsak-gsber,
bukrs TYPE bsak-bukrs,
lifnr TYPE bsak-lifnr,
umsks TYPE bsak-umsks,
umskz TYPE bsak-umskz,
augdt TYPE bsak-augdt,
augbl TYPE bsak-augbl,
zuonr TYPE bsak-zuonr,
gjahr TYPE bsak-gjahr,
belnr TYPE bsak-belnr,
buzei TYPE bsak-buzei,
budat TYPE bsak-budat,
bldat TYPE bsak-bldat,
xblnr TYPE bsak-xblnr,
blart TYPE bsak-blart,
monat TYPE bsak-monat,
bschl TYPE bsak-bschl,
zumsk TYPE bsak-zumsk,
shkzg TYPE bsak-shkzg,
gsber TYPE bsak-gsber,
dmbtr TYPE bsak-dmbtr,
wrbtr TYPE bsak-wrbtr,
sgtxt TYPE bsak-sgtxt,
saknr TYPE bsak-saknr,
hkont TYPE bsak-hkont,
DMBTR_S TYPE BSAK-DMBTR,
DMBTR_H TYPE BSAK-DMBTR,
DS TYPE P DECIMALS 2,
DH TYPE P DECIMALS 2,
SUB TYPE P DECIMALS 2,
ADD TYPE P DECIMALS 2,
BAL TYPE P DECIMALS 2,
lifnr TYPE bsik-lifnr,
umsks TYPE bsik-umsks,
umskz TYPE bsik-umskz,
augdt TYPE bsik-augdt,
augbl TYPE bsik-augbl,
zuonr TYPE bsik-zuonr,
gjahr TYPE bsik-gjahr,
belnr TYPE bsik-belnr,
buzei TYPE bsik-buzei,
budat TYPE bsik-budat,
bldat TYPE bsik-bldat,
xblnr TYPE bsik-xblnr,
blart TYPE bsik-blart,
monat TYPE bsik-monat,
bschl TYPE bsik-bschl,
zumsk TYPE bsik-zumsk,
shkzg TYPE bsik-shkzg,
gsber TYPE bsik-gsber,
dmbtr TYPE bsik-dmbtr,
wrbtr TYPE bsik-wrbtr,
sgtxt TYPE bsik-sgtxt,
saknr TYPE bsik-saknr,
hkont TYPE bsik-hkont,
zlsch TYPE bsik-zlsch,
lifnr TYPE lfa1-lifnr,
name1 TYPE lfa1-name1,
lifnr TYPE lfc1-lifnr,
bukrs TYPE lfc1-bukrs,
gjahr TYPE lfc1-gjahr,
erdat TYPE lfc1-erdat,
usnam TYPE lfc1-usnam,
umsav TYPE lfc1-umsav,
lifnr TYPE lfc3-lifnr,
bukrs TYPE lfc3-bukrs,
gjahr TYPE lfc3-gjahr,
shbkz TYPE lfc3-shbkz,
saldv TYPE lfc3-saldv,
solll TYPE lfc3-solll,
habnl TYPE lfc3-habnl,
END OF IT_FINAL.
DATA: BEGIN OF SD_FINAL,
lifnr TYPE bsak-lifnr,
bukrs TYPE bsak-bukrs,
lifnr TYPE bsak-lifnr,
umsks TYPE bsak-umsks,
umskz TYPE bsak-umskz,
augdt TYPE bsak-augdt,
augbl TYPE bsak-augbl,
zuonr TYPE bsak-zuonr,
gjahr TYPE bsak-gjahr,
belnr TYPE bsak-belnr,
buzei TYPE bsak-buzei,
budat TYPE bsak-budat,
bldat TYPE bsak-bldat,
xblnr TYPE bsak-xblnr,
blart TYPE bsak-blart,
monat TYPE bsak-monat,
bschl TYPE bsak-bschl,
zumsk TYPE bsak-zumsk,
shkzg TYPE bsak-shkzg,
gsber TYPE bsak-gsber,
dmbtr TYPE bsak-dmbtr,
wrbtr TYPE bsak-wrbtr,
sgtxt TYPE bsak-sgtxt,
saknr TYPE bsak-saknr,
hkont TYPE bsak-hkont,
bukrs TYPE bsik-bukrs,
lifnr TYPE bsik-lifnr,
umsks TYPE bsik-umsks,
umskz TYPE bsik-umskz,
augdt TYPE bsik-augdt,
augbl TYPE bsik-augbl,
zuonr TYPE bsik-zuonr,
gjahr TYPE bsik-gjahr,
belnr TYPE bsik-belnr,
buzei TYPE bsik-buzei,
budat TYPE bsik-budat,
bldat TYPE bsik-bldat,
xblnr TYPE bsik-xblnr,
blart TYPE bsik-blart,
monat TYPE bsik-monat,
bschl TYPE bsik-bschl,
zumsk TYPE bsik-zumsk,
shkzg TYPE bsik-shkzg,
gsber TYPE bsik-gsber,
dmbtr TYPE bsik-dmbtr,
wrbtr TYPE bsik-wrbtr,
sgtxt TYPE bsik-sgtxt,
saknr TYPE bsik-saknr,
hkont TYPE bsik-hkont,
zlsch TYPE bsik-zlsch,
lifnr TYPE lfa1-lifnr,
name1 TYPE lfa1-name1,
lifnr TYPE lfc1-lifnr,
bukrs TYPE lfc1-bukrs,
gjahr TYPE lfc1-gjahr,
erdat TYPE lfc1-erdat,
usnam TYPE lfc1-usnam,
umsav TYPE lfc1-umsav,
lifnr TYPE lfc3-lifnr,
bukrs TYPE lfc3-bukrs,
gjahr TYPE lfc3-gjahr,
shbkz TYPE lfc3-shbkz,
saldv TYPE lfc3-saldv,
solll TYPE lfc3-solll,
habnl TYPE lfc3-habnl,
line_color(4) TYPE c,
END OF SD_FINAL.
DATA IT_STD_BSAK LIKE TABLE OF SD_BSAK WITH HEADER LINE.
DATA IT_STD_BSIK LIKE TABLE OF SD_BSIK WITH HEADER LINE.
DATA IT_STD_LFA1 LIKE TABLE OF IT_LFA1 WITH HEADER LINE.
DATA IT_STD_LFC1 LIKE TABLE OF SD_LFC1 WITH HEADER LINE.
DATA IT_STD_LFC3 LIKE TABLE OF SD_LFC3 WITH HEADER LINE.
DATA IT_STD_FINAL LIKE TABLE OF IT_FINAL WITH HEADER LINE.
DATA IT_FINAL_DISPLAY LIKE TABLE OF SD_FINAL WITH HEADER LINE.
*SELECTION-SCREEN
SELECTION-SCREEN BEGIN OF BLOCK HEADER WITH FRAME TITLE TEXT-001.
PARAMETERS: P_BUKRS LIKE BSAK-BUKRS OBLIGATORY,
P_GJAHR LIKE BSAK-GJAHR OBLIGATORY.
P_EBELN LIKE EKPO-EBELN .
*PARAMETER: PA_RPT AS CHECKBOX DEFAULT 'X'.
SELECT-OPTIONS: S_LIFNR FOR BSAK-LIFNR.
SELECT-OPTIONS: S_MONAT FOR BSAK-MONAT.
SELECTION-SCREEN END OF BLOCK HEADER.
START-OF-SELECTION.
SET PF-STATUS 'STATUS'.
PERFORM DATA_RETRIVAL.
PERFORM FIELD.
PERFORM SORT USING IT_SORT.
PERFORM EVENTS USING EVENTS.
PERFORM EVENTS_1 USING EVENTS.
PERFORM HEADER USING TOP.
PERFORM LAYOUT.
PERFORM DISPLAY.
END-OF-PAGE.
*& Form DATA_RETRIVAL
text
--> p1 text
<-- p2 text
FORM DATA_RETRIVAL .
SELECT BUKRS LIFNR UMSKS UMSKZ AUGDT AUGBL ZUONR GJAHR BELNR BUZEI BUDAT BLDAT XBLNR BLART
MONAT BSCHL ZUMSK SHKZG GSBER DMBTR WRBTR SGTXT SAKNR HKONT
FROM BSAK INTO TABLE IT_STD_BSAK
WHERE BUKRS = P_BUKRS
AND GJAHR = P_GJAHR AND ZUMSK = ''
AND LIFNR IN S_LIFNR
AND MONAT IN S_MONAT.
IF NOT IT_STD_BSAK[] IS INITIAL.
SELECT BUKRS LIFNR UMSKS UMSKZ AUGDT AUGBL ZUONR GJAHR BELNR BUZEI BUDAT BLDAT XBLNR
BLART MONAT BSCHL ZUMSK SHKZG GSBER DMBTR WRBTR SGTXT SAKNR HKONT ZLSCH
FROM BSIK INTO TABLE IT_STD_BSIK FOR ALL ENTRIES IN IT_STD_BSAK
WHERE BUKRS = IT_STD_BSAK-BUKRS AND LIFNR = IT_STD_BSAK-LIFNR AND GJAHR = IT_STD_BSAK-GJAHR AND ZUMSK = ''.
ENDIF.
IF NOT IT_STD_BSAK[] IS INITIAL.
SELECT LIFNR NAME1
FROM LFA1 INTO TABLE IT_STD_LFA1 FOR ALL ENTRIES IN IT_STD_BSAK
WHERE LIFNR = IT_STD_BSAK-LIFNR.
ENDIF.
IF NOT IT_STD_BSAK[] IS INITIAL.
SELECT LIFNR BUKRS GJAHR ERDAT USNAM UMSAV
FROM LFC1 INTO TABLE IT_STD_LFC1 FOR ALL ENTRIES IN IT_STD_BSAK
WHERE LIFNR = IT_STD_BSAK-LIFNR AND BUKRS = IT_STD_BSAK-BUKRS AND GJAHR = IT_STD_BSAK-GJAHR.
ENDIF.
IF NOT IT_STD_BSAK[] IS INITIAL.
SELECT LIFNR BUKRS GJAHR SHBKZ SALDV SOLLL HABNL
FROM LFC3 INTO TABLE IT_STD_LFC3 FOR ALL ENTRIES IN IT_STD_BSAK
WHERE LIFNR = IT_STD_BSAK-LIFNR AND BUKRS = IT_STD_BSAK-BUKRS AND GJAHR = IT_STD_BSAK-GJAHR.
ENDIF.
LOOP AT IT_STD_BSAK.
IT_STD_FINAL-BUKRS = IT_STD_BSAK-BUKRS.
IT_STD_FINAL-LIFNR = IT_STD_BSAK-LIFNR.
IT_STD_FINAL-UMSKS = IT_STD_BSAK-UMSKS.
IT_STD_FINAL-UMSKZ = IT_STD_BSAK-UMSKZ.
IT_STD_FINAL-AUGDT = IT_STD_BSAK-AUGDT.
IT_STD_FINAL-AUGBL = IT_STD_BSAK-AUGBL.
IT_STD_FINAL-ZUONR = IT_STD_BSAK-ZUONR.
IT_STD_FINAL-GJAHR = IT_STD_BSAK-GJAHR.
IT_STD_FINAL-BELNR = IT_STD_BSAK-BELNR.
IT_STD_FINAL-BUZEI = IT_STD_BSAK-BUZEI.
IT_STD_FINAL-BUDAT = IT_STD_BSAK-BUDAT.
IT_STD_FINAL-BLDAT = IT_STD_BSAK-BLDAT.
IT_STD_FINAL-XBLNR = IT_STD_BSAK-XBLNR.
IT_STD_FINAL-BLART = IT_STD_BSAK-BLART.
IT_STD_FINAL-MONAT = IT_STD_BSAK-MONAT.
IT_STD_FINAL-BSCHL = IT_STD_BSAK-BSCHL.
IT_STD_FINAL-ZUMSK = IT_STD_BSAK-ZUMSK.
IT_STD_FINAL-SHKZG = IT_STD_BSAK-SHKZG.
IT_STD_FINAL-GSBER = IT_STD_BSAK-GSBER.
IT_STD_FINAL-DMBTR = IT_STD_BSAK-DMBTR.
IT_STD_FINAL-WRBTR = IT_STD_BSAK-WRBTR.
IT_STD_FINAL-SGTXT = IT_STD_BSAK-SGTXT.
IT_STD_FINAL-SAKNR = IT_STD_BSAK-SAKNR.
IT_STD_FINAL-HKONT = IT_STD_BSAK-HKONT.
READ TABLE IT_STD_LFA1 WITH KEY LIFNR = IT_STD_FINAL-LIFNR.
IF SY-SUBRC = 0.
IT_STD_FINAL-NAME1 = IT_STD_LFA1-NAME1.
ENDIF.
READ TABLE IT_STD_LFC1 WITH KEY LIFNR = IT_STD_FINAL-LIFNR
BUKRS = IT_STD_FINAL-BUKRS
GJAHR = IT_STD_FINAL-GJAHR.
IF SY-SUBRC = 0.
IT_STD_FINAL-ERDAT = IT_STD_LFC1-ERDAT.
IT_STD_FINAL-USNAM = IT_STD_LFC1-USNAM.
IT_STD_FINAL-UMSAV = IT_STD_LFC1-UMSAV.
ENDIF.
*READ TABLE IT_STD_LFC3 WITH KEY LIFNR = IT_STD_FINAL-LIFNR
BUKRS = IT_STD_FINAL-BUKRS
GJAHR = IT_STD_FINAL-GJAHR.
IF SY-SUBRC = 0.
IT_STD_FINAL-SHBKZ = IT_STD_LFC3-SHBKZ.
IT_STD_FINAL-SALDV = IT_STD_LFC3-SALDV.
IT_STD_FINAL-SOLLL = IT_STD_LFC3-SOLLL.
IT_STD_FINAL-HABNL = IT_STD_LFC3-HABNL.
ENDIF.
APPEND IT_STD_FINAL.
CLEAR IT_STD_FINAL.
ENDLOOP.
LOOP AT IT_STD_BSIK.
IF SY-SUBRC = 0.
IT_STD_FINAL-BUKRS = IT_STD_BSIK-BUKRS.
IT_STD_FINAL-LIFNR = IT_STD_BSIK-LIFNR.
IT_STD_FINAL-UMSKS = IT_STD_BSIK-UMSKS.
IT_STD_FINAL-UMSKZ = IT_STD_BSIK-UMSKZ.
IT_STD_FINAL-AUGDT = IT_STD_BSIK-AUGDT.
IT_STD_FINAL-AUGBL = IT_STD_BSIK-AUGBL.
IT_STD_FINAL-ZUONR = IT_STD_BSIK-ZUONR.
IT_STD_FINAL-GJAHR = IT_STD_BSIK-GJAHR.
IT_STD_FINAL-BELNR = IT_STD_BSIK-BELNR.
IT_STD_FINAL-BUZEI = IT_STD_BSIK-BUZEI.
IT_STD_FINAL-BUDAT = IT_STD_BSIK-BUDAT.
IT_STD_FINAL-BLDAT = IT_STD_BSIK-BLDAT.
IT_STD_FINAL-XBLNR = IT_STD_BSIK-XBLNR.
IT_STD_FINAL-BLART = IT_STD_BSIK-BLART.
IT_STD_FINAL-MONAT = IT_STD_BSIK-MONAT.
IT_STD_FINAL-BSCHL = IT_STD_BSIK-BSCHL.
IT_STD_FINAL-ZUMSK = IT_STD_BSIK-ZUMSK.
IT_STD_FINAL-SHKZG = IT_STD_BSIK-SHKZG.
IT_STD_FINAL-GSBER = IT_STD_BSIK-GSBER.
IT_STD_FINAL-DMBTR = IT_STD_BSIK-DMBTR.
IT_STD_FINAL-WRBTR = IT_STD_BSIK-WRBTR.
IT_STD_FINAL-SGTXT = IT_STD_BSIK-SGTXT.
IT_STD_FINAL-SAKNR = IT_STD_BSIK-SAKNR.
IT_STD_FINAL-HKONT = IT_STD_BSIK-HKONT.
IT_STD_FINAL-ZLSCH = IT_STD_BSIK-ZLSCH.
ENDIF.
APPEND IT_STD_FINAL.
CLEAR IT_STD_FINAL.
ENDLOOP.
LOOP AT IT_STD_LFC3.
IF SY-SUBRC = 0.
IT_STD_FINAL-SHBKZ = IT_STD_LFC3-SHBKZ.
IT_STD_FINAL-SALDV = IT_STD_LFC3-SALDV.
IT_STD_FINAL-SOLLL = IT_STD_LFC3-SOLLL.
IT_STD_FINAL-HABNL = IT_STD_LFC3-HABNL.
ENDIF.
APPEND IT_STD_FINAL.
CLEAR IT_STD_FINAL.
ENDLOOP.
LOOP AT IT_STD_FINAL.
IF IT_STD_FINAL-SHKZG = 'S'.
IT_STD_FINAL-DMBTR_S = IT_STD_FINAL-DMBTR.
ELSE.
IF IT_STD_FINAL-SHKZG = 'H'.
IT_STD_FINAL-DMBTR_H = IT_STD_FINAL-DMBTR.
ENDIF.
ENDIF.
IT_STD_FINAL-DMBTR = ''.
MODIFY IT_STD_FINAL INDEX SY-TABIX TRANSPORTING DMBTR_H DMBTR_S DMBTR.
"VAR.
CLEAR IT_STD_FINAL.
ENDLOOP.
LOOP AT IT_STD_LFC3.
*AT NEW LIFNR.
IF SY-SUBRC = 0.
IT_STD_FINAL-LIFNR = IT_STD_LFC3-LIFNR.
IT_STD_FINAL-BUKRS = IT_STD_LFC3-BUKRS.
IT_STD_FINAL-GJAHR = IT_STD_LFC3-GJAHR.
IT_STD_FINAL-SHBKZ = IT_STD_LFC3-SHBKZ.
IT_STD_FINAL-UMSAV = IT_STD_LFC3-SALDV.
IT_STD_FINAL-DMBTR_S = IT_STD_LFC3-SOLLL.
IT_STD_FINAL-DMBTR_H = IT_STD_LFC3-HABNL.
ENDIF.
*ENDAT.
APPEND IT_STD_FINAL.
CLEAR IT_STD_FINAL.
ENDLOOP.
LOOP AT IT_STD_FINAL.
IT_STD_FINAL-DS = IT_STD_FINAL-DMBTR_S.
IT_STD_FINAL-DH = IT_STD_FINAL-DMBTR_H.
IT_STD_FINAL-SUB = ( IT_STD_FINAL-DS ) - ( IT_STD_FINAL-DH ).
IT_STD_FINAL-ADD = ( IT_STD_FINAL-UMSAV ) + ( IT_STD_FINAL-SUB ).
MODIFY IT_STD_FINAL.
ENDLOOP.
ENDFORM. " DATA_RETRIVAL
*& Form FIELD
text
--> p1 text
<-- p2 text
form FIELD .
LCAT-FIELDNAME = 'LIFNR'.
LCAT-TABNAME = 'IT_STD_FINAL'.
LCAT-SELTEXT_L = 'Vendor No'.
*LCAT-REF_TABNAME = 'EKKO'.
LCAT-JUST = 'M'.
APPEND LCAT TO FIELDCAT.
CLEAR LCAT.
LCAT-FIELDNAME = 'NAME1'.
LCAT-TABNAME = 'IT_STD_FINAL'.
LCAT-SELTEXT_L = 'Vendor Name'.
*LCAT-REF_TABNAME = 'EKKO'.
LCAT-JUST = 'M'.
APPEND LCAT TO FIELDCAT.
CLEAR LCAT.
LCAT-FIELDNAME = 'GJAHR'. "MATERIAL GROUP
LCAT-TABNAME = 'IT_STD_FINAL'.
LCAT-SELTEXT_L = 'Fiscal Year'.
*LCAT-REF_TABNAME = 'LFA1'.
LCAT-JUST = 'M'.
APPEND LCAT TO FIELDCAT.
CLEAR LCAT.
LCAT-FIELDNAME = 'GSBER'. "MATERIAL GROUP
LCAT-TABNAME = 'IT_STD_FINAL'.
LCAT-SELTEXT_L = 'BussArea'.
*LCAT-REF_TABNAME = 'LFA1'.
LCAT-JUST = 'M'.
APPEND LCAT TO FIELDCAT.
CLEAR LCAT.
LCAT-FIELDNAME = 'SHBKZ'.
LCAT-TABNAME = 'IT_STD_FINAL'.
LCAT-SELTEXT_L = 'S G/L'.
LCAT-REF_TABNAME = 'LFC3'.
LCAT-JUST = 'M'.
APPEND LCAT TO FIELDCAT.
CLEAR LCAT.
LCAT-FIELDNAME = 'UMSAV'.
LCAT-TABNAME = 'IT_STD_FINAL'.
LCAT-SELTEXT_L = 'Bal Carry Forward'.
*LCAT-REF_TABNAME = 'EKKO'.
LCAT-JUST = 'M'.
APPEND LCAT TO FIELDCAT.
CLEAR LCAT.
LCAT-FIELDNAME = 'DMBTR_S'.
LCAT-TABNAME = 'IT_STD_FINAL'.
LCAT-SELTEXT_L = 'Debit Balanace'.
*LCAT-REF_TABNAME = 'EKKO'.
LCAT-JUST = 'M'.
APPEND LCAT TO FIELDCAT.
CLEAR LCAT.
LCAT-FIELDNAME = 'DMBTR_H'.
LCAT-TABNAME = 'IT_STD_FINAL'.
LCAT-SELTEXT_L = 'Credit Balance'.
*LCAT-REF_TABNAME = 'EKKO'.
LCAT-JUST = 'M'.
APPEND LCAT TO FIELDCAT.
CLEAR LCAT.
LCAT-FIELDNAME = 'ADD'.
LCAT-TABNAME = 'IT_STD_FINAL'.
LCAT-SELTEXT_L = 'Accumulated Balance'.
*LCAT-REF_TABNAME = 'EKKO'.
LCAT-JUST = 'M'.
APPEND LCAT TO FIELDCAT.
CLEAR LCAT.
LOOP AT FIELDCAT INTO LCAT WHERE FIELDNAME = 'DMBTR_S'.
LCAT-DO_SUM = 'X'.
MODIFY FIELDCAT FROM LCAT." TRANSPORTING DO_SUM.
ENDLOOP.
LOOP AT FIELDCAT INTO LCAT WHERE FIELDNAME = 'DMBTR_H'.
LCAT-DO_SUM = 'X'.
MODIFY FIELDCAT FROM LCAT." TRANSPORTING DO_SUM.
ENDLOOP.
LOOP AT FIELDCAT INTO LCAT WHERE FIELDNAME = 'ADD'.
LCAT-DO_SUM = 'X'.
MODIFY FIELDCAT FROM LCAT." TRANSPORTING DO_SUM.
ENDLOOP.
endform. " FIELD
*& Form DISPLAY
text
--> p1 text
<-- p2 text
form DISPLAY .
CLEAR: IT_STD_BSAK,IT_STD_BSIK, IT_STD_LFA1 , IT_STD_LFC1, IT_STD_LFC3.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = 'STATUS '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT = LAYOUT
IT_FIELDCAT = FIELDCAT[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT = IT_SORT
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = EVENTS
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
I_HTML_HEIGHT_TOP = 0
I_HTML_HEIGHT_END = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
IR_SALV_FULLSCREEN_ADAPTER =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = IT_CHARG
t_outtab = IT_STD_FINAL
EXCEPTIONS
PROGRAM_ERROR = 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.
ENDFORM. "DISPLAY
*& Form EVENTS
text
--> p1 text
<-- p2 text
form EVENTS USING P_EVENTS TYPE slis_t_event.
DATA: ls_event TYPE slis_alv_event.
ls_event-name = 'TOP_OF_PAGE'.
ls_event-form = 'TOP_OF_PAGE'.
APPEND ls_event TO P_EVENTS.
endform. " EVENTS
*& Form TOP_OF_PAGE
text
FORM TOP_OF_PAGE.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = TOP.
ENDFORM. "TOP_OF_PAGE
**& Form SORT
text
-->P_IT_SORT text
form SORT using p_sort TYPE SLIS_T_SORTINFO_ALV.
DATA : LT_SORT TYPE slis_sortinfo_alv.
LT_SORT-fieldname = 'LIFNR'.
LT_SORT-tabname = 'IT_STD_FINAL'.
LT_SORT-up = 'X'.
LT_SORT-SUBTOT = 'X'.
APPEND LT_SORT TO P_SORT.
CLEAR LT_SORT.
LT_SORT-fieldname = 'GSBER'.
LT_SORT-tabname = 'IT_STD_FINAL'.
LT_SORT-up = 'X'.
LT_SORT-SUBTOT = 'X'.
APPEND LT_SORT TO P_SORT.
CLEAR LT_SORT.
LT_SORT-fieldname = 'UMSAV'.
LT_SORT-tabname = 'IT_LFC3'.
LT_SORT-up = 'X'.
LT_SORT-SUBTOT = 'X'.
APPEND LT_SORT TO P_SORT.
CLEAR LT_SORT.
endform. " SORT
*& Form LAYOUT
text
--> p1 text
<-- p2 text
form LAYOUT .
LAYOUT-ZEBRA = 'X'.
LAYOUT-INFO_FIELDNAME = 'LINE_COLOR'.
LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
APPEND LAYOUT." TO LAYOUT.
endform. " LAYOUT
*& Form EVENTS_1
text
-->P_EVENTS text
FORM EVENTS_1 USING P_EVENTS TYPE slis_t_event.
DATA: ls_event TYPE slis_alv_event.
WRITE: SY-UNAME.
ls_event-name = 'END_OF_PAGE'.
ls_event-form = 'END_OF_PAGE'.
APPEND ls_event TO P_EVENTS.
ENDFORM. " EVENTS_1
waiting for ur reply... -
plz help me,i am developing vendor performance report.what is vendor perfomance report .what is diff b/w normal report and vendor perfomance report .what type of field are required for vendor perfomance report.
regards
srinuwhat exactly is the requirement?
Can you eloborate on it.
thanks -
Report for vendor Purchase order
Hi
my Client requirement is when they enter PO.no,or by any means, they must get the report of Open Quantity, posted GR quantity, finally invoiced quantity of PO.
Do we have any Std, in SAP ???
regards
imranME2L is a quick report which may suit for your demand.
please check.
by the way, ME2L is the report per vendor.
if you want per material, please use ME2M.
and in the report list, you can select lots of fields you need.
Edited by: JiQing Zhao on Oct 19, 2010 6:26 AM
Maybe you are looking for
-
571 Server IP is blocked HELP!
Good Afternoon, We recently have updated our IP address which was provided to us through SoftLayer and it appears as though in 2013 the IP had been listed as a spam account; which was two years before we were using the IP. We have gone through the ap
-
Hi, since the last two weeks my new MacBook Pro keeps crashing at least twice everyday and not sure what the problem is. I thought the problem was first caused by Google Chrome as my MacBook always crashed when I was browsing the net, but even after
-
Hi, I am trying to activate a C program from within my java program using Runtime.getRuntime().exec("program name") this C program is dealing with various files from it's directory - which is different from my my java's app directory. the C app seems
-
hi: what is different between SUN Cluster Tools 5.0 and Sun Cluster 3.0? thanks in advance
-
BAdI before BBP_REQREQ_TRANSFER?
Hi all. SRM 4.0, ECS. I need to manipulate some of the values used when transfering the SC data to the purchase order, and without changing standard SAP code in BBP_REQREQ_TRANSFER I need to know if there is a BAdI that is called before this? By debu