Vendor Balances table
Hi,
We are developing a report on vendor balances.
We want to take the vendor total open items upto March 31, 2007 as a single figure, after that we want to show as invoice level.
In which table we can get consolidated fiscal year wise open items for vendor.
Sateesh
Hi Anupam,
Thanks for Quick reply.
If we extract all the years data it will be big pain to our local database table.
Thats why we want to take consolidate balnces upto last fiscal year, after that we want to show the invoice level.
Sateesh
Similar Messages
-
Table for vendor balances and g/l
hi friends....Can anybody help to find out the tables which can be used to find out the values available in the tcode FBL1N (Finance/accounts).We have to develop a new report to find out the vendor balances with user input vendor no., posting date and posting key.
Hi,
BKPF- Header table
BSEG- Item table
BSIK- Contians open items on vendor
BSAk- contians cleared items on Vendor -
Table for Vendor balance as on a given date
Hi,
We have to send daily vendor balance to a different system through XI. At present we take the open items from BSIK and transfer all open items. But it has performance issues. i need a table from where by giving the Vendor number and company code and the posting date I get Vendor balance as on that date.
Is there any table like that?
Thanks,
SAPFICOResolved. tables are LFC1 & LFC3
-
Hi All,
Please let me know the tables of vendor balances. I wanna know the tables from which i could know the balance payments of vendor against PO. Just i wanna know the vendor payment status.
Regards
Arunarun,
First all the vendor line items will get stored in BSIK table as a open item, after the line item can be cleared through reversal or by payment to vendor, the system will automatically clear the open tiem and moves the same documents to the BSAK table.
hope this will be the right answer..
SRINU -
Hi Friends,
I need to know whats the table I can enter in SQVI to pull vendors balance.
Please help.William,
If you are just trying to pull up vendor balances, you can use the standard SAP report : S_ALR_87012082.
Hope that helps...
Thanks,
Nandita -
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 -
Difference between vendor open items and vendor balance
Hi all,
I have the following problem: When I display open items for a vendor with a special general ledger code, it happens that for some vendors, the total of these open items do not equal the vendor balance concerning this special GL code.
Or in other words, the sum of BSIK and BSAK entries are not equal to the totals in table LFC3.
I identified SAP standard program RFEWA003, that gives me exactly these differences, but how can I correct the entry in LFC3?
The difference only occurs in the current fiscal year and is in the carryforward amount of LFC3. I checked the totals of debits and credits for the current year which are 100% correct.
Our last fiscal year was shortened (only 11 months). Could this be the reason?
How to correct LFC3 entries? Any correction program existing that is not related to Euro conversion?
Thanks for your appreciated help,
andie.m
Edited by: andie.m on Jul 2, 2009 2:49 PMHi Michael,
Thanks for your answer, but I tried already the carry forward. It just says there is nothing to be treated.
I thought there might be a special carry forward transaction for special general ledger accounts, but it does not seem.
Any other ideas?
Thanks for your help.
Andreas -
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... -
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 in the Selection-Screen when it is Selected .....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 in the Selection-Screen when it is Selected ..... -
Please update the functional specifications for Vendor Balance Report
Dear All,
Please update the functional specifications for Vendor Balance Report with
proper descriptions.
Please include
1. How your selection screen should look like..
2. Output format ( in an excel sheet)
3. Logic for every field in the output format (viz. .. how do link the
vendors from the selection screen to the BKPf and BSEG tables, how do you
find open and closed items in BSEG , etc.)
Please avoid statements like 'The total value of all the break-up should
tally with the balance as shown in FBL1N for a given vendor for the given
day.'
You need to give the logic for the FBL1N, in that case.
Regards
Rama MohanHello again,
Regarding having them update the specs, one can dream. Dreams are free. LOL. Hopefully the memory makers will update their specs as more makers start supporting a large memory configuration.
The 4GB sticks I am using are http://shop.kingston.com/partsinfo.asp?ktcpartno=KTL-TP667/4G
I did not do an extended test of the sticks in my MBP. Their home is in the ThinkPad I have because it is running Windows Server 2008 with Hyper-V.
As you can see from the link above, these little suckers are pricey. But consider the price of 2GB SoDIMMs were $950 when they entered the market a couple of years ago. The price will drop.
I asked the Kingston rep that sent these to me if online sites like newegg.com would have them soon. She indicated no, but the corporate buying sites like CDW and Zone would. So check around. They just started shipped a couple of weeks ago so be patient.
If you have any other questions, please stop by http://blogs.technet.com/keithcombs/archive/2008/07/05/testing-my-apple-macbook- pro-with-8gb-of-ram.aspx and ask there. I'll see them much more quickly.
Cheers,
Keith Combs
Microsoft -
Vendor Balance Report Day wise based on Posting date
Hi Guru's,
I am creating vendor balance reprot day wise based on posting date .
In my report i want to show TDS(With hold tax ) amount where can i get that field name how can retrive the data using bsik and bsak .
I Donot want to display reversal documents in the displaying list .How can i remove reversal entries .
Regards
Nandan.Hi Nandan,
check these tables:
A399
T059O
T059ZT
Regards,
Santosh Kumar M -
Vendor Balances in Foreign Currency
Hello Experts,
In standard SAP, S_ALR_87012082 Report displays the Vendor Balances in Local Currency. Is there any Std. report similar to this which displays the Vendor Balances in Foreign Currency. Because there could be some foreign vendors invoices are posted in Foreign Currency.
We are in ECC 6.0
Any inputs please.
Thanks
BalajiRead the data from LFC1 Table and use Function module to convert into foreign currency FM - CONVERT_TO_FOREIGN_CURRENCY
Reward Points if it is helpful
Thanks
Seshu -
Vendor Balance on a particular Day
Hi Guys,
I need to get the vendor balance on a particular day.
I need to develop a new report for calculating the vendor balances on a particular day.
How can i do this using BSIK and BSAK table. What logic can be used to calculate the balance for a particular vendor.
I need to give the specs to the ABAPer.
Pls advise.
Thanks
srik.Hi,
If you want vendor balance on a particular day.
Refer Table BSIS and BSAK and select field LIFNR and combine the vendor from BSAK and BSIK.
And take the total as of Posting date or Document Date ( BUDAT or BLDAT).
Along with Clearing date ( AUGDT) and Clearing Document(AUGBL) from BSAK table to differentitate the Open item and Cleared item.
And sum up the total based on posting Date.
Regards,
Hemanth. -
Profit Center wise Vendor Balance
Dear Sir,
Kindly guide us as how can we get a report / information for "PRFOFIT CENTER wise VENDOR Balances " . I tried with FBL1n but it give Balance without Profit Center . We are using ECC-6 .
We assure to give full points for the suggested solution pl .
Kindly help me pl .
Rgds
B MittalHi BV,
You will not get Profit Center wise payables information from FBL1N,though you can see the profit center field in FBL1N. This Profit center is the profit center sitting in BSEG table and with ECC 6.0 if you are using new GL, then Profit center wise details are available in FAGLFLEXA.
The other report as mentioned in one of the replies above is also there but its presentation is not so good as of FBL1N.
And the other option is to develop a Z report for Profit center wise payables. We have done it for receivables and it is working fine.
Regards,
SAPFICO -
Dear All,
I have a requirement to calculate the vendor balance....I have developed a report for it but the prob
For Eg if I check it in FBL1N with vendor and comp code given:
If I have 14 open items as on 30/12/2008 with a total of Rs.8433240.50
and on 31/12/2008 2 documents got cleared and the total is Rs.8400000.50
but as per my code I am getting 8400000.50 if i give the date as also 30/12/2008.
I have retrieved the data from table BSIK.Can u plz help me out if anyboy can.
Regards,
Pavani.REPORT Z_VEN_BAL NO STANDARD PAGE HEADING MESSAGE-ID zsp1.
TABLES : LFA1,
BSIK,
BSEG,
T001.
types:BEGIN OF ITab_LFA1 ,
LIFNR LIKE LFA1-LIFNR, " Acc. No. of Vendor or Creditor
NAME1 LIKE LFA1-NAME1, " Name
STRAS LIKE LFA1-STRAS,
ORT01 LIKE LFA1-ORT01, " City
REGIO LIKE LFA1-REGIO, " Region
LAND1 LIKE LFA1-LAND1, " Country
END OF ITab_LFA1.
types: BEGIN OF ITab_BSIK,
BUKRS LIKE BSIK-BUKRS,
LIFNR LIKE BSIK-LIFNR,
augdt like bsik-augdt,
ZUONR LIKE BSIK-ZUONR,
BELNR LIKE BSIK-BELNR,
BLDAT LIKE BSIK-BLDAT,
XBLNR LIKE BSIK-XBLNR,
BLART LIKE BSIK-BLART,
SHKZG LIKE BSIK-SHKZG,
WRBTR LIKE BSIK-WRBTR,
END OF ITab_BSIK.
types: BEGIN OF ITab_BSAK,
BUKRS LIKE BSAK-BUKRS,
LIFNR LIKE BSAK-LIFNR,
AUGDT LIKE BSAK-AUGDT,
ZUONR LIKE BSAK-ZUONR,
BELNR LIKE BSAK-BELNR,
BLDAT LIKE BSAK-BLDAT,
XBLNR LIKE BSAK-XBLNR,
BLART LIKE BSAK-BLART,
SHKZG LIKE BSAK-SHKZG,
WRBTR LIKE BSAK-WRBTR,
END OF ITab_BSAK.
TYPES : BEGIN OF ITAB_T001,
BUKRS LIKE T001-BUKRS,
BUTXT LIKE T001-BUTXT,
END OF ITAB_T001.
types:BEGIN OF ITab_FINAL,
LIFNR LIKE LFA1-LIFNR,
AUGDT LIKE BSIK-AUGDT,
BUKRS LIKE BSIK-BUKRS,
BUTXT LIKE T001-BUTXT,
ZUONR LIKE BSIK-ZUONR,
BELNR LIKE BSIK-BELNR,
NAME1 LIKE LFA1-NAME1,
STRAS LIKE LFA1-STRAS,
ORT01 LIKE LFA1-ORT01,
REGIO LIKE LFA1-REGIO,
LAND1 LIKE LFA1-LAND1, " Country
BLDAT LIKE BSIK-BLDAT,
XBLNR LIKE BSIK-XBLNR,
BLART LIKE BSIK-BLART,
SHKZG LIKE BSIK-SHKZG,
WRBTR LIKE BSIK-WRBTR,
END OF ITab_FINAL.
DATA:IT_final TYPE STANDARD TABLE OF ITAB_FINAL,
IT_BSIK TYPE STANDARD TABLE OF ITAB_BSIK,
IT_BSAK TYPE STANDARD TABLE OF ITAB_BSAK,
IT_LFA1 TYPE STANDARD TABLE OF ITAB_LFA1,
IT_T001 TYPE STANDARD TABLE OF ITAB_T001.
IT_final TYPE STANDARD TABLE OF zVENBAL1.
DATA : WA_FINAL type ITab_FINAL.
DATA : WA_BSIK type ITab_BSIK.
DATA : WA_BSAK type ITab_BSAK.
DATA : WA_LFA1 type ITab_LFA1.
DATA : WA_T001 TYPE ITAB_T001.
DATA: V_DATUM LIKE SY-DATUM. " For Current Date
DATA : p_repid TYPE tdsfname VALUE 'Z_SF_VEN_BAL'.
DATA : v_fm_name TYPE rs38l_fnam.
data : v_wrbtr like bsik-wrbtr.
data : v_wrbtr1 like bsAk-wrbtr.
DATA : V_AMOUNT LIKE BSAK-WRBTR.
SELECT-OPTIONS: S_LIFNR FOR LFA1-LIFNR,
S_BUKRS FOR BSIK-BUKRS.
parameters : p_augdt like bsik-augdt,
p_budat like bsik-budat.
AT SELECTION-SCREEN.
DATA: L_BLDAT LIKE BSAK-BLDAT.
IF NOT S_BUDAT[] IS INITIAL.
*--- Check for a valid Vendor No.
SELECT SINGLE BUDAT
INTO L_BUDAT
FROM BSAK
WHERE BUDAT IN S_LIFNR.
endif.
SELECT SINGLE *
INTO LFA1 FROM LFA1
WHERE LIFNR IN S_LIFNR.
IF SY-SUBRC <> 0.
MESSAGE E000.
ENDIF.
SELECT SINGLE *
INTO BSIK FROM BSIK
WHERE BUKRS IN S_BUKRS.
IF SY-SUBRC <> 0.
ENDIF.
START-OF-SELECTION.
SELECT LIFNR
NAME1
STRAS
ORT01
REGIO
LAND1
INTO CORRESPONDING FIELDS OF TABLE IT_final
FROM LFA1
WHERE LIFNR in S_LIFNR.
and bukrs in s_bukrs.
IF SY-SUBRC = 0.
SELECT BUKRS
LIFNR
augdt
ZUONR
BELNR
BLDAT
XBLNR
BLART
SHKZG
WRBTR
INTO CORRESPONDING FIELDS OF TABLE IT_BSIK
FROM BSIK
WHERE LIFNR IN S_LIFNR
AND BUKRS IN S_BUKRS
and budat <= p_budat.
SELECT BUKRS
LIFNR
AUGDT
ZUONR
BELNR
BLDAT
XBLNR
BLART
SHKZG
WRBTR
INTO CORRESPONDING FIELDS OF TABLE IT_BSAK
FROM BSAK
FOR ALL ENTRIES IN IT_FINAL
WHERE LIFNR = IT_FINAL-LIFNR
AND BUKRS IN S_BUKRS
and augdt >= p_augdt
and budat <= p_budat.
SELECT BUTXT INTO TABLE IT_T001
FROM T001
FOR ALL ENTRIES IN IT_BSIK
WHERE BUKRS = IT_BSIK-BUKRS.
ENDIF.
LOOP AT IT_FINAL INTO WA_FINAL.
LOOP AT IT_BSAK INTO WA_BSAK.
READ TABLE IT_BSAK INTO WA_BSAK index sy-tabix.
IF SY-SUBRC = 0.
MOVE WA_BSAK-SHKZG TO WA_FINAL-SHKZG.
MOVE WA_BSAK-WRBTR TO WA_FINAL-WRBTR.
IF WA_BSAK-SHKZG = 'H'.
COMPUTE WA_FINAL-WRBTR = WA_BSAK-WRBTR * -1.
V_WRBTR1 = V_WRBTR1 + WA_FINAL-WRBTR.
else.
compute wa_final-wrbtr = wa_bsak-wrbtr * 1.
v_wrbtr1 = v_wrbtr1 - wa_final-wrbtr.
ENDIF.
ENDIF.
MODIFY IT_FINAL FROM WA_FINAL.
ENDLOOP.
ENDLOOP.
LOOP AT IT_FINAL INTO WA_FINAL.
LOOP AT IT_BSIK INTO WA_BSIK.
READ TABLE IT_BSIK INTO WA_BSIK INDEX SY-TABIX.
IF SY-SUBRC = 0.
MOVE WA_BSIK-BUKRS TO WA_FINAL-BUKRS.
MOVE WA_BSIK-ZUONR TO WA_FINAL-ZUONR.
MOVE WA_BSIK-BELNR TO WA_FINAL-BELNR.
MOVE WA_BSIK-BLDAT TO WA_FINAL-BLDAT.
MOVE WA_BSIK-XBLNR TO WA_FINAL-XBLNR.
MOVE WA_BSIK-BLART TO WA_FINAL-BLART.
MOVE WA_BSIK-SHKZG TO WA_FINAL-SHKZG.
MOVE WA_BSIK-WRBTR TO WA_FINAL-WRBTR.
IF WA_BSIK-SHKZG = 'H'.
COMPUTE WA_FINAL-WRBTR = WA_BSIK-WRBTR * -1.
ELSE.
COMPUTE WA_FINAL-WRBTR = WA_BSIK-WRBTR * 1.
ENDIF.
ENDIF.
READ TABLE IT_T001 INTO WA_T001 INDEX SY-TABIX.
IF SY-SUBRC = 0.
MOVE WA_T001-BUTXT TO WA_FINAL-BUTXT.
ENDIF.
MODIFY IT_FINAL FROM WA_FINAL.
v_wrbtr = v_wrbtr + wa_final-wrbtr.
write : / v_wrbtr.
ENDLOOP.
ENDLOOP.
V_AMOUNT = V_WRBTR + V_WRBTR1.
write / v_amount.
Maybe you are looking for
-
Displying wrong data after entering estimated cost while creating travel request.
Hi Team, We are facing an issue while creating travel request from portal. When we are entering estimated cost and after clicking on save and send button we are getting data is saved as correct.But after clicking on display form button the data is sh
-
Installing Photoshop Elements 10
I can't get a stable version of the program to load in a Windows 7 64 bit environment. 1) It is becoming increasingly apparent that this version doesn't support 64 bit OS and quite obviously the install has not been tested in that environment. Are
-
Can we merge two cells of JTable, the way we do it in html using rowspan and colspan?
-
Can't copy from an ebay image/photo and paste into Photoshop CS4.....but Opera can? Problem is not win 7 or WinXP as your competitor "Opera" can do this.
-
Problem Opening Oracle Developer Days.ovf file
Hi, I'm having problem to download file "Oracle Developer Days.ovf" for Oracle Developer day "Pre-Workshop Setup Instructions: Hands-on Database Application Development". When I click the link it display the contents of file in new window. I tried to