<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Transaction Code: F.30 (DSO analysis) question in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/transaction-code-f-30-dso-analysis-question/m-p/2380515#M528266</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;Sales Amounts you have to take from&amp;lt;b&amp;gt; VBRK and VBRP&amp;lt;/b&amp;gt; tables&lt;/P&gt;&lt;P&gt;and the Balances are taken from &amp;lt;b&amp;gt;BSID and BS&amp;lt;/b&amp;gt;AD tables&lt;/P&gt;&lt;P&gt;see the sample DSO report&lt;/P&gt;&lt;P&gt;report zf_rept_dso&lt;/P&gt;&lt;P&gt;       no standard page heading&lt;/P&gt;&lt;P&gt;       message-id fb&lt;/P&gt;&lt;P&gt;       line-count 65&lt;/P&gt;&lt;P&gt;       line-size 160.&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Purpose : This ABAP program will fetch the Total Sales for the Last&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           three months from the date entered on selection screen and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           Calculates the Total open items and Days Sales Outstanding&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           (DSO) and Days Overdue Outstanding(DOO).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables: t001,       " Company Codes&lt;/P&gt;&lt;P&gt;        tvko,       " Sales Organizations&lt;/P&gt;&lt;P&gt;        t005,       " Country Codes&lt;/P&gt;&lt;P&gt;        t151,       " Customer Groups&lt;/P&gt;&lt;P&gt;        t171,       " Sales Districts&lt;/P&gt;&lt;P&gt;        kna1.       " Customer Master&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Internal Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for VBRK Sales data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_vbrk occurs 0,&lt;/P&gt;&lt;P&gt;        vbeln like vbrk-vbeln,         " Billing Doc&lt;/P&gt;&lt;P&gt;        fkdat like vbrk-fkdat,         " Billing Date&lt;/P&gt;&lt;P&gt;        kunnr like vbrk-kunag,         " Customer Number&lt;/P&gt;&lt;P&gt;        fkart like vbrk-fkart,         " Billing Type&lt;/P&gt;&lt;P&gt;        vkorg like vbrk-vkorg,         " Sales Organization&lt;/P&gt;&lt;P&gt;        land1 like vbrk-land1,         " Country&lt;/P&gt;&lt;P&gt;        bukrs like vbrk-bukrs,         " Company Code&lt;/P&gt;&lt;P&gt;        netwr like vbrk-netwr,         " Net Value&lt;/P&gt;&lt;P&gt;        waerk like vbrk-waerk,         " Currency&lt;/P&gt;&lt;P&gt;        kdgrp like vbrk-kdgrp,         " Customer Group&lt;/P&gt;&lt;P&gt;        bzirk like vbrk-bzirk,         " Sales Employee&lt;/P&gt;&lt;P&gt;      end of it_vbrk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for BSID (Open Items) data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_bsid occurs 0,&lt;/P&gt;&lt;P&gt;        kunnr like bsid-kunnr,         " Customer Number&lt;/P&gt;&lt;P&gt;        gjahr like bsid-gjahr,         " Fiscal Year&lt;/P&gt;&lt;P&gt;        belnr like bsid-belnr,         " Acc.Document&lt;/P&gt;&lt;P&gt;        buzei like bsid-buzei,         " Item&lt;/P&gt;&lt;P&gt;        budat like bsid-budat,         " Posting Date&lt;/P&gt;&lt;P&gt;        blart like bsid-blart,         " Doc Type&lt;/P&gt;&lt;P&gt;        shkzg like bsid-shkzg,         " Dr/Cr Indicator&lt;/P&gt;&lt;P&gt;        dmbtr like bsid-dmbtr,         " Amount(Local Curr)&lt;/P&gt;&lt;P&gt;        dmbe2 like bsid-dmbe2,         " Amount(Doc Curr)&lt;/P&gt;&lt;P&gt;        waers like bsid-waers,         " Currency&lt;/P&gt;&lt;P&gt;        zterm like bsid-zterm,         " Payment Terms&lt;/P&gt;&lt;P&gt;        vbeln like bsid-vbeln,         " Billing Doc&lt;/P&gt;&lt;P&gt;        zfbdt like bsid-zfbdt,         " Baseline Date&lt;/P&gt;&lt;P&gt;        zbd1t like bsid-zbd1t,         " No of days&lt;/P&gt;&lt;P&gt;      end of it_bsid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for BSAD (Closed Items) data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_bsad occurs 0,&lt;/P&gt;&lt;P&gt;        kunnr like bsad-kunnr,         " Customer Number&lt;/P&gt;&lt;P&gt;        gjahr like bsad-gjahr,         " Fiscal Year&lt;/P&gt;&lt;P&gt;        belnr like bsad-belnr,         " Acc.Document&lt;/P&gt;&lt;P&gt;        buzei like bsad-buzei,         " Item&lt;/P&gt;&lt;P&gt;        budat like bsad-budat,         " Posting Date&lt;/P&gt;&lt;P&gt;        blart like bsid-blart,         " Doc Type&lt;/P&gt;&lt;P&gt;        shkzg like bsad-shkzg,         " Dr/Cr Indicator&lt;/P&gt;&lt;P&gt;        dmbtr like bsad-dmbtr,         " Amount(Local Curr)&lt;/P&gt;&lt;P&gt;        dmbe2 like bsad-dmbe2,         " Amount(Doc Curr)&lt;/P&gt;&lt;P&gt;        waers like bsad-waers,         " Currency&lt;/P&gt;&lt;P&gt;        zterm like bsid-zterm,         " Payment Terms&lt;/P&gt;&lt;P&gt;        vbeln like bsid-vbeln,         " Billing Doc&lt;/P&gt;&lt;P&gt;        zfbdt like bsid-zfbdt,         " Baseline Date&lt;/P&gt;&lt;P&gt;        zbd1t like bsid-zbd1t,         " No of days&lt;/P&gt;&lt;P&gt;      end of it_bsad.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for Customer data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_kna1 occurs 0,&lt;/P&gt;&lt;P&gt;        kunnr like kna1-kunnr,         " Customer Number&lt;/P&gt;&lt;P&gt;        name1 like kna1-name1,         " Customer Name&lt;/P&gt;&lt;P&gt;        land1 like kna1-land1,         " Country&lt;/P&gt;&lt;P&gt;      end of it_kna1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for Total AR Balances &amp;amp; Overdues&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_arbal occurs 0,&lt;/P&gt;&lt;P&gt;        kunnr like bsid-kunnr,         " Customer Number&lt;/P&gt;&lt;P&gt;        vbeln like bsid-vbeln,         " Billing Doc&lt;/P&gt;&lt;P&gt;        belnr like bsid-belnr,         " Acc.Document&lt;/P&gt;&lt;P&gt;        name1 like kna1-name1,         " Customer Name&lt;/P&gt;&lt;P&gt;        land1 like kna1-land1,         " Country&lt;/P&gt;&lt;P&gt;        shkzg like bsid-shkzg,         " Dr/Cr Indicator&lt;/P&gt;&lt;P&gt;        budat like bsid-budat,         " Posting Date&lt;/P&gt;&lt;P&gt;        blart like bsid-blart,         " Doc Type&lt;/P&gt;&lt;P&gt;        dmbtr like bsid-dmbtr,         " Amount(Local Curr)&lt;/P&gt;&lt;P&gt;        dmbe2 like bsid-dmbe2,         " Amount(Doc Curr)&lt;/P&gt;&lt;P&gt;        waers like bsid-waers,         " Currency&lt;/P&gt;&lt;P&gt;        due_amnt like bsid-dmbtr,      " Amount(Over Due)&lt;/P&gt;&lt;P&gt;        due_date like bsid-budat,      " Due date&lt;/P&gt;&lt;P&gt;        zterm like bsid-zterm,         " Payment Terms&lt;/P&gt;&lt;P&gt;        vkorg like vbrk-vkorg,         " Sales Organization&lt;/P&gt;&lt;P&gt;        kdgrp like vbrk-kdgrp,         " Customer Group&lt;/P&gt;&lt;P&gt;        bzirk like vbrk-bzirk,         " Sales Employee&lt;/P&gt;&lt;P&gt;      end of it_arbal.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for BSAD (Closed Items) data for 3 months Sales&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_bsad1 occurs 0,&lt;/P&gt;&lt;P&gt;        kunnr like bsad-kunnr,         " Customer Number&lt;/P&gt;&lt;P&gt;        gjahr like bsad-gjahr,         " Fiscal Year&lt;/P&gt;&lt;P&gt;        belnr like bsad-belnr,         " Acc.Document&lt;/P&gt;&lt;P&gt;        buzei like bsad-buzei,         " Item&lt;/P&gt;&lt;P&gt;        budat like bsad-budat,         " Posting Date&lt;/P&gt;&lt;P&gt;        blart like bsid-blart,         " Doc Type&lt;/P&gt;&lt;P&gt;        shkzg like bsad-shkzg,         " Dr/Cr Indicator&lt;/P&gt;&lt;P&gt;        dmbtr like bsad-dmbtr,         " Amount(Local Curr)&lt;/P&gt;&lt;P&gt;        dmbe2 like bsad-dmbe2,         " Amount(Doc Curr)&lt;/P&gt;&lt;P&gt;        waers like bsad-waers,         " Currency&lt;/P&gt;&lt;P&gt;        zterm like bsid-zterm,         " Payment Terms&lt;/P&gt;&lt;P&gt;        vbeln like bsid-vbeln,         " Billing Doc&lt;/P&gt;&lt;P&gt;        zfbdt like bsid-zfbdt,         " Baseline Date&lt;/P&gt;&lt;P&gt;        zbd1t like bsid-zbd1t,         " No of days&lt;/P&gt;&lt;P&gt;      end of it_bsad1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for Total 3 months Sales (BSID &amp;amp; BSAD)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_arsale occurs 0,&lt;/P&gt;&lt;P&gt;        kunnr like bsid-kunnr,         " Customer Number&lt;/P&gt;&lt;P&gt;        vbeln like bsid-vbeln,         " Billing Doc&lt;/P&gt;&lt;P&gt;        belnr like bsid-belnr,         " Acc.Document&lt;/P&gt;&lt;P&gt;        name1 like kna1-name1,         " Customer Name&lt;/P&gt;&lt;P&gt;        land1 like kna1-land1,         " Country&lt;/P&gt;&lt;P&gt;        shkzg like bsid-shkzg,         " Dr/Cr Indicator&lt;/P&gt;&lt;P&gt;        budat like bsid-budat,         " Posting Date&lt;/P&gt;&lt;P&gt;        blart like bsid-blart,         " Doc Type&lt;/P&gt;&lt;P&gt;        dmbtr like bsid-dmbtr,         " Amount(Local Curr)&lt;/P&gt;&lt;P&gt;        dmbe2 like bsid-dmbe2,         " Amount(Doc Curr)&lt;/P&gt;&lt;P&gt;        waers like bsid-waers,         " Currency&lt;/P&gt;&lt;P&gt;        zterm like bsid-zterm,         " Payment Terms&lt;/P&gt;&lt;P&gt;        vkorg like vbrk-vkorg,         " Sales Organization&lt;/P&gt;&lt;P&gt;        kdgrp like vbrk-kdgrp,         " Customer Group&lt;/P&gt;&lt;P&gt;        bzirk like vbrk-bzirk,         " Sales Employee&lt;/P&gt;&lt;P&gt;        amnt1 like bsid-dmbtr,         " Amount(Curr Month)&lt;/P&gt;&lt;P&gt;        amnt2 like bsid-dmbtr,         " Amount(Last Month)&lt;/P&gt;&lt;P&gt;        amnt3 like bsid-dmbtr,         " Amount(Prev Month)&lt;/P&gt;&lt;P&gt;      end of it_arsale.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for Total 3 months sales data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_sales occurs 0,&lt;/P&gt;&lt;P&gt;        kunnr like bsid-kunnr,         " Customer Number&lt;/P&gt;&lt;P&gt;        dmbtr like bsad-dmbtr,         " Amount(Local Curr)&lt;/P&gt;&lt;P&gt;        dmbe2 like bsad-dmbe2,         " Amount(Doc Curr)&lt;/P&gt;&lt;P&gt;        amnt1 like bsid-dmbtr,         " Amount(Curr Month)&lt;/P&gt;&lt;P&gt;        amnt2 like bsid-dmbtr,         " Amount(Last Month)&lt;/P&gt;&lt;P&gt;        amnt3 like bsid-dmbtr,         " Amount(Prev Month)&lt;/P&gt;&lt;P&gt;      end of it_sales.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for final output&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_report occurs 0,&lt;/P&gt;&lt;P&gt;        kunnr like bsid-kunnr,         " Customer Number&lt;/P&gt;&lt;P&gt;        name1 like kna1-name1,         " Customer Name&lt;/P&gt;&lt;P&gt;        land1 like kna1-land1,         " Country&lt;/P&gt;&lt;P&gt;        dmbtr like bsid-dmbtr,         " Amount(Local Curr)&lt;/P&gt;&lt;P&gt;        dmbe2 like bsid-dmbe2,         " Amount(Doc Curr)&lt;/P&gt;&lt;P&gt;        due_amt like bsid-dmbtr,       " Amount(Over Due)&lt;/P&gt;&lt;P&gt;      end of it_report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Declaration of Data and Variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;data: v_days  type i,            " Difference days&lt;/P&gt;&lt;P&gt;      v_waers like t001-waers,   " Co.Code Currency&lt;/P&gt;&lt;P&gt;      v_date1 like sy-datum,     " Date before 90 days&lt;/P&gt;&lt;P&gt;      v_num1 type p decimals 2,  " Calculation field for DSO&lt;/P&gt;&lt;P&gt;      v_num2 type p decimals 2,  " Calculation field for DOO&lt;/P&gt;&lt;P&gt;      v_dso  type i,             " DSO Value&lt;/P&gt;&lt;P&gt;      v_d_days type i,           " DSO,DDO Days&lt;/P&gt;&lt;P&gt;      v_doo  type i,             " DOO Value&lt;/P&gt;&lt;P&gt;      v_avg_dso type i,          " Average DSO&lt;/P&gt;&lt;P&gt;      v_avg_doo type i,          " Average DOO&lt;/P&gt;&lt;P&gt;      v_sum1  like bsid-dmbtr,   " Totals 1 (Basic List)&lt;/P&gt;&lt;P&gt;      v_sum2  like bsid-dmbtr,                              " Totals 2&lt;/P&gt;&lt;P&gt;      v_sum3  like bsid-dmbtr,                              " Totals 3&lt;/P&gt;&lt;P&gt;      v_sum4  like bsid-dmbtr,                              " Totals 4&lt;/P&gt;&lt;P&gt;      v_sum5  like bsid-dmbtr,                              " Totals 5&lt;/P&gt;&lt;P&gt;      v_sum6  like bsid-dmbtr,                              " Totals 6&lt;/P&gt;&lt;P&gt;      v_sum7  like bsid-dmbtr,   " Totals 1 (Interactive list)&lt;/P&gt;&lt;P&gt;      v_sum8  like bsid-dmbtr,                              " Totals 2&lt;/P&gt;&lt;P&gt;      v_sum9  like bsid-dmbtr,                              " Totals 3&lt;/P&gt;&lt;P&gt;      v_sum10 like bsid-dmbtr,                              " Totals 4&lt;/P&gt;&lt;P&gt;      v_sum11 like bsid-dmbtr,                              " Totals 5&lt;/P&gt;&lt;P&gt;      v_sum12 like bsid-dmbtr,                              " Totals 6&lt;/P&gt;&lt;P&gt;      v_sum13 like bsid-dmbtr,                              " Totals 7&lt;/P&gt;&lt;P&gt;      v_sum14 like bsid-dmbtr,                              " Totals 8&lt;/P&gt;&lt;P&gt;      v_mon1(2) type c,          " Current Month&lt;/P&gt;&lt;P&gt;      v_mon2(2) type c,          " Last Month&lt;/P&gt;&lt;P&gt;      v_mon3(2) type c.          " Previous Month&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;constants: c_rfbsk type c value 'C',&lt;/P&gt;&lt;P&gt;           c_shkzg type c value 'H',&lt;/P&gt;&lt;P&gt;           c_blart(2) type c value 'RV'.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   Selection Screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;selection-screen : begin of block b1 with frame title text-001.&lt;/P&gt;&lt;P&gt;parameters: p_bukrs like t001-bukrs obligatory.      " Company Code&lt;/P&gt;&lt;P&gt;select-options: s_vkorg for tvko-vkorg,              " Sales Orgn&lt;/P&gt;&lt;P&gt;                s_land1 for t005-land1,              " Country&lt;/P&gt;&lt;P&gt;                s_kunnr for kna1-kunnr,              " Customer Number&lt;/P&gt;&lt;P&gt;                s_kdgrp for t151-kdgrp,              " Customer Group&lt;/P&gt;&lt;P&gt;                s_bzirk for t171-bzirk.              " Sales Employee&lt;/P&gt;&lt;P&gt;parameters: p_date  like sy-datum obligatory.        " Report Date&lt;/P&gt;&lt;P&gt;selection-screen: end of block b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********&lt;STRONG&gt;Initialization&lt;/STRONG&gt;**********************************************&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; At Selection Screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;at selection-screen.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Checking for the input values of selection screen.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform screen_check.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Top-Of-Page&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;top-of-page.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Column Headings for detailed report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform col_heading.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Top-Of-Page during Line-Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;top-of-page during line-selection.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Column Headings for Interactive detailed report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform line_sel_col_heading.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Start-Of-Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculate dates for the last three months&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_dates.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Select the Sales data for the Last 90 days from VBRK&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_sales_data.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Customer Open Items from BSID&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_open_data.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Customer Closed Items from BSAD&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_close_data.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the data from BSID,BSAD and KNA1 into one int.table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform process_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; End-Of-Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;  if it_report[] is initial.&lt;/P&gt;&lt;P&gt;    write : 'No Documents found'(002).&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Detailed Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform write_report.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; At Line-Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;at line-selection.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When double clicked on KUNNR display the details of AR and Sales&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform line_sel.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SCREEN_CHECK&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Checking for the input values of selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form screen_check.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Company Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t001.&lt;/P&gt;&lt;P&gt;  if not p_bukrs is initial.&lt;/P&gt;&lt;P&gt;    select bukrs from t001 up to 1 rows&lt;/P&gt;&lt;P&gt;           into t001-bukrs&lt;/P&gt;&lt;P&gt;           where bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;      message e000 with 'Invalid Company Code'(003).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Customer Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear kna1.&lt;/P&gt;&lt;P&gt;  if not s_kunnr is initial.&lt;/P&gt;&lt;P&gt;    select kunnr from kna1 up to 1 rows&lt;/P&gt;&lt;P&gt;           into kna1-kunnr&lt;/P&gt;&lt;P&gt;           where kunnr in s_kunnr.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;      message e000 with 'Invalid Customer Number'(004).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Sales Organization&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear tvko.&lt;/P&gt;&lt;P&gt;  if not s_vkorg is initial.&lt;/P&gt;&lt;P&gt;    select vkorg from tvko up to 1 rows&lt;/P&gt;&lt;P&gt;           into tvko-vkorg&lt;/P&gt;&lt;P&gt;           where vkorg in s_vkorg.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;      message e000 with 'Invalid Sales Organization'(016).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Country(Region)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t005.&lt;/P&gt;&lt;P&gt;  if not s_land1 is initial.&lt;/P&gt;&lt;P&gt;    select land1 from t005 up to 1 rows&lt;/P&gt;&lt;P&gt;           into t005-land1&lt;/P&gt;&lt;P&gt;           where land1 in s_land1.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;      message e000 with 'Invalid Country'(017).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Customer Group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t151.&lt;/P&gt;&lt;P&gt;  if not s_kdgrp is initial.&lt;/P&gt;&lt;P&gt;    select kdgrp from t151 up to 1 rows&lt;/P&gt;&lt;P&gt;           into t151-kdgrp&lt;/P&gt;&lt;P&gt;           where kdgrp in s_kdgrp.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;      message e000 with 'Invalid Customer Group'(025).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Sales Employee(district)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t171.&lt;/P&gt;&lt;P&gt;  if not s_bzirk is initial.&lt;/P&gt;&lt;P&gt;    select bzirk from t171 up to 1 rows&lt;/P&gt;&lt;P&gt;           into t171-bzirk&lt;/P&gt;&lt;P&gt;           where bzirk in s_bzirk.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;      message e000 with 'Invalid Sales Employee'(026).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if p_date+4(2) = '02'.&lt;/P&gt;&lt;P&gt;    if ( p_date+6(2) &amp;lt;&amp;gt; '28' ).&lt;/P&gt;&lt;P&gt;      message e000 with 'Enter Last Date of the month'(030).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  elseif ( p_date+4(2) = '04' or&lt;/P&gt;&lt;P&gt;       p_date+4(2) = '06' or&lt;/P&gt;&lt;P&gt;       p_date+4(2) = '09' or&lt;/P&gt;&lt;P&gt;       p_date+4(2) = '11' ).&lt;/P&gt;&lt;P&gt;    if p_date+6(2) &amp;lt;&amp;gt; '30'.&lt;/P&gt;&lt;P&gt;      message e000 with 'Enter Last Date of the month'(030).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    if  p_date+6(2) &amp;lt;&amp;gt; '31' .&lt;/P&gt;&lt;P&gt;      message e000 with 'Enter Last Date of the month'(030).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " SCREEN_CHECK&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  COL_HEADING&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Column Headings for detailed report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form col_heading.&lt;/P&gt;&lt;P&gt;  skip .&lt;/P&gt;&lt;P&gt;  write: /66 'DSO/DOO REPORT AS AT:'(005) centered,&lt;/P&gt;&lt;P&gt;         88  p_date  centered, 151 sy-pagno.&lt;/P&gt;&lt;P&gt;  skip .&lt;/P&gt;&lt;P&gt;  write: /2 'CoCode:'(006),13(4) p_bukrs color 3,&lt;/P&gt;&lt;P&gt;         20 'Currency:'(020), v_waers color 3.&lt;/P&gt;&lt;P&gt;  if not s_vkorg is initial.&lt;/P&gt;&lt;P&gt;    if not s_vkorg-high is initial.&lt;/P&gt;&lt;P&gt;      write: /2 'SalesOrgn:'(021),13 s_vkorg-low color 3,&lt;/P&gt;&lt;P&gt;               '-', s_vkorg-high color 3.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /2 'SalesOrgn:'(021),13 s_vkorg-low color 3.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not s_land1 is initial.&lt;/P&gt;&lt;P&gt;    if not s_land1-high is initial.&lt;/P&gt;&lt;P&gt;      write: /2 'Country:'(022),13 s_land1-low color 3,&lt;/P&gt;&lt;P&gt;              '-', s_land1-high color 3.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /2 'Country:'(022),13 s_land1-low color 3.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not s_kunnr is initial.&lt;/P&gt;&lt;P&gt;    if not s_kunnr-high is initial.&lt;/P&gt;&lt;P&gt;      write: /2 'Customer:'(023),13 s_kunnr-low color 3,&lt;/P&gt;&lt;P&gt;                '-', s_kunnr-high color 3.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /2 'Customer:'(023),13 s_kunnr-low color 3.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not s_kdgrp is initial.&lt;/P&gt;&lt;P&gt;    if not s_kdgrp-high is initial.&lt;/P&gt;&lt;P&gt;      write: /2 'Cust.Grp:'(027),13 s_kdgrp-low color 3,&lt;/P&gt;&lt;P&gt;                '-', s_kdgrp-high color 3.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /2 'Cust.Grp:'(027),13 s_kdgrp-low color 3.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not s_bzirk is initial.&lt;/P&gt;&lt;P&gt;    if not s_bzirk-high is initial.&lt;/P&gt;&lt;P&gt;      write: /2 'Sales Emp:'(028),13 s_bzirk-low color 3,&lt;/P&gt;&lt;P&gt;                '-', s_bzirk-high color 3.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /2 'Sales Emp:'(028),13 s_bzirk-low color 3.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write: 135 'Run Date:'(007), sy-datum.&lt;/P&gt;&lt;P&gt;  format color col_heading.&lt;/P&gt;&lt;P&gt;  write at /1(156) sy-uline .&lt;/P&gt;&lt;P&gt;  write: / sy-vline,&lt;/P&gt;&lt;P&gt;        12 sy-vline,&lt;/P&gt;&lt;P&gt;        43 sy-vline,&lt;/P&gt;&lt;P&gt;        48 sy-vline, 49(15) 'Outstanding'(011) centered,&lt;/P&gt;&lt;P&gt;        64 sy-vline, 65(15) 'Overdue'(012) centered,&lt;/P&gt;&lt;P&gt;        80 sy-vline, 81(15) 'Sales'(014) centered,&lt;/P&gt;&lt;P&gt;        96 sy-vline, 97(15) 'Sales'(014) centered,&lt;/P&gt;&lt;P&gt;       112 sy-vline,113(15) 'Sales'(014) centered,&lt;/P&gt;&lt;P&gt;       128 sy-vline,129(15) 'Total'(032) centered,&lt;/P&gt;&lt;P&gt;       144 sy-vline,&lt;/P&gt;&lt;P&gt;       150 sy-vline,&lt;/P&gt;&lt;P&gt;       156 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write: / sy-vline,  2(10) 'Customer'(008) centered,&lt;/P&gt;&lt;P&gt;        12 sy-vline, 13(30) 'Customer Name'(009),&lt;/P&gt;&lt;P&gt;        43 sy-vline, 44(4)  'Ctry'(024) centered,&lt;/P&gt;&lt;P&gt;        48 sy-vline, 49(15) 'Balance'(010) centered,&lt;/P&gt;&lt;P&gt;        64 sy-vline, 65(15) 'Balance'(010) centered,&lt;/P&gt;&lt;P&gt;        80 sy-vline, 81(15) 'Previous Month'(013) centered,&lt;/P&gt;&lt;P&gt;        96 sy-vline, 97(15) 'Last Month'(029) centered,&lt;/P&gt;&lt;P&gt;       112 sy-vline,113(15) 'Current Month'(031) centered,&lt;/P&gt;&lt;P&gt;       128 sy-vline,129(15) 'Sales'(014) centered,&lt;/P&gt;&lt;P&gt;       144 sy-vline,145(5)  'DSO'(015) centered,&lt;/P&gt;&lt;P&gt;       150 sy-vline,151(5)  'DOO'(018) centered,&lt;/P&gt;&lt;P&gt;       156 sy-vline.&lt;/P&gt;&lt;P&gt;  write at /1(156) sy-uline.&lt;/P&gt;&lt;P&gt;  format color off.&lt;/P&gt;&lt;P&gt;endform.                    " COL_HEADING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_DATES&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculate dates for the last three months&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_dates.&lt;/P&gt;&lt;P&gt;  v_date1 = p_date.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;3 months Back Month start date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if v_date1+4(2) = '01'.&lt;/P&gt;&lt;P&gt;    v_date1+4(2) = '11'.&lt;/P&gt;&lt;P&gt;    v_date1&lt;EM&gt;0(4) = v_date1&lt;/EM&gt;0(4) - 1.&lt;/P&gt;&lt;P&gt;  elseif v_date1+4(2) = '02'.&lt;/P&gt;&lt;P&gt;    v_date1+4(2) = '12'.&lt;/P&gt;&lt;P&gt;    v_date1&lt;EM&gt;0(4) = v_date1&lt;/EM&gt;0(4) - 1.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    v_date1&lt;EM&gt;4(2) =  v_date1&lt;/EM&gt;4(2) - 2.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if v_date1+6(2) &amp;lt;&amp;gt; '01'.&lt;/P&gt;&lt;P&gt;    v_date1+6(2) = '01'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_d_days = p_date - v_date1.&lt;/P&gt;&lt;P&gt;  v_d_days = v_d_days + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculate 3 months&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  v_mon1 = p_date+4(2).&lt;/P&gt;&lt;P&gt;  v_mon2 = p_date+4(2) - 1.&lt;/P&gt;&lt;P&gt;  v_mon3 = p_date+4(2) - 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " GET_DATES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_SALES_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Select the Sales data for the Last 90 days&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_sales_data.&lt;/P&gt;&lt;P&gt;  select&lt;/P&gt;&lt;P&gt;        vbeln          " Billing Doc&lt;/P&gt;&lt;P&gt;        fkdat          " Billing Date&lt;/P&gt;&lt;P&gt;        kunag          " Customer Number&lt;/P&gt;&lt;P&gt;        fkart          " Billing Type&lt;/P&gt;&lt;P&gt;        vkorg          " Sales Organization&lt;/P&gt;&lt;P&gt;        land1          " Country&lt;/P&gt;&lt;P&gt;        bukrs          " Company Code&lt;/P&gt;&lt;P&gt;        netwr          " Net Value&lt;/P&gt;&lt;P&gt;        waerk          " Currency&lt;/P&gt;&lt;P&gt;        kdgrp          " Customer Group&lt;/P&gt;&lt;P&gt;        bzirk          " Sales Employee&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   into table it_vbrk&lt;/P&gt;&lt;P&gt;   from vbrk&lt;/P&gt;&lt;P&gt;   where&lt;/P&gt;&lt;P&gt;         bukrs = p_bukrs  and&lt;/P&gt;&lt;P&gt;         vkorg in s_vkorg and&lt;/P&gt;&lt;P&gt;         land1 in s_land1 and&lt;/P&gt;&lt;P&gt;         kunag in s_kunnr and&lt;/P&gt;&lt;P&gt;         kdgrp in s_kdgrp and&lt;/P&gt;&lt;P&gt;         bzirk in s_bzirk and&lt;/P&gt;&lt;P&gt;         rfbsk = c_rfbsk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort it_vbrk by vbeln fkdat kunnr.&lt;/P&gt;&lt;P&gt;  clear v_waers.&lt;/P&gt;&lt;P&gt;  select single waers from t001&lt;/P&gt;&lt;P&gt;     into v_waers where bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " GET_SALES_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_OPEN_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Customer Open Items from BSID&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_open_data.&lt;/P&gt;&lt;P&gt;  select kunnr          " Customer Number&lt;/P&gt;&lt;P&gt;         gjahr          " Fiscal Year&lt;/P&gt;&lt;P&gt;         belnr          " Acc.Document&lt;/P&gt;&lt;P&gt;         buzei          " Item&lt;/P&gt;&lt;P&gt;         budat          " Posting Date&lt;/P&gt;&lt;P&gt;         blart          " Doc Type&lt;/P&gt;&lt;P&gt;         shkzg          " Dr/Cr Indicator&lt;/P&gt;&lt;P&gt;         dmbtr          " Amount(Local Curr)&lt;/P&gt;&lt;P&gt;         dmbe2          " Amount(Doc Curr)&lt;/P&gt;&lt;P&gt;         waers          " Currency&lt;/P&gt;&lt;P&gt;         zterm          " Payment Terms&lt;/P&gt;&lt;P&gt;         vbeln          " Billing Doc&lt;/P&gt;&lt;P&gt;         zfbdt          " Baseline Date&lt;/P&gt;&lt;P&gt;         zbd1t          " No of days&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     into table it_bsid&lt;/P&gt;&lt;P&gt;     from bsid&lt;/P&gt;&lt;P&gt;     where bukrs = p_bukrs  and&lt;/P&gt;&lt;P&gt;           kunnr in s_kunnr and&lt;/P&gt;&lt;P&gt;           budat le p_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort it_bsid by kunnr gjahr belnr buzei budat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " GET_OPEN_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_CLOSE_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Customer closed Items from BSID&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_close_data.&lt;/P&gt;&lt;P&gt;  select kunnr          " Customer Number&lt;/P&gt;&lt;P&gt;         gjahr          " Fiscal Year&lt;/P&gt;&lt;P&gt;         belnr          " Acc.Document&lt;/P&gt;&lt;P&gt;         buzei          " Item&lt;/P&gt;&lt;P&gt;         budat          " Posting Date&lt;/P&gt;&lt;P&gt;         blart          " Doc Type&lt;/P&gt;&lt;P&gt;         shkzg          " Dr/Cr Indicator&lt;/P&gt;&lt;P&gt;         dmbtr          " Amount(Local Curr)&lt;/P&gt;&lt;P&gt;         dmbe2          " Amount(Doc Curr)&lt;/P&gt;&lt;P&gt;         waers          " Currency&lt;/P&gt;&lt;P&gt;         zterm          " Payment Terms&lt;/P&gt;&lt;P&gt;         vbeln          " Billing Doc&lt;/P&gt;&lt;P&gt;         zfbdt          " Baseline Date&lt;/P&gt;&lt;P&gt;         zbd1t          " No of days&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    into table it_bsad&lt;/P&gt;&lt;P&gt;    from bsad&lt;/P&gt;&lt;P&gt;    where bukrs = p_bukrs  and&lt;/P&gt;&lt;P&gt;          kunnr in s_kunnr and&lt;/P&gt;&lt;P&gt;          augdt &amp;gt; p_date   and&lt;/P&gt;&lt;P&gt;          budat le p_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort it_bsad by kunnr gjahr belnr buzei budat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the sales data from BSAD&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  select kunnr          " Customer Number&lt;/P&gt;&lt;P&gt;         gjahr          " Fiscal Year&lt;/P&gt;&lt;P&gt;         belnr          " Acc.Document&lt;/P&gt;&lt;P&gt;         buzei          " Item&lt;/P&gt;&lt;P&gt;         budat          " Posting Date&lt;/P&gt;&lt;P&gt;         blart          " Doc Type&lt;/P&gt;&lt;P&gt;         shkzg          " Dr/Cr Indicator&lt;/P&gt;&lt;P&gt;         dmbtr          " Amount(Local Curr)&lt;/P&gt;&lt;P&gt;         dmbe2          " Amount(Doc Curr)&lt;/P&gt;&lt;P&gt;         waers          " Currency&lt;/P&gt;&lt;P&gt;         zterm          " Payment Terms&lt;/P&gt;&lt;P&gt;         vbeln          " Billing Doc&lt;/P&gt;&lt;P&gt;         zfbdt          " Baseline Date&lt;/P&gt;&lt;P&gt;         zbd1t          " No of days&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     into table it_bsad1&lt;/P&gt;&lt;P&gt;     from bsad&lt;/P&gt;&lt;P&gt;     for all entries in it_vbrk&lt;/P&gt;&lt;P&gt;     where kunnr = it_vbrk-kunnr and&lt;/P&gt;&lt;P&gt;           vbeln = it_vbrk-vbeln and&lt;/P&gt;&lt;P&gt;           bukrs = it_vbrk-bukrs and&lt;/P&gt;&lt;P&gt;           ( budat le p_date and&lt;/P&gt;&lt;P&gt;             budat ge v_date1 ) and&lt;/P&gt;&lt;P&gt;           blart = c_blart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort it_bsad1 by kunnr gjahr belnr buzei budat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fetch the Customer Name and Country from KNA1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  select kunnr    " Customer Number&lt;/P&gt;&lt;P&gt;         name1    " Name&lt;/P&gt;&lt;P&gt;         land1    " Country&lt;/P&gt;&lt;P&gt;      into table it_kna1&lt;/P&gt;&lt;P&gt;      from kna1&lt;/P&gt;&lt;P&gt;      where kunnr in s_kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " GET_CLOSE_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  PROCESS_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the data from BSID,BSAD and KNA1 into one int.table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form process_data.&lt;/P&gt;&lt;P&gt;****&lt;STRONG&gt;AR&lt;/STRONG&gt;********&lt;/P&gt;&lt;P&gt;*Move the data from BSID to it_arbal int table&lt;/P&gt;&lt;P&gt;  loop at it_bsid.&lt;/P&gt;&lt;P&gt;    move-corresponding it_bsid to it_arbal.&lt;/P&gt;&lt;P&gt;    it_arbal-due_date = it_bsid-zfbdt + it_bsid-zbd1t.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move VBRK Fields to AR side&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table it_vbrk with key kunnr = it_bsid-kunnr&lt;/P&gt;&lt;P&gt;                                vbeln = it_bsid-vbeln.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      it_arbal-vkorg = it_vbrk-vkorg.&lt;/P&gt;&lt;P&gt;      it_arbal-kdgrp = it_vbrk-kdgrp.&lt;/P&gt;&lt;P&gt;      it_arbal-bzirk = it_vbrk-bzirk.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move KNA1 Fields to AR side&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table it_kna1 with key kunnr = it_bsid-kunnr.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      move-corresponding it_kna1 to it_arbal.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    append it_arbal.&lt;/P&gt;&lt;P&gt;    clear it_arbal.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;*Move the data from BSAD to it_arbal int table&lt;/P&gt;&lt;P&gt;  loop at it_bsad.&lt;/P&gt;&lt;P&gt;    move-corresponding it_bsad to it_arbal.&lt;/P&gt;&lt;P&gt;    it_arbal-due_date = it_bsad-zfbdt + it_bsad-zbd1t.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move VBRK Fields to AR side&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table it_vbrk with key kunnr = it_bsad-kunnr&lt;/P&gt;&lt;P&gt;                                vbeln = it_bsad-vbeln.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      it_arbal-vkorg = it_vbrk-vkorg.&lt;/P&gt;&lt;P&gt;      it_arbal-kdgrp = it_vbrk-kdgrp.&lt;/P&gt;&lt;P&gt;      it_arbal-bzirk = it_vbrk-bzirk.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move KNA1 Fields to AR side&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table it_kna1 with key kunnr = it_bsad-kunnr.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      move-corresponding it_kna1 to it_arbal.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    append it_arbal.&lt;/P&gt;&lt;P&gt;    clear it_arbal.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculate the Overdue amount&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  sort it_arbal by kunnr vbeln belnr.&lt;/P&gt;&lt;P&gt;  loop at it_arbal.&lt;/P&gt;&lt;P&gt;    if it_arbal-shkzg = c_shkzg.    " Credit&lt;/P&gt;&lt;P&gt;      it_arbal-dmbtr = it_arbal-dmbtr * -1.&lt;/P&gt;&lt;P&gt;      it_arbal-dmbe2 = it_arbal-dmbe2 * -1.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    v_days = it_arbal-due_date - p_date.&lt;/P&gt;&lt;P&gt;    if v_days le 0.&lt;/P&gt;&lt;P&gt;      it_arbal-due_amnt = it_arbal-dmbtr.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    modify it_arbal index sy-tabix.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  sort it_arbal by kunnr vbeln belnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculating the Total AR Balance &amp;amp; Overdue&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  loop at it_arbal where vkorg in s_vkorg and&lt;/P&gt;&lt;P&gt;                         land1 in s_land1 and&lt;/P&gt;&lt;P&gt;                         kdgrp in s_kdgrp and&lt;/P&gt;&lt;P&gt;                         bzirk in s_bzirk.&lt;/P&gt;&lt;P&gt;    at end of kunnr.&lt;/P&gt;&lt;P&gt;      read table it_arbal index sy-tabix.&lt;/P&gt;&lt;P&gt;      it_report-kunnr = it_arbal-kunnr.&lt;/P&gt;&lt;P&gt;      it_report-name1 = it_arbal-name1.&lt;/P&gt;&lt;P&gt;      it_report-land1 = it_arbal-land1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      sum.&lt;/P&gt;&lt;P&gt;      it_report-dmbtr = it_arbal-dmbtr.&lt;/P&gt;&lt;P&gt;      it_report-dmbe2 = it_arbal-dmbe2.&lt;/P&gt;&lt;P&gt;      it_report-due_amt = it_arbal-due_amnt.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;    append it_report.&lt;/P&gt;&lt;P&gt;    clear it_report.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  delete it_report where kunnr = ' ' and dmbtr = 0.&lt;/P&gt;&lt;P&gt;**&lt;STRONG&gt;SALES&lt;/STRONG&gt;********&lt;/P&gt;&lt;P&gt;*Move the data from BSID to it_arsale int table&lt;/P&gt;&lt;P&gt;  loop at it_bsid where ( budat ge v_date1 and&lt;/P&gt;&lt;P&gt;                          budat le p_date ) and&lt;/P&gt;&lt;P&gt;                          blart = c_blart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    move-corresponding it_bsid to it_arsale.&lt;/P&gt;&lt;P&gt;    if it_arsale-shkzg = c_shkzg.    " Credit&lt;/P&gt;&lt;P&gt;      it_arsale-dmbtr = it_arsale-dmbtr * -1.&lt;/P&gt;&lt;P&gt;      it_arsale-dmbe2 = it_arsale-dmbe2 * -1.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Seperate Three months sales Amounts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if it_arsale-budat+4(2) = v_mon1.&lt;/P&gt;&lt;P&gt;      it_arsale-amnt1 = it_arsale-dmbtr.&lt;/P&gt;&lt;P&gt;    elseif it_arsale-budat+4(2) = v_mon2.&lt;/P&gt;&lt;P&gt;      it_arsale-amnt2 = it_arsale-dmbtr.&lt;/P&gt;&lt;P&gt;    elseif it_arsale-budat+4(2) = v_mon3.&lt;/P&gt;&lt;P&gt;      it_arsale-amnt3 = it_arsale-dmbtr.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move VBRK Fields to AR side&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table it_vbrk with key kunnr = it_bsid-kunnr&lt;/P&gt;&lt;P&gt;                                vbeln = it_bsid-vbeln.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      it_arsale-vkorg = it_vbrk-vkorg.&lt;/P&gt;&lt;P&gt;      it_arsale-kdgrp = it_vbrk-kdgrp.&lt;/P&gt;&lt;P&gt;      it_arsale-bzirk = it_vbrk-bzirk.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move KNA1 Fields to Sales side&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table it_kna1 with key kunnr = it_bsid-kunnr.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      move-corresponding it_kna1 to it_arsale.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    append it_arsale.&lt;/P&gt;&lt;P&gt;    clear it_arsale.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Move the data from BSAD1 to it_arsale int table&lt;/P&gt;&lt;P&gt;  loop at it_bsad1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    move-corresponding it_bsad1 to it_arsale.&lt;/P&gt;&lt;P&gt;    if it_arsale-shkzg = c_shkzg.    " Credit&lt;/P&gt;&lt;P&gt;      it_arsale-dmbtr = it_arsale-dmbtr * -1.&lt;/P&gt;&lt;P&gt;      it_arsale-dmbe2 = it_arsale-dmbe2 * -1.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Seperate Three months sales Amounts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if it_arsale-budat+4(2) = v_mon1.&lt;/P&gt;&lt;P&gt;      it_arsale-amnt1 = it_arsale-dmbtr.&lt;/P&gt;&lt;P&gt;    elseif it_arsale-budat+4(2) = v_mon2.&lt;/P&gt;&lt;P&gt;      it_arsale-amnt2 = it_arsale-dmbtr.&lt;/P&gt;&lt;P&gt;    elseif it_arsale-budat+4(2) = v_mon3.&lt;/P&gt;&lt;P&gt;      it_arsale-amnt3 = it_arsale-dmbtr.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move VBRK Fields to Sales side&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table it_vbrk with key kunnr = it_bsad1-kunnr&lt;/P&gt;&lt;P&gt;                                vbeln = it_bsad1-vbeln.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      it_arsale-vkorg = it_vbrk-vkorg.&lt;/P&gt;&lt;P&gt;      it_arsale-kdgrp = it_vbrk-kdgrp.&lt;/P&gt;&lt;P&gt;      it_arsale-bzirk = it_vbrk-bzirk.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move KNA1 Fields to Sales side&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table it_kna1 with key kunnr = it_bsad1-kunnr.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      move-corresponding it_kna1 to it_arsale.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    append it_arsale.&lt;/P&gt;&lt;P&gt;    clear it_arsale.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculating the Total 3 months Sales&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  loop at it_arsale.&lt;/P&gt;&lt;P&gt;    at end of kunnr.&lt;/P&gt;&lt;P&gt;      read table it_arsale index sy-tabix.&lt;/P&gt;&lt;P&gt;      it_sales-kunnr = it_arsale-kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      sum.&lt;/P&gt;&lt;P&gt;      it_sales-dmbtr = it_arsale-dmbtr.&lt;/P&gt;&lt;P&gt;      it_sales-dmbe2 = it_arsale-dmbe2.&lt;/P&gt;&lt;P&gt;      it_sales-amnt1 = it_arsale-amnt1.&lt;/P&gt;&lt;P&gt;      it_sales-amnt2 = it_arsale-amnt2.&lt;/P&gt;&lt;P&gt;      it_sales-amnt3 = it_arsale-amnt3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;    append it_sales.&lt;/P&gt;&lt;P&gt;    clear it_sales.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  delete it_sales where kunnr = ' ' and dmbtr = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " PROCESS_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  WRITE_REPORT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Summary Report Output&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form write_report.&lt;/P&gt;&lt;P&gt;  clear: v_sum1,v_sum2,v_sum3.&lt;/P&gt;&lt;P&gt;  loop at it_report.&lt;/P&gt;&lt;P&gt;    at new kunnr.&lt;/P&gt;&lt;P&gt;      read table it_report index sy-tabix.&lt;/P&gt;&lt;P&gt;      write: / sy-vline,  2(10) it_report-kunnr color 1,&lt;/P&gt;&lt;P&gt;            12 sy-vline, 13(30) it_report-name1,&lt;/P&gt;&lt;P&gt;            43 sy-vline, 44(4)  it_report-land1,&lt;/P&gt;&lt;P&gt;            48 sy-vline.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;    at end of kunnr.&lt;/P&gt;&lt;P&gt;      sum.&lt;/P&gt;&lt;P&gt;      write: 1 sy-vline, 12 sy-vline,&lt;/P&gt;&lt;P&gt;           43 sy-vline,  48 sy-vline,&lt;/P&gt;&lt;P&gt;           49(15) it_report-dmbtr  currency v_waers,&lt;/P&gt;&lt;P&gt;           64 sy-vline,&lt;/P&gt;&lt;P&gt;           65(15) it_report-due_amt  currency v_waers,&lt;/P&gt;&lt;P&gt;           80 sy-vline.&lt;/P&gt;&lt;P&gt;      read table it_sales with key kunnr = it_report-kunnr.&lt;/P&gt;&lt;P&gt;      write: 81(15) it_sales-amnt3  currency v_waers,&lt;/P&gt;&lt;P&gt;           96 sy-vline,&lt;/P&gt;&lt;P&gt;           97(15) it_sales-amnt2  currency v_waers,&lt;/P&gt;&lt;P&gt;          112 sy-vline,&lt;/P&gt;&lt;P&gt;          113(15) it_sales-amnt1  currency v_waers,&lt;/P&gt;&lt;P&gt;          128 sy-vline,&lt;/P&gt;&lt;P&gt;          129(15) it_sales-dmbtr  currency v_waers.&lt;/P&gt;&lt;P&gt;      if it_sales-dmbtr &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        v_num1 =  it_report-dmbtr / it_sales-dmbtr .&lt;/P&gt;&lt;P&gt;        v_num2 =  it_report-due_amt / it_sales-dmbtr .&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      v_dso = floor( v_num1 * v_d_days ).&lt;/P&gt;&lt;P&gt;      v_doo = floor( v_num2 * v_d_days ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write: 144 sy-vline,&lt;/P&gt;&lt;P&gt;             145(5) v_dso no-sign,&lt;/P&gt;&lt;P&gt;             150 sy-vline,&lt;/P&gt;&lt;P&gt;             151(5) v_doo no-sign,&lt;/P&gt;&lt;P&gt;             156 sy-vline.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Totals&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    v_sum1 = v_sum1 + it_report-dmbtr.&lt;/P&gt;&lt;P&gt;    v_sum2 = v_sum2 + it_report-due_amt.&lt;/P&gt;&lt;P&gt;    v_sum3 = v_sum3 + it_sales-dmbtr.&lt;/P&gt;&lt;P&gt;    v_sum4 = v_sum4 + it_sales-amnt1.&lt;/P&gt;&lt;P&gt;    v_sum5 = v_sum5 + it_sales-amnt2.&lt;/P&gt;&lt;P&gt;    v_sum6 = v_sum6 + it_sales-amnt3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Hide the Customer for interactive purpose.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    hide it_report-kunnr.&lt;/P&gt;&lt;P&gt;    clear it_report-kunnr.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write at /1(156) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculation of Grand Totals&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  format color 3.&lt;/P&gt;&lt;P&gt;  write: /1 sy-vline, 2 'Gr.Total'(019),&lt;/P&gt;&lt;P&gt;             12 sy-vline, 13 'As At:'(033),p_date,&lt;/P&gt;&lt;P&gt;             43 sy-vline, 48 sy-vline,&lt;/P&gt;&lt;P&gt;             49(15) v_sum1 currency it_bsid-waers,&lt;/P&gt;&lt;P&gt;             64 sy-vline,&lt;/P&gt;&lt;P&gt;             65(15) v_sum2 currency it_bsid-waers,&lt;/P&gt;&lt;P&gt;             80 sy-vline,&lt;/P&gt;&lt;P&gt;             81(15) v_sum6 currency it_bsid-waers,&lt;/P&gt;&lt;P&gt;             96 sy-vline,&lt;/P&gt;&lt;P&gt;             97(15) v_sum5  currency v_waers,&lt;/P&gt;&lt;P&gt;            112 sy-vline,&lt;/P&gt;&lt;P&gt;            113(15) v_sum4  currency v_waers,&lt;/P&gt;&lt;P&gt;            128 sy-vline,&lt;/P&gt;&lt;P&gt;            129(15) v_sum3  currency v_waers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if v_sum3 &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    v_avg_dso = ( v_sum1 / v_sum3 ) * v_d_days.&lt;/P&gt;&lt;P&gt;    v_avg_doo = ( v_sum2 / v_sum3 ) * v_d_days.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  write: 144 sy-vline,145(5)  v_avg_dso no-sign,&lt;/P&gt;&lt;P&gt;         150 sy-vline,151(5)  v_avg_doo no-sign,&lt;/P&gt;&lt;P&gt;         156 sy-vline.&lt;/P&gt;&lt;P&gt;  format color off.&lt;/P&gt;&lt;P&gt;  clear: v_sum4,v_sum5,v_d_days,&lt;/P&gt;&lt;P&gt;         v_avg_dso,v_avg_doo.&lt;/P&gt;&lt;P&gt;  write at /1(156) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " WRITE_REPORT1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  LINE_SEL_COL_HEADING&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Column headings for the Interactive Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form line_sel_col_heading.&lt;/P&gt;&lt;P&gt;  skip.&lt;/P&gt;&lt;P&gt;  write:/1(121) 'CUSTOMER WISE DOCUMENT DETAILS'(046)  centered.&lt;/P&gt;&lt;P&gt;  write:/2 'AR DETAILS'(049) color 1.&lt;/P&gt;&lt;P&gt;  format color col_heading.&lt;/P&gt;&lt;P&gt;  write at /1(121) sy-uline .&lt;/P&gt;&lt;P&gt;  write: / sy-vline,  2(10) 'Acc.Doc.No'(034) centered,&lt;/P&gt;&lt;P&gt;        12 sy-vline, 13(10) 'Post.Date'(035),&lt;/P&gt;&lt;P&gt;        23 sy-vline, 24(4)  'DTyp'(036) centered,&lt;/P&gt;&lt;P&gt;        28 sy-vline, 29(10) 'BillDoc.No'(037) centered,&lt;/P&gt;&lt;P&gt;        39 sy-vline, 40(15) 'Amount(Local)'(038) centered,&lt;/P&gt;&lt;P&gt;        55 sy-vline, 56(15) 'Amount(USD)'(039) centered,&lt;/P&gt;&lt;P&gt;        71 sy-vline, 72(15) 'Overdue Amt'(040) centered,&lt;/P&gt;&lt;P&gt;        87 sy-vline, 88(10) 'Due Date'(041) centered,&lt;/P&gt;&lt;P&gt;        98 sy-vline, 99(5)  'PTerm'(042) centered,&lt;/P&gt;&lt;P&gt;       104 sy-vline,105(5)  'SOrgn'(043) centered,&lt;/P&gt;&lt;P&gt;       110 sy-vline,111(4)  'CGrp'(044) centered,&lt;/P&gt;&lt;P&gt;       115 sy-vline,116(5)  'SEmp'(045) centered,&lt;/P&gt;&lt;P&gt;       121 sy-vline.&lt;/P&gt;&lt;P&gt;  write at /1(121) sy-uline.&lt;/P&gt;&lt;P&gt;  format color off.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " LINE_SEL_COL_HEADING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  LINE_SEL&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When double clicked on KUNNR display the details of AR and Sales&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form line_sel.&lt;/P&gt;&lt;P&gt;  case sy-lsind.&lt;/P&gt;&lt;P&gt;    when '1'.&lt;/P&gt;&lt;P&gt;      data: lv_field(20),&lt;/P&gt;&lt;P&gt;            lv_value(10).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      get cursor field lv_field value lv_value.&lt;/P&gt;&lt;P&gt;      if lv_field = 'IT_REPORT-KUNNR'.&lt;/P&gt;&lt;P&gt;        if not lv_value is initial.&lt;/P&gt;&lt;P&gt;          set parameter id 'KUN' field lv_value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Writing the AR Details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          format color 3.&lt;/P&gt;&lt;P&gt;          write:/1 sy-vline, 2(10) 'Customer:'(048),&lt;/P&gt;&lt;P&gt;                   it_report-kunnr no-gap, '-',&lt;/P&gt;&lt;P&gt;                   it_report-name1 no-gap, 'Country:'(047) no-gap,&lt;/P&gt;&lt;P&gt;                   it_report-land1, 121 sy-vline.&lt;/P&gt;&lt;P&gt;          format color off.&lt;/P&gt;&lt;P&gt;          write at /1(121) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          loop at it_arbal where kunnr = it_report-kunnr.&lt;/P&gt;&lt;P&gt;            write: / sy-vline,  2(10) it_arbal-belnr color 2,&lt;/P&gt;&lt;P&gt;              12 sy-vline, 13(10) it_arbal-budat,&lt;/P&gt;&lt;P&gt;              23 sy-vline, 24(4)  it_arbal-blart,&lt;/P&gt;&lt;P&gt;              28 sy-vline, 29(10) it_arbal-vbeln,&lt;/P&gt;&lt;P&gt;              39 sy-vline,&lt;/P&gt;&lt;P&gt;              40(15) it_arbal-dmbtr currency it_arbal-waers,&lt;/P&gt;&lt;P&gt;              55 sy-vline,&lt;/P&gt;&lt;P&gt;              56(15) it_arbal-dmbe2 currency it_arbal-waers,&lt;/P&gt;&lt;P&gt;              71 sy-vline,&lt;/P&gt;&lt;P&gt;              72(15) it_arbal-due_amnt currency it_arbal-waers,&lt;/P&gt;&lt;P&gt;              87 sy-vline, 88(10) it_arbal-due_date,&lt;/P&gt;&lt;P&gt;              98 sy-vline, 99(5)  it_arbal-zterm,&lt;/P&gt;&lt;P&gt;             104 sy-vline,105(5)  it_arbal-vkorg,&lt;/P&gt;&lt;P&gt;             110 sy-vline,111(4)  it_arbal-kdgrp,&lt;/P&gt;&lt;P&gt;             115 sy-vline,116(5)  it_arbal-bzirk,&lt;/P&gt;&lt;P&gt;             121 sy-vline.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Totals for amount fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            v_sum7 = v_sum7 + it_arbal-dmbtr.&lt;/P&gt;&lt;P&gt;            v_sum8 = v_sum8 + it_arbal-dmbe2.&lt;/P&gt;&lt;P&gt;            v_sum9 = v_sum9 + it_arbal-due_amnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Hide the field BELNR to go to the document.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            hide it_arbal-belnr.&lt;/P&gt;&lt;P&gt;            clear it_arbal-belnr.&lt;/P&gt;&lt;P&gt;          endloop.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write at /1(121) sy-uline.&lt;/P&gt;&lt;P&gt;      format color 3.&lt;/P&gt;&lt;P&gt;      write: / sy-vline,  2(10) 'Total'(032),&lt;/P&gt;&lt;P&gt;          12 sy-vline,   23 sy-vline,&lt;/P&gt;&lt;P&gt;          28 sy-vline,   39 sy-vline,&lt;/P&gt;&lt;P&gt;          40(15) v_sum7 currency it_arbal-waers,&lt;/P&gt;&lt;P&gt;          55 sy-vline,&lt;/P&gt;&lt;P&gt;          56(15) v_sum8 currency it_arbal-waers,&lt;/P&gt;&lt;P&gt;          71 sy-vline,&lt;/P&gt;&lt;P&gt;          72(15) v_sum9 currency it_arbal-waers,&lt;/P&gt;&lt;P&gt;          87 sy-vline,  98 sy-vline,&lt;/P&gt;&lt;P&gt;         104 sy-vline, 110 sy-vline,&lt;/P&gt;&lt;P&gt;         115 sy-vline, 121 sy-vline.&lt;/P&gt;&lt;P&gt;      write at /1(121) sy-uline.&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;      clear: v_sum7, v_sum8, v_sum9.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Writing the sales Details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      write:/2 'SALES DETAILS'(050) color 1.&lt;/P&gt;&lt;P&gt;      write at /1(136) sy-uline.&lt;/P&gt;&lt;P&gt;      format color col_heading.&lt;/P&gt;&lt;P&gt;      write: / sy-vline,  2(10) 'Acc.Doc.No'(034) centered,&lt;/P&gt;&lt;P&gt;            12 sy-vline, 13(10) 'Post.Date'(035),&lt;/P&gt;&lt;P&gt;            23 sy-vline, 24(4)  'DTyp'(036) centered,&lt;/P&gt;&lt;P&gt;            28 sy-vline, 29(10) 'BillDoc.No'(037) centered,&lt;/P&gt;&lt;P&gt;            39 sy-vline, 40(15) 'Total Sales Amt'(051) centered,&lt;/P&gt;&lt;P&gt;            55 sy-vline, 56(15) 'Amount(USD)'(039) centered,&lt;/P&gt;&lt;P&gt;            71 sy-vline, 72(15) 'Current Month'(052) centered,&lt;/P&gt;&lt;P&gt;            87 sy-vline, 88(15) 'Last Month'(053) centered,&lt;/P&gt;&lt;P&gt;           103 sy-vline,104(15) 'Previous Month'(054) centered,&lt;/P&gt;&lt;P&gt;           119 sy-vline,120(5)  'SOrgn'(043) centered,&lt;/P&gt;&lt;P&gt;           125 sy-vline,126(4)  'CGrp'(044) centered,&lt;/P&gt;&lt;P&gt;           130 sy-vline,131(5)  'SEmp'(045) centered,&lt;/P&gt;&lt;P&gt;           136 sy-vline.&lt;/P&gt;&lt;P&gt;      write at /1(136) sy-uline.&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      loop at it_arsale where kunnr = it_report-kunnr.&lt;/P&gt;&lt;P&gt;        write: / sy-vline, 2(10) it_arsale-belnr ,&lt;/P&gt;&lt;P&gt;          12 sy-vline, 13(10) it_arsale-budat,&lt;/P&gt;&lt;P&gt;          23 sy-vline, 24(4)  it_arsale-blart,&lt;/P&gt;&lt;P&gt;          28 sy-vline,&lt;/P&gt;&lt;P&gt;          29(10) it_arsale-vbeln color 2,&lt;/P&gt;&lt;P&gt;          39 sy-vline,&lt;/P&gt;&lt;P&gt;          40(15) it_arsale-dmbtr currency it_arsale-waers,&lt;/P&gt;&lt;P&gt;          55 sy-vline,&lt;/P&gt;&lt;P&gt;          56(15) it_arsale-dmbe2 currency it_arsale-waers,&lt;/P&gt;&lt;P&gt;          71 sy-vline,&lt;/P&gt;&lt;P&gt;          72(15) it_arsale-amnt1 currency it_arsale-waers,&lt;/P&gt;&lt;P&gt;          87 sy-vline,&lt;/P&gt;&lt;P&gt;          88(15) it_arsale-amnt2 currency it_arsale-waers,&lt;/P&gt;&lt;P&gt;         103 sy-vline,&lt;/P&gt;&lt;P&gt;         104(15) it_arsale-amnt3 currency it_arsale-waers,&lt;/P&gt;&lt;P&gt;         119 sy-vline,120(5)  it_arsale-vkorg,&lt;/P&gt;&lt;P&gt;         125 sy-vline,126(4)  it_arsale-kdgrp,&lt;/P&gt;&lt;P&gt;         130 sy-vline,131(5)  it_arsale-bzirk,&lt;/P&gt;&lt;P&gt;         136 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Totals for amount fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        v_sum10 = v_sum10 + it_arsale-dmbtr.&lt;/P&gt;&lt;P&gt;        v_sum11 = v_sum11 + it_arsale-dmbe2.&lt;/P&gt;&lt;P&gt;        v_sum12 = v_sum12 + it_arsale-amnt1.&lt;/P&gt;&lt;P&gt;        v_sum13 = v_sum13 + it_arsale-amnt2.&lt;/P&gt;&lt;P&gt;        v_sum14 = v_sum14 + it_arsale-amnt3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Hide the field VBELN to go to the document.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        hide it_arsale-vbeln.&lt;/P&gt;&lt;P&gt;        clear it_arsale-vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;      write at /1(136) sy-uline.&lt;/P&gt;&lt;P&gt;      format color 3.&lt;/P&gt;&lt;P&gt;      write: / sy-vline, 2(10) 'Total'(032),&lt;/P&gt;&lt;P&gt;          12 sy-vline, 23 sy-vline,&lt;/P&gt;&lt;P&gt;          28 sy-vline, 39 sy-vline,&lt;/P&gt;&lt;P&gt;          40(15) v_sum10 currency it_arsale-waers,&lt;/P&gt;&lt;P&gt;          55 sy-vline,&lt;/P&gt;&lt;P&gt;          56(15) v_sum11 currency it_arsale-waers,&lt;/P&gt;&lt;P&gt;          71 sy-vline,&lt;/P&gt;&lt;P&gt;          72(15) v_sum12 currency it_arsale-waers,&lt;/P&gt;&lt;P&gt;          87 sy-vline,&lt;/P&gt;&lt;P&gt;          88(15) v_sum13 currency it_arsale-waers,&lt;/P&gt;&lt;P&gt;         103 sy-vline,&lt;/P&gt;&lt;P&gt;         104(15) v_sum14 currency it_arsale-waers,&lt;/P&gt;&lt;P&gt;         119 sy-vline,  125 sy-vline,&lt;/P&gt;&lt;P&gt;         130 sy-vline,  136 sy-vline.&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;      clear: v_sum10, v_sum11, v_sum12, v_sum13, v_sum14.&lt;/P&gt;&lt;P&gt;      write at /1(136) sy-uline.&lt;/P&gt;&lt;P&gt;    when '2'.&lt;/P&gt;&lt;P&gt;      data: lv_field1(20),&lt;/P&gt;&lt;P&gt;            lv_value1(10),&lt;/P&gt;&lt;P&gt;            lv_date(10),&lt;/P&gt;&lt;P&gt;            lv_gjahr like bsad-gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      get cursor field lv_field1 value lv_value1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When double clicked on BELNR leave to FB03 Transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      if lv_field1 = 'IT_ARBAL-BELNR'.&lt;/P&gt;&lt;P&gt;        if not lv_value1 is initial.&lt;/P&gt;&lt;P&gt;          read current line field value it_arbal-budat into lv_date.&lt;/P&gt;&lt;P&gt;          lv_gjahr = lv_date+6(4).&lt;/P&gt;&lt;P&gt;          set parameter id 'BUK' field p_bukrs.&lt;/P&gt;&lt;P&gt;          set parameter id 'GJR' field lv_gjahr.&lt;/P&gt;&lt;P&gt;          set parameter id 'BLN' field lv_value1.&lt;/P&gt;&lt;P&gt;          call transaction 'FB03' and skip first screen.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When double clicked on VBELN leave to VF03 Transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      elseif lv_field1 = 'IT_ARSALE-VBELN'.&lt;/P&gt;&lt;P&gt;        if not lv_value1 is initial.&lt;/P&gt;&lt;P&gt;          set parameter id 'VF' field lv_value1.&lt;/P&gt;&lt;P&gt;          call transaction 'VF03' and skip first screen.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;     endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;endform.                    " LINE_SEL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if useful&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 01 Jun 2007 11:15:02 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2007-06-01T11:15:02Z</dc:date>
    <item>
      <title>Transaction Code: F.30 (DSO analysis) question</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/transaction-code-f-30-dso-analysis-question/m-p/2380514#M528265</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Experts,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have a requirement where in I need to create a custom program similar to the functionality of transaction F.30. I need to create a report similar to DSO analysis but the grouping is by another field name (BSEG-SEGMENT).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My question is Where will i get the BALANCE and SALES amount from the DSO analysis. Can somebody tell me which table and field it came from?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks a lot! Points will be rewarded ASAP &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;Jay&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Jun 2007 11:07:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/transaction-code-f-30-dso-analysis-question/m-p/2380514#M528265</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-01T11:07:59Z</dc:date>
    </item>
    <item>
      <title>Re: Transaction Code: F.30 (DSO analysis) question</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/transaction-code-f-30-dso-analysis-question/m-p/2380515#M528266</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;Sales Amounts you have to take from&amp;lt;b&amp;gt; VBRK and VBRP&amp;lt;/b&amp;gt; tables&lt;/P&gt;&lt;P&gt;and the Balances are taken from &amp;lt;b&amp;gt;BSID and BS&amp;lt;/b&amp;gt;AD tables&lt;/P&gt;&lt;P&gt;see the sample DSO report&lt;/P&gt;&lt;P&gt;report zf_rept_dso&lt;/P&gt;&lt;P&gt;       no standard page heading&lt;/P&gt;&lt;P&gt;       message-id fb&lt;/P&gt;&lt;P&gt;       line-count 65&lt;/P&gt;&lt;P&gt;       line-size 160.&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Purpose : This ABAP program will fetch the Total Sales for the Last&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           three months from the date entered on selection screen and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           Calculates the Total open items and Days Sales Outstanding&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;           (DSO) and Days Overdue Outstanding(DOO).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;tables: t001,       " Company Codes&lt;/P&gt;&lt;P&gt;        tvko,       " Sales Organizations&lt;/P&gt;&lt;P&gt;        t005,       " Country Codes&lt;/P&gt;&lt;P&gt;        t151,       " Customer Groups&lt;/P&gt;&lt;P&gt;        t171,       " Sales Districts&lt;/P&gt;&lt;P&gt;        kna1.       " Customer Master&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Internal Tables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for VBRK Sales data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_vbrk occurs 0,&lt;/P&gt;&lt;P&gt;        vbeln like vbrk-vbeln,         " Billing Doc&lt;/P&gt;&lt;P&gt;        fkdat like vbrk-fkdat,         " Billing Date&lt;/P&gt;&lt;P&gt;        kunnr like vbrk-kunag,         " Customer Number&lt;/P&gt;&lt;P&gt;        fkart like vbrk-fkart,         " Billing Type&lt;/P&gt;&lt;P&gt;        vkorg like vbrk-vkorg,         " Sales Organization&lt;/P&gt;&lt;P&gt;        land1 like vbrk-land1,         " Country&lt;/P&gt;&lt;P&gt;        bukrs like vbrk-bukrs,         " Company Code&lt;/P&gt;&lt;P&gt;        netwr like vbrk-netwr,         " Net Value&lt;/P&gt;&lt;P&gt;        waerk like vbrk-waerk,         " Currency&lt;/P&gt;&lt;P&gt;        kdgrp like vbrk-kdgrp,         " Customer Group&lt;/P&gt;&lt;P&gt;        bzirk like vbrk-bzirk,         " Sales Employee&lt;/P&gt;&lt;P&gt;      end of it_vbrk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for BSID (Open Items) data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_bsid occurs 0,&lt;/P&gt;&lt;P&gt;        kunnr like bsid-kunnr,         " Customer Number&lt;/P&gt;&lt;P&gt;        gjahr like bsid-gjahr,         " Fiscal Year&lt;/P&gt;&lt;P&gt;        belnr like bsid-belnr,         " Acc.Document&lt;/P&gt;&lt;P&gt;        buzei like bsid-buzei,         " Item&lt;/P&gt;&lt;P&gt;        budat like bsid-budat,         " Posting Date&lt;/P&gt;&lt;P&gt;        blart like bsid-blart,         " Doc Type&lt;/P&gt;&lt;P&gt;        shkzg like bsid-shkzg,         " Dr/Cr Indicator&lt;/P&gt;&lt;P&gt;        dmbtr like bsid-dmbtr,         " Amount(Local Curr)&lt;/P&gt;&lt;P&gt;        dmbe2 like bsid-dmbe2,         " Amount(Doc Curr)&lt;/P&gt;&lt;P&gt;        waers like bsid-waers,         " Currency&lt;/P&gt;&lt;P&gt;        zterm like bsid-zterm,         " Payment Terms&lt;/P&gt;&lt;P&gt;        vbeln like bsid-vbeln,         " Billing Doc&lt;/P&gt;&lt;P&gt;        zfbdt like bsid-zfbdt,         " Baseline Date&lt;/P&gt;&lt;P&gt;        zbd1t like bsid-zbd1t,         " No of days&lt;/P&gt;&lt;P&gt;      end of it_bsid.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for BSAD (Closed Items) data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_bsad occurs 0,&lt;/P&gt;&lt;P&gt;        kunnr like bsad-kunnr,         " Customer Number&lt;/P&gt;&lt;P&gt;        gjahr like bsad-gjahr,         " Fiscal Year&lt;/P&gt;&lt;P&gt;        belnr like bsad-belnr,         " Acc.Document&lt;/P&gt;&lt;P&gt;        buzei like bsad-buzei,         " Item&lt;/P&gt;&lt;P&gt;        budat like bsad-budat,         " Posting Date&lt;/P&gt;&lt;P&gt;        blart like bsid-blart,         " Doc Type&lt;/P&gt;&lt;P&gt;        shkzg like bsad-shkzg,         " Dr/Cr Indicator&lt;/P&gt;&lt;P&gt;        dmbtr like bsad-dmbtr,         " Amount(Local Curr)&lt;/P&gt;&lt;P&gt;        dmbe2 like bsad-dmbe2,         " Amount(Doc Curr)&lt;/P&gt;&lt;P&gt;        waers like bsad-waers,         " Currency&lt;/P&gt;&lt;P&gt;        zterm like bsid-zterm,         " Payment Terms&lt;/P&gt;&lt;P&gt;        vbeln like bsid-vbeln,         " Billing Doc&lt;/P&gt;&lt;P&gt;        zfbdt like bsid-zfbdt,         " Baseline Date&lt;/P&gt;&lt;P&gt;        zbd1t like bsid-zbd1t,         " No of days&lt;/P&gt;&lt;P&gt;      end of it_bsad.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for Customer data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_kna1 occurs 0,&lt;/P&gt;&lt;P&gt;        kunnr like kna1-kunnr,         " Customer Number&lt;/P&gt;&lt;P&gt;        name1 like kna1-name1,         " Customer Name&lt;/P&gt;&lt;P&gt;        land1 like kna1-land1,         " Country&lt;/P&gt;&lt;P&gt;      end of it_kna1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for Total AR Balances &amp;amp; Overdues&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_arbal occurs 0,&lt;/P&gt;&lt;P&gt;        kunnr like bsid-kunnr,         " Customer Number&lt;/P&gt;&lt;P&gt;        vbeln like bsid-vbeln,         " Billing Doc&lt;/P&gt;&lt;P&gt;        belnr like bsid-belnr,         " Acc.Document&lt;/P&gt;&lt;P&gt;        name1 like kna1-name1,         " Customer Name&lt;/P&gt;&lt;P&gt;        land1 like kna1-land1,         " Country&lt;/P&gt;&lt;P&gt;        shkzg like bsid-shkzg,         " Dr/Cr Indicator&lt;/P&gt;&lt;P&gt;        budat like bsid-budat,         " Posting Date&lt;/P&gt;&lt;P&gt;        blart like bsid-blart,         " Doc Type&lt;/P&gt;&lt;P&gt;        dmbtr like bsid-dmbtr,         " Amount(Local Curr)&lt;/P&gt;&lt;P&gt;        dmbe2 like bsid-dmbe2,         " Amount(Doc Curr)&lt;/P&gt;&lt;P&gt;        waers like bsid-waers,         " Currency&lt;/P&gt;&lt;P&gt;        due_amnt like bsid-dmbtr,      " Amount(Over Due)&lt;/P&gt;&lt;P&gt;        due_date like bsid-budat,      " Due date&lt;/P&gt;&lt;P&gt;        zterm like bsid-zterm,         " Payment Terms&lt;/P&gt;&lt;P&gt;        vkorg like vbrk-vkorg,         " Sales Organization&lt;/P&gt;&lt;P&gt;        kdgrp like vbrk-kdgrp,         " Customer Group&lt;/P&gt;&lt;P&gt;        bzirk like vbrk-bzirk,         " Sales Employee&lt;/P&gt;&lt;P&gt;      end of it_arbal.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for BSAD (Closed Items) data for 3 months Sales&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_bsad1 occurs 0,&lt;/P&gt;&lt;P&gt;        kunnr like bsad-kunnr,         " Customer Number&lt;/P&gt;&lt;P&gt;        gjahr like bsad-gjahr,         " Fiscal Year&lt;/P&gt;&lt;P&gt;        belnr like bsad-belnr,         " Acc.Document&lt;/P&gt;&lt;P&gt;        buzei like bsad-buzei,         " Item&lt;/P&gt;&lt;P&gt;        budat like bsad-budat,         " Posting Date&lt;/P&gt;&lt;P&gt;        blart like bsid-blart,         " Doc Type&lt;/P&gt;&lt;P&gt;        shkzg like bsad-shkzg,         " Dr/Cr Indicator&lt;/P&gt;&lt;P&gt;        dmbtr like bsad-dmbtr,         " Amount(Local Curr)&lt;/P&gt;&lt;P&gt;        dmbe2 like bsad-dmbe2,         " Amount(Doc Curr)&lt;/P&gt;&lt;P&gt;        waers like bsad-waers,         " Currency&lt;/P&gt;&lt;P&gt;        zterm like bsid-zterm,         " Payment Terms&lt;/P&gt;&lt;P&gt;        vbeln like bsid-vbeln,         " Billing Doc&lt;/P&gt;&lt;P&gt;        zfbdt like bsid-zfbdt,         " Baseline Date&lt;/P&gt;&lt;P&gt;        zbd1t like bsid-zbd1t,         " No of days&lt;/P&gt;&lt;P&gt;      end of it_bsad1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for Total 3 months Sales (BSID &amp;amp; BSAD)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_arsale occurs 0,&lt;/P&gt;&lt;P&gt;        kunnr like bsid-kunnr,         " Customer Number&lt;/P&gt;&lt;P&gt;        vbeln like bsid-vbeln,         " Billing Doc&lt;/P&gt;&lt;P&gt;        belnr like bsid-belnr,         " Acc.Document&lt;/P&gt;&lt;P&gt;        name1 like kna1-name1,         " Customer Name&lt;/P&gt;&lt;P&gt;        land1 like kna1-land1,         " Country&lt;/P&gt;&lt;P&gt;        shkzg like bsid-shkzg,         " Dr/Cr Indicator&lt;/P&gt;&lt;P&gt;        budat like bsid-budat,         " Posting Date&lt;/P&gt;&lt;P&gt;        blart like bsid-blart,         " Doc Type&lt;/P&gt;&lt;P&gt;        dmbtr like bsid-dmbtr,         " Amount(Local Curr)&lt;/P&gt;&lt;P&gt;        dmbe2 like bsid-dmbe2,         " Amount(Doc Curr)&lt;/P&gt;&lt;P&gt;        waers like bsid-waers,         " Currency&lt;/P&gt;&lt;P&gt;        zterm like bsid-zterm,         " Payment Terms&lt;/P&gt;&lt;P&gt;        vkorg like vbrk-vkorg,         " Sales Organization&lt;/P&gt;&lt;P&gt;        kdgrp like vbrk-kdgrp,         " Customer Group&lt;/P&gt;&lt;P&gt;        bzirk like vbrk-bzirk,         " Sales Employee&lt;/P&gt;&lt;P&gt;        amnt1 like bsid-dmbtr,         " Amount(Curr Month)&lt;/P&gt;&lt;P&gt;        amnt2 like bsid-dmbtr,         " Amount(Last Month)&lt;/P&gt;&lt;P&gt;        amnt3 like bsid-dmbtr,         " Amount(Prev Month)&lt;/P&gt;&lt;P&gt;      end of it_arsale.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for Total 3 months sales data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_sales occurs 0,&lt;/P&gt;&lt;P&gt;        kunnr like bsid-kunnr,         " Customer Number&lt;/P&gt;&lt;P&gt;        dmbtr like bsad-dmbtr,         " Amount(Local Curr)&lt;/P&gt;&lt;P&gt;        dmbe2 like bsad-dmbe2,         " Amount(Doc Curr)&lt;/P&gt;&lt;P&gt;        amnt1 like bsid-dmbtr,         " Amount(Curr Month)&lt;/P&gt;&lt;P&gt;        amnt2 like bsid-dmbtr,         " Amount(Last Month)&lt;/P&gt;&lt;P&gt;        amnt3 like bsid-dmbtr,         " Amount(Prev Month)&lt;/P&gt;&lt;P&gt;      end of it_sales.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Internal table for final output&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;data: begin of it_report occurs 0,&lt;/P&gt;&lt;P&gt;        kunnr like bsid-kunnr,         " Customer Number&lt;/P&gt;&lt;P&gt;        name1 like kna1-name1,         " Customer Name&lt;/P&gt;&lt;P&gt;        land1 like kna1-land1,         " Country&lt;/P&gt;&lt;P&gt;        dmbtr like bsid-dmbtr,         " Amount(Local Curr)&lt;/P&gt;&lt;P&gt;        dmbe2 like bsid-dmbe2,         " Amount(Doc Curr)&lt;/P&gt;&lt;P&gt;        due_amt like bsid-dmbtr,       " Amount(Over Due)&lt;/P&gt;&lt;P&gt;      end of it_report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       Declaration of Data and Variables&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;*----&lt;/P&gt;&lt;HR originaltext="------------------------------------------------------------------" /&gt;&lt;P&gt;data: v_days  type i,            " Difference days&lt;/P&gt;&lt;P&gt;      v_waers like t001-waers,   " Co.Code Currency&lt;/P&gt;&lt;P&gt;      v_date1 like sy-datum,     " Date before 90 days&lt;/P&gt;&lt;P&gt;      v_num1 type p decimals 2,  " Calculation field for DSO&lt;/P&gt;&lt;P&gt;      v_num2 type p decimals 2,  " Calculation field for DOO&lt;/P&gt;&lt;P&gt;      v_dso  type i,             " DSO Value&lt;/P&gt;&lt;P&gt;      v_d_days type i,           " DSO,DDO Days&lt;/P&gt;&lt;P&gt;      v_doo  type i,             " DOO Value&lt;/P&gt;&lt;P&gt;      v_avg_dso type i,          " Average DSO&lt;/P&gt;&lt;P&gt;      v_avg_doo type i,          " Average DOO&lt;/P&gt;&lt;P&gt;      v_sum1  like bsid-dmbtr,   " Totals 1 (Basic List)&lt;/P&gt;&lt;P&gt;      v_sum2  like bsid-dmbtr,                              " Totals 2&lt;/P&gt;&lt;P&gt;      v_sum3  like bsid-dmbtr,                              " Totals 3&lt;/P&gt;&lt;P&gt;      v_sum4  like bsid-dmbtr,                              " Totals 4&lt;/P&gt;&lt;P&gt;      v_sum5  like bsid-dmbtr,                              " Totals 5&lt;/P&gt;&lt;P&gt;      v_sum6  like bsid-dmbtr,                              " Totals 6&lt;/P&gt;&lt;P&gt;      v_sum7  like bsid-dmbtr,   " Totals 1 (Interactive list)&lt;/P&gt;&lt;P&gt;      v_sum8  like bsid-dmbtr,                              " Totals 2&lt;/P&gt;&lt;P&gt;      v_sum9  like bsid-dmbtr,                              " Totals 3&lt;/P&gt;&lt;P&gt;      v_sum10 like bsid-dmbtr,                              " Totals 4&lt;/P&gt;&lt;P&gt;      v_sum11 like bsid-dmbtr,                              " Totals 5&lt;/P&gt;&lt;P&gt;      v_sum12 like bsid-dmbtr,                              " Totals 6&lt;/P&gt;&lt;P&gt;      v_sum13 like bsid-dmbtr,                              " Totals 7&lt;/P&gt;&lt;P&gt;      v_sum14 like bsid-dmbtr,                              " Totals 8&lt;/P&gt;&lt;P&gt;      v_mon1(2) type c,          " Current Month&lt;/P&gt;&lt;P&gt;      v_mon2(2) type c,          " Last Month&lt;/P&gt;&lt;P&gt;      v_mon3(2) type c.          " Previous Month&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Constants&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;constants: c_rfbsk type c value 'C',&lt;/P&gt;&lt;P&gt;           c_shkzg type c value 'H',&lt;/P&gt;&lt;P&gt;           c_blart(2) type c value 'RV'.&lt;/P&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;                   Selection Screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;************************************************************************&lt;/P&gt;&lt;P&gt;selection-screen : begin of block b1 with frame title text-001.&lt;/P&gt;&lt;P&gt;parameters: p_bukrs like t001-bukrs obligatory.      " Company Code&lt;/P&gt;&lt;P&gt;select-options: s_vkorg for tvko-vkorg,              " Sales Orgn&lt;/P&gt;&lt;P&gt;                s_land1 for t005-land1,              " Country&lt;/P&gt;&lt;P&gt;                s_kunnr for kna1-kunnr,              " Customer Number&lt;/P&gt;&lt;P&gt;                s_kdgrp for t151-kdgrp,              " Customer Group&lt;/P&gt;&lt;P&gt;                s_bzirk for t171-bzirk.              " Sales Employee&lt;/P&gt;&lt;P&gt;parameters: p_date  like sy-datum obligatory.        " Report Date&lt;/P&gt;&lt;P&gt;selection-screen: end of block b1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*********&lt;STRONG&gt;Initialization&lt;/STRONG&gt;**********************************************&lt;/P&gt;&lt;P&gt;initialization.&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; At Selection Screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;at selection-screen.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Checking for the input values of selection screen.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform screen_check.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Top-Of-Page&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;top-of-page.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Column Headings for detailed report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform col_heading.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Top-Of-Page during Line-Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;top-of-page during line-selection.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Column Headings for Interactive detailed report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform line_sel_col_heading.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; Start-Of-Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;start-of-selection.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculate dates for the last three months&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_dates.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Select the Sales data for the Last 90 days from VBRK&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_sales_data.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Customer Open Items from BSID&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_open_data.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Customer Closed Items from BSAD&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform get_close_data.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the data from BSID,BSAD and KNA1 into one int.table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform process_data.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; End-Of-Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;end-of-selection.&lt;/P&gt;&lt;P&gt;  if it_report[] is initial.&lt;/P&gt;&lt;P&gt;    write : 'No Documents found'(002).&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Detailed Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    perform write_report.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; At Line-Selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;at line-selection.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When double clicked on KUNNR display the details of AR and Sales&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  perform line_sel.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;***********************************************************************&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  SCREEN_CHECK&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Checking for the input values of selection screen&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form screen_check.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Company Code&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t001.&lt;/P&gt;&lt;P&gt;  if not p_bukrs is initial.&lt;/P&gt;&lt;P&gt;    select bukrs from t001 up to 1 rows&lt;/P&gt;&lt;P&gt;           into t001-bukrs&lt;/P&gt;&lt;P&gt;           where bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;      message e000 with 'Invalid Company Code'(003).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Customer Number&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear kna1.&lt;/P&gt;&lt;P&gt;  if not s_kunnr is initial.&lt;/P&gt;&lt;P&gt;    select kunnr from kna1 up to 1 rows&lt;/P&gt;&lt;P&gt;           into kna1-kunnr&lt;/P&gt;&lt;P&gt;           where kunnr in s_kunnr.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;      message e000 with 'Invalid Customer Number'(004).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Sales Organization&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear tvko.&lt;/P&gt;&lt;P&gt;  if not s_vkorg is initial.&lt;/P&gt;&lt;P&gt;    select vkorg from tvko up to 1 rows&lt;/P&gt;&lt;P&gt;           into tvko-vkorg&lt;/P&gt;&lt;P&gt;           where vkorg in s_vkorg.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;      message e000 with 'Invalid Sales Organization'(016).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Country(Region)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t005.&lt;/P&gt;&lt;P&gt;  if not s_land1 is initial.&lt;/P&gt;&lt;P&gt;    select land1 from t005 up to 1 rows&lt;/P&gt;&lt;P&gt;           into t005-land1&lt;/P&gt;&lt;P&gt;           where land1 in s_land1.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;      message e000 with 'Invalid Country'(017).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Customer Group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t151.&lt;/P&gt;&lt;P&gt;  if not s_kdgrp is initial.&lt;/P&gt;&lt;P&gt;    select kdgrp from t151 up to 1 rows&lt;/P&gt;&lt;P&gt;           into t151-kdgrp&lt;/P&gt;&lt;P&gt;           where kdgrp in s_kdgrp.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;      message e000 with 'Invalid Customer Group'(025).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Sales Employee(district)&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  clear t171.&lt;/P&gt;&lt;P&gt;  if not s_bzirk is initial.&lt;/P&gt;&lt;P&gt;    select bzirk from t171 up to 1 rows&lt;/P&gt;&lt;P&gt;           into t171-bzirk&lt;/P&gt;&lt;P&gt;           where bzirk in s_bzirk.&lt;/P&gt;&lt;P&gt;    endselect.&lt;/P&gt;&lt;P&gt;    if sy-subrc ne 0.&lt;/P&gt;&lt;P&gt;      message e000 with 'Invalid Sales Employee'(026).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Validation of Date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if p_date+4(2) = '02'.&lt;/P&gt;&lt;P&gt;    if ( p_date+6(2) &amp;lt;&amp;gt; '28' ).&lt;/P&gt;&lt;P&gt;      message e000 with 'Enter Last Date of the month'(030).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  elseif ( p_date+4(2) = '04' or&lt;/P&gt;&lt;P&gt;       p_date+4(2) = '06' or&lt;/P&gt;&lt;P&gt;       p_date+4(2) = '09' or&lt;/P&gt;&lt;P&gt;       p_date+4(2) = '11' ).&lt;/P&gt;&lt;P&gt;    if p_date+6(2) &amp;lt;&amp;gt; '30'.&lt;/P&gt;&lt;P&gt;      message e000 with 'Enter Last Date of the month'(030).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    if  p_date+6(2) &amp;lt;&amp;gt; '31' .&lt;/P&gt;&lt;P&gt;      message e000 with 'Enter Last Date of the month'(030).&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " SCREEN_CHECK&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  COL_HEADING&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Column Headings for detailed report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form col_heading.&lt;/P&gt;&lt;P&gt;  skip .&lt;/P&gt;&lt;P&gt;  write: /66 'DSO/DOO REPORT AS AT:'(005) centered,&lt;/P&gt;&lt;P&gt;         88  p_date  centered, 151 sy-pagno.&lt;/P&gt;&lt;P&gt;  skip .&lt;/P&gt;&lt;P&gt;  write: /2 'CoCode:'(006),13(4) p_bukrs color 3,&lt;/P&gt;&lt;P&gt;         20 'Currency:'(020), v_waers color 3.&lt;/P&gt;&lt;P&gt;  if not s_vkorg is initial.&lt;/P&gt;&lt;P&gt;    if not s_vkorg-high is initial.&lt;/P&gt;&lt;P&gt;      write: /2 'SalesOrgn:'(021),13 s_vkorg-low color 3,&lt;/P&gt;&lt;P&gt;               '-', s_vkorg-high color 3.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /2 'SalesOrgn:'(021),13 s_vkorg-low color 3.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not s_land1 is initial.&lt;/P&gt;&lt;P&gt;    if not s_land1-high is initial.&lt;/P&gt;&lt;P&gt;      write: /2 'Country:'(022),13 s_land1-low color 3,&lt;/P&gt;&lt;P&gt;              '-', s_land1-high color 3.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /2 'Country:'(022),13 s_land1-low color 3.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not s_kunnr is initial.&lt;/P&gt;&lt;P&gt;    if not s_kunnr-high is initial.&lt;/P&gt;&lt;P&gt;      write: /2 'Customer:'(023),13 s_kunnr-low color 3,&lt;/P&gt;&lt;P&gt;                '-', s_kunnr-high color 3.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /2 'Customer:'(023),13 s_kunnr-low color 3.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not s_kdgrp is initial.&lt;/P&gt;&lt;P&gt;    if not s_kdgrp-high is initial.&lt;/P&gt;&lt;P&gt;      write: /2 'Cust.Grp:'(027),13 s_kdgrp-low color 3,&lt;/P&gt;&lt;P&gt;                '-', s_kdgrp-high color 3.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /2 'Cust.Grp:'(027),13 s_kdgrp-low color 3.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if not s_bzirk is initial.&lt;/P&gt;&lt;P&gt;    if not s_bzirk-high is initial.&lt;/P&gt;&lt;P&gt;      write: /2 'Sales Emp:'(028),13 s_bzirk-low color 3,&lt;/P&gt;&lt;P&gt;                '-', s_bzirk-high color 3.&lt;/P&gt;&lt;P&gt;    else.&lt;/P&gt;&lt;P&gt;      write: /2 'Sales Emp:'(028),13 s_bzirk-low color 3.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write: 135 'Run Date:'(007), sy-datum.&lt;/P&gt;&lt;P&gt;  format color col_heading.&lt;/P&gt;&lt;P&gt;  write at /1(156) sy-uline .&lt;/P&gt;&lt;P&gt;  write: / sy-vline,&lt;/P&gt;&lt;P&gt;        12 sy-vline,&lt;/P&gt;&lt;P&gt;        43 sy-vline,&lt;/P&gt;&lt;P&gt;        48 sy-vline, 49(15) 'Outstanding'(011) centered,&lt;/P&gt;&lt;P&gt;        64 sy-vline, 65(15) 'Overdue'(012) centered,&lt;/P&gt;&lt;P&gt;        80 sy-vline, 81(15) 'Sales'(014) centered,&lt;/P&gt;&lt;P&gt;        96 sy-vline, 97(15) 'Sales'(014) centered,&lt;/P&gt;&lt;P&gt;       112 sy-vline,113(15) 'Sales'(014) centered,&lt;/P&gt;&lt;P&gt;       128 sy-vline,129(15) 'Total'(032) centered,&lt;/P&gt;&lt;P&gt;       144 sy-vline,&lt;/P&gt;&lt;P&gt;       150 sy-vline,&lt;/P&gt;&lt;P&gt;       156 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write: / sy-vline,  2(10) 'Customer'(008) centered,&lt;/P&gt;&lt;P&gt;        12 sy-vline, 13(30) 'Customer Name'(009),&lt;/P&gt;&lt;P&gt;        43 sy-vline, 44(4)  'Ctry'(024) centered,&lt;/P&gt;&lt;P&gt;        48 sy-vline, 49(15) 'Balance'(010) centered,&lt;/P&gt;&lt;P&gt;        64 sy-vline, 65(15) 'Balance'(010) centered,&lt;/P&gt;&lt;P&gt;        80 sy-vline, 81(15) 'Previous Month'(013) centered,&lt;/P&gt;&lt;P&gt;        96 sy-vline, 97(15) 'Last Month'(029) centered,&lt;/P&gt;&lt;P&gt;       112 sy-vline,113(15) 'Current Month'(031) centered,&lt;/P&gt;&lt;P&gt;       128 sy-vline,129(15) 'Sales'(014) centered,&lt;/P&gt;&lt;P&gt;       144 sy-vline,145(5)  'DSO'(015) centered,&lt;/P&gt;&lt;P&gt;       150 sy-vline,151(5)  'DOO'(018) centered,&lt;/P&gt;&lt;P&gt;       156 sy-vline.&lt;/P&gt;&lt;P&gt;  write at /1(156) sy-uline.&lt;/P&gt;&lt;P&gt;  format color off.&lt;/P&gt;&lt;P&gt;endform.                    " COL_HEADING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_DATES&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculate dates for the last three months&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_dates.&lt;/P&gt;&lt;P&gt;  v_date1 = p_date.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;3 months Back Month start date&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  if v_date1+4(2) = '01'.&lt;/P&gt;&lt;P&gt;    v_date1+4(2) = '11'.&lt;/P&gt;&lt;P&gt;    v_date1&lt;EM&gt;0(4) = v_date1&lt;/EM&gt;0(4) - 1.&lt;/P&gt;&lt;P&gt;  elseif v_date1+4(2) = '02'.&lt;/P&gt;&lt;P&gt;    v_date1+4(2) = '12'.&lt;/P&gt;&lt;P&gt;    v_date1&lt;EM&gt;0(4) = v_date1&lt;/EM&gt;0(4) - 1.&lt;/P&gt;&lt;P&gt;  else.&lt;/P&gt;&lt;P&gt;    v_date1&lt;EM&gt;4(2) =  v_date1&lt;/EM&gt;4(2) - 2.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if v_date1+6(2) &amp;lt;&amp;gt; '01'.&lt;/P&gt;&lt;P&gt;    v_date1+6(2) = '01'.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  v_d_days = p_date - v_date1.&lt;/P&gt;&lt;P&gt;  v_d_days = v_d_days + 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculate 3 months&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  v_mon1 = p_date+4(2).&lt;/P&gt;&lt;P&gt;  v_mon2 = p_date+4(2) - 1.&lt;/P&gt;&lt;P&gt;  v_mon3 = p_date+4(2) - 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " GET_DATES&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_SALES_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Select the Sales data for the Last 90 days&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_sales_data.&lt;/P&gt;&lt;P&gt;  select&lt;/P&gt;&lt;P&gt;        vbeln          " Billing Doc&lt;/P&gt;&lt;P&gt;        fkdat          " Billing Date&lt;/P&gt;&lt;P&gt;        kunag          " Customer Number&lt;/P&gt;&lt;P&gt;        fkart          " Billing Type&lt;/P&gt;&lt;P&gt;        vkorg          " Sales Organization&lt;/P&gt;&lt;P&gt;        land1          " Country&lt;/P&gt;&lt;P&gt;        bukrs          " Company Code&lt;/P&gt;&lt;P&gt;        netwr          " Net Value&lt;/P&gt;&lt;P&gt;        waerk          " Currency&lt;/P&gt;&lt;P&gt;        kdgrp          " Customer Group&lt;/P&gt;&lt;P&gt;        bzirk          " Sales Employee&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;   into table it_vbrk&lt;/P&gt;&lt;P&gt;   from vbrk&lt;/P&gt;&lt;P&gt;   where&lt;/P&gt;&lt;P&gt;         bukrs = p_bukrs  and&lt;/P&gt;&lt;P&gt;         vkorg in s_vkorg and&lt;/P&gt;&lt;P&gt;         land1 in s_land1 and&lt;/P&gt;&lt;P&gt;         kunag in s_kunnr and&lt;/P&gt;&lt;P&gt;         kdgrp in s_kdgrp and&lt;/P&gt;&lt;P&gt;         bzirk in s_bzirk and&lt;/P&gt;&lt;P&gt;         rfbsk = c_rfbsk.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort it_vbrk by vbeln fkdat kunnr.&lt;/P&gt;&lt;P&gt;  clear v_waers.&lt;/P&gt;&lt;P&gt;  select single waers from t001&lt;/P&gt;&lt;P&gt;     into v_waers where bukrs = p_bukrs.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " GET_SALES_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_OPEN_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Customer Open Items from BSID&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_open_data.&lt;/P&gt;&lt;P&gt;  select kunnr          " Customer Number&lt;/P&gt;&lt;P&gt;         gjahr          " Fiscal Year&lt;/P&gt;&lt;P&gt;         belnr          " Acc.Document&lt;/P&gt;&lt;P&gt;         buzei          " Item&lt;/P&gt;&lt;P&gt;         budat          " Posting Date&lt;/P&gt;&lt;P&gt;         blart          " Doc Type&lt;/P&gt;&lt;P&gt;         shkzg          " Dr/Cr Indicator&lt;/P&gt;&lt;P&gt;         dmbtr          " Amount(Local Curr)&lt;/P&gt;&lt;P&gt;         dmbe2          " Amount(Doc Curr)&lt;/P&gt;&lt;P&gt;         waers          " Currency&lt;/P&gt;&lt;P&gt;         zterm          " Payment Terms&lt;/P&gt;&lt;P&gt;         vbeln          " Billing Doc&lt;/P&gt;&lt;P&gt;         zfbdt          " Baseline Date&lt;/P&gt;&lt;P&gt;         zbd1t          " No of days&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     into table it_bsid&lt;/P&gt;&lt;P&gt;     from bsid&lt;/P&gt;&lt;P&gt;     where bukrs = p_bukrs  and&lt;/P&gt;&lt;P&gt;           kunnr in s_kunnr and&lt;/P&gt;&lt;P&gt;           budat le p_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort it_bsid by kunnr gjahr belnr buzei budat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " GET_OPEN_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  GET_CLOSE_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the Customer closed Items from BSID&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form get_close_data.&lt;/P&gt;&lt;P&gt;  select kunnr          " Customer Number&lt;/P&gt;&lt;P&gt;         gjahr          " Fiscal Year&lt;/P&gt;&lt;P&gt;         belnr          " Acc.Document&lt;/P&gt;&lt;P&gt;         buzei          " Item&lt;/P&gt;&lt;P&gt;         budat          " Posting Date&lt;/P&gt;&lt;P&gt;         blart          " Doc Type&lt;/P&gt;&lt;P&gt;         shkzg          " Dr/Cr Indicator&lt;/P&gt;&lt;P&gt;         dmbtr          " Amount(Local Curr)&lt;/P&gt;&lt;P&gt;         dmbe2          " Amount(Doc Curr)&lt;/P&gt;&lt;P&gt;         waers          " Currency&lt;/P&gt;&lt;P&gt;         zterm          " Payment Terms&lt;/P&gt;&lt;P&gt;         vbeln          " Billing Doc&lt;/P&gt;&lt;P&gt;         zfbdt          " Baseline Date&lt;/P&gt;&lt;P&gt;         zbd1t          " No of days&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    into table it_bsad&lt;/P&gt;&lt;P&gt;    from bsad&lt;/P&gt;&lt;P&gt;    where bukrs = p_bukrs  and&lt;/P&gt;&lt;P&gt;          kunnr in s_kunnr and&lt;/P&gt;&lt;P&gt;          augdt &amp;gt; p_date   and&lt;/P&gt;&lt;P&gt;          budat le p_date.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort it_bsad by kunnr gjahr belnr buzei budat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the sales data from BSAD&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  select kunnr          " Customer Number&lt;/P&gt;&lt;P&gt;         gjahr          " Fiscal Year&lt;/P&gt;&lt;P&gt;         belnr          " Acc.Document&lt;/P&gt;&lt;P&gt;         buzei          " Item&lt;/P&gt;&lt;P&gt;         budat          " Posting Date&lt;/P&gt;&lt;P&gt;         blart          " Doc Type&lt;/P&gt;&lt;P&gt;         shkzg          " Dr/Cr Indicator&lt;/P&gt;&lt;P&gt;         dmbtr          " Amount(Local Curr)&lt;/P&gt;&lt;P&gt;         dmbe2          " Amount(Doc Curr)&lt;/P&gt;&lt;P&gt;         waers          " Currency&lt;/P&gt;&lt;P&gt;         zterm          " Payment Terms&lt;/P&gt;&lt;P&gt;         vbeln          " Billing Doc&lt;/P&gt;&lt;P&gt;         zfbdt          " Baseline Date&lt;/P&gt;&lt;P&gt;         zbd1t          " No of days&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;     into table it_bsad1&lt;/P&gt;&lt;P&gt;     from bsad&lt;/P&gt;&lt;P&gt;     for all entries in it_vbrk&lt;/P&gt;&lt;P&gt;     where kunnr = it_vbrk-kunnr and&lt;/P&gt;&lt;P&gt;           vbeln = it_vbrk-vbeln and&lt;/P&gt;&lt;P&gt;           bukrs = it_vbrk-bukrs and&lt;/P&gt;&lt;P&gt;           ( budat le p_date and&lt;/P&gt;&lt;P&gt;             budat ge v_date1 ) and&lt;/P&gt;&lt;P&gt;           blart = c_blart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  sort it_bsad1 by kunnr gjahr belnr buzei budat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Fetch the Customer Name and Country from KNA1&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  select kunnr    " Customer Number&lt;/P&gt;&lt;P&gt;         name1    " Name&lt;/P&gt;&lt;P&gt;         land1    " Country&lt;/P&gt;&lt;P&gt;      into table it_kna1&lt;/P&gt;&lt;P&gt;      from kna1&lt;/P&gt;&lt;P&gt;      where kunnr in s_kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " GET_CLOSE_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  PROCESS_DATA&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the data from BSID,BSAD and KNA1 into one int.table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form process_data.&lt;/P&gt;&lt;P&gt;****&lt;STRONG&gt;AR&lt;/STRONG&gt;********&lt;/P&gt;&lt;P&gt;*Move the data from BSID to it_arbal int table&lt;/P&gt;&lt;P&gt;  loop at it_bsid.&lt;/P&gt;&lt;P&gt;    move-corresponding it_bsid to it_arbal.&lt;/P&gt;&lt;P&gt;    it_arbal-due_date = it_bsid-zfbdt + it_bsid-zbd1t.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move VBRK Fields to AR side&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table it_vbrk with key kunnr = it_bsid-kunnr&lt;/P&gt;&lt;P&gt;                                vbeln = it_bsid-vbeln.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      it_arbal-vkorg = it_vbrk-vkorg.&lt;/P&gt;&lt;P&gt;      it_arbal-kdgrp = it_vbrk-kdgrp.&lt;/P&gt;&lt;P&gt;      it_arbal-bzirk = it_vbrk-bzirk.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move KNA1 Fields to AR side&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table it_kna1 with key kunnr = it_bsid-kunnr.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      move-corresponding it_kna1 to it_arbal.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    append it_arbal.&lt;/P&gt;&lt;P&gt;    clear it_arbal.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;*Move the data from BSAD to it_arbal int table&lt;/P&gt;&lt;P&gt;  loop at it_bsad.&lt;/P&gt;&lt;P&gt;    move-corresponding it_bsad to it_arbal.&lt;/P&gt;&lt;P&gt;    it_arbal-due_date = it_bsad-zfbdt + it_bsad-zbd1t.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move VBRK Fields to AR side&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table it_vbrk with key kunnr = it_bsad-kunnr&lt;/P&gt;&lt;P&gt;                                vbeln = it_bsad-vbeln.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      it_arbal-vkorg = it_vbrk-vkorg.&lt;/P&gt;&lt;P&gt;      it_arbal-kdgrp = it_vbrk-kdgrp.&lt;/P&gt;&lt;P&gt;      it_arbal-bzirk = it_vbrk-bzirk.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move KNA1 Fields to AR side&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table it_kna1 with key kunnr = it_bsad-kunnr.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      move-corresponding it_kna1 to it_arbal.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    append it_arbal.&lt;/P&gt;&lt;P&gt;    clear it_arbal.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculate the Overdue amount&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  sort it_arbal by kunnr vbeln belnr.&lt;/P&gt;&lt;P&gt;  loop at it_arbal.&lt;/P&gt;&lt;P&gt;    if it_arbal-shkzg = c_shkzg.    " Credit&lt;/P&gt;&lt;P&gt;      it_arbal-dmbtr = it_arbal-dmbtr * -1.&lt;/P&gt;&lt;P&gt;      it_arbal-dmbe2 = it_arbal-dmbe2 * -1.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    v_days = it_arbal-due_date - p_date.&lt;/P&gt;&lt;P&gt;    if v_days le 0.&lt;/P&gt;&lt;P&gt;      it_arbal-due_amnt = it_arbal-dmbtr.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    modify it_arbal index sy-tabix.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;  sort it_arbal by kunnr vbeln belnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculating the Total AR Balance &amp;amp; Overdue&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  loop at it_arbal where vkorg in s_vkorg and&lt;/P&gt;&lt;P&gt;                         land1 in s_land1 and&lt;/P&gt;&lt;P&gt;                         kdgrp in s_kdgrp and&lt;/P&gt;&lt;P&gt;                         bzirk in s_bzirk.&lt;/P&gt;&lt;P&gt;    at end of kunnr.&lt;/P&gt;&lt;P&gt;      read table it_arbal index sy-tabix.&lt;/P&gt;&lt;P&gt;      it_report-kunnr = it_arbal-kunnr.&lt;/P&gt;&lt;P&gt;      it_report-name1 = it_arbal-name1.&lt;/P&gt;&lt;P&gt;      it_report-land1 = it_arbal-land1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      sum.&lt;/P&gt;&lt;P&gt;      it_report-dmbtr = it_arbal-dmbtr.&lt;/P&gt;&lt;P&gt;      it_report-dmbe2 = it_arbal-dmbe2.&lt;/P&gt;&lt;P&gt;      it_report-due_amt = it_arbal-due_amnt.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;    append it_report.&lt;/P&gt;&lt;P&gt;    clear it_report.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  delete it_report where kunnr = ' ' and dmbtr = 0.&lt;/P&gt;&lt;P&gt;**&lt;STRONG&gt;SALES&lt;/STRONG&gt;********&lt;/P&gt;&lt;P&gt;*Move the data from BSID to it_arsale int table&lt;/P&gt;&lt;P&gt;  loop at it_bsid where ( budat ge v_date1 and&lt;/P&gt;&lt;P&gt;                          budat le p_date ) and&lt;/P&gt;&lt;P&gt;                          blart = c_blart.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    move-corresponding it_bsid to it_arsale.&lt;/P&gt;&lt;P&gt;    if it_arsale-shkzg = c_shkzg.    " Credit&lt;/P&gt;&lt;P&gt;      it_arsale-dmbtr = it_arsale-dmbtr * -1.&lt;/P&gt;&lt;P&gt;      it_arsale-dmbe2 = it_arsale-dmbe2 * -1.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Seperate Three months sales Amounts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if it_arsale-budat+4(2) = v_mon1.&lt;/P&gt;&lt;P&gt;      it_arsale-amnt1 = it_arsale-dmbtr.&lt;/P&gt;&lt;P&gt;    elseif it_arsale-budat+4(2) = v_mon2.&lt;/P&gt;&lt;P&gt;      it_arsale-amnt2 = it_arsale-dmbtr.&lt;/P&gt;&lt;P&gt;    elseif it_arsale-budat+4(2) = v_mon3.&lt;/P&gt;&lt;P&gt;      it_arsale-amnt3 = it_arsale-dmbtr.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move VBRK Fields to AR side&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table it_vbrk with key kunnr = it_bsid-kunnr&lt;/P&gt;&lt;P&gt;                                vbeln = it_bsid-vbeln.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      it_arsale-vkorg = it_vbrk-vkorg.&lt;/P&gt;&lt;P&gt;      it_arsale-kdgrp = it_vbrk-kdgrp.&lt;/P&gt;&lt;P&gt;      it_arsale-bzirk = it_vbrk-bzirk.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move KNA1 Fields to Sales side&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table it_kna1 with key kunnr = it_bsid-kunnr.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      move-corresponding it_kna1 to it_arsale.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    append it_arsale.&lt;/P&gt;&lt;P&gt;    clear it_arsale.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*Move the data from BSAD1 to it_arsale int table&lt;/P&gt;&lt;P&gt;  loop at it_bsad1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    move-corresponding it_bsad1 to it_arsale.&lt;/P&gt;&lt;P&gt;    if it_arsale-shkzg = c_shkzg.    " Credit&lt;/P&gt;&lt;P&gt;      it_arsale-dmbtr = it_arsale-dmbtr * -1.&lt;/P&gt;&lt;P&gt;      it_arsale-dmbe2 = it_arsale-dmbe2 * -1.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Seperate Three months sales Amounts&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    if it_arsale-budat+4(2) = v_mon1.&lt;/P&gt;&lt;P&gt;      it_arsale-amnt1 = it_arsale-dmbtr.&lt;/P&gt;&lt;P&gt;    elseif it_arsale-budat+4(2) = v_mon2.&lt;/P&gt;&lt;P&gt;      it_arsale-amnt2 = it_arsale-dmbtr.&lt;/P&gt;&lt;P&gt;    elseif it_arsale-budat+4(2) = v_mon3.&lt;/P&gt;&lt;P&gt;      it_arsale-amnt3 = it_arsale-dmbtr.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move VBRK Fields to Sales side&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table it_vbrk with key kunnr = it_bsad1-kunnr&lt;/P&gt;&lt;P&gt;                                vbeln = it_bsad1-vbeln.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      it_arsale-vkorg = it_vbrk-vkorg.&lt;/P&gt;&lt;P&gt;      it_arsale-kdgrp = it_vbrk-kdgrp.&lt;/P&gt;&lt;P&gt;      it_arsale-bzirk = it_vbrk-bzirk.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move KNA1 Fields to Sales side&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    read table it_kna1 with key kunnr = it_bsad1-kunnr.&lt;/P&gt;&lt;P&gt;    if sy-subrc = 0.&lt;/P&gt;&lt;P&gt;      move-corresponding it_kna1 to it_arsale.&lt;/P&gt;&lt;P&gt;    endif.&lt;/P&gt;&lt;P&gt;    append it_arsale.&lt;/P&gt;&lt;P&gt;    clear it_arsale.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculating the Total 3 months Sales&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  loop at it_arsale.&lt;/P&gt;&lt;P&gt;    at end of kunnr.&lt;/P&gt;&lt;P&gt;      read table it_arsale index sy-tabix.&lt;/P&gt;&lt;P&gt;      it_sales-kunnr = it_arsale-kunnr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      sum.&lt;/P&gt;&lt;P&gt;      it_sales-dmbtr = it_arsale-dmbtr.&lt;/P&gt;&lt;P&gt;      it_sales-dmbe2 = it_arsale-dmbe2.&lt;/P&gt;&lt;P&gt;      it_sales-amnt1 = it_arsale-amnt1.&lt;/P&gt;&lt;P&gt;      it_sales-amnt2 = it_arsale-amnt2.&lt;/P&gt;&lt;P&gt;      it_sales-amnt3 = it_arsale-amnt3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;    append it_sales.&lt;/P&gt;&lt;P&gt;    clear it_sales.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  delete it_sales where kunnr = ' ' and dmbtr = 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " PROCESS_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  WRITE_REPORT&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Write the Summary Report Output&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form write_report.&lt;/P&gt;&lt;P&gt;  clear: v_sum1,v_sum2,v_sum3.&lt;/P&gt;&lt;P&gt;  loop at it_report.&lt;/P&gt;&lt;P&gt;    at new kunnr.&lt;/P&gt;&lt;P&gt;      read table it_report index sy-tabix.&lt;/P&gt;&lt;P&gt;      write: / sy-vline,  2(10) it_report-kunnr color 1,&lt;/P&gt;&lt;P&gt;            12 sy-vline, 13(30) it_report-name1,&lt;/P&gt;&lt;P&gt;            43 sy-vline, 44(4)  it_report-land1,&lt;/P&gt;&lt;P&gt;            48 sy-vline.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;    at end of kunnr.&lt;/P&gt;&lt;P&gt;      sum.&lt;/P&gt;&lt;P&gt;      write: 1 sy-vline, 12 sy-vline,&lt;/P&gt;&lt;P&gt;           43 sy-vline,  48 sy-vline,&lt;/P&gt;&lt;P&gt;           49(15) it_report-dmbtr  currency v_waers,&lt;/P&gt;&lt;P&gt;           64 sy-vline,&lt;/P&gt;&lt;P&gt;           65(15) it_report-due_amt  currency v_waers,&lt;/P&gt;&lt;P&gt;           80 sy-vline.&lt;/P&gt;&lt;P&gt;      read table it_sales with key kunnr = it_report-kunnr.&lt;/P&gt;&lt;P&gt;      write: 81(15) it_sales-amnt3  currency v_waers,&lt;/P&gt;&lt;P&gt;           96 sy-vline,&lt;/P&gt;&lt;P&gt;           97(15) it_sales-amnt2  currency v_waers,&lt;/P&gt;&lt;P&gt;          112 sy-vline,&lt;/P&gt;&lt;P&gt;          113(15) it_sales-amnt1  currency v_waers,&lt;/P&gt;&lt;P&gt;          128 sy-vline,&lt;/P&gt;&lt;P&gt;          129(15) it_sales-dmbtr  currency v_waers.&lt;/P&gt;&lt;P&gt;      if it_sales-dmbtr &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;        v_num1 =  it_report-dmbtr / it_sales-dmbtr .&lt;/P&gt;&lt;P&gt;        v_num2 =  it_report-due_amt / it_sales-dmbtr .&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      v_dso = floor( v_num1 * v_d_days ).&lt;/P&gt;&lt;P&gt;      v_doo = floor( v_num2 * v_d_days ).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write: 144 sy-vline,&lt;/P&gt;&lt;P&gt;             145(5) v_dso no-sign,&lt;/P&gt;&lt;P&gt;             150 sy-vline,&lt;/P&gt;&lt;P&gt;             151(5) v_doo no-sign,&lt;/P&gt;&lt;P&gt;             156 sy-vline.&lt;/P&gt;&lt;P&gt;    endat.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Totals&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    v_sum1 = v_sum1 + it_report-dmbtr.&lt;/P&gt;&lt;P&gt;    v_sum2 = v_sum2 + it_report-due_amt.&lt;/P&gt;&lt;P&gt;    v_sum3 = v_sum3 + it_sales-dmbtr.&lt;/P&gt;&lt;P&gt;    v_sum4 = v_sum4 + it_sales-amnt1.&lt;/P&gt;&lt;P&gt;    v_sum5 = v_sum5 + it_sales-amnt2.&lt;/P&gt;&lt;P&gt;    v_sum6 = v_sum6 + it_sales-amnt3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Hide the Customer for interactive purpose.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    hide it_report-kunnr.&lt;/P&gt;&lt;P&gt;    clear it_report-kunnr.&lt;/P&gt;&lt;P&gt;  endloop.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  write at /1(156) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Calculation of Grand Totals&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  format color 3.&lt;/P&gt;&lt;P&gt;  write: /1 sy-vline, 2 'Gr.Total'(019),&lt;/P&gt;&lt;P&gt;             12 sy-vline, 13 'As At:'(033),p_date,&lt;/P&gt;&lt;P&gt;             43 sy-vline, 48 sy-vline,&lt;/P&gt;&lt;P&gt;             49(15) v_sum1 currency it_bsid-waers,&lt;/P&gt;&lt;P&gt;             64 sy-vline,&lt;/P&gt;&lt;P&gt;             65(15) v_sum2 currency it_bsid-waers,&lt;/P&gt;&lt;P&gt;             80 sy-vline,&lt;/P&gt;&lt;P&gt;             81(15) v_sum6 currency it_bsid-waers,&lt;/P&gt;&lt;P&gt;             96 sy-vline,&lt;/P&gt;&lt;P&gt;             97(15) v_sum5  currency v_waers,&lt;/P&gt;&lt;P&gt;            112 sy-vline,&lt;/P&gt;&lt;P&gt;            113(15) v_sum4  currency v_waers,&lt;/P&gt;&lt;P&gt;            128 sy-vline,&lt;/P&gt;&lt;P&gt;            129(15) v_sum3  currency v_waers.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  if v_sum3 &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    v_avg_dso = ( v_sum1 / v_sum3 ) * v_d_days.&lt;/P&gt;&lt;P&gt;    v_avg_doo = ( v_sum2 / v_sum3 ) * v_d_days.&lt;/P&gt;&lt;P&gt;  endif.&lt;/P&gt;&lt;P&gt;  write: 144 sy-vline,145(5)  v_avg_dso no-sign,&lt;/P&gt;&lt;P&gt;         150 sy-vline,151(5)  v_avg_doo no-sign,&lt;/P&gt;&lt;P&gt;         156 sy-vline.&lt;/P&gt;&lt;P&gt;  format color off.&lt;/P&gt;&lt;P&gt;  clear: v_sum4,v_sum5,v_d_days,&lt;/P&gt;&lt;P&gt;         v_avg_dso,v_avg_doo.&lt;/P&gt;&lt;P&gt;  write at /1(156) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " WRITE_REPORT1&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  LINE_SEL_COL_HEADING&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Column headings for the Interactive Report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form line_sel_col_heading.&lt;/P&gt;&lt;P&gt;  skip.&lt;/P&gt;&lt;P&gt;  write:/1(121) 'CUSTOMER WISE DOCUMENT DETAILS'(046)  centered.&lt;/P&gt;&lt;P&gt;  write:/2 'AR DETAILS'(049) color 1.&lt;/P&gt;&lt;P&gt;  format color col_heading.&lt;/P&gt;&lt;P&gt;  write at /1(121) sy-uline .&lt;/P&gt;&lt;P&gt;  write: / sy-vline,  2(10) 'Acc.Doc.No'(034) centered,&lt;/P&gt;&lt;P&gt;        12 sy-vline, 13(10) 'Post.Date'(035),&lt;/P&gt;&lt;P&gt;        23 sy-vline, 24(4)  'DTyp'(036) centered,&lt;/P&gt;&lt;P&gt;        28 sy-vline, 29(10) 'BillDoc.No'(037) centered,&lt;/P&gt;&lt;P&gt;        39 sy-vline, 40(15) 'Amount(Local)'(038) centered,&lt;/P&gt;&lt;P&gt;        55 sy-vline, 56(15) 'Amount(USD)'(039) centered,&lt;/P&gt;&lt;P&gt;        71 sy-vline, 72(15) 'Overdue Amt'(040) centered,&lt;/P&gt;&lt;P&gt;        87 sy-vline, 88(10) 'Due Date'(041) centered,&lt;/P&gt;&lt;P&gt;        98 sy-vline, 99(5)  'PTerm'(042) centered,&lt;/P&gt;&lt;P&gt;       104 sy-vline,105(5)  'SOrgn'(043) centered,&lt;/P&gt;&lt;P&gt;       110 sy-vline,111(4)  'CGrp'(044) centered,&lt;/P&gt;&lt;P&gt;       115 sy-vline,116(5)  'SEmp'(045) centered,&lt;/P&gt;&lt;P&gt;       121 sy-vline.&lt;/P&gt;&lt;P&gt;  write at /1(121) sy-uline.&lt;/P&gt;&lt;P&gt;  format color off.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;endform.                    " LINE_SEL_COL_HEADING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*&amp;amp;      Form  LINE_SEL&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&amp;amp;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When double clicked on KUNNR display the details of AR and Sales&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;STRONG&gt;----&lt;/STRONG&gt;&lt;/P&gt;&lt;HR originaltext="-----------------------------------------------------------------" /&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;form line_sel.&lt;/P&gt;&lt;P&gt;  case sy-lsind.&lt;/P&gt;&lt;P&gt;    when '1'.&lt;/P&gt;&lt;P&gt;      data: lv_field(20),&lt;/P&gt;&lt;P&gt;            lv_value(10).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      get cursor field lv_field value lv_value.&lt;/P&gt;&lt;P&gt;      if lv_field = 'IT_REPORT-KUNNR'.&lt;/P&gt;&lt;P&gt;        if not lv_value is initial.&lt;/P&gt;&lt;P&gt;          set parameter id 'KUN' field lv_value.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Writing the AR Details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          format color 3.&lt;/P&gt;&lt;P&gt;          write:/1 sy-vline, 2(10) 'Customer:'(048),&lt;/P&gt;&lt;P&gt;                   it_report-kunnr no-gap, '-',&lt;/P&gt;&lt;P&gt;                   it_report-name1 no-gap, 'Country:'(047) no-gap,&lt;/P&gt;&lt;P&gt;                   it_report-land1, 121 sy-vline.&lt;/P&gt;&lt;P&gt;          format color off.&lt;/P&gt;&lt;P&gt;          write at /1(121) sy-uline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;          loop at it_arbal where kunnr = it_report-kunnr.&lt;/P&gt;&lt;P&gt;            write: / sy-vline,  2(10) it_arbal-belnr color 2,&lt;/P&gt;&lt;P&gt;              12 sy-vline, 13(10) it_arbal-budat,&lt;/P&gt;&lt;P&gt;              23 sy-vline, 24(4)  it_arbal-blart,&lt;/P&gt;&lt;P&gt;              28 sy-vline, 29(10) it_arbal-vbeln,&lt;/P&gt;&lt;P&gt;              39 sy-vline,&lt;/P&gt;&lt;P&gt;              40(15) it_arbal-dmbtr currency it_arbal-waers,&lt;/P&gt;&lt;P&gt;              55 sy-vline,&lt;/P&gt;&lt;P&gt;              56(15) it_arbal-dmbe2 currency it_arbal-waers,&lt;/P&gt;&lt;P&gt;              71 sy-vline,&lt;/P&gt;&lt;P&gt;              72(15) it_arbal-due_amnt currency it_arbal-waers,&lt;/P&gt;&lt;P&gt;              87 sy-vline, 88(10) it_arbal-due_date,&lt;/P&gt;&lt;P&gt;              98 sy-vline, 99(5)  it_arbal-zterm,&lt;/P&gt;&lt;P&gt;             104 sy-vline,105(5)  it_arbal-vkorg,&lt;/P&gt;&lt;P&gt;             110 sy-vline,111(4)  it_arbal-kdgrp,&lt;/P&gt;&lt;P&gt;             115 sy-vline,116(5)  it_arbal-bzirk,&lt;/P&gt;&lt;P&gt;             121 sy-vline.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Totals for amount fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            v_sum7 = v_sum7 + it_arbal-dmbtr.&lt;/P&gt;&lt;P&gt;            v_sum8 = v_sum8 + it_arbal-dmbe2.&lt;/P&gt;&lt;P&gt;            v_sum9 = v_sum9 + it_arbal-due_amnt.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Hide the field BELNR to go to the document.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;            hide it_arbal-belnr.&lt;/P&gt;&lt;P&gt;            clear it_arbal-belnr.&lt;/P&gt;&lt;P&gt;          endloop.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;      endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      write at /1(121) sy-uline.&lt;/P&gt;&lt;P&gt;      format color 3.&lt;/P&gt;&lt;P&gt;      write: / sy-vline,  2(10) 'Total'(032),&lt;/P&gt;&lt;P&gt;          12 sy-vline,   23 sy-vline,&lt;/P&gt;&lt;P&gt;          28 sy-vline,   39 sy-vline,&lt;/P&gt;&lt;P&gt;          40(15) v_sum7 currency it_arbal-waers,&lt;/P&gt;&lt;P&gt;          55 sy-vline,&lt;/P&gt;&lt;P&gt;          56(15) v_sum8 currency it_arbal-waers,&lt;/P&gt;&lt;P&gt;          71 sy-vline,&lt;/P&gt;&lt;P&gt;          72(15) v_sum9 currency it_arbal-waers,&lt;/P&gt;&lt;P&gt;          87 sy-vline,  98 sy-vline,&lt;/P&gt;&lt;P&gt;         104 sy-vline, 110 sy-vline,&lt;/P&gt;&lt;P&gt;         115 sy-vline, 121 sy-vline.&lt;/P&gt;&lt;P&gt;      write at /1(121) sy-uline.&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;      clear: v_sum7, v_sum8, v_sum9.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Writing the sales Details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      write:/2 'SALES DETAILS'(050) color 1.&lt;/P&gt;&lt;P&gt;      write at /1(136) sy-uline.&lt;/P&gt;&lt;P&gt;      format color col_heading.&lt;/P&gt;&lt;P&gt;      write: / sy-vline,  2(10) 'Acc.Doc.No'(034) centered,&lt;/P&gt;&lt;P&gt;            12 sy-vline, 13(10) 'Post.Date'(035),&lt;/P&gt;&lt;P&gt;            23 sy-vline, 24(4)  'DTyp'(036) centered,&lt;/P&gt;&lt;P&gt;            28 sy-vline, 29(10) 'BillDoc.No'(037) centered,&lt;/P&gt;&lt;P&gt;            39 sy-vline, 40(15) 'Total Sales Amt'(051) centered,&lt;/P&gt;&lt;P&gt;            55 sy-vline, 56(15) 'Amount(USD)'(039) centered,&lt;/P&gt;&lt;P&gt;            71 sy-vline, 72(15) 'Current Month'(052) centered,&lt;/P&gt;&lt;P&gt;            87 sy-vline, 88(15) 'Last Month'(053) centered,&lt;/P&gt;&lt;P&gt;           103 sy-vline,104(15) 'Previous Month'(054) centered,&lt;/P&gt;&lt;P&gt;           119 sy-vline,120(5)  'SOrgn'(043) centered,&lt;/P&gt;&lt;P&gt;           125 sy-vline,126(4)  'CGrp'(044) centered,&lt;/P&gt;&lt;P&gt;           130 sy-vline,131(5)  'SEmp'(045) centered,&lt;/P&gt;&lt;P&gt;           136 sy-vline.&lt;/P&gt;&lt;P&gt;      write at /1(136) sy-uline.&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      loop at it_arsale where kunnr = it_report-kunnr.&lt;/P&gt;&lt;P&gt;        write: / sy-vline, 2(10) it_arsale-belnr ,&lt;/P&gt;&lt;P&gt;          12 sy-vline, 13(10) it_arsale-budat,&lt;/P&gt;&lt;P&gt;          23 sy-vline, 24(4)  it_arsale-blart,&lt;/P&gt;&lt;P&gt;          28 sy-vline,&lt;/P&gt;&lt;P&gt;          29(10) it_arsale-vbeln color 2,&lt;/P&gt;&lt;P&gt;          39 sy-vline,&lt;/P&gt;&lt;P&gt;          40(15) it_arsale-dmbtr currency it_arsale-waers,&lt;/P&gt;&lt;P&gt;          55 sy-vline,&lt;/P&gt;&lt;P&gt;          56(15) it_arsale-dmbe2 currency it_arsale-waers,&lt;/P&gt;&lt;P&gt;          71 sy-vline,&lt;/P&gt;&lt;P&gt;          72(15) it_arsale-amnt1 currency it_arsale-waers,&lt;/P&gt;&lt;P&gt;          87 sy-vline,&lt;/P&gt;&lt;P&gt;          88(15) it_arsale-amnt2 currency it_arsale-waers,&lt;/P&gt;&lt;P&gt;         103 sy-vline,&lt;/P&gt;&lt;P&gt;         104(15) it_arsale-amnt3 currency it_arsale-waers,&lt;/P&gt;&lt;P&gt;         119 sy-vline,120(5)  it_arsale-vkorg,&lt;/P&gt;&lt;P&gt;         125 sy-vline,126(4)  it_arsale-kdgrp,&lt;/P&gt;&lt;P&gt;         130 sy-vline,131(5)  it_arsale-bzirk,&lt;/P&gt;&lt;P&gt;         136 sy-vline.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Totals for amount fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        v_sum10 = v_sum10 + it_arsale-dmbtr.&lt;/P&gt;&lt;P&gt;        v_sum11 = v_sum11 + it_arsale-dmbe2.&lt;/P&gt;&lt;P&gt;        v_sum12 = v_sum12 + it_arsale-amnt1.&lt;/P&gt;&lt;P&gt;        v_sum13 = v_sum13 + it_arsale-amnt2.&lt;/P&gt;&lt;P&gt;        v_sum14 = v_sum14 + it_arsale-amnt3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Hide the field VBELN to go to the document.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;        hide it_arsale-vbeln.&lt;/P&gt;&lt;P&gt;        clear it_arsale-vbeln.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      endloop.&lt;/P&gt;&lt;P&gt;      write at /1(136) sy-uline.&lt;/P&gt;&lt;P&gt;      format color 3.&lt;/P&gt;&lt;P&gt;      write: / sy-vline, 2(10) 'Total'(032),&lt;/P&gt;&lt;P&gt;          12 sy-vline, 23 sy-vline,&lt;/P&gt;&lt;P&gt;          28 sy-vline, 39 sy-vline,&lt;/P&gt;&lt;P&gt;          40(15) v_sum10 currency it_arsale-waers,&lt;/P&gt;&lt;P&gt;          55 sy-vline,&lt;/P&gt;&lt;P&gt;          56(15) v_sum11 currency it_arsale-waers,&lt;/P&gt;&lt;P&gt;          71 sy-vline,&lt;/P&gt;&lt;P&gt;          72(15) v_sum12 currency it_arsale-waers,&lt;/P&gt;&lt;P&gt;          87 sy-vline,&lt;/P&gt;&lt;P&gt;          88(15) v_sum13 currency it_arsale-waers,&lt;/P&gt;&lt;P&gt;         103 sy-vline,&lt;/P&gt;&lt;P&gt;         104(15) v_sum14 currency it_arsale-waers,&lt;/P&gt;&lt;P&gt;         119 sy-vline,  125 sy-vline,&lt;/P&gt;&lt;P&gt;         130 sy-vline,  136 sy-vline.&lt;/P&gt;&lt;P&gt;      format color off.&lt;/P&gt;&lt;P&gt;      clear: v_sum10, v_sum11, v_sum12, v_sum13, v_sum14.&lt;/P&gt;&lt;P&gt;      write at /1(136) sy-uline.&lt;/P&gt;&lt;P&gt;    when '2'.&lt;/P&gt;&lt;P&gt;      data: lv_field1(20),&lt;/P&gt;&lt;P&gt;            lv_value1(10),&lt;/P&gt;&lt;P&gt;            lv_date(10),&lt;/P&gt;&lt;P&gt;            lv_gjahr like bsad-gjahr.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      get cursor field lv_field1 value lv_value1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When double clicked on BELNR leave to FB03 Transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      if lv_field1 = 'IT_ARBAL-BELNR'.&lt;/P&gt;&lt;P&gt;        if not lv_value1 is initial.&lt;/P&gt;&lt;P&gt;          read current line field value it_arbal-budat into lv_date.&lt;/P&gt;&lt;P&gt;          lv_gjahr = lv_date+6(4).&lt;/P&gt;&lt;P&gt;          set parameter id 'BUK' field p_bukrs.&lt;/P&gt;&lt;P&gt;          set parameter id 'GJR' field lv_gjahr.&lt;/P&gt;&lt;P&gt;          set parameter id 'BLN' field lv_value1.&lt;/P&gt;&lt;P&gt;          call transaction 'FB03' and skip first screen.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;When double clicked on VBELN leave to VF03 Transaction&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      elseif lv_field1 = 'IT_ARSALE-VBELN'.&lt;/P&gt;&lt;P&gt;        if not lv_value1 is initial.&lt;/P&gt;&lt;P&gt;          set parameter id 'VF' field lv_value1.&lt;/P&gt;&lt;P&gt;          call transaction 'VF03' and skip first screen.&lt;/P&gt;&lt;P&gt;        endif.&lt;/P&gt;&lt;P&gt;     endif.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  endcase.&lt;/P&gt;&lt;P&gt;endform.                    " LINE_SEL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Reward points if useful&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;Anji&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Jun 2007 11:15:02 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/transaction-code-f-30-dso-analysis-question/m-p/2380515#M528266</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-01T11:15:02Z</dc:date>
    </item>
    <item>
      <title>Re: Transaction Code: F.30 (DSO analysis) question</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/transaction-code-f-30-dso-analysis-question/m-p/2380516#M528267</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;That was a big help! Thanks a lot &lt;SPAN __jive_emoticon_name="happy"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 01 Jun 2007 11:24:51 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/transaction-code-f-30-dso-analysis-question/m-p/2380516#M528267</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-06-01T11:24:51Z</dc:date>
    </item>
    <item>
      <title>Re: Transaction Code: F.30 (DSO analysis) question</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/transaction-code-f-30-dso-analysis-question/m-p/2380517#M528268</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Very good report. Thanks anji &amp;amp; cheers for such contributors.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;annie&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 14 Sep 2007 05:01:21 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/transaction-code-f-30-dso-analysis-question/m-p/2380517#M528268</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2007-09-14T05:01:21Z</dc:date>
    </item>
  </channel>
</rss>

