Standard report for Vendor Evaluation

Hi everyone,
Is there any standard reports (ALV) to display Vendor evaluation ranking list except ME65, ME6B, ME6H.
any other Program names will also do...
Thanks
Sukriti...

hi
S_ALR_87012990 - Evaluation Comparison
ME6H - Standard Analysis: Vendor Evaluation
ME6E - Evaluation Records Without Weighting
ME6C - Vendors Without Evaluation
ME6B - Display Vendor Evaluation for Material
ME65 - Evaluation Lists
regards
kunal

Similar Messages

  • Custom report for vendor evaluation

    Hai All,
    My client requires custom report to show the vendor evaluation i.e., it has to show the working how it has arrived at the final score, to be clear systems works automatically and displays the final score based on certain main and sub criteria that working has to be shown in a table format for the purpose of TPM  audit.
    Regards
    R.Senthilnambi

    Hi Senthil,
    u can download the documents from sap help to show the logic to ur audit, how sap will calculate the scores.
    If they insist for certain data with logic, u can develop a z-report and show them for 10 or 20 materials.
    hope this resolves ur problem

  • Standard report for vendor payments made monthwise for acct grp

    My client needs a report with below fields and selection criteria based on the account group.:
    Vendor Number             Vendor Name                Amount(Payment per month)    Month
    Is there any standard report i can look in to.If not standard report then to custom report what fields do i need to go for.Please suggest.

    Hi,
    Selection Criteria being Account Group..Better try creating with Report Painter.
    Regards
    Andrew

  • Standard Report for Vendor Master

    Hi all,
    Is there any standard report in SAP that shows all fields in vendor master data for a list of vendors?
    Please respond.
    Best Regards,
    AI.

    Hi,
    You can use the T-Code MKVZ or You can use the below tables using SE16.
    Tables are,
                    LFA1               Vendor master
         LFB1               Vendor per company code
         LFB5               Vendor dunning data
         LFM1               Purchasing organisation data
         LFM2               Purchasing data
         LFBK               Bank details
    Regards,
    Mohd Ali.

  • Standard report for Vendor check numbers

    Is there a standard report that can be used to link the vendor to the check number.  I am looking for a report like FBL1N that has the check number in the ALV grid so I don't have to drill into the vendor so see the check number for that journal entry.
    Thanks
    Ryan

    Hi
    In FBL1N itself you can get the cheque number.
    Regards
    Sanil Bhandari

  • Standard Report for Vendors

    please help me find the standard report(if any) for below requests
    1. List vendors who we have not paid for last six months
    2. List vendors who are not Invoiced for last six months
    I tried with FLB1n but not simple for user to handle it.
    Raja B

    Hi Raja Balreddygari
    1. List vendors who we have not paid for last six months
        You can use  S_ALR_87012084 and S_ALR_87012085 for sorting days wise as fallowing selections.
    OI sorted list sorting (1,2)     1
    Summarization level (0-4)      0
    OI list summarization (0-2)     0
    Due Date Sorted List                 30  60  90 180
    Note change the above combination as per your requirement.
    2. List vendors who are not Invoiced for last six months
    In SAP there is no standard T.code to filter " not Invoiced values" last six months. manually we can filter from the above reports.
    Rds,
    @nil

  • 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 lot

    Hi,
    Check this link
    http://help.sap.com/saphelp_45b/helpdata/en/12/084635470311d1894a0000e8323352/frameset.htm
    Thanks
    suresh

  • Hi, I want to know that standard tables for vendor analasys report and sale

    Hi, I want to know that standard reports for vendor analasys report and sale order and customer order report...? why most probably we use tables and fetch the fields rather than standard reports >

    Hi
    This is the sample report for vendor aging:
    Std reports Tcodes are:
    customer : s_alr_87012178
    vendor : s_alr_87012084
    Custom designed:
    REPORT zfi_customer_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: kna1, " Customer 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 Customer Open Items Data
    DATA: BEGIN OF int_bsid OCCURS 0,
    kunnr LIKE bsid-kunnr, " Customer Number
    name1 LIKE kna1-name1, " Customer Name
    shkzg LIKE bsid-shkzg, " Dr/Cr Indicator
    belnr LIKE bsid-belnr, " Document Number
    xblnr LIKE bsid-xblnr, " Ref Doc No
    blart LIKE bsid-blart, " Document Type
    zfbdt LIKE bsid-zfbdt, " Base Line Date
    zbd1t LIKE bsid-zbd1t, " Due date1
    zbd2t LIKE bsid-zbd2t, " Due Date2
    zbd3t LIKE bsid-zbd3t, " Due Date3
    waers LIKE bsid-waers, " Currency
    dmbtr LIKE bsid-dmbtr, " Amount in Local Curr
    END OF int_bsid.
    Internal Table for Amounts Sum Up Data
    DATA: BEGIN OF int_final OCCURS 0,
    kunnr LIKE bsid-kunnr, " Customer Number
    name1 LIKE kna1-name1, " Customer Name
    total1 LIKE bsid-dmbtr, " Amount in Local Curr
    total2 LIKE bsid-dmbtr, " Amount in Local Curr
    total3 LIKE bsid-dmbtr, " Amount in Local Curr
    total4 LIKE bsid-dmbtr, " Amount in Local Curr
    total5 LIKE bsid-dmbtr, " Amount in Local Curr
    total6 LIKE bsid-dmbtr, " Amount in Local Curr
    total LIKE bsid-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 bsid-dmbtr, " Amount Totals
    v_gtotal2 LIKE bsid-dmbtr, " Amount Totals
    v_gtotal3 LIKE bsid-dmbtr, " Amount Totals
    v_gtotal4 LIKE bsid-dmbtr, " Amount Totals
    v_gtotal5 LIKE bsid-dmbtr, " Amount Totals
    v_gtotal6 LIKE bsid-dmbtr, " Amount Totals
    v_gtotal LIKE bsid-dmbtr, " Amount Totals
    v_subtotal1 LIKE bsid-dmbtr, " Amount Totals
    v_subtotal2 LIKE bsid-dmbtr, " Amount Totals
    v_subtotal3 LIKE bsid-dmbtr, " Amount Totals
    v_subtotal4 LIKE bsid-dmbtr, " Amount Totals
    v_subtotal5 LIKE bsid-dmbtr, " Amount Totals
    v_subtotal6 LIKE bsid-dmbtr, " Amount Totals
    v_subtotal LIKE bsid-dmbtr, " Amount Totals
    v_date LIKE bsid-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 bsid-zfbdt, " Date Range 1
    r_date2 FOR bsid-zfbdt, " Date Range 2
    r_date3 FOR bsid-zfbdt, " Date Range 3
    r_date4 FOR bsid-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_kunnr FOR kna1-kunnr. "Customer 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 Customer Code
    CLEAR kna1-kunnr.
    SELECT kunnr UP TO 1 ROWS
    INTO kna1-kunnr
    FROM kna1
    WHERE kunnr IN s_kunnr AND
    spras = sy-langu.
    ENDSELECT.
    IF sy-subrc <> 0.
    MESSAGE e000 WITH 'Invalid Customer 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 Customer Open Items data from bsid
    SELECT l~kunnr
    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_bsid
    FROM knb1 AS l INNER JOIN kna1 AS l1
    ON lkunnr = l1kunnr
    INNER JOIN bsid AS b
    ON lkunnr = bkunnr AND
    lbukrs = bbukrs
    WHERE l~kunnr IN s_kunnr 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_bsid WHERE
    ( blart NE 'RE' AND blart NE 'KR' ) OR
    shkzg NE 'H'.
    SORT int_bsid BY kunnr.
    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 Customer 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) 'Customer#'(015) CENTERED,
    13 sy-vline ,14(35) 'Customer 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_bsid.
    CLEAR v_date.
    IF int_bsid-zbd3t <> ' '.
    v_date = int_bsid-zfbdt + int_bsid-zbd3t.
    ELSE.
    IF int_bsid-zbd2t <> ' '.
    v_date = int_bsid-zfbdt + int_bsid-zbd2t.
    ELSE.
    v_date = int_bsid-zfbdt + int_bsid-zbd1t.
    ENDIF.
    ENDIF.
    IF int_bsid-zbd1t = ' '.
    v_date = int_bsid-zfbdt.
    ENDIF.
    IF v_date IN r_date1.
    int_final-total1 = int_final-total1 + int_bsid-dmbtr.
    ELSEIF v_date IN r_date2.
    int_final-total2 = int_final-total2 + int_bsid-dmbtr.
    ELSEIF v_date IN r_date3.
    int_final-total3 = int_final-total3 + int_bsid-dmbtr.
    ELSEIF v_date IN r_date4.
    int_final-total4 = int_final-total4 + int_bsid-dmbtr.
    ELSEif v_date > r_date4-high.
    int_final-total5 = int_final-total5 + int_bsid-dmbtr.
    ELSEif v_date < p_allgst.
    int_final-total6 = int_final-total6 + int_bsid-dmbtr.
    ENDIF.
    AT END OF kunnr.
    v_flag = 1.
    ENDAT.
    IF v_flag = 1.
    int_final-kunnr = int_bsid-kunnr.
    int_final-name1 = int_bsid-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-kunnr 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_bsid-waers,
    66 sy-vline,
    67 int_final-total2 CURRENCY int_bsid-waers,
    83 sy-vline,
    84 int_final-total3 CURRENCY int_bsid-waers,
    100 sy-vline,
    101 int_final-total4 CURRENCY int_bsid-waers,
    117 sy-vline,
    118 int_final-total5 CURRENCY int_bsid-waers,
    134 sy-vline,
    135 int_final-total6 CURRENCY int_bsid-waers,
    151 sy-vline,
    152 int_final-total CURRENCY int_bsid-waers,
    168 sy-vline.
    ELSE.
    WRITE : 50 int_final-total1 CURRENCY int_bsid-waers,
    66 sy-vline,
    67 int_final-total2 CURRENCY int_bsid-waers,
    83 sy-vline,
    84 int_final-total3 CURRENCY int_bsid-waers,
    100 sy-vline,
    101 int_final-total4 CURRENCY int_bsid-waers,
    117 sy-vline,
    118 int_final-total5 CURRENCY int_bsid-waers,
    134 sy-vline,
    135 int_final-total6 CURRENCY int_bsid-waers,
    151 sy-vline,
    152 int_final-total CURRENCY int_bsid-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_bsid-waers,
    66 sy-vline, 67 v_gtotal2 CURRENCY int_bsid-waers,
    83 sy-vline, 84 v_gtotal3 CURRENCY int_bsid-waers,
    100 sy-vline,101 v_gtotal4 CURRENCY int_bsid-waers,
    117 sy-vline,118 v_gtotal5 CURRENCY int_bsid-waers,
    134 sy-vline,135 v_gtotal6 CURRENCY int_bsid-waers,
    151 sy-vline,152 v_gtotal CURRENCY int_bsid-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_bsid BY belnr zfbdt.
    LOOP AT int_bsid WHERE kunnr EQ int_final-kunnr.
    v_rem = v_cnt MOD 2.
    CLEAR v_date.
    IF int_bsid-zbd3t <> ' '.
    v_date = int_bsid-zfbdt + int_bsid-zbd3t.
    ELSE.
    IF int_bsid-zbd2t <> ' '.
    v_date = int_bsid-zfbdt + int_bsid-zbd2t.
    ELSE.
    v_date = int_bsid-zfbdt + int_bsid-zbd1t.
    ENDIF.
    ENDIF.
    IF int_bsid-zbd1t = ' '.
    v_date = int_bsid-zfbdt.
    ENDIF.
    IF v_rem NE 0.
    format color 2 intensified.
    WRITE :/1 sy-vline, 2 int_bsid-belnr,
    12 sy-vline,13 int_bsid-kunnr,
    23 sy-vline,24 int_bsid-name1,
    59 sy-vline,60 int_bsid-xblnr,
    76 sy-vline,77 int_bsid-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_bsid-dmbtr CURRENCY int_bsid-waers,
    206 sy-vline.
    IF v_date IN r_date1.
    v_subtotal1 = v_subtotal1 + int_bsid-dmbtr.
    WRITE : 88 int_bsid-dmbtr CURRENCY int_bsid-waers.
    ELSEIF v_date IN r_date2.
    v_subtotal2 = v_subtotal2 + int_bsid-dmbtr.
    WRITE : 105 int_bsid-dmbtr CURRENCY int_bsid-waers.
    ELSEIF v_date IN r_date3.
    v_subtotal3 = v_subtotal3 + int_bsid-dmbtr.
    WRITE : 122 int_bsid-dmbtr CURRENCY int_bsid-waers.
    ELSEIF v_date IN r_date4.
    v_subtotal4 = v_subtotal4 + int_bsid-dmbtr.
    WRITE : 139 int_bsid-dmbtr CURRENCY int_bsid-waers.
    ELSEif v_date > r_date4-high.
    v_subtotal5 = v_subtotal5 + int_bsid-dmbtr.
    WRITE : 156 int_bsid-dmbtr CURRENCY int_bsid-waers.
    ELSEif v_date < p_allgst.
    v_subtotal6 = v_subtotal6 + int_bsid-dmbtr.
    WRITE : 173 int_bsid-dmbtr CURRENCY int_bsid-waers.
    ENDIF.
    format color off.
    ELSE.
    WRITE :/1 sy-vline, 2 int_bsid-belnr,
    12 sy-vline,13 int_bsid-kunnr,
    23 sy-vline,24 int_bsid-name1,
    59 sy-vline,60 int_bsid-xblnr,
    76 sy-vline,77 int_bsid-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_bsid-dmbtr CURRENCY int_bsid-waers,
    206 sy-vline.
    IF v_date IN r_date1.
    v_subtotal1 = v_subtotal1 + int_bsid-dmbtr.
    WRITE : 88 int_bsid-dmbtr CURRENCY int_bsid-waers.
    ELSEIF v_date IN r_date2.
    v_subtotal2 = v_subtotal2 + int_bsid-dmbtr.
    WRITE : 105 int_bsid-dmbtr CURRENCY int_bsid-waers.
    ELSEIF v_date IN r_date3.
    v_subtotal3 = v_subtotal3 + int_bsid-dmbtr.
    WRITE : 122 int_bsid-dmbtr CURRENCY int_bsid-waers.
    ELSEIF v_date IN r_date4.
    v_subtotal4 = v_subtotal4 + int_bsid-dmbtr.
    WRITE : 139 int_bsid-dmbtr CURRENCY int_bsid-waers.
    ELSEif v_date > r_date4-high.
    v_subtotal5 = v_subtotal5 + int_bsid-dmbtr.
    WRITE : 156 int_bsid-dmbtr CURRENCY int_bsid-waers.
    ELSEif v_date < p_allgst.
    v_subtotal6 = v_subtotal6 + int_bsid-dmbtr.
    WRITE : 173 int_bsid-dmbtr CURRENCY int_bsid-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_bsid-waers ,
    87 sy-vline,
    88 v_subtotal1 CURRENCY int_bsid-waers,
    104 sy-vline,
    105 v_subtotal2 CURRENCY int_bsid-waers,
    121 sy-vline,
    122 v_subtotal3 CURRENCY int_bsid-waers,
    138 sy-vline,
    139 v_subtotal4 CURRENCY int_bsid-waers,
    155 sy-vline,
    156 v_subtotal5 CURRENCY int_bsid-waers,
    172 sy-vline,
    173 v_subtotal6 CURRENCY int_bsid-waers,
    189 sy-vline,
    190 v_subtotal CURRENCY int_bsid-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 Customer Open Invoices as on'(024)
    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 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) 'Customer#'(015) CENTERED,
    23 sy-vline, 24(35) 'Customer 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
    REPORT zfi_vendor_ageing
    NO STANDARD PAGE HEADING
    LINE-COUNT 58
    line-size 168
    MESSAGE-ID zh_msg.
    Report Name : Vendor Open Items Ageing Report
    Purpose : This report displays the Vendor Open Items based on
    different Ageing days (Calculated by taking the Base
    Line date and the days mentioned in Payment Terms)
    M O D I F I C A T I O N L O G
    Date | Change Number | Initials | Description
    30-Aug-2004 | DTSK900**** | Anji Reddy | Initial
    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 = 'Saudi International Petrochemical 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
    <b>The below link will give Tables & Relations.</b>
    http://www.erpgenie.com/abap/tables.htm
    http://goldenink.com/abap/files_in_sap.html
    http://abap4.tripod.com/SAP_Tables.html
    http://www.geocities.com/sapcircle/Relations.pdf
    Regards,
    Sree

  • Role for Vendor Evaluation

    Hi experts
    i'd like to know what are the standard role for vendor evaluation and vendor qualify in SRM EBP 7.0.
    Regards
    Andrea

    The vendor evaluation questionnaire is always triggred when a the user posts a confirmation RIGHT?
    /SAPSRM/RECIPIENT -SAP SRM Server Role
    com.sap.pct.srm.ro_goodsrecipient-Portal Role
    Supplier Evaluation
    You can use Supplier Evaluation in SAP Supplier Relationship Management (SAP SRM) to evaluate your suppliers by means of Web-based surveys. You can tailor individual surveys and questionnaires, and select the criteria to evaluate. You can then transfer the data that you gather from the questionnaires and surveys to SAP NetWeaver Business Intelligence (SAP BI). You can use this information to help you select suppliers and negotiate conditions.
    For more information on reporting in SAP BI, see the SAP NetWeaver documentation on SAP Help Portal at  http://help.sap.com  SAP NetWeaver  SAP NetWeaver <release> Library  SAP Library  SAP NetWeaver Library  BI Content  Supplier Relationship Management  Supplier Evaluation .
    Prerequisites
    You need to compile questionnaires using the WebSurvey Cockpit. For more information, see the SAP NetWeaver documentation on SAP Help Portal at http://help.sap.com  SAP NetWeaver  SAP NetWeaver <release> Library  SAP Library  SAP NetWeaver Library  SAP NetWeaver by Key Capability  Application Platform by Key Capability  Business Services  Web Survey .
    When you use the Supplier Survey Cockpit (see below), you can access the WebSurvey Cockpit from the SAP NetWeaver Portal. To compile a questionnaire, in this case, click on the Supplier Evaluation tab strip. Then click on Create Questionnaire.
    Features
    There are two different methods to collect data to evaluate supplier performance:
    Event-driven evaluation. For example, when saving an invoice, a questionnaire is presented to the user
    Ad-hoc evaluation through surveys managed with the Supplier Survey Cockpit
    Event-Driven Evaluation
    SAP Supplier Relationship Management (SAP SRM) supports event-driven questionnaires for two specific occasions:
    Saving of a confirmation
    Saving of an invoice
    Note
    The event-driven evaluation and the ad-hoc evaluation use separate InfoProviders in SAP NetWeaver BI. The InfoProvider that is used for event-driven evaluation is also used for evaluation triggered from out of the Advanced Supplier List.
    End of the note.
    These events trigger a questionnaire, which pops up on the screen or enable a button to open the questionnaire. To carry out event-driven evaluation, you first have to specify in Customizing when and under which circumstances you want the evaluation to take place. For example, you can define that the evaluation is to occur for certain product categories, or suppliers, or purchasing organizations. You can also define the frequency (for example, every invoice/confirmation, or every second invoice/confirmation, and so on). For more information, see Customizing:  Integration with Other SAP Components  Data Transfer to the SAP Business Information Warehouse  Settings for Application-Specific DataSources (SRM)  Define Events for Supplier Evaluation in SRM
    Process
    Supplier Evaluation is used in the Confirmation and Invoice applications to evaluate day-to-day activities on the basis of operational documents. It can also be used from the Approved Supplier List.
    Supplier Evaluation Examples Application
    Possible Questionnaire
    Possible Criteria
    Confirmation
    Evaluation of goods
    Delivery on time?
    Condition of packaging?
    Confirmation
    Evaluation of services*
    Was the service performed in a timely fashion?
    Quality of service performed?
    Invoice
    Evaluation of invoice
    Invoice quantity = confirmed quantity?
    Was the invoice clearly presented?
    Approved Supplier List
    Evaluation of supplier
    Reliability of supplier?
    Price transparency of supplier?
    Note
    *Note the data protection regulations that apply when evaluating services.
    End of the note.
    For more information about SAP NetWeaver BI Reporting, see SAP Help Portal at  http://help.sap.com  SAP NetWeaver  BI Content  Supplier Relationship Management  Supplier Evaluation
    Ad-Hoc Evaluation: Supplier Survey Cockpit
    The Supplier Survey Cockpit is an application with which you can manage surveys to gain information about your suppliers. After completion of a survey, the survey data is transferred to SAP NetWeaver Business Intelligence (SAP NetWeaver BI) for reporting. Analyzing the survey outcomes in SAP NetWeaver BI helps you to always be up on your suppliers' performance regarding, for example, reliability, quality, and service.
    The Supplier Survey Cockpit enables you to gather information independently of a certain purchasing event. With the Supplier Survey Cockpit, you can do the following:
    Set up a survey
    Assign a questionnaire to the survey
    Distribute the questionnaire via e-mail and
    Monitor the responses
    Features
    To access the Supplier Survey Cockpit, choose Supplier Evaluation and then Survey Management under Detailed Navigation.
    By default, you find three queries: A survey query, a survey package query, and a survey monitor query. Depending on the query you choose, the table below the queries displays different information.
    To manage surveys, choose the survey query. Click on Create to create a new survey. Select a survey from the table and click on Display, Edit, or Delete to display, change, or delete a survey.
    To manage survey packages, choose the survey package query and click on the corresponding buttons.
    To download the table contents in MS Excel format, click on Export.
    For more information on the queries, which serve to monitor surveys, see Survey Monitoring.
    BR
    MUTHU

  • Wht r the standard tables for vendor customer and sales order report/

    Hi wht r the standard tables for vendor and customer reports and is how in normal we cannot use them for vendor reporting and etc ?

    Hi
    Customer is related to Sales Module
    So for a customer we fetch the reports of Sales orders , Deliveries and Billing doc's
    CUstomer and Vendor related tables with important fields:
    KNA1: Customer Master-General(KUNNR,NAME1,LAND1)
    KNB1: Customer Master(Company Code)(KUNNR,BUKRS,PERNR)
    KNC1: Customer Master Data (Transaction Figures)(KUNNR,BUKRS,GJAHR)
    KNVK: Customer Master Contact Partner(PARNR,KUNNR,NAME1)
    KNVV: Customer Master sales data(KUNNR,VKORG,VTWEG,KDGRP)
    KNBK: Customer Bank Details(KUNNR,BANKS,BANKL,BANKN)
    KNVH: Customer Hierarchy (HITYP,KUNNR,VKORG,VTWEG,SPART)
    KNVP: Customer Master Partner Functions(KUNNR,PARVW,KUNN2)
    KNVS: Customer Shipment data(KUNNR,VSTEL,TRANS)
    KNVI: Customer Tax data(KUNNR,ALAND,TATYP)
    LFA1: Vendor Master-General (LIFNR,NAME1,ORT01)
    LFB1: Vendor Master(Company Code)(LIFNR,BUKRS,PERNR)
    LFC1: Vendor Master (Transaction Figures)(LIFNR,BUKRS,GJAHR)
    Sales related Tables for a customer
    VBAK: Sales Document(Header Data) (VBELN, KUNNR)
    VBAP: Sales Document(Item Data) (VBELN,POSNR,MATNR,ARKTX,CHARG)
          Enquiry, Quotation, Sales Order are differentiated based on Doc.
          Type(VBTYP field) in VBAK,VBAP Tables( for Enquiry VBTYP = A,
          for Quotation 'B' & for Order it is 'C'.)
    LIKP: Delivery Table (Header Data)(VBELN,LFART,KUNNR,WADAT,INCO1)
    LIPS: Delivery Table (Item Data)(VBELN,POSNR,WERKS,LGORT,MATNR,VGBEL)
          (LIPS-VGBEL = VBAK-VBELN, LIPS-VGPOS = VBAP-POSNR)
    VTTK: Shipment Table (Header Data)(TKNUM)
    VTTP: Shipment Table (Item Data)( TKNUM,TPNUM,VBELN)
          (VTTP-VBELN = LIKP-VBELN)
    VTFA: Shipping Document Flow(TKNUM,VBELV,VBELN)
    VTPA: Shipping Partners data(VBELN,PARVW,KUNNR,PERNR)
    VTTS: Stages in Shipment(TKNUM,TSNUM,TSTYP)
    VTSP: Transport Stage/Shipment Item Allocation(TKNUM,TSNUM,TPNUM)
    VEKP: Handling Unit: Header(Packing)(VENUM,VSTEL)
    VEPO: Handling Unit: Item (Packing)(VENUM,VEPOS,VBELN)
    VBRK: Billing Table(Header Data)(VBELN,FKART,BELNR)
    VBRP: Billing Table(Item Data)(VBELN,POSNR,FKIMG,NETWR,VGBEL,VGPOS)
          (VBRP-AUBEL = VBAK-VBELN, VBRP-VGBEL = LIKP-VBELN)
          Apart from these tables there are lot of other tables which starts with
          ‘V’, but we use the following tables frequently.
    VBUK: All Sales Documents status & Admn. Data(Header)(VBELN,VBTYP)
          VBTYP= ‘C’(Sales Order) VBTYP=’J’(Delivery) VBTYP=’M’(Invoice) 
    VBUP: Sales Documents status & Admn. Data(Item)(VBELN,POSNR)
    VBEP: Sales Doc. Schedule Lines Data(VBELN,POSNR,EDATU,WMENG)
    VBKD: To get sales related Business data like Payment terms etc.(VBELN,ZTERM)
    VBFA: sales document flow data(VBELV,VBELN,POSNV,VBTYP)
    VBPA: Partner functions Data(VBELN,PARVW,KUNNR,LIFNR)
    VEDA: Contract Data(VBELN,VPOSN)
    VEDAPO: Contract Data(VBELN,VPOSN)
    Vendor related MM tables
    EBAN-- Pur.Reqn. Data (BANFN,BNFPO,BADAT,MATNR)
    EBKN-- Purchase Requisition Account Assignment(BANFN,BNFPO,VBELN)
    EINA—- Purchase Info.Record (General Data)(INFNR,MATNR,LIFNR)
    EINE-- Purchase Info.Record (Pur.Orgn Data )(INFNR,EKORG)
    ELBK-- Vendor Evaluation Header Data(LIFNR,EKORG,KLASS)
    EKKO-- Purchase Order Data (Header)(EBELN,BSTYP,BSART)
    EKPO-- Purchase Order Data (Item)(EBELN,EBELP,MATNR)
           RFQ and PO are differentiated by Doc Type(BSTYP)in EKKO table.
           For RFQ it is ‘A’ and for PO it is ‘F’.
    MKPF-- GRN Data (Header) (EBELN,BLDAT,BUDAT,XBLNR,BKTXT)
    MSEG-- GRN Data (Item)(MBLNR,BWART,LIFNR,MATNR,EBELN)
           Apart from this there are lot of tables which begin with 'M'& 'E', but we
           use the following very often.
    EKBE--PO History Data (EBELN,EBELP,BELNR,BLDAT,MATNR,VGABE)
    EKBZ--PO History with delivery Costs(EBELN,BELNR,LIFNR,XBLNR)
    EKET--Schedule lines data of a PO (EBELN,EINDT,SLFDT)
    EKES--Vendor Confirmations Data(EBELN,EBTYP,EINDT,XBLNR)
    Reward points if useful
    Regards
    Anji

  • Standard report for PO no, PO value, Vendor, Overdeliv.Tol, Underdeliv.Tol,

    Hi Experts,
    We have client requirement as follows, need a standard report which gives us the following information.
    PO number, PO value, Vendor, Overdelivery Tolerance, Underdelivery Tolerance, Unlimited check activated.
    Kindly let me know is there any standard report for the above requirement.
    Thanks in advance
    VNR

    Hi All,
    I tried with transactions codes provided i.e. ME2N, ME2M, ME2L, but I am not getting the fields Overdelivery.Tol, under delivery.Tol and Unlimited in the reports, remaining I can see.
    Any other options please!
    Regards,
    VNR

  • SAP Standard Reports for FICO

    Hi there,
    I'm new to SAP Finantials and i do not have access to the sap menu to check o Information Systems wich are the SAP Standard Reports for FICO. Could you help me on finding the names of these standard reports both for receivables and payables?
    Thanks in advance,
    Marc

    1.  Structured Account Balances (Balance Sheet & P&L Account  in FS Version Format)                                          S_ALR_87012279
    2.  GL Account Balances (Totals & Balances )             S_ALR_87012301
    3.  GL Line Items                                        S_ALR_87012282
    4.  Statements for GL Accounts, Customers & Vendors      S_ALR_87012332
    5.  Document Journal                                     S_ALR_87012287
    6.  Compact Document Journal                             S_ALR_87012289
    7.  Line Item Journal                                    S_ALR_87012291 8.  Display of Changed Documents                         S_ALR_87012293
    9.  Invoice Numbers assigned Twice                       S_ALR_87012341
    10. Gaps in Document Number Assignments                  S_ALR_87012342
    11. Posting Totals Document Type wise                    S_ALR_87012344
    12. Recurring Entry Documents                            S_ALR_87012346  
    13. Chart of Accounts                                   S_AL:R_87012326
    14. GL Account List                                     S_AL:R_87012328
    15. Display Changes to GL Accounts                       S_ALR_87012308
    16. Financial Statement Version                          FSE2  CASH & BANK REPORTS 
    1. Check Information List                                FCH6
    2. Check Register                                        FCHN
    3. Check Number Ranges                                   S_P99_41000102 
    TAX REPORTS & REGISTERS
    1. List of Internally generated Excise Invoices          J1I7
    2. Capital Goods Transfer of Credit                      J2I8                        
    3. List of GRs without Excise Invoice                    J1IGR
    4. List of SubContract Challans                          J1IFR
    5. CENVAT Register                                       J2I9 
    ACCOUNTS RECEIVABLE 
    1. Bill Holdings (Bill of Exchange Receivable List  with ALV facility)
                                                           S-ALR_87009987
    2. Customer Balances in Local Currency                   S_ALR_87012172
    3. Customer Line Items                                   S_ALR_87012197
    4. Due Dates Analysis for Open Items                     S_ALR_87012168
    5. List of Customer Open Items                           S_ALR_87012173
    6. Customer Evaluation with Open Item Sorted List        S_ALR_87012176
    7. Customer Payment History                              S_ALR_87012177
    8. Customer Open Item Analysis (Overdue Items Balance)   S_ALR_87012178
    9. List of Customer Cleared Line Items                   S_ALR_87012198
    10.List of Down Payments open at key date                S_ALR_87012199
    11. Debit & Credit Notes Register u2013 Monthly              S_ALR_87012287
    12. Customer wise Sales                                  S_ALR_87012186                        
    1. Vendor Balances                                       S_ALR_87012082
    2. Vendor Debit/Credit Memo Register                     S_ALR_87012287

  • Report for vendor balances

    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

  • This report for Vendor Balance Reconcillation.......

    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_1

    This 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...

  • 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

Maybe you are looking for

  • Lot size Key without splitting Quota

    Hi, Can any one explain me what is the use of Lot size Key without splitting Quota. We had created a lot size Key - XY with following seting:- 1) Lotsize Proceed = P 2) Lotsize indicator -K 3) Scheduling =2 4) No of periods = 1 5) Splitting Quota = N

  • Additional Fields of an infotype in a overview screen??

    Dear Alls, I have a question. I m using recruitment module, i have added field in previous employment infotype 0023 but i want to maintain multiple data in this infotype. but this addiotional field is not diaplay in overview screen while it is in inf

  • Weighted avg and stdev calculations with SSAS

    Hi, I need to write a calculation within BIDS calculations tab, that works for every query within my cube for a specific measure. I'd already tried several recommended approaches with no luck. Thanks!

  • Adding and deleting music via itunes

    i recently bought a 4 gig nano after using sandisk mp3 players for years and im trying to get use to itunes. how do i delete and add music via itunes?

  • Is it possible to get hacked without doing anythin...

    I'm apart of a forum, and within that forum there seems to be a lot of skype hackings which interfere with it's progressive development. Is it possible to get your skype hacked without anyone knowing the email of it and or adding others that send you