<?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: payment performance in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/payment-performance/m-p/943331#M63630</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Have you tried subtracting the due date on the invoice from the payment date on the payment transaction That will give you the number of days before or after the payment is due. Is that what you mean by payment performance?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Or subtract the due date from the clearing date on the invoice?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Rob Burbank&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 29 Sep 2005 16:34:27 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2005-09-29T16:34:27Z</dc:date>
    <item>
      <title>payment performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/payment-performance/m-p/943330#M63629</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I want to calculate customer payment performance by profit center it is a report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Caluation clue.&lt;/P&gt;&lt;P&gt;Performance is a measure of when the payment was made versus the due date calculated by the payment terms.&lt;/P&gt;&lt;P&gt;i want the logic to be included in the following code.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Sep 2005 16:24:18 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/payment-performance/m-p/943330#M63629</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-09-29T16:24:18Z</dc:date>
    </item>
    <item>
      <title>Re: payment performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/payment-performance/m-p/943331#M63630</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Have you tried subtracting the due date on the invoice from the payment date on the payment transaction That will give you the number of days before or after the payment is due. Is that what you mean by payment performance?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Or subtract the due date from the clearing date on the invoice?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Rob&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Message was edited by: Rob Burbank&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Sep 2005 16:34:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/payment-performance/m-p/943331#M63630</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-09-29T16:34:27Z</dc:date>
    </item>
    <item>
      <title>Re: payment performance</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/payment-performance/m-p/943332#M63631</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;can u  give coding for this  payment performance calculations.My follwing code as follows we have to this calculations in this report.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;TABLES: BFOD_A,         "FI subsequent BA/PC adjustment: Customer items&lt;/P&gt;&lt;P&gt;        BSID,           "Open Items&lt;/P&gt;&lt;P&gt;        BSAD,           "Cleared Items&lt;/P&gt;&lt;P&gt;        BKPF,           "Docuemnt Header&lt;/P&gt;&lt;P&gt;        KNA1,           "Customer Master&lt;/P&gt;&lt;P&gt;        CEPCT,          "Texts for Profit Center Master Data&lt;/P&gt;&lt;P&gt;        CEPC,           "Profit center master data table&lt;/P&gt;&lt;P&gt;        SKB1,           "G/L account master&lt;/P&gt;&lt;P&gt;        VBFA,           "Sales Document Flow&lt;/P&gt;&lt;P&gt;        VBAK.           "Sales Document: Header Data&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;CONTROLS: TABAGING TYPE TABLEVIEW USING SCREEN 9000.&lt;/P&gt;&lt;P&gt;FIELD-SYMBOLS: &amp;lt;COLUMN&amp;gt;.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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; Internal tables followed by types&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;TYPES: BEGIN OF T_TOTAL,&lt;/P&gt;&lt;P&gt;         WAERS  LIKE COEP-TWAER,&lt;/P&gt;&lt;P&gt;         DAYS01 LIKE COEP-WTGBTR,&lt;/P&gt;&lt;P&gt;         DAYS02 LIKE COEP-WTGBTR,&lt;/P&gt;&lt;P&gt;         DAYS03 LIKE COEP-WTGBTR,&lt;/P&gt;&lt;P&gt;         DAYS04 LIKE COEP-WTGBTR,&lt;/P&gt;&lt;P&gt;         DAYS05 LIKE COEP-WTGBTR,&lt;/P&gt;&lt;P&gt;         TOTAL  LIKE COEP-WTGBTR,&lt;/P&gt;&lt;P&gt;       END OF T_TOTAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: V_DISVARIANT       TYPE DISVARIANT,&lt;/P&gt;&lt;P&gt;      REF_CUSTOM         TYPE REF TO CL_GUI_CUSTOM_CONTAINER,&lt;/P&gt;&lt;P&gt;      REF_ALV_ZRPT       TYPE REF TO CL_GUI_ALV_GRID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: V_SAVE(1)    TYPE C,&lt;/P&gt;&lt;P&gt;      V_DEFAULT(1) TYPE C,&lt;/P&gt;&lt;P&gt;      V_VARIANT    TYPE DISVARIANT,&lt;/P&gt;&lt;P&gt;      V_SORT       TYPE LVC_S_SORT,&lt;/P&gt;&lt;P&gt;      V_LAYOUT     TYPE LVC_S_LAYO,&lt;/P&gt;&lt;P&gt;      V_SAVE_TABIX LIKE SY-TABIX,&lt;/P&gt;&lt;P&gt;      V_SAVE_TIME  LIKE SY-UZEIT,&lt;/P&gt;&lt;P&gt;      V_ALV_FIELDCAT TYPE LVC_S_FCAT,&lt;/P&gt;&lt;P&gt;      V_SAVE_INDEX LIKE SY-TABIX,&lt;/P&gt;&lt;P&gt;      V_ROW        TYPE LVC_S_ROW,&lt;/P&gt;&lt;P&gt;      V_ROWS       TYPE LINE OF LVC_T_ROW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF V_HDR,&lt;/P&gt;&lt;P&gt;        CURKY(9) TYPE C,&lt;/P&gt;&lt;P&gt;        CURR(20) TYPE C,&lt;/P&gt;&lt;P&gt;        COL1(20) TYPE C,&lt;/P&gt;&lt;P&gt;        COL2(20) TYPE C,&lt;/P&gt;&lt;P&gt;        COL3(20) TYPE C,&lt;/P&gt;&lt;P&gt;        COL4(20) TYPE C,&lt;/P&gt;&lt;P&gt;        TOTAL(20) TYPE C,&lt;/P&gt;&lt;P&gt;      END OF V_HDR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF V_FIELD,&lt;/P&gt;&lt;P&gt;        NAME(15) TYPE C,&lt;/P&gt;&lt;P&gt;        VALUE(17) TYPE C,&lt;/P&gt;&lt;P&gt;      END OF V_FIELD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF I_BFOD_A OCCURS 0,&lt;/P&gt;&lt;P&gt;        PRCTR LIKE BFOD_A-PRCTR,&lt;/P&gt;&lt;P&gt;        KUNNR LIKE BFOD_A-KUNNR,&lt;/P&gt;&lt;P&gt;        BUKRS LIKE BFOD_A-BUKRS,&lt;/P&gt;&lt;P&gt;        GJAHR LIKE BFOD_A-GJAHR,&lt;/P&gt;&lt;P&gt;        BELNR LIKE BFOD_A-BELNR,&lt;/P&gt;&lt;P&gt;        BUZEI LIKE BFOD_A-BUZEI,&lt;/P&gt;&lt;P&gt;        AUGDT LIKE BFOD_A-AUGDT,&lt;/P&gt;&lt;P&gt;        HKONT LIKE BFOD_A-HKONT,&lt;/P&gt;&lt;P&gt;        BUDAT LIKE BFOD_A-BUDAT,&lt;/P&gt;&lt;P&gt;        SHKZG LIKE BFOD_A-SHKZG,&lt;/P&gt;&lt;P&gt;        DMBTR LIKE BFOD_A-DMBTR,&lt;/P&gt;&lt;P&gt;        DMBE2 LIKE BFOD_A-DMBE2,&lt;/P&gt;&lt;P&gt;      END OF I_BFOD_A.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: I_SET_VALUES   LIKE SETVALUES OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      I_SORT         TYPE LVC_T_SORT,&lt;/P&gt;&lt;P&gt;      I_ALV_FIELDCAT TYPE LVC_T_FCAT,&lt;/P&gt;&lt;P&gt;      I_PRCTR_COCD   TYPE FCINPCA001 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;      I_BFODA_KUNNR  LIKE I_BFOD_A OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of changes for DEVK909110&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_REPORT       TYPE ZFR0ARPR_S1 OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      I_REPORT       TYPE ZPSS_ARBYPC OCCURS 0 WITH HEADER LINE,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of changes for DEVK909110&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;      I_FAEDE        LIKE FAEDE,&lt;/P&gt;&lt;P&gt;      I_TOTAL        TYPE T_TOTAL OCCURS 0 WITH HEADER LINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF I_BKPF OCCURS 0,&lt;/P&gt;&lt;P&gt;        BUKRS LIKE BKPF-BUKRS,&lt;/P&gt;&lt;P&gt;        BELNR LIKE BKPF-BELNR,&lt;/P&gt;&lt;P&gt;        GJAHR LIKE BKPF-GJAHR,&lt;/P&gt;&lt;P&gt;        BKTXT LIKE BKPF-BKTXT,&lt;/P&gt;&lt;P&gt;        XBLNR LIKE BKPF-XBLNR,&lt;/P&gt;&lt;P&gt;        HWAER LIKE BKPF-HWAER,&lt;/P&gt;&lt;P&gt;        HWAE2 LIKE BKPF-HWAE2,&lt;/P&gt;&lt;P&gt;      END OF I_BKPF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*... combine BSAD and BSID&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF I_BSYD OCCURS 0,&lt;/P&gt;&lt;P&gt;        KUNNR LIKE BSID-KUNNR,&lt;/P&gt;&lt;P&gt;        BUKRS LIKE BSID-BUKRS,&lt;/P&gt;&lt;P&gt;        GJAHR LIKE BSID-GJAHR,&lt;/P&gt;&lt;P&gt;        BELNR LIKE BSID-BELNR,&lt;/P&gt;&lt;P&gt;        BUZEI LIKE BSID-BUZEI,&lt;/P&gt;&lt;P&gt;        AUGDT LIKE BSID-AUGDT,&lt;/P&gt;&lt;P&gt;        BLDAT LIKE BSID-BLDAT,&lt;/P&gt;&lt;P&gt;        BUDAT LIKE BSID-BUDAT,&lt;/P&gt;&lt;P&gt;        HKONT LIKE BSID-HKONT,&lt;/P&gt;&lt;P&gt;        WAERS LIKE BSID-WAERS,&lt;/P&gt;&lt;P&gt;        ZFBDT LIKE BSID-ZFBDT,&lt;/P&gt;&lt;P&gt;        ZBD1T LIKE BSID-ZBD1T,&lt;/P&gt;&lt;P&gt;        ZBD2T LIKE BSID-ZBD2T,&lt;/P&gt;&lt;P&gt;        ZBD3T LIKE BSID-ZBD3T,&lt;/P&gt;&lt;P&gt;        XBLNR LIKE BSID-XBLNR,&lt;/P&gt;&lt;P&gt;        REBZG LIKE BSID-REBZG,&lt;/P&gt;&lt;P&gt;        SHKZG LIKE BSID-SHKZG,&lt;/P&gt;&lt;P&gt;        DMBTR LIKE BSID-DMBTR,&lt;/P&gt;&lt;P&gt;        WRBTR LIKE BSID-WRBTR,&lt;/P&gt;&lt;P&gt;      END OF I_BSYD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF I_CEPC OCCURS 0,&lt;/P&gt;&lt;P&gt;         PRCTR LIKE CEPC-PRCTR,&lt;/P&gt;&lt;P&gt;         KHINR LIKE CEPC-KHINR,&lt;/P&gt;&lt;P&gt;      END OF I_CEPC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF I_CEPCT OCCURS 0,&lt;/P&gt;&lt;P&gt;         PRCTR LIKE CEPCT-PRCTR,&lt;/P&gt;&lt;P&gt;         MCTXT LIKE CEPCT-MCTXT,&lt;/P&gt;&lt;P&gt;      END OF I_CEPCT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF I_PRCTR OCCURS 0,&lt;/P&gt;&lt;P&gt;        PRCTR LIKE BFOD_A-PRCTR,&lt;/P&gt;&lt;P&gt;      END OF I_PRCTR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: BEGIN OF I_KNA1 OCCURS 0,&lt;/P&gt;&lt;P&gt;         KUNNR LIKE KNA1-KUNNR,&lt;/P&gt;&lt;P&gt;         NAME1 LIKE KNA1-NAME1,&lt;/P&gt;&lt;P&gt;      END OF I_KNA1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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; Working Variables Declarations&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;&lt;/P&gt;&lt;P&gt;*... accumulators&lt;/P&gt;&lt;P&gt;DATA: V_BFOD_TXNAMT LIKE BSID-WRBTR,    "transaction currency amt&lt;/P&gt;&lt;P&gt;      V_FRCURR      LIKE TCURR-FCURR,   "local currency&lt;/P&gt;&lt;P&gt;      V_TOCURR      LIKE TCURR-FCURR,   "local currency&lt;/P&gt;&lt;P&gt;      V_LCURR       LIKE T001-WAERS,    "local currency&lt;/P&gt;&lt;P&gt;      V_CUSTTOTUSD  LIKE BFOD_A-DMBE2,  "customer total grp curr&lt;/P&gt;&lt;P&gt;      V_TOTAL       LIKE BPPE-WTP03,    "days total grp curr&lt;/P&gt;&lt;P&gt;      V_CURRENT     LIKE BPPE-WTP03,    "days current grp curr&lt;/P&gt;&lt;P&gt;      V_TOTAL_USD   LIKE BPPE-WTP03,    "days total grp curr&lt;/P&gt;&lt;P&gt;      V_TOTAL_ROW   LIKE BPPE-WTP03.    "total of local curr/row&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: V_PRCTR          LIKE CEPC-PRCTR,   "profit center&lt;/P&gt;&lt;P&gt;      V_SUBRC          LIKE SY-SUBRC,&lt;/P&gt;&lt;P&gt;      V_FLAG           TYPE I,&lt;/P&gt;&lt;P&gt;      V_DPAST          TYPE I,     "past due days working&lt;/P&gt;&lt;P&gt;      V_GRAND          TYPE C,&lt;/P&gt;&lt;P&gt;      V_DIFF_COLOR     TYPE C,&lt;/P&gt;&lt;P&gt;      V_MSG(50)        TYPE C,&lt;/P&gt;&lt;P&gt;      V_SAVE_PCFN(128) TYPE C,&lt;/P&gt;&lt;P&gt;      V_EXTENSION(4)   TYPE C,&lt;/P&gt;&lt;P&gt;      V_PREV_PRCTR     LIKE CEPC-PRCTR,&lt;/P&gt;&lt;P&gt;      V_POS            LIKE SY-FDPOS,&lt;/P&gt;&lt;P&gt;      V_SAVE_BUKRS     LIKE BFOD_A-BUKRS,&lt;/P&gt;&lt;P&gt;      V_SAVE_KHINR     LIKE CEPC-KHINR,&lt;/P&gt;&lt;P&gt;      V_PERC           TYPE P DECIMALS 10,&lt;/P&gt;&lt;P&gt;      V_ZBD1T          LIKE BSID-ZBD1T,&lt;/P&gt;&lt;P&gt;      V_ZFBDT          LIKE BSID-ZFBDT,&lt;/P&gt;&lt;P&gt;      V_GROUP_CLASS    LIKE RGSBS-CLASS,&lt;/P&gt;&lt;P&gt;      V_GROUP_NAME     LIKE RGSBS-SETNR,&lt;/P&gt;&lt;P&gt;      V_GROUP_TITLE    LIKE RGSBS-TITLE,&lt;/P&gt;&lt;P&gt;      V_SETID          LIKE SETHIER-SETID,&lt;/P&gt;&lt;P&gt;      V_FILETYPE       LIKE RLGRAP-FILETYPE VALUE 'DAT',&lt;/P&gt;&lt;P&gt;      V_CNT            LIKE SY-TABIX,&lt;/P&gt;&lt;P&gt;      V_PREV_BELNR     LIKE BSID-BELNR,&lt;/P&gt;&lt;P&gt;      V_REPORT1        LIKE I_REPORT,&lt;/P&gt;&lt;P&gt;      V_REPORT         LIKE I_REPORT,&lt;/P&gt;&lt;P&gt;      V_TABIX          LIKE SY-TABIX.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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; Constants&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;CONSTANTS:&lt;/P&gt;&lt;P&gt;      C_0H(2)     TYPE C VALUE '0H',&lt;/P&gt;&lt;P&gt;      C_0106(4)   TYPE C VALUE '0106',&lt;/P&gt;&lt;P&gt;      C_SPACE(11) TYPE C VALUE '          ',&lt;/P&gt;&lt;P&gt;      C_USD(3)    TYPE C VALUE 'USD',&lt;/P&gt;&lt;P&gt;      C_KBRC      LIKE CEPC-KOKRS VALUE 'KBRC',&lt;/P&gt;&lt;P&gt;      C_TXT(4)    TYPE C VALUE '.txt',&lt;/P&gt;&lt;P&gt;      C_XLS(4)    TYPE C VALUE '.xls',&lt;/P&gt;&lt;P&gt;      C_RTF(4)    TYPE C VALUE '.rtf',&lt;/P&gt;&lt;P&gt;      C_PERIOD(1) TYPE C VALUE '.',&lt;/P&gt;&lt;P&gt;      C_TODATE    LIKE CEPC-DATBI VALUE '99991231'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RANGES: R_KUNNR FOR KNA1-KUNNR.         "Customer&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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; Selection Screen Parameters and Select-options&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;SELECTION-SCREEN SKIP 1.&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_KHINR LIKE CEPC-KHINR.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: S_PRCTR FOR CEPC-PRCTR,&lt;/P&gt;&lt;P&gt;                S_KUNNR FOR KNA1-KUNNR,&lt;/P&gt;&lt;P&gt;                S_BUKRS FOR BKPF-BUKRS,&lt;/P&gt;&lt;P&gt;                S_HKONT FOR SKB1-SAKNR.&lt;/P&gt;&lt;P&gt;PARAMETERS:     P_BUDAT LIKE BFOD_A-BUDAT OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN ULINE.&lt;/P&gt;&lt;P&gt;SELECT-OPTIONS: S_BELNR FOR BFOD_A-BELNR,&lt;/P&gt;&lt;P&gt;                S_AUART FOR VBAK-AUART,&lt;/P&gt;&lt;P&gt;                S_VTWEG FOR VBAK-VTWEG,&lt;/P&gt;&lt;P&gt;                S_VBTYP FOR VBFA-VBTYP_V.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN ULINE.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_AGEDY TYPE ZZAGEMULT DEFAULT '30' OBLIGATORY.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B1.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN SKIP.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME.&lt;/P&gt;&lt;P&gt;PARAMETERS: P_DSVAR LIKE DISVARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;SELECTION-SCREEN END OF BLOCK B2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;class lcl_event_receiver: local class to handle event DOUBLE_CLICK&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Definition:&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;CLASS LCL_EVENT_RECEIVER DEFINITION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PUBLIC SECTION.&lt;/P&gt;&lt;P&gt;    METHODS:&lt;/P&gt;&lt;P&gt;    MTH_PRINT_TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;        FOR EVENT PRINT_TOP_OF_PAGE OF CL_GUI_ALV_GRID.&lt;/P&gt;&lt;P&gt;    METHODS:&lt;/P&gt;&lt;P&gt;    MTH_PRINT_TOP_OF_LIST&lt;/P&gt;&lt;P&gt;        FOR EVENT PRINT_TOP_OF_LIST OF CL_GUI_ALV_GRID.&lt;/P&gt;&lt;P&gt;  PRIVATE SECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "lcl_event_receiver DEFINITION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;class lcl_event_receiver: local class to handle event DOUBLE_CLICK&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Implementation:&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;CLASS LCL_EVENT_RECEIVER IMPLEMENTATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD MTH_PRINT_TOP_OF_PAGE.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'Z_CA_STD_HEADER'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        HEADING    = SY-TITLE&lt;/P&gt;&lt;P&gt;        P_REPID    = SY-CPROG&lt;/P&gt;&lt;P&gt;        LINE_WIDTH = SY-LINSZ.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "MTH_PRINT_TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  METHOD MTH_PRINT_TOP_OF_LIST.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'Z_CA_STD_HEADER'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        HEADING    = SY-TITLE&lt;/P&gt;&lt;P&gt;        P_REPID    = SY-CPROG&lt;/P&gt;&lt;P&gt;        LINE_WIDTH = SY-LINSZ.&lt;/P&gt;&lt;P&gt;    CALL FUNCTION 'Z_CA_PRINT_SELECTION_OPTIONS'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        P_PGMN  = SY-CPROG&lt;/P&gt;&lt;P&gt;        P_SKIP  = 'X'&lt;/P&gt;&lt;P&gt;        P_NOTOP = 'X'.&lt;/P&gt;&lt;P&gt;    NEW-PAGE.&lt;/P&gt;&lt;P&gt;  ENDMETHOD.                    "MTH_PRINT_TOP_OF_LIST&lt;/P&gt;&lt;P&gt;ENDCLASS.                    "LCL_EVENT_RECEIVER IMPLEMENTATION&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;DATA: REF_EVENT_RECEIVER TYPE REF TO LCL_EVENT_RECEIVER.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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; Selection Screen Prompt values&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;&lt;STRONG&gt;----&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;  At 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;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_DSVAR.&lt;/P&gt;&lt;P&gt;  DATA: LS_DISPLAY_VARIANT TYPE DISVARIANT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get the display variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  V_DISVARIANT-REPORT  = SY-CPROG.&lt;/P&gt;&lt;P&gt;  V_DISVARIANT-VARIANT = P_DSVAR.&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'REUSE_ALV_VARIANT_F4'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      IS_VARIANT = V_DISVARIANT&lt;/P&gt;&lt;P&gt;      I_SAVE     = 'A'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      ES_VARIANT = LS_DISPLAY_VARIANT&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      OTHERS     = 3.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Load results to parameter&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF SY-SUBRC = 0 AND NOT LS_DISPLAY_VARIANT IS INITIAL.&lt;/P&gt;&lt;P&gt;    P_DSVAR = LS_DISPLAY_VARIANT-VARIANT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*...performed when looking for values in fields&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  performs the drop down selection list&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_KHINR.     "Profit center grp&lt;/P&gt;&lt;P&gt;  PERFORM F_GET_S_KHINR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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; Selection Screen validations&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;AT SELECTION-SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF P_KHINR IS INITIAL.&lt;/P&gt;&lt;P&gt;    IF S_PRCTR[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      IF S_BUKRS[] IS INITIAL.&lt;/P&gt;&lt;P&gt;        MESSAGE E000 WITH TEXT-300 TEXT-302.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    IF S_PRCTR[] IS INITIAL.&lt;/P&gt;&lt;P&gt;      PERFORM F_VALIDATE_KHINR.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;*.. Error msg: Please enter either a Profit Center Group or a&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;             profit center, but not both&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      MESSAGE E000 WITH TEXT-300 TEXT-301.&lt;/P&gt;&lt;P&gt;      EXIT.&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_AUART[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE E000 WITH TEXT-303.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT S_VTWEG[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE E000 WITH TEXT-304.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;   Event AT LINE-SELECTION&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;AT LINE-SELECTION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CHECK SY-LSIND LE 1.&lt;/P&gt;&lt;P&gt;  CHECK NOT I_REPORT-BELNR IS INITIAL.&lt;/P&gt;&lt;P&gt;  SET PARAMETER ID 'BLN'  FIELD I_REPORT-BELNR.&lt;/P&gt;&lt;P&gt;  SET PARAMETER ID 'BUK'  FIELD I_REPORT-BUKRS.&lt;/P&gt;&lt;P&gt;  SET PARAMETER ID 'GJR'  FIELD I_REPORT-GJAHR.&lt;/P&gt;&lt;P&gt;  CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.&lt;/P&gt;&lt;P&gt;  CLEAR: I_REPORT-BELNR, I_REPORT-BUKRS, I_REPORT-GJAHR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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; INITIALIZATION&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;INITIALIZATION.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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; START OF MAIN PROCESSING&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;START-OF-SELECTION.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Check aging days multiplier&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF P_AGEDY LE 0.&lt;/P&gt;&lt;P&gt;    MESSAGE S000 WITH 'Aging Days Multiplier must be greater than zero'.&lt;/P&gt;&lt;P&gt;    EXIT.&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;Populate the s_prctr from a profit center group&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT I_SET_VALUES[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM F_POPULATE_PRCTR_FROM_PRCTRGRP.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build and validate prctr against cepc table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF NOT S_PRCTR[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM F_BUILD_I_CEPC_TABLE.      "FILLS THE VALID PROFIT CTR TABLE&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get base selections&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM F_SELECT_DATA.               "BUILD REF INTERNAL TABLES&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Get additional fields and build reporting structure&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM F_BUILD_I_REPORT.            "BUILDS INTERNAL REPORTING TABLE&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Generate ALV report&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM F_WRITE_REPORT.              "WRITES i_report AND RUNS CALCS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;END-OF-SELECTION.&lt;/P&gt;&lt;P&gt;  FREE: I_BFOD_A, I_KNA1, I_CEPC, I_CEPCT, I_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      Form  F_DIS_MSG&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 F_DIS_MSG USING VALUE(P_PERCENTAGE) VALUE(P_TEXT).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      PERCENTAGE = P_PERCENTAGE&lt;/P&gt;&lt;P&gt;      TEXT       = P_TEXT&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      OTHERS     = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_DIS_MSG&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      Form  F_GET_S_KHINR&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Get prompt values for Profit Center Group&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 F_GET_S_KHINR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM F_DIS_MSG USING 100 'Get prompt values for Profit Ctr Group.'.&lt;/P&gt;&lt;P&gt;  COMMIT WORK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'K_GROUP_SELECT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      BUTTONS            = 'X'&lt;/P&gt;&lt;P&gt;      CLASS              = '0H  '&lt;/P&gt;&lt;P&gt;      CRUSER             = '*'&lt;/P&gt;&lt;P&gt;      FIELD_NAME         = 'RPRCTR'&lt;/P&gt;&lt;P&gt;      SEARCHFLD          = 'KBRC'&lt;/P&gt;&lt;P&gt;      SEARCHFLD_INPUT    = ' '&lt;/P&gt;&lt;P&gt;      SEARCHFLD_REQUIRED = 'X'&lt;/P&gt;&lt;P&gt;      SET                = '*'&lt;/P&gt;&lt;P&gt;      START_COLUMN       = 10&lt;/P&gt;&lt;P&gt;      START_ROW          = 5&lt;/P&gt;&lt;P&gt;      TABLE              = 'GLPCT'&lt;/P&gt;&lt;P&gt;      TYPELIST           = 'BS'&lt;/P&gt;&lt;P&gt;      UPDUSER            = '*'&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      CLASS_NAME         = V_GROUP_CLASS&lt;/P&gt;&lt;P&gt;      SET_NAME           = V_GROUP_NAME&lt;/P&gt;&lt;P&gt;      SET_TITLE          = V_GROUP_TITLE&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      NO_SET_PICKED      = 1&lt;/P&gt;&lt;P&gt;      OTHERS             = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    P_KHINR = V_GROUP_NAME.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_GET_S_KHINR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      FORM F_VALIDATE_KHINR                                         *&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 F_VALIDATE_KHINR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM F_DIS_MSG USING 100 'Validate Profit Center group.'.&lt;/P&gt;&lt;P&gt;  COMMIT WORK.&lt;/P&gt;&lt;P&gt;  CLEAR I_SET_VALUES.&lt;/P&gt;&lt;P&gt;  REFRESH I_SET_VALUES.&lt;/P&gt;&lt;P&gt;  CONCATENATE C_0106  C_KBRC P_KHINR INTO V_SETID.&lt;/P&gt;&lt;P&gt;  CONDENSE V_SETID.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'G_SET_TREE_IMPORT'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      CLIENT                    = SY-MANDT&lt;/P&gt;&lt;P&gt;      FIELDNAME                 = 'RPRCTR'&lt;/P&gt;&lt;P&gt;      LANGU                     = SY-LANGU&lt;/P&gt;&lt;P&gt;      SETID                     = V_SETID&lt;/P&gt;&lt;P&gt;      TABNAME                   = 'GLPCT'&lt;/P&gt;&lt;P&gt;      NO_TABLE_BUFFERING        = 'X'&lt;/P&gt;&lt;P&gt;    TABLES&lt;/P&gt;&lt;P&gt;      SET_VALUES                = I_SET_VALUES&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      SET_NOT_FOUND             = 1&lt;/P&gt;&lt;P&gt;      ILLEGAL_FIELD_REPLACEMENT = 2&lt;/P&gt;&lt;P&gt;      ILLEGAL_TABLE_REPLACEMENT = 3&lt;/P&gt;&lt;P&gt;      OTHERS                    = 4.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;E: Unable to find Profit Center Group &amp;amp; - please modify selection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    MESSAGE E000 WITH TEXT-002 P_KHINR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF I_SET_VALUES[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE E000 WITH P_KHINR TEXT-039.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_VALIDATE_KHINR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      Form  F_SELECT_DATA&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 F_SELECT_DATA.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM F_DIS_MSG USING 100 'Retrieve info from SAP tables.'.&lt;/P&gt;&lt;P&gt;  COMMIT WORK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build the BFOD_A internal table based on user selections&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;f i_cepc table is initial, it means derive all prctr under a co cd&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF S_PRCTR[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    PERFORM F_RETRIEVE_BFODA_BY_COMPANY.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    PERFORM F_RETRIEVE_BFODA_BY_PRCTR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF I_BFOD_A[] IS INITIAL.&lt;/P&gt;&lt;P&gt;*... No records fit selection criteria.&lt;/P&gt;&lt;P&gt;    MESSAGE E000 WITH TEXT-H20.&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;Get the text for profit center&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT SPRAS PRCTR DATBI KOKRS MCTXT FROM CEPCT&lt;/P&gt;&lt;P&gt;             INTO CORRESPONDING FIELDS OF TABLE I_CEPCT&lt;/P&gt;&lt;P&gt;              FOR ALL ENTRIES IN I_CEPC&lt;/P&gt;&lt;P&gt;            WHERE SPRAS = SY-LANGU&lt;/P&gt;&lt;P&gt;              AND PRCTR = I_CEPC-PRCTR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build an internal table of unique bfod keys for bsid and bsad&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  I_BFODA_KUNNR[] = I_BFOD_A[].&lt;/P&gt;&lt;P&gt;  SORT I_BFODA_KUNNR BY KUNNR BUKRS GJAHR BELNR BUZEI.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM I_BFODA_KUNNR COMPARING&lt;/P&gt;&lt;P&gt;     KUNNR BUKRS GJAHR BELNR BUZEI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build BSID Internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT MANDT BUKRS KUNNR UMSKS UMSKZ AUGDT AUGBL ZUONR GJAHR BELNR&lt;/P&gt;&lt;P&gt;         BUZEI BUDAT HKONT BLDAT WAERS REBZG XBLNR SHKZG DMBTR&lt;/P&gt;&lt;P&gt;         WRBTR ZFBDT ZBD1T ZBD2T ZBD3T&lt;/P&gt;&lt;P&gt;            FROM BSID INTO CORRESPONDING FIELDS OF TABLE I_BSYD&lt;/P&gt;&lt;P&gt;             FOR ALL ENTRIES IN I_BFODA_KUNNR&lt;/P&gt;&lt;P&gt;           WHERE KUNNR EQ I_BFODA_KUNNR-KUNNR&lt;/P&gt;&lt;P&gt;             AND BUKRS EQ I_BFODA_KUNNR-BUKRS&lt;/P&gt;&lt;P&gt;             AND GJAHR EQ I_BFODA_KUNNR-GJAHR&lt;/P&gt;&lt;P&gt;             AND BELNR EQ I_BFODA_KUNNR-BELNR&lt;/P&gt;&lt;P&gt;             AND BUZEI EQ I_BFODA_KUNNR-BUZEI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build BSAD internal table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT MANDT BUKRS KUNNR UMSKS UMSKZ AUGDT AUGBL ZUONR GJAHR BELNR&lt;/P&gt;&lt;P&gt;      BUZEI HKONT BUDAT BLDAT WAERS REBZG XBLNR SHKZG DMBTR WRBTR ZFBDT&lt;/P&gt;&lt;P&gt;      ZBD1T ZBD2T ZBD3T&lt;/P&gt;&lt;P&gt;         FROM BSAD APPENDING CORRESPONDING FIELDS OF TABLE I_BSYD&lt;/P&gt;&lt;P&gt;          FOR ALL ENTRIES IN I_BFODA_KUNNR&lt;/P&gt;&lt;P&gt;        WHERE KUNNR EQ I_BFODA_KUNNR-KUNNR&lt;/P&gt;&lt;P&gt;          AND BUKRS EQ I_BFODA_KUNNR-BUKRS&lt;/P&gt;&lt;P&gt;          AND AUGDT GT P_BUDAT&lt;/P&gt;&lt;P&gt;          AND GJAHR EQ I_BFODA_KUNNR-GJAHR&lt;/P&gt;&lt;P&gt;          AND BELNR EQ I_BFODA_KUNNR-BELNR&lt;/P&gt;&lt;P&gt;          AND BUZEI EQ I_BFODA_KUNNR-BUZEI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT I_BSYD[] IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Remove records based on selection criteria&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    DELETE I_BSYD WHERE&lt;/P&gt;&lt;P&gt;       NOT BUDAT LE P_BUDAT OR&lt;/P&gt;&lt;P&gt;       NOT HKONT IN S_HKONT.&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;Acquire document headers&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT BUKRS BELNR GJAHR BKTXT XBLNR HWAER HWAE2 FROM BKPF&lt;/P&gt;&lt;P&gt;                INTO TABLE I_BKPF&lt;/P&gt;&lt;P&gt;                FOR ALL ENTRIES IN I_BSYD&lt;/P&gt;&lt;P&gt;                WHERE BUKRS EQ I_BSYD-BUKRS&lt;/P&gt;&lt;P&gt;                  AND BELNR EQ I_BSYD-BELNR&lt;/P&gt;&lt;P&gt;                  AND GJAHR EQ I_BSYD-GJAHR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sort document lines&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SORT I_BSYD BY KUNNR BUKRS GJAHR BELNR BUZEI ASCENDING.&lt;/P&gt;&lt;P&gt;  SORT I_BKPF BY  BUKRS BELNR GJAHR ASCENDING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create table of unique customers&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SORT I_BFODA_KUNNR BY KUNNR.&lt;/P&gt;&lt;P&gt;  DELETE ADJACENT DUPLICATES FROM I_BFODA_KUNNR COMPARING KUNNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build customer table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT KUNNR NAME1 FROM KNA1&lt;/P&gt;&lt;P&gt;            INTO TABLE I_KNA1&lt;/P&gt;&lt;P&gt;             FOR ALL ENTRIES IN I_BFODA_KUNNR&lt;/P&gt;&lt;P&gt;           WHERE KUNNR EQ I_BFODA_KUNNR-KUNNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Free memory space&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  FREE I_BFODA_KUNNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_SELECT_DATA&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      Form  F_BUILD_I_CEPC_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      build the i_cepc internal table that would populate the&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      valid profit centers to processed.&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 F_BUILD_I_CEPC_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM F_DIS_MSG USING 100 'Build the Profit Center Ref Table.'.&lt;/P&gt;&lt;P&gt;  COMMIT WORK.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Acquire CEPC table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF I_PRCTR[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    SORT S_PRCTR.&lt;/P&gt;&lt;P&gt;    SELECT PRCTR KHINR&lt;/P&gt;&lt;P&gt;      FROM CEPC&lt;/P&gt;&lt;P&gt;      INTO TABLE I_CEPC&lt;/P&gt;&lt;P&gt;      WHERE PRCTR IN S_PRCTR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sort table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SORT I_CEPC BY PRCTR KHINR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Remove duplicate values&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    DELETE ADJACENT DUPLICATES FROM I_CEPC COMPARING PRCTR.&lt;/P&gt;&lt;P&gt;    I_PRCTR[] = I_CEPC[].&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sort table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SORT I_PRCTR BY PRCTR.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sort table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SORT I_PRCTR BY PRCTR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Acquire CEPC table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SELECT PRCTR KHINR&lt;/P&gt;&lt;P&gt;      FROM CEPC&lt;/P&gt;&lt;P&gt;      INTO TABLE I_CEPC&lt;/P&gt;&lt;P&gt;      FOR ALL ENTRIES IN I_PRCTR&lt;/P&gt;&lt;P&gt;      WHERE PRCTR = I_PRCTR-PRCTR.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;SOrt table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    SORT I_CEPC BY PRCTR KHINR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF I_CEPC[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    MESSAGE E000 WITH TEXT-006.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_BUILD_i_CEPC_TABLE&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      Form  F_BUILD_I_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Build the A/R report internal table from bfod_a, bsid and bsad&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      It is necessary to go to BSAD/BSID to get the document currency&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      not present in bfod_a.&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 F_BUILD_I_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM F_DIS_MSG USING 100 'Build the report information.'.&lt;/P&gt;&lt;P&gt;  COMMIT WORK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Sort all internal tables, this is essential for later processing&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SORT I_BFOD_A BY KUNNR BUKRS GJAHR BELNR BUZEI .&lt;/P&gt;&lt;P&gt;  SORT I_BSYD BY KUNNR BUKRS GJAHR BELNR BUZEI.&lt;/P&gt;&lt;P&gt;  SORT I_CEPC BY PRCTR KHINR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_BFOD_A.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;New customer&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    AT NEW KUNNR.&lt;/P&gt;&lt;P&gt;      READ TABLE I_KNA1 WITH KEY KUNNR = I_BFOD_A-KUNNR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;      IF SY-SUBRC EQ 0.&lt;/P&gt;&lt;P&gt;        MOVE I_KNA1-NAME1 TO I_REPORT-NAME1.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ENDAT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Acquire header fields&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE I_BKPF WITH KEY BUKRS = I_BFOD_A-BUKRS&lt;/P&gt;&lt;P&gt;                               BELNR = I_BFOD_A-BELNR&lt;/P&gt;&lt;P&gt;                               GJAHR = I_BFOD_A-GJAHR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC NE 0.&lt;/P&gt;&lt;P&gt;      CLEAR I_BKPF.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build base record&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM F_MOVE_BASE_TO_REPORT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Load profit center data&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF P_KHINR IS INITIAL.&lt;/P&gt;&lt;P&gt;      IF V_PREV_PRCTR = I_BFOD_A-PRCTR.&lt;/P&gt;&lt;P&gt;        I_REPORT-KHINR = I_CEPC-KHINR.&lt;/P&gt;&lt;P&gt;      ELSE.&lt;/P&gt;&lt;P&gt;        READ TABLE I_CEPC WITH KEY PRCTR = I_BFOD_A-PRCTR BINARY SEARCH.&lt;/P&gt;&lt;P&gt;        IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;          I_REPORT-KHINR = I_CEPC-KHINR.&lt;/P&gt;&lt;P&gt;        ELSE.&lt;/P&gt;&lt;P&gt;          CLEAR I_REPORT-KHINR.&lt;/P&gt;&lt;P&gt;        ENDIF.&lt;/P&gt;&lt;P&gt;        V_PREV_PRCTR = I_BFOD_A-PRCTR.&lt;/P&gt;&lt;P&gt;      ENDIF.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      I_REPORT-KHINR = P_KHINR.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Reverse signs&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    IF I_REPORT-SHKZG = 'H'.&lt;/P&gt;&lt;P&gt;      I_REPORT-DMBTR = I_REPORT-DMBTR * -1.&lt;/P&gt;&lt;P&gt;      I_REPORT-DMBE2 = I_REPORT-DMBE2 * -1.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Additional details&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    READ TABLE I_BSYD WITH KEY KUNNR = I_BFOD_A-KUNNR&lt;/P&gt;&lt;P&gt;                               BUKRS = I_BFOD_A-BUKRS&lt;/P&gt;&lt;P&gt;                               GJAHR = I_BFOD_A-GJAHR&lt;/P&gt;&lt;P&gt;                               BELNR = I_BFOD_A-BELNR&lt;/P&gt;&lt;P&gt;                               BUZEI = I_BFOD_A-BUZEI BINARY SEARCH.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;      PERFORM F_FORMAT_I_REPORT_FR_BSYD.&lt;/P&gt;&lt;P&gt;      APPEND I_REPORT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_BUILD_I_REPORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      Form  F_FORMAT_I_REPORT_FR_BSYD&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Retrieve all the information needed for reporting from BSID.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;If a document has a referencing invoice (REBZG), the payment terms&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   and the baseline date to be used will come from the referencing&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;   invoice.&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 F_FORMAT_I_REPORT_FR_BSYD.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*=&amp;gt; get the document currency amount from bsid&lt;/P&gt;&lt;P&gt;  I_REPORT-BLDAT = I_BSYD-BLDAT.&lt;/P&gt;&lt;P&gt;  I_REPORT-WAERS = I_BSYD-WAERS.&lt;/P&gt;&lt;P&gt; PERFORM F_CONVERT_CURRENCY_FR_2_AMTS USING I_REPORT-HWAER I_BSYD-WAERS&lt;/P&gt;&lt;P&gt;                                            I_BSYD-DMBTR   I_BSYD-WRBTR&lt;/P&gt;&lt;P&gt;                                                         I_BFOD_A-DMBTR&lt;/P&gt;&lt;P&gt;                                                 CHANGING V_BFOD_TXNAMT.&lt;/P&gt;&lt;P&gt;  I_REPORT-WRBTR = V_BFOD_TXNAMT.&lt;/P&gt;&lt;P&gt;  IF I_BSYD-SHKZG = 'H'.&lt;/P&gt;&lt;P&gt;    I_REPORT-WRBTR = I_REPORT-WRBTR * -1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  V_ZBD1T = I_BSYD-ZBD1T.&lt;/P&gt;&lt;P&gt;  V_ZFBDT = I_BSYD-ZFBDT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;*=&amp;gt; determine reference document (referencing invoice)&lt;/P&gt;&lt;P&gt;  CLEAR I_REPORT-SORT.&lt;/P&gt;&lt;P&gt;  CASE I_BSYD-REBZG.&lt;/P&gt;&lt;P&gt;    WHEN ' '.&lt;/P&gt;&lt;P&gt;      I_REPORT-SORT = I_BFOD_A-BELNR.&lt;/P&gt;&lt;P&gt;    WHEN 'V'.&lt;/P&gt;&lt;P&gt;      I_REPORT-SORT = I_BSYD-XBLNR.&lt;/P&gt;&lt;P&gt;    WHEN OTHERS.&lt;/P&gt;&lt;P&gt;      I_REPORT-SORT = I_BSYD-REBZG.&lt;/P&gt;&lt;P&gt;      PERFORM F_GET_DATEPAYTERM_FR_ORIGDOC.&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_FAEDE.&lt;/P&gt;&lt;P&gt;  I_FAEDE-SHKZG = I_BSYD-SHKZG.&lt;/P&gt;&lt;P&gt;  I_FAEDE-KOART = 'D'.&lt;/P&gt;&lt;P&gt;  I_FAEDE-ZFBDT = I_BSYD-ZFBDT.&lt;/P&gt;&lt;P&gt;  I_FAEDE-ZBD1T = I_BSYD-ZBD1T.&lt;/P&gt;&lt;P&gt;  I_FAEDE-ZBD2T = I_BSYD-ZBD2T.&lt;/P&gt;&lt;P&gt;  I_FAEDE-ZBD3T = I_BSYD-ZBD3T.&lt;/P&gt;&lt;P&gt;  I_FAEDE-REBZG = I_BSYD-REBZG.&lt;/P&gt;&lt;P&gt;  I_FAEDE-BLDAT = I_BSYD-BLDAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'DETERMINE_DUE_DATE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      I_FAEDE                    = I_FAEDE&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      E_FAEDE                    = I_FAEDE&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      ACCOUNT_TYPE_NOT_SUPPORTED = 1&lt;/P&gt;&lt;P&gt;      OTHERS                     = 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  V_DPAST = P_BUDAT - I_FAEDE-NETDT.&lt;/P&gt;&lt;P&gt;  IF V_DPAST &amp;lt; 0.&lt;/P&gt;&lt;P&gt;    I_REPORT-DPAST = 0.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;P&gt;    MOVE V_DPAST TO I_REPORT-DPAST.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;  I_REPORT-ZBD1T = V_ZBD1T.&lt;/P&gt;&lt;P&gt;  I_REPORT-NETDT = I_FAEDE-NETDT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Update totals&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM F_BUILD_TOTALS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_FORMAT_I_REPORT_FR_BSYD&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      Form  F_GET_DATEPAYTERM_FR_ORIGDOC&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 F_GET_DATEPAYTERM_FR_ORIGDOC.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;In order to go back to the original document's payment terms and&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;baseline date, we neeed to resort bsid/bsad to a different sort&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;order b-coz only these 3 fields logically matched the orig doc&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SORT I_BSYD BY KUNNR BUKRS BELNR.&lt;/P&gt;&lt;P&gt;  READ TABLE I_BSYD WITH KEY KUNNR = I_BFOD_A-KUNNR&lt;/P&gt;&lt;P&gt;                             BUKRS = I_BFOD_A-BUKRS&lt;/P&gt;&lt;P&gt;                             BELNR = I_REPORT-SORT BINARY SEARCH.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC = 0.&lt;/P&gt;&lt;P&gt;    V_ZBD1T = I_BSYD-ZBD1T.            "payment term&lt;/P&gt;&lt;P&gt;    V_ZFBDT = I_BSYD-ZFBDT.            "baseline due date&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT I_BSYD BY KUNNR BUKRS GJAHR BELNR BUZEI.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_GET_DATEPAYTERM_FR_ORIGDOC&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      Form  F_WRITE_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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Write A/R report summarized by profit center.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      Report will be build by profit center and sum all customers&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         then will sum past do for profit center and catagorized&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         will also sum by project / wbs element.&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 F_WRITE_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  SORT I_REPORT BY PRCTR KUNNR SORT BLDAT BELNR DPAST DESCENDING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL SCREEN 9000.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_WRITE_REPORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      Form  F_POPULATE_PRCTR_FROM_PRCTRGRP&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 F_POPULATE_PRCTR_FROM_PRCTRGRP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  LOOP AT I_SET_VALUES.&lt;/P&gt;&lt;P&gt;    IF I_SET_VALUES-TO = I_SET_VALUES-FROM.&lt;/P&gt;&lt;P&gt;      I_PRCTR-PRCTR = I_SET_VALUES-TO.&lt;/P&gt;&lt;P&gt;      COLLECT I_PRCTR.&lt;/P&gt;&lt;P&gt;      S_PRCTR-SIGN   = 'I'.&lt;/P&gt;&lt;P&gt;      S_PRCTR-OPTION = 'EQ'.&lt;/P&gt;&lt;P&gt;      S_PRCTR-LOW    = I_SET_VALUES-TO.&lt;/P&gt;&lt;P&gt;      COLLECT S_PRCTR.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      MESSAGE E000 WITH 'System Error, contact programmer'&lt;/P&gt;&lt;P&gt;              I_SET_VALUES-TO I_SET_VALUES-FROM.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_POPULATE_PRCTR_FROM_PRCTRGRP&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      Form  F_CONVERT_CURRENCY_FR_2_AMTS&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      This function module will ensure proper handling of decimals&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      and conversion of currency. This will give you the historical&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      exchange rate used.&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      BFOD_A does not have the trans curr amt so we will get it&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;       using:  ( bsid trans curr amt / bsid loc curr amt ) *&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;               bfod_a loc currency amt&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 F_CONVERT_CURRENCY_FR_2_AMTS USING V_FRCURR V_TOCURR&lt;/P&gt;&lt;P&gt;                                        V_OFRAMT V_OTOAMT V_NFRAMT&lt;/P&gt;&lt;P&gt;                                 CHANGING V_NTOAMT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL FUNCTION 'Z_CONVERT_CURRENCY_FROM_2_AMTS'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      FROM_CURRENCY   = V_FRCURR&lt;/P&gt;&lt;P&gt;      TO_CURRENCY     = V_TOCURR&lt;/P&gt;&lt;P&gt;      OLD_FROM_AMOUNT = V_OFRAMT&lt;/P&gt;&lt;P&gt;      OLD_TO_AMOUNT   = V_OTOAMT&lt;/P&gt;&lt;P&gt;      NEW_FROM_AMOUNT = V_NFRAMT&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      NEW_TO_AMOUNT   = V_NTOAMT&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      OTHERS          = 1.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    MESSAGE E000 WITH TEXT-005.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                               " F_CONVERT_CURRENCY_FR_2_AMTS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      Form  F_RETRIEVE_BFODA_BY_COMPANY&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 F_RETRIEVE_BFODA_BY_COMPANY.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Acquire BFOD_A table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT PRCTR KUNNR BUKRS GJAHR BELNR BUZEI AUGDT HKONT BUDAT&lt;/P&gt;&lt;P&gt;         SHKZG DMBTR DMBE2 FROM BFOD_A&lt;/P&gt;&lt;P&gt;     INTO TABLE I_BFOD_A&lt;/P&gt;&lt;P&gt;     WHERE BUKRS IN S_BUKRS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF I_BFOD_A[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Remove records based on selection criteria&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    DELETE I_BFOD_A WHERE NOT KUNNR IN S_KUNNR OR&lt;/P&gt;&lt;P&gt;                          NOT BUDAT LE P_BUDAT OR&lt;/P&gt;&lt;P&gt;                          NOT HKONT IN S_HKONT OR&lt;/P&gt;&lt;P&gt;                          NOT BELNR IN S_BELNR OR&lt;/P&gt;&lt;P&gt;                        ( NOT AUGDT IS INITIAL AND&lt;/P&gt;&lt;P&gt;                          NOT AUGDT &amp;gt; P_BUDAT ).&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;Build selection option&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT I_BFOD_A.&lt;/P&gt;&lt;P&gt;    I_PRCTR-PRCTR  = I_BFOD_A-PRCTR.&lt;/P&gt;&lt;P&gt;    COLLECT I_PRCTR.&lt;/P&gt;&lt;P&gt;    S_PRCTR-SIGN   = 'I'.&lt;/P&gt;&lt;P&gt;    S_PRCTR-OPTION = 'EQ'.&lt;/P&gt;&lt;P&gt;    S_PRCTR-LOW    = I_BFOD_A-PRCTR.&lt;/P&gt;&lt;P&gt;    COLLECT S_PRCTR.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;  SORT S_PRCTR.&lt;/P&gt;&lt;P&gt;  SORT I_PRCTR BY PRCTR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM F_BUILD_I_CEPC_TABLE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_RETRIEVE_BFODA_BY_COMPANY&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      Form  F_RETRIEVE_BFODA_BY_PRCTR&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 F_RETRIEVE_BFODA_BY_PRCTR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Acquire BFOD_A table&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  SELECT PRCTR KUNNR BUKRS GJAHR BELNR BUZEI AUGDT HKONT BUDAT&lt;/P&gt;&lt;P&gt;         SHKZG DMBTR DMBE2 FROM BFOD_A&lt;/P&gt;&lt;P&gt;     INTO TABLE I_BFOD_A&lt;/P&gt;&lt;P&gt;     FOR ALL ENTRIES IN I_PRCTR&lt;/P&gt;&lt;P&gt;     WHERE PRCTR = I_PRCTR-PRCTR AND&lt;/P&gt;&lt;P&gt;           KUNNR IN S_KUNNR AND&lt;/P&gt;&lt;P&gt;           BUKRS IN S_BUKRS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF I_BFOD_A[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    EXIT.&lt;/P&gt;&lt;P&gt;  ELSE.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Remove records based on selection criteria&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    DELETE I_BFOD_A WHERE NOT KUNNR IN S_KUNNR OR&lt;/P&gt;&lt;P&gt;                          NOT BUKRS IN S_BUKRS OR&lt;/P&gt;&lt;P&gt;                          NOT BUDAT LE P_BUDAT OR&lt;/P&gt;&lt;P&gt;                          NOT HKONT IN S_HKONT OR&lt;/P&gt;&lt;P&gt;                          NOT BELNR IN S_BELNR OR&lt;/P&gt;&lt;P&gt;                        ( NOT AUGDT IS INITIAL AND&lt;/P&gt;&lt;P&gt;                          NOT AUGDT &amp;gt; P_BUDAT ).&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_RETRIEVE_BFODA_BY_PRCTR&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      Form  F_MOVE_BASE_TO_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 F_MOVE_BASE_TO_REPORT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  I_REPORT-PRCTR = I_BFOD_A-PRCTR.&lt;/P&gt;&lt;P&gt;  I_REPORT-KUNNR = I_BFOD_A-KUNNR.&lt;/P&gt;&lt;P&gt;  I_REPORT-BELNR = I_BFOD_A-BELNR.&lt;/P&gt;&lt;P&gt;  I_REPORT-BUKRS = I_BFOD_A-BUKRS.&lt;/P&gt;&lt;P&gt;  I_REPORT-HKONT = I_BFOD_A-HKONT.&lt;/P&gt;&lt;P&gt;  I_REPORT-AUGDT = I_BFOD_A-AUGDT.&lt;/P&gt;&lt;P&gt;  I_REPORT-BUDAT = I_BFOD_A-BUDAT.&lt;/P&gt;&lt;P&gt;  I_REPORT-GJAHR = I_BFOD_A-GJAHR.&lt;/P&gt;&lt;P&gt;  I_REPORT-BUZEI = I_BFOD_A-BUZEI.&lt;/P&gt;&lt;P&gt;  I_REPORT-SHKZG = I_BFOD_A-SHKZG.&lt;/P&gt;&lt;P&gt;  I_REPORT-DMBTR = I_BFOD_A-DMBTR.&lt;/P&gt;&lt;P&gt;  I_REPORT-DMBE2 = I_BFOD_A-DMBE2.&lt;/P&gt;&lt;P&gt;  I_REPORT-HWAER = I_BKPF-HWAER.&lt;/P&gt;&lt;P&gt;  I_REPORT-HWAE2 = I_BKPF-HWAE2.&lt;/P&gt;&lt;P&gt;  I_REPORT-BKTXT = I_BKPF-BKTXT.&lt;/P&gt;&lt;P&gt;  I_REPORT-XBLNR = I_BKPF-XBLNR.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_MOVE_BASE_TO_REPORT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;     Module  STATUS_9000  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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&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;MODULE STATUS_9000 OUTPUT.&lt;/P&gt;&lt;P&gt;  SET PF-STATUS '9000'.&lt;/P&gt;&lt;P&gt;  SET TITLEBAR '900'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Launch standard ALV grid&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM F_CREATE_ALV_GRID_CONTROL.&lt;/P&gt;&lt;P&gt;  PERFORM F_LOAD_COLUMN_HEADINGS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " STATUS_9000  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      Module  USER_COMMAND_9000  INPUT&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&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;MODULE USER_COMMAND_9000 INPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CASE SY-UCOMM.&lt;/P&gt;&lt;P&gt;    WHEN 'EXIT' OR 'CANC' OR 'BACK'.&lt;/P&gt;&lt;P&gt;      CALL METHOD REF_CUSTOM-&amp;gt;FREE.&lt;/P&gt;&lt;P&gt;      SET SCREEN 0.&lt;/P&gt;&lt;P&gt;      LEAVE SCREEN.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of changes for Release 2 by HBE7890 - DEVK909110&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    WHEN 'PRIN'.&lt;/P&gt;&lt;P&gt;      PERFORM PRINT_AGING_TOTALS.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of changes.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDCASE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " USER_COMMAND_9000  INPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      Form  F_CREATE_ALV_GRID_CONTROL&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&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 F_CREATE_ALV_GRID_CONTROL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set field catalog for ALV&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  PERFORM F_SET_FIELDCAT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF REF_CUSTOM IS INITIAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Create ALV container&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CREATE OBJECT REF_CUSTOM&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        CONTAINER_NAME = 'ZRPT_CONTAINER'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  Create ALV grid control&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CREATE OBJECT REF_ALV_ZRPT&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        I_PARENT          = REF_CUSTOM.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Adjust look and feel&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    PERFORM F_CHANGE_SETTINGS.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Call the ALV Build&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL METHOD REF_ALV_ZRPT-&amp;gt;SET_TABLE_FOR_FIRST_DISPLAY&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        IS_LAYOUT       = V_LAYOUT&lt;/P&gt;&lt;P&gt;        IS_VARIANT      = V_VARIANT&lt;/P&gt;&lt;P&gt;        I_SAVE          = V_SAVE&lt;/P&gt;&lt;P&gt;        I_DEFAULT       = V_DEFAULT&lt;/P&gt;&lt;P&gt;      CHANGING&lt;/P&gt;&lt;P&gt;        IT_SORT         = I_SORT&lt;/P&gt;&lt;P&gt;        IT_OUTTAB       = I_REPORT[]&lt;/P&gt;&lt;P&gt;        IT_FIELDCATALOG = I_ALV_FIELDCAT[].&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create print top of page&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CREATE OBJECT REF_EVENT_RECEIVER.&lt;/P&gt;&lt;P&gt;    SET HANDLER REF_EVENT_RECEIVER-&amp;gt;MTH_PRINT_TOP_OF_PAGE&lt;/P&gt;&lt;P&gt;        FOR REF_ALV_ZRPT.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create print top of page&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CREATE OBJECT REF_EVENT_RECEIVER.&lt;/P&gt;&lt;P&gt;    SET HANDLER REF_EVENT_RECEIVER-&amp;gt;MTH_PRINT_TOP_OF_LIST&lt;/P&gt;&lt;P&gt;        FOR REF_ALV_ZRPT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_CREATE_ALV_GRID_CONTROL&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;     Form  F_CHANGE_SETTINGS&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&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 F_CHANGE_SETTINGS .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set layout parameters&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  V_LAYOUT-GRID_TITLE = 'A/R by Profit Center'.&lt;/P&gt;&lt;P&gt;  V_LAYOUT-SEL_MODE   = 'A'.&lt;/P&gt;&lt;P&gt;  V_LAYOUT-INFO_FNAME = 'LINECOLOR'.&lt;/P&gt;&lt;P&gt;  V_LAYOUT-CWIDTH_OPT = 'X'.&lt;/P&gt;&lt;P&gt;  V_LAYOUT-NO_MERGING = 'X'.&lt;/P&gt;&lt;P&gt;  V_LAYOUT-NUMC_TOTAL = 'X'.&lt;/P&gt;&lt;P&gt;  V_DEFAULT           = 'X'.&lt;/P&gt;&lt;P&gt;  V_SAVE              = 'A'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set display variant&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  V_VARIANT-REPORT  = SY-REPID.&lt;/P&gt;&lt;P&gt;  IF P_DSVAR NE ''.&lt;/P&gt;&lt;P&gt;    V_VARIANT-VARIANT = P_DSVAR.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_CHANGE_SETTINGS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      Form  F_SET_FIELDCAT&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&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 F_SET_FIELDCAT .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set field catalog for ALV&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL FUNCTION 'LVC_FIELDCATALOG_MERGE'&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;     I_STRUCTURE_NAME       = 'ZFR0ARPR_S1'  "DEVK909110&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;      I_STRUCTURE_NAME       = 'ZPSS_ARBYPC'                "DEVK909110&lt;/P&gt;&lt;P&gt;    CHANGING&lt;/P&gt;&lt;P&gt;      CT_FIELDCAT            = I_ALV_FIELDCAT&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      INCONSISTENT_INTERFACE = 1&lt;/P&gt;&lt;P&gt;      PROGRAM_ERROR          = 2&lt;/P&gt;&lt;P&gt;      OTHERS                 = 3.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Override any attributes&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LOOP AT I_ALV_FIELDCAT INTO V_ALV_FIELDCAT.&lt;/P&gt;&lt;P&gt;    IF V_ALV_FIELDCAT-FIELDNAME EQ 'NAME1'.&lt;/P&gt;&lt;P&gt;      MOVE 'Customer Name' TO: V_ALV_FIELDCAT-REPTEXT,&lt;/P&gt;&lt;P&gt;                               V_ALV_FIELDCAT-SCRTEXT_L,&lt;/P&gt;&lt;P&gt;                               V_ALV_FIELDCAT-SCRTEXT_M,&lt;/P&gt;&lt;P&gt;                               V_ALV_FIELDCAT-SCRTEXT_S.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    IF V_ALV_FIELDCAT-FIELDNAME EQ 'SORT'.&lt;/P&gt;&lt;P&gt;      MOVE 'Documentation' TO: V_ALV_FIELDCAT-REPTEXT,&lt;/P&gt;&lt;P&gt;                               V_ALV_FIELDCAT-SCRTEXT_L,&lt;/P&gt;&lt;P&gt;                               V_ALV_FIELDCAT-SCRTEXT_M.&lt;/P&gt;&lt;P&gt;      MOVE 'DocRef' TO         V_ALV_FIELDCAT-SCRTEXT_S.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;    MODIFY I_ALV_FIELDCAT FROM V_ALV_FIELDCAT.&lt;/P&gt;&lt;P&gt;  ENDLOOP.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_SET_FIELDCAT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      Form  F_BUILD_TOTALS&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&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 F_BUILD_TOTALS .&lt;/P&gt;&lt;P&gt;  DATA: V_DAYS TYPE I,&lt;/P&gt;&lt;P&gt;        V_INDEX(2) TYPE N.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CLEAR I_TOTAL.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Build total line&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  MOVE I_REPORT-HWAER TO I_TOTAL-WAERS.&lt;/P&gt;&lt;P&gt;  MOVE I_REPORT-DMBTR TO I_TOTAL-TOTAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  DO 5 TIMES.&lt;/P&gt;&lt;P&gt;    V_DAYS = ( SY-INDEX - 1 ) * P_AGEDY.&lt;/P&gt;&lt;P&gt;    V_INDEX = SY-INDEX.&lt;/P&gt;&lt;P&gt;    IF I_REPORT-DPAST LE V_DAYS.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'I_TOTAL-DAYS' V_INDEX INTO V_FIELD-NAME.&lt;/P&gt;&lt;P&gt;      ASSIGN (V_FIELD-NAME) TO &amp;lt;COLUMN&amp;gt;.&lt;/P&gt;&lt;P&gt;      &amp;lt;COLUMN&amp;gt; = I_REPORT-DMBTR.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ELSEIF SY-INDEX EQ 5.&lt;/P&gt;&lt;P&gt;      CONCATENATE 'I_TOTAL-DAYS' V_INDEX INTO V_FIELD-NAME.&lt;/P&gt;&lt;P&gt;      ASSIGN (V_FIELD-NAME) TO &amp;lt;COLUMN&amp;gt;.&lt;/P&gt;&lt;P&gt;      &amp;lt;COLUMN&amp;gt; = I_REPORT-DMBTR.&lt;/P&gt;&lt;P&gt;      EXIT.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  COLLECT I_TOTAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_BUILD_TOTALS&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      Module  LOAD_AGING  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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&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;MODULE LOAD_AGING OUTPUT.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  PERFORM F_LOAD_AGING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDMODULE.                 " LOAD_AGING  OUTPUT&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      Form  F_LOAD_AGING&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&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 F_LOAD_AGING .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  READ TABLE I_TOTAL INDEX TABAGING-CURRENT_LINE.&lt;/P&gt;&lt;P&gt;  IF SY-SUBRC NE 0. EXIT. ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  MOVE I_TOTAL TO I_TOTAL.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Handle free rows on the table contol - Vertical Scroll Bar&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DESCRIBE TABLE I_TOTAL LINES SY-TFILL.&lt;/P&gt;&lt;P&gt;  IF TABAGING-LINES &amp;lt;= SY-TFILL.&lt;/P&gt;&lt;P&gt;    TABAGING-LINES = TABAGING-LINES + 1.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_LOAD_AGING&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;----&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;      Form  F_LOAD_COLUMN_HEADINGS&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;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;      text&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 F_LOAD_COLUMN_HEADINGS .&lt;/P&gt;&lt;P&gt;  DATA: V_INDEX(1) TYPE C,&lt;/P&gt;&lt;P&gt;        V_DAYS     TYPE STRING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set static field names&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  V_HDR-CURKY = 'CurKy'.&lt;/P&gt;&lt;P&gt;  V_HDR-CURR  = 'Current'.&lt;/P&gt;&lt;P&gt;  V_HDR-TOTAL = 'Total'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set dynamic field names&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  DO 4 TIMES.&lt;/P&gt;&lt;P&gt;    V_INDEX = SY-INDEX.&lt;/P&gt;&lt;P&gt;    V_DAYS = SY-INDEX * P_AGEDY.&lt;/P&gt;&lt;P&gt;    CONCATENATE 'V_HDR-COL' V_INDEX INTO V_FIELD-NAME.&lt;/P&gt;&lt;P&gt;    CONCATENATE V_DAYS 'Days' INTO V_FIELD-VALUE SEPARATED BY SPACE.&lt;/P&gt;&lt;P&gt;    ASSIGN (V_FIELD-NAME) TO &amp;lt;COLUMN&amp;gt;.&lt;/P&gt;&lt;P&gt;    &amp;lt;COLUMN&amp;gt; = V_FIELD-VALUE.&lt;/P&gt;&lt;P&gt;  ENDDO.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ENDFORM.                    " F_LOAD_COLUMN_HEADINGS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of changes for Release 2 by HBE7890 - DEVK909110&lt;/P&gt;&lt;/LI&gt;&lt;/UL&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  PRINT_AGING_TOTALS&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;      This routine is for printing the Aging summary&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 PRINT_AGING_TOTALS .&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Leave to list processing.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  LEAVE TO LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  IF NOT I_TOTAL[] IS INITIAL.&lt;/P&gt;&lt;P&gt;    NEW-PAGE PRINT ON&lt;/P&gt;&lt;P&gt;       DESTINATION 'LOCL'&lt;/P&gt;&lt;P&gt;       COVER TEXT 'AR by Profit Center Report'(001)&lt;/P&gt;&lt;P&gt;       LINE-SIZE  SY-LINSZ&lt;/P&gt;&lt;P&gt;       IMMEDIATELY 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    FORMAT COLOR COL_HEADING INTENSIFIED ON.&lt;/P&gt;&lt;P&gt;    skip 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Print the Standard Heading.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'Z_CA_STD_HEADER'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        HEADING    = SY-TITLE&lt;/P&gt;&lt;P&gt;        P_REPID    = SY-CPROG&lt;/P&gt;&lt;P&gt;        LINE_WIDTH = SY-LINSZ.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    skip 2.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Print Select-Options&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    CALL FUNCTION 'Z_CA_PRINT_SELECTION_OPTIONS'&lt;/P&gt;&lt;P&gt;      EXPORTING&lt;/P&gt;&lt;P&gt;        P_PGMN = SY-CPROG&lt;/P&gt;&lt;P&gt;        P_VARI = SY-SLSET&lt;/P&gt;&lt;P&gt;        P_SKIP = 'X'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ULINE.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    WRITE:/1(255)&lt;/P&gt;&lt;P&gt;    'Accounts Receivable by Profit Center - Summary Report' CENTERED.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ULINE.&lt;/P&gt;&lt;P&gt;    WRITE:/1(10) 'Curr Key',&lt;/P&gt;&lt;P&gt;          11(20) 'Current'    RIGHT-justified,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of change for DEVK909871&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         31(20) '30.0 Days'  RIGHT-justified,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         51(20) '60.0 Days'  RIGHT-justified,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         71(20) '90.0 Days'  RIGHT-justified,&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;         91(20) '120.0 Days' RIGHT-justified,&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          31(20) V_HDR-COL1  RIGHT-justified,&lt;/P&gt;&lt;P&gt;          51(20) V_HDR-COL2  RIGHT-justified,&lt;/P&gt;&lt;P&gt;          71(20) V_HDR-COL3  RIGHT-justified,&lt;/P&gt;&lt;P&gt;          91(20) V_HDR-COL4  RIGHT-justified,&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Begin of change for DEVK909871&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;          111(20) 'Total'     RIGHT-justified.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ULINE.&lt;/P&gt;&lt;P&gt;    FORMAT COLOR OFF.&lt;/P&gt;&lt;P&gt;    LOOP AT I_TOTAL.&lt;/P&gt;&lt;P&gt;      WRITE:/1(10) I_TOTAL-WAERS,&lt;/P&gt;&lt;P&gt;           11(20) I_TOTAL-DAYS01 currency I_TOTAL-WAERS RIGHT-justified,&lt;/P&gt;&lt;P&gt;           31(20) I_TOTAL-DAYS02 currency I_TOTAL-WAERS RIGHT-justified,&lt;/P&gt;&lt;P&gt;           51(20) I_TOTAL-DAYS03 currency I_TOTAL-WAERS RIGHT-justified,&lt;/P&gt;&lt;P&gt;           71(20) I_TOTAL-DAYS04 currency I_TOTAL-WAERS RIGHT-justified,&lt;/P&gt;&lt;P&gt;           91(20) I_TOTAL-DAYS05 currency I_TOTAL-WAERS RIGHT-justified,&lt;/P&gt;&lt;P&gt;           111(20) I_TOTAL-TOTAL currency I_TOTAL-WAERS RIGHT-justified.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;    ENDLOOP.&lt;/P&gt;&lt;P&gt;    ULINE.&lt;/P&gt;&lt;P&gt;    NEW-PAGE PRINT OFF.&lt;/P&gt;&lt;P&gt;    LEAVE LIST-PROCESSING.&lt;/P&gt;&lt;P&gt;    ELSE.&lt;/P&gt;&lt;P&gt;      MESSAGE S000 WITH 'Data not available for printing...'.&lt;/P&gt;&lt;P&gt;    ENDIF.&lt;/P&gt;&lt;P&gt;ENDFORM.                    " PRINT_AGING_TOTALS&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;End of changes.&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 30 Sep 2005 07:28:10 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/payment-performance/m-p/943332#M63631</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2005-09-30T07:28:10Z</dc:date>
    </item>
  </channel>
</rss>

