Report painter- Amount in Document currecy instead of LC

Hi,
   Am new to report painter. i created report painter in FDI4. this report is to display the due amount.
   when i click on table cell, which is amount field . Am chosen cell type as  'Select with Key figure' option .
   After then i try to select key figure for that cell (Popup:Element definition).
   In F4 selection there is only one Key figure which is Amount in LC.
   I need to display the field value as Amount in Document currency.
   How to bring Amount in Docment curreny in that F4. Is it possible.
  I didnt get any thread related to my requirement in SDN.
  pl help.

Solved by myself..
Two steps to be taken to bring Amount in Doc. currency as a key figure(F4 help).
1. Added new field 'WRSHB' , data element for this field WRSHB_D (Used Append Structure) in RFRRD20 structure. FDI4 used this structure only.
2. create new entries in TKAF table under application class Account receivable FBRD. field value WRSHB ,data element  value WRSHB_D, and others field value are as same as DMSHB record.
After these steps, now u check in FDI4 tcode.  U can get Amt in doc. currency as key figure.

Similar Messages

  • Report Painter - Amount consumed X Planned costs

    Hello SAP consultants,
    I am developing a report (with report painter) and I have not been able to create a column which bring the information resultant from the calculus: Amount consumed (os activities) X Planned costs (to that activities).
    Could someone give me a tip?
    Thank you.

    Hi:
    Do you have these two columns already defined in the report - Amount consumes and Planned costs?
    If yes, the third column would be of type "Formula". And in that forumla column, you define the formula definition (first column * second column).
    If not, then you need to first add these columns before you have formula on them. In report painter, you can't have a column with some logic in itself. The formula column would need to refer to the other existing columns in that report.
    Hope it helps.
    Thanks.
    Rahul

  • Display the document currency instead display Currency in Report

    Hi Experts,
      I am having  a query in support system, in that one characteristic called document  currency is there under Unit Dimension and this Doc currency info object  having the Display currency and Document currency as Variables. Document currency Info object is in Free characteristics without related  variables (Disp.curr and Doc.curr)
    When I execute the query  defaultly Display currency will appear as a  variable in selection screen, because customer exit(cmod) has created like that
    Now user want to display the document currency instead Display currency  in the report, may I know how can I solve this problem?
    Here I am unable to get the customer exit  detatils and which program is there in CMOD, can anyone suggest me, how I will get the details?
    And one more requirement in this CR, that is user want to display the key figure amount in the report should be displayed with the document currency amount only
    May I know, want to do any settings for this?
    Thanks to All
    Regards
    Mrudula

    Hi rajesh,
    1.customer exit value you can change in CMOD,select your project and go to components  and select EXIT_SAPLRRS0_001.there go to  include zxrsru01,and change  display variable to document currency variable.
    2. if u want to display your key figure value in document currency ,,go to that key figure info object ,,,in currency ( reference) field give document currency info object.Then map the respective amount value again in transformation.load the data, now  in report document currency will be displayed along with key figure amount.
    Thank you,
    Joseph

  • Customer ageing report in Document currecy- FI AR Drilldown reports

    Hi,
       There is standard report for Customer Due Date Analysis S_ALR_87012168 . this report displays amount in local currency  value only. Is there any Standard report for Customer due date analysis in Document Currency.
    i seached SDN, there is no post related to this.
    Regards,
    Sankavi

    Dear Sankavi,
    You can change the list currency directly on the list via the menu
    (After you have run the report):
    Settings
       > Currency
    There you can insert a currency and translation key;
    If you change the list currency and save the data when you leave the
    report, the new currency is saved for the report and the next run.
    I hope this helps.
    Mauri

  • Report Writer and Report painter documents

    Hi
    If anyone have any documents regarding the report painter and writer, could you please send it to [email protected]?
    Documents with step by step creation of custom report from scratch...? or anything related to these...except the help.sap.com site links..
    Anyhelp is greatly appreciated...
    thank you
    thilothama

    Hi all,
    I am having this report s_alr_87013549 - here I can select by Projects and get the cost elements. I want to use this report as a base for my custom report, which should give me the same result as the above report with Project, WBS, Network activities for each line level..My questions are,
    1. Do I have to define my own library? with columns I need or use the library that the S_ALR report is in??
    2. I am having trouble in understanding characterics, key figure cocncepts - also info structures - to define a report with rows and columns like this - what shld i do>??
    Project name|WBSElement|Network Activity|NetworkActivityElement|CostElemt|PartnerObject|actualCOSt|PlanCost
    These columns should be there in my report...
    Finally - can i have more than 4 columns in my report??
    Please provide Expert advice....I will be really thankful...

  • Amount auto add 100 amount in report painter when I upload budget from KP06

    Hi expert,
    Would like to seek help, I wonder why the report painter (GRR1) display the amount by all cost element adding 100 for the budget when I upload budget KP06?
    Please help.
    Thank you.
    Regards,
    Karen

    Hi,
    Thank you for the prmpt reply.
    However the link is not working, between would like to seek for your help to advice query as below:
    Hi,
    Thank you for the promt reply.
    1) How I include the variable in the column header to display fiscal year which I have selected from the selection screen?
    which variable should i use?
    2) Where can i find more information about the characteristic and which variable to be use base on the characteristic?
    For example: I would like to display the fiscal year from the selection screen/input screen when execute the report which also will reflected to the element definition and will display the fiscal year also in the column text?
    3) Kindly advise base on question 2, the variable that i use in element definition it will also display in selection screen?
    4) When execute the report the first selection screen input parameter it obtain from where it is from element definition?
    5) Please advice how to be done when report execute with first screen input selection will also reflect the element definition of column and rom with the selection of the fiscal year?
    Please help.
    many thanks

  • /TD is appearing in the HTM document when downloaded from Report painter

    Hi,
    We are facing the below issue when we are downloading the report painter report in HTM format.
    When I am downloading a report in HTM format (Web page or Excel) I see some special characters u201C/TD>u201D in the HTM download document. I am able to download this report in other clients and landscapes without any special characters.
    % Standard Cost of Sales     1.547      56.669  /TD>
    % Gross Margin     94.982      27.601 
    % Selling, Admin. & General     19.723      9.290  /TD>
    Thanks and Regards,
    Deepa

    Check the following notes helps you
    =>  Note 1460343 - RW: Unicode and export of report to file
    =>  Note 1522758 - RW: Unicode and export to application server
    thanks
    G. Lakshmipathi

  • Report painter:display of G/L with zero amount

    Hi,
    I have created a report in report painter for expenses by profit center. however the system is not showing the G/L for which no posting has been made although i have maintained those G/Ls in the report. Is there any way to display G/L with zero values also?
    I am running the report at fiscal year level.

    Hi, you can try to go the report painter (GRR2)
    Formatting - section layout - Columns make sure the suppress zero columns is unchecked
    and also you can go to Formatting - section layout - Columns  - Treatment of zero rows - Print Zero Rows
    Regards.

  • Report Painter - Hide library and report instead of deleting

    Good Afternoon Everyone,
    My finance users are pressuring me to clean up the navigation in the GRR3 report painter transaction.  Many of the libraries that are displayed are standard SAP libraries and I'm hesitant to begin deleting standard SAP libraries, reports, and report groups since you can't get those back once deleted.  Is there a possibility to hide libraries/reports that are not being used any longer?  I'm on my own and would like your input about what the best practice is when faced with this scenario.  Thanks in advance for the help.
    Jordan
    Edited by: Jordan Simons on Apr 4, 2011 9:06 PM

    Hi,
    I don't know if its possible to suppress/hide libraries/reports.
    Create T-codes for the reports the users really need and add the reports to the corresponding area menu in SAP. Thus users don't have a need to use GRR3 anymore, remove the T-code from the authorization concept.
    best regards, Christian

  • Report painter document

    CAN ANY ONE SEND ME THE MATERIAL OR ANY DOCUMENTATION ON REPORT PAINTER. My email id: [email protected]
    regards
    VINU
    Edited by: VINU C T on Apr 25, 2008 4:43 AM
    Edited by: VINU C T on Apr 25, 2008 4:44 AM

    Dear,
    Please refer below link:
    http://sapdocs.info/wp-content/uploads/2008/11/report-painter.pdf
    Br,Vivek

  • Report Painter: Cash Flow Actual/Plan Report on Profit Center

    I must create a Cash Flow report Actual/Plan/Variance Figures per Profit Center by using a report painter.
    It will be created in monthly basis format, and year-to-date format (two different formats).
    The format is in GL accounts instead of standard Cash In and Cash Out format.
    I need to extract the Plan figures. However, we don't have planning on PCA. We are only doing plan on cost center, either revenue or cost (revenue is created as cost element category costs/reducing tax).
    Should I extract it from the Cost Center Plan & add up all plan amounts of the cost centers that attached to the specific profit center? How can I do that?
    What do you suggest as the best solution? Please explain briefly and using what t-code, tables and fields to extract from.
    Thanks,
    -=Meila.S=-

    Hi John,
    Go to Menu - > Edit -> Variation
    You can set the order of the Selection Screen fields there.
    Hope this helps you
    Regards
    Andrew

  • Display the values in Docment Currency in Report Painter-FDI4

    Hi,
    Am new to report painter. i created report painter in FDI4. this report is to display the due amount.
    when i click on table cell, which is amount field . Am chosen cell type as 'Select with Key figure' option .
    After then i try to select key figure for that cell (Popup:Element definition).
    In F4 selection there is only one Key figure which is Amount in LC.
    I need to display the field value as Amount in Document currency.
    How to bring Amount in Docment curreny in that F4. Is it possible.
    I didnt get any thread related to my requirement in SDN.
    pl help.

    Hi there,
    Could you insert the field FAEDT (Net due date) in customer reports? (reports from transaction FDI3). This field is not in a table, only in a structure. I defined it in TKAF like that:
    USGFL
    D
    ROLNM 
    FAEDT_FPOS
    CHTAB
    RFPOSXEXT
    CHFIE
    FAEDT
    ORTAB
    RFPOSXEXT
    ORFIE 
    FAEDT
    DIMPR
    2
    RSLIN
    1
    And I also added it in the RFRRD20, but did not work. Can you tell me how to do it? I will reward with point. Thanx!!

  • Customer Ageing - Report Painter

    Hi,
       Can any tell whether we can achieve the customized reports for the customer ageing (Txn: S_ALR_870121276) through report painter. If so can i get any help for the steps to be followed /material regarding this.
    Regards,
    Nagendra Prasad.J

    This is one aging report.. have a look at it and see if its useful.
    This displays cusomer and vendor aging report.
    Award points if useful.
    REPORT zgar_ic_custvend_aging NO STANDARD PAGE HEADING
                                  LINE-SIZE 192
                                  MESSAGE-ID zz
                                  LINE-COUNT 65.
                           Data declaration                              *
    TABLES: bsik,                          "Secondary Index for Vendors
            t880,                          "Global Company Data
            t001s,                         "Accounting Clerks
            t001.                          "Company Codes
                   Internal table declaration.                           *
    *Store data from vendor tables (BSIK, BSAK).
    DATA: BEGIN OF g_t_venddata OCCURS 0,
             bukrs LIKE bsak-bukrs,          "Company code
             lifnr LIKE bsak-lifnr,          "Vendor number
             gjahr LIKE bsak-gjahr,          "Fiscal year
             zuonr LIKE bsak-zuonr,          "Assignment number
             shkzg LIKE bsak-shkzg,          "Debit/credit indicator
             dmbtr LIKE bsak-dmbtr,          "Amount in local currency
             dmbe2 LIKE bsak-dmbe2,          "Amount in global currency
             belnr LIKE bsak-belnr,          "Document number
             augdt LIKE bsak-augdt,          "Clearing date
             augbl LIKE bsak-augbl,          "Doc. no. of clearing document
             budat LIKE bsak-budat,          "Posting date
             hkont LIKE bsak-hkont,          "GL account
             waers LIKE bsak-waers,          "Currency key
             xblnr LIKE bsak-xblnr,          "Document number
             acctp TYPE c,                   "Account type. D or K
             name1 LIKE kna1-name1,          "Comp nmae
         END OF g_t_venddata.
    *Store data from customer tables (BSID, BSAD).
    DATA: BEGIN OF g_t_custdata OCCURS 0,
            kunnr LIKE bsad-kunnr,                "Customer Number
            bukrs LIKE bsad-bukrs,                "Company Code
            gjahr LIKE bsad-gjahr,                "Fiscal year
            augdt LIKE bsad-augdt,                "clearing date
            zuonr LIKE bsad-zuonr,                "Assignment number
            belnr LIKE bsad-belnr,                "acct doc no
            name1 LIKE lfa1-name1,                "name from cust master
            budat LIKE bsad-budat,                "posting date
            bldat LIKE bsad-bldat,                "document date
            xblnr LIKE bsad-xblnr,                "document number
            shkzg LIKE bsad-shkzg,                "debit/credit indicator
            dmbtr LIKE bsad-dmbtr,                "local currency
            dmbe2 LIKE bsad-dmbe2,                "Group currency
            waers LIKE bsad-waers,                "Currency key
            hkont LIKE bsad-hkont,                "GL account
            acctp TYPE c,                         "Account type  D/K
          END OF g_t_custdata.
    *Store data according to age category.
    DATA: BEGIN OF g_t_maintab OCCURS 0,
            bukrs LIKE bsad-bukrs,                "Company Code
            tpart(10) TYPE c,                     "Trading partner
            acctp TYPE c,                         "Account type D/K
            gjahr LIKE bsad-gjahr,                "Fiscal year
            augdt LIKE bsad-augdt,                "clearing date
            zuonr LIKE bsad-zuonr,                "Assignment number
            belnr LIKE bsad-belnr,                "acct doc no
            name1 LIKE lfa1-name1,                "name from cust master
            budat LIKE bsad-budat,                "posting date
            bldat LIKE bsad-bldat,                "document date
            xblnr LIKE bsad-xblnr,                "document number
            shkzg LIKE bsad-shkzg,                "debit/credit indicator
            dmbtr LIKE bsad-dmbtr,                "local currency
            hkont   LIKE bsad-hkont,              "GL account
            bktxt   LIKE bkpf-bktxt,              "Document header text
            butxt   LIKE t001-butxt,              "company name
            waers   LIKE bsad-waers,              "Currency key
            balamt  TYPE dmbtr,                   "balance amount
            amount1 TYPE dmbtr,                   "Amount for category 1
            amount2 TYPE dmbtr,                   "Amount for category 2
            amount3 TYPE dmbtr,                   "Amount for category 3
            amount4 TYPE dmbtr,                   "Amount for category 4
          END OF g_t_maintab.
    *Store all the vendor numbers
    DATA: BEGIN OF g_t_vend OCCURS 5000,
            lifnr                LIKE lfa1-lifnr,
            name1                LIKE lfa1-name1,
          END OF g_t_vend.
    *Store all the customer numbers
    DATA: BEGIN OF g_t_cust OCCURS 5000,
            kunnr                LIKE kna1-kunnr,
            name1                LIKE kna1-name1,
          END OF g_t_cust.
    *Range to store trading partner numbers.
    RANGES : r_tpart FOR lfa1-lifnr.
    Variables to maintain open items count
    DATA: g_open_items  TYPE i,
          g_open_items1 TYPE i,
          g_open_items2 TYPE i,
          g_open_items3 TYPE i,
          g_open_items4 TYPE i.
    *Header texts (For report header)
    DATA: g_headertext1(50),
          g_headertext2(16).
                   Selection screen declaration.                         *
    SELECT-OPTIONS p_ccode FOR bsik-bukrs OBLIGATORY.      "Company code
    SELECT-OPTIONS p_tpartv FOR t880-rcomp.                "Trading partner
    SELECT-OPTIONS p_clerk FOR t001s-busab.                "Accounting clerk
    SELECT-OPTIONS p_pdate FOR sy-datum.                   "Posting date
    PARAMETERS p_adate LIKE sy-datum DEFAULT sy-datum.     "Age as of date
    *GL Account codes
    SELECT-OPTIONS p_glacc FOR bsik-hkont DEFAULT '48200000' TO '48299999'
                   OBLIGATORY.
    *Data Column range (Age range)
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN BEGIN OF BLOCK age_range WITH FRAME TITLE text-001.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(20) text-002.
    SELECTION-SCREEN POSITION 33.
    PARAMETERS p_range1(4) TYPE c DEFAULT '30' OBLIGATORY.
    SELECTION-SCREEN POSITION 43.
    PARAMETERS p_range2(4) TYPE c DEFAULT '60' OBLIGATORY.
    SELECTION-SCREEN POSITION 53.
    PARAMETERS p_range3(4) TYPE c DEFAULT '90' OBLIGATORY.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK age_range.
    *Reporting Currency
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN BEGIN OF BLOCK crr_sel WITH FRAME TITLE text-003.
    PARAMETERS: p_local  RADIOBUTTON GROUP cgrp DEFAULT 'X',
                p_grpcrr RADIOBUTTON GROUP cgrp.
    SELECTION-SCREEN END OF BLOCK crr_sel.
    *Type of report
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN BEGIN OF BLOCK rep_sel WITH FRAME TITLE text-004.
    PARAMETERS: p_detrep  RADIOBUTTON GROUP rgrp DEFAULT 'X',
                p_sumrep  RADIOBUTTON GROUP rgrp.
    SELECTION-SCREEN END OF BLOCK rep_sel.
                               Top-Of-Page                               *
    TOP-OF-PAGE.
      IF p_detrep = 'X'.
    Write report header for detailed report.
        PERFORM f8000_write_comp_header
                USING g_t_maintab-bukrs
                      g_t_maintab-waers
                      g_t_maintab-butxt
                      text-t02
                      g_headertext1.
      ELSE.
    Write report header for summary report.
        PERFORM f8000_write_comp_header
                USING '0000'
                      g_t_maintab-waers
                      text-t05
                      g_headertext1
                      g_headertext2.
      ENDIF.
    *Eject
                           Line selection event                          *
    AT LINE-SELECTION.
      IF p_detrep = 'X'.
        SET PARAMETER ID 'BLN' FIELD g_t_maintab-belnr.
        SET PARAMETER ID 'BUK' FIELD g_t_maintab-bukrs.
        SET PARAMETER ID 'GJR' FIELD g_t_maintab-gjahr.
        IF NOT g_t_maintab-belnr IS INITIAL.
    Call transaction FB03 to display line item details.
          CALL TRANSACTION 'FB03' AND SKIP FIRST SCREEN.
        ELSE.
          MESSAGE e999 WITH text-e01.
        ENDIF.
    Clear belnr.
        MOVE space TO g_t_maintab-belnr.
      ENDIF.
    *Eject
                   Main processing of program starts here                *
    START-OF-SELECTION.
    Pad zeroes to the trading partner range to make it 10 chars
      PERFORM f0100_prepare_tradingpartners.
    Fetch data from customer and vendor tables.
      PERFORM f1000_fetch_data.
    Prepare data. Assign sign to amount, separate line items into 4 age
    categories
      PERFORM f2000_prepare_data.
         End of selection.
    END-OF-SELECTION.
    Write reports
      IF NOT g_t_maintab[] IS INITIAL.
        IF p_detrep = 'X'.
          PERFORM f4000_write_detailed_rep.
        ELSE.
          PERFORM f5000_write_summary_rep.
        ENDIF.
      ELSE.
        MESSAGE i999 WITH text-e02 text-e03.
      ENDIF.
    *Eject
    *&      Form  f0100_prepare_tradingpartners
          Subroutine for preparing trading partner numbers. Pad extra
          zeros to make trading partner field size 10.
    FORM f0100_prepare_tradingpartners.
      LOOP AT p_tpartv.
        MOVE-CORRESPONDING p_tpartv TO r_tpart.
        IF NOT r_tpart-low IS INITIAL.
          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
               EXPORTING
                    input  = r_tpart-low
               IMPORTING
                    output = r_tpart-low.
        ENDIF.
        IF NOT r_tpart-high IS INITIAL.
          CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
               EXPORTING
                    input  = r_tpart-high
               IMPORTING
                    output = r_tpart-high.
        ENDIF.
        APPEND r_tpart.
      ENDLOOP.
    ENDFORM.                    " f0100_prepare_tradingpartners
    *Eject
    *&      Form  f1000_fetch_data
          This subroutine is used to fetch data from customer (BSID and
           BSAD) and vendor (BSIK and BSAK) tables.
    FORM f1000_fetch_data.
    *Get vendor data.
      PERFORM f1100_fetch_vend_data.
    *Get customer data.
      PERFORM f1200_fetch_cust_data.
    ENDFORM.                    " f1000_fetch_data
    *Eject
    *&      Form  f1100_fetch_vend_data
          This subroutine is used to get data from BSIK and BSAK
          tables. First all vendors are selected then all line items are
          retrieved from BSIK and BSAK tables.
    FORM f1100_fetch_vend_data.
      PERFORM f9000_progress_indicator USING text-m01.
    *Select all vendors.
      SELECT h~lifnr
             h~name1
      INTO TABLE g_t_vend
      FROM lfa1 AS h
      JOIN lfb1 AS c
        ON h~lifnr = c~lifnr
    WHERE h~lifnr IN r_tpart
       AND c~bukrs IN p_ccode
       AND c~busab IN p_clerk.
      IF NOT g_t_vend[] IS INITIAL.
        PERFORM f9000_progress_indicator USING text-m01.
    Select open line items.
        SELECT bukrs                 "company
               lifnr                 "vendor number
               augdt                 "clearing date
               augbl                 "docno for clearing doc
               zuonr                 "allocation number
               gjahr                 "fiscal year
               belnr                 "acct doc no
               buzei                 "line item within doc
               budat                 "posting date
               waers                 "Currency key
               xblnr                 "document number
               shkzg                 "debit, credit indicator
               dmbtr                 "local currency
               hkont                 "gl acct
               dmbe2                 "group currency
         FROM bsik
         INTO CORRESPONDING FIELDS OF TABLE g_t_venddata
         FOR ALL ENTRIES IN g_t_vend
         WHERE bukrs IN p_ccode           "company code
         AND lifnr = g_t_vend-lifnr       "trading partner
         AND budat IN  p_pdate            "Posting date
         AND budat <= p_adate
         AND hkont IN p_glacc             "gl acct
        PERFORM f9000_progress_indicator USING text-m04.
    Select cleared line items.
        SELECT bukrs                 "company
               lifnr                 "vendor number
               augdt                 "clearing date
               augbl                 "docno for clearing doc
               zuonr                 "allocation number
               gjahr                 "fiscal year
               belnr                 "acct doc no
               buzei                 "line item within doc
               budat                 "posting date
               waers                 "Currency key
               xblnr                 "document number
               shkzg                 "debit, credit indicator
               dmbtr                 "local currency
               hkont                 "gl acct
               dmbe2                 "group currency
         FROM bsak
         APPENDING CORRESPONDING FIELDS OF TABLE g_t_venddata
         FOR ALL ENTRIES IN g_t_vend
         WHERE bukrs IN p_ccode           "Company code
         AND lifnr =   g_t_vend-lifnr     "Selected vendors
         AND augdt >   p_adate
         AND budat IN  p_pdate            "Posting date
         AND budat <=  p_adate
         AND hkont IN  p_glacc            "GL acct
      ENDIF.
      IF NOT g_t_venddata[] IS INITIAL.
    *Set Account type flag for vendors -- 'K'.
        SORT g_t_venddata BY bukrs lifnr.
        SORT g_t_vend     BY lifnr.
        g_t_venddata-acctp = text-k01.
        MODIFY g_t_venddata TRANSPORTING acctp WHERE acctp = ' '.
    Add vendor names.
        LOOP AT g_t_venddata WHERE name1 = ' '.
          READ TABLE g_t_vend
               WITH KEY lifnr = g_t_venddata-lifnr BINARY SEARCH.
          IF sy-subrc = 0.
            g_t_venddata-name1 = g_t_vend-name1.
            MODIFY g_t_venddata TRANSPORTING name1 WHERE lifnr =
                   g_t_venddata-lifnr.
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " f1100_fetch_vend_data
    *Eject
    *&      Form  f1200_fetch_cust_data
          This function module is used to get data from BSID and BSAD
          tables. First all customers are selected then all line items
          are retrieved from BSIK and BSAK tables.
    FORM f1200_fetch_cust_data.
      PERFORM f9000_progress_indicator USING text-m06.
    *Select all customers.
      SELECT h~kunnr
           h~name1
      INTO TABLE g_t_cust
      FROM kna1 AS h
      JOIN knb1 AS c
        ON h~kunnr = c~kunnr
    WHERE h~kunnr IN r_tpart
       AND c~bukrs IN p_ccode
       AND c~busab IN p_clerk.
      IF NOT g_t_cust[] IS INITIAL.
        PERFORM f9000_progress_indicator USING text-m06.
    *Fetch customer open items.
        SELECT bukrs                 "company
               kunnr                 "customer number
               augdt                 "clearing date
               augbl                 "docno for clearing doc
               zuonr                 "allocation number
               gjahr                 "fiscal year
               belnr                 "acct doc no
               buzei                 "line item within doc
               budat                 "posting date
               waers                 "Currency key
               xblnr                 "document number
               shkzg                 "debit, credit indicator
               dmbtr                 "local currency
               hkont                 "gl acct
               dmbe2                 "group currency
         FROM bsid
         INTO CORRESPONDING FIELDS OF TABLE g_t_custdata
         FOR ALL ENTRIES IN g_t_cust
         WHERE bukrs IN p_ccode           "company code
         AND kunnr = g_t_cust-kunnr       "Selected customer
         AND budat IN  p_pdate            "Posting date
         AND budat <= p_adate
         AND hkont IN  p_glacc            "GL acct
        PERFORM f9000_progress_indicator USING text-m07.
    Select Customer cleared line items.
        SELECT bukrs                 "company
               kunnr                 "customer number
               augdt                 "clearing date
               augbl                 "docno for clearing doc
               zuonr                 "allocation number
               gjahr                 "fiscal year
               belnr                 "acct doc no
               buzei                 "line item within doc
               budat                 "posting date
               waers                 "Currency key
               xblnr                 "document number
               shkzg                 "debit, credit indicator
               dmbtr                 "local currency
               hkont                 "gl acct
               dmbe2                 "group currency
         FROM bsad
         APPENDING CORRESPONDING FIELDS OF TABLE g_t_custdata
         FOR ALL ENTRIES IN g_t_cust
         WHERE bukrs IN p_ccode           "company code
         AND kunnr = g_t_cust-kunnr       "Selected customer
         AND augdt > p_adate
         AND budat IN  p_pdate            "Posting date
         AND budat <= p_adate
         AND hkont IN p_glacc             "GL acct
      ENDIF.
      IF NOT g_t_custdata[] IS INITIAL.
    *Set account type for customers -- 'D'.
        SORT g_t_custdata BY bukrs kunnr.
        SORT g_t_cust     BY kunnr.
        g_t_custdata-acctp = text-d01.
        MODIFY g_t_custdata TRANSPORTING acctp WHERE acctp = ' '.
    Add customer names.
        LOOP AT g_t_custdata WHERE name1 = ' '.
          READ TABLE g_t_cust
               WITH KEY kunnr = g_t_custdata-kunnr BINARY SEARCH.
          IF sy-subrc = 0.
            g_t_custdata-name1 = g_t_cust-name1.
            MODIFY g_t_custdata TRANSPORTING name1 WHERE kunnr =
                   g_t_custdata-kunnr.
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDFORM.                    " f1200_fetch_cust_data
    *Eject
    *&      Form  f2000_Prepare_data
          This function module is used to format data according to report
          1. Fetch local or global amount value according to user
             parametrs.
          2. Sign is assigned to each amount
          3. Line items are categorized according to the aging category
          4. Populate document header text.
          5. Populate company names.
    FORM f2000_prepare_data.
      DATA : l_amount TYPE dmbtr,
             l_age_of_item TYPE p,
             l_as_of_age TYPE d,
             l_posting_date TYPE d,
             l_time TYPE t,
             l_count TYPE sy-tabix.
      DATA: BEGIN OF l_t_doc_txt OCCURS 0,
            bukrs TYPE bkpf-bukrs,
            belnr TYPE bkpf-belnr,
            bktxt LIKE bkpf-bktxt,
            END OF l_t_doc_txt.
      DATA: BEGIN OF l_t_curr_txt OCCURS 0,
              bukrs LIKE t001-bukrs,
              waers LIKE t001-waers,
              butxt LIKE t001-butxt,
            END OF l_t_curr_txt.
      PERFORM f9000_progress_indicator USING text-m03.
      l_as_of_age = p_adate.
      MOVE text-t01 TO l_time.
    *Prepare G_T_MAINTAB, 1. Populate vendor data.
      LOOP AT g_t_venddata.
        CLEAR: g_t_maintab, l_amount, l_age_of_item, l_posting_date.
        MOVE-CORRESPONDING g_t_venddata TO g_t_maintab.
        g_t_maintab-tpart = g_t_venddata-lifnr.
    Check for currency selected by the user.
        IF p_local = 'X'.
          l_amount = g_t_venddata-dmbtr.
        ELSE.
          l_amount = g_t_venddata-dmbe2.
        ENDIF.
    Check for type of transaction. Debit or Credit.
        IF g_t_venddata-shkzg = 'H'.
          l_amount = l_amount * -1.
        ENDIF.
        MOVE g_t_venddata-budat TO l_posting_date.
    Assign amount value to appropriate aging category.
    Calculate age of line item
        CALL FUNCTION '/SDF/CMO_DATETIME_DIFFERENCE'
             EXPORTING
                  date1            = l_posting_date
                  time1            = l_time
                  date2            = l_as_of_age
                  time2            = l_time
             IMPORTING
                  datediff         = l_age_of_item
             EXCEPTIONS
                  invalid_datetime = 1
                  OTHERS           = 2.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
        IF l_age_of_item <= p_range1.                           "Range1
          g_t_maintab-amount1 = l_amount.
        ELSE.
          IF l_age_of_item > p_range1 AND l_age_of_item <= p_range2."Range2
            g_t_maintab-amount2 = l_amount.
          ELSE.
            IF l_age_of_item > p_range2
                AND l_age_of_item <= p_range3.                  "Range3
              g_t_maintab-amount3 = l_amount.
            ELSE.                                               "Range4
              g_t_maintab-amount4 = l_amount.
            ENDIF.
          ENDIF.
        ENDIF.
    Assign balance amounts.
        g_t_maintab-balamt  = l_amount.
    Add record to main internal table
        APPEND g_t_maintab.
      ENDLOOP.
    *Prepare G_T_MAINTAB, 2. Populate customer data.
      LOOP AT g_t_custdata.
        CLEAR: g_t_maintab, l_amount, l_age_of_item, l_posting_date.
        MOVE-CORRESPONDING g_t_custdata TO g_t_maintab.
        g_t_maintab-tpart = g_t_custdata-kunnr.
    Check for currency selected by the user.
        IF p_local = 'X'.
          l_amount = g_t_custdata-dmbtr.
        ELSE.
          l_amount = g_t_custdata-dmbe2.
        ENDIF.
    Check for type of transaction. Debit or Credit.
        IF g_t_custdata-shkzg = 'H'.
          l_amount = l_amount * -1.
        ENDIF.
        MOVE g_t_custdata-budat TO l_posting_date.
    Assign amount value to appropriate aging category.
    Calculate age of line item
        CALL FUNCTION '/SDF/CMO_DATETIME_DIFFERENCE'
             EXPORTING
                  date1            = l_posting_date
                  time1            = l_time
                  date2            = l_as_of_age
                  time2            = l_time
             IMPORTING
                  datediff         = l_age_of_item
             EXCEPTIONS
                  invalid_datetime = 1
                  OTHERS           = 2.
        IF sy-subrc <> 0.
          MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                  WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
        IF l_age_of_item <= p_range1.                           "Range1
          g_t_maintab-amount1 = l_amount.
        ELSE.
          IF l_age_of_item > p_range1 AND l_age_of_item <= p_range2."Range2
            g_t_maintab-amount2 = l_amount.
          ELSE.
            IF l_age_of_item > p_range2
               AND l_age_of_item <= p_range3.                   "Range3
              g_t_maintab-amount3 = l_amount.
            ELSE.                                               "Range4
              g_t_maintab-amount4 = l_amount.
            ENDIF.
          ENDIF.
        ENDIF.
    Assign balance amounts.
        g_t_maintab-balamt  = l_amount.
        APPEND g_t_maintab.
      ENDLOOP.
      IF NOT g_t_maintab[] IS INITIAL.
        SORT g_t_maintab BY bukrs belnr.
        SELECT bukrs belnr bktxt FROM bkpf
              INTO CORRESPONDING FIELDS OF TABLE l_t_doc_txt
              FOR ALL ENTRIES IN g_t_maintab
              WHERE bukrs = g_t_maintab-bukrs AND
                    belnr = g_t_maintab-belnr AND
                    gjahr = g_t_maintab-gjahr.
        SELECT bukrs butxt waers FROM t001
               INTO CORRESPONDING FIELDS OF TABLE l_t_curr_txt
               WHERE bukrs IN p_ccode.
        SORT l_t_doc_txt BY bukrs belnr.
        SORT l_t_curr_txt BY bukrs.
    Add Document header texts
        LOOP AT g_t_maintab.
          l_count = sy-tabix.
          READ TABLE l_t_doc_txt
               WITH KEY bukrs = g_t_maintab-bukrs belnr = g_t_maintab-belnr
               BINARY SEARCH.
          IF sy-subrc = 0.
            g_t_maintab-bktxt = l_t_doc_txt-bktxt.
            MODIFY g_t_maintab INDEX l_count TRANSPORTING bktxt.
          ENDIF.
          CLEAR l_t_doc_txt-bktxt.
        ENDLOOP.
        PERFORM f9000_progress_indicator USING text-m03.
    Update company name and currency field.
        LOOP AT g_t_maintab WHERE butxt =  ' ' OR waers = ' '.
          READ TABLE l_t_curr_txt
               WITH KEY bukrs = g_t_maintab-bukrs BINARY SEARCH.
          IF sy-subrc = 0.
            g_t_maintab-butxt    = l_t_curr_txt-butxt.
            g_t_maintab-waers    = l_t_curr_txt-waers.
            MODIFY g_t_maintab TRANSPORTING butxt waers
                      WHERE bukrs = g_t_maintab-bukrs.
          ENDIF.
          CLEAR: l_t_curr_txt-butxt, l_t_curr_txt-waers.
        ENDLOOP.
      ENDIF.                    "IF NOT g_t_maintab[] IS INITIAL
    ENDFORM.                    " f2000_Prepare_data
    *Eject
    *&      Form  f4000_write_detailed_rep
          This subroutine is used to write detailed report.
    FORM f4000_write_detailed_rep.
      DATA l_t_maintab LIKE g_t_maintab.
    Variables for summary amount of each account type of a trading pair
      DATA: l_tpart_acc1 TYPE dmbtr,
            l_tpart_acc2 TYPE dmbtr,
            l_tpart_acc3 TYPE dmbtr,
            l_tpart_acc4 TYPE dmbtr,
            l_tpart_acc_bal TYPE dmbtr.
    Variables for summary amount of each trading pair
      DATA: l_tpart1 TYPE dmbtr,
            l_tpart2 TYPE dmbtr,
            l_tpart3 TYPE dmbtr,
            l_tpart4 TYPE dmbtr,
            l_tpart_bal TYPE dmbtr.
      SET TITLEBAR 'DETAILED_REPORT'.
    Prepare header texts for report header.
      CONCATENATE  p_adate4(2)  '/' p_adate6(2) '/' p_adate+0(4) INTO
           g_headertext1.
      CONCATENATE text-h20 g_headertext1
                  INTO g_headertext1 SEPARATED BY space.
      SORT g_t_maintab BY bukrs tpart acctp.
    *Start detailed report.
      FORMAT INTENSIFIED OFF.
      LOOP AT g_t_maintab.
        l_t_maintab = g_t_maintab.
    *At new company code write page header
        AT NEW bukrs.
          g_t_maintab = l_t_maintab.
          NEW-PAGE.
        ENDAT.
    *Write line item records.
        WRITE:/2    l_t_maintab-tpart,      "Trading partner
                14  l_t_maintab-acctp,      "Account type
                17  l_t_maintab-belnr,      "Document number
                35  l_t_maintab-budat,      "posting date
                47  l_t_maintab-xblnr,      "Reference doc. number
                65  l_t_maintab-bktxt,      "Doc header text.
                92  l_t_maintab-balamt,     "balance amount
                114 l_t_maintab-amount1,    "Amount cat 1
                136 l_t_maintab-amount2,    "Amount cat 2
                158 l_t_maintab-amount3,    "Amount cat 3
                180 l_t_maintab-amount4.    "Amount cat 4
        g_t_maintab-bukrs = l_t_maintab-bukrs.
        g_t_maintab-gjahr = l_t_maintab-gjahr.
        g_t_maintab-belnr = l_t_maintab-belnr.
    Hide values so that these can be used on line selection event.
        HIDE: g_t_maintab-bukrs, g_t_maintab-gjahr, g_t_maintab-belnr.
    Calculate amounts for account summary.
        l_tpart_acc1    = l_tpart_acc1 + l_t_maintab-amount1.
        l_tpart_acc2    = l_tpart_acc2 + l_t_maintab-amount2.
        l_tpart_acc3    = l_tpart_acc3 + l_t_maintab-amount3.
        l_tpart_acc4    = l_tpart_acc4 + l_t_maintab-amount4.
        l_tpart_acc_bal = l_tpart_acc_bal + l_t_maintab-balamt.
    Calculate amounts for trading partner summary.
        l_tpart1 = l_tpart1 + l_t_maintab-amount1.
        l_tpart2 = l_tpart2 + l_t_maintab-amount2.
        l_tpart3 = l_tpart3 + l_t_maintab-amount3.
        l_tpart4 = l_tpart4 + l_t_maintab-amount4.
        l_tpart_bal = l_tpart_bal + l_t_maintab-balamt.
    *At end of one account type write summary for account type.
        AT END OF acctp.
          g_t_maintab = l_t_maintab.
          PERFORM f8100_write_acctype_summary
                  USING l_tpart_acc1 l_tpart_acc2 l_tpart_acc3 l_tpart_acc4
                        l_tpart_acc_bal l_t_maintab-acctp l_t_maintab-tpart
                        l_t_maintab-name1.
          CLEAR: l_tpart_acc1, l_tpart_acc2, l_tpart_acc3, l_tpart_acc4,
                 l_tpart_acc_bal.
        ENDAT.
    At end of trading pair, write trading partner summary.
        AT END OF tpart.
          g_t_maintab = l_t_maintab.
          PERFORM f8200_write_tradingpair_summar
                  USING l_tpart1 l_tpart2 l_tpart3 l_tpart4 l_tpart_bal
                        l_t_maintab-tpart l_t_maintab-name1.
          CLEAR: l_tpart1, l_tpart2, l_tpart3, l_tpart4, l_tpart_bal.
        ENDAT.
      ENDLOOP.
    ENDFORM.                    " f4000_write_detailed_rep
    *Eject
    *&      Form  f5000_write_summary_rep
          Subroutine to write summary report.
    FORM f5000_write_summary_rep.
    *Counters for trading partner
      DATA: l_count_tpart  TYPE i,     "Counter for trading pairs.
            l_count_tpart1 TYPE i,     "Trading partner in age cat 1
            l_count_tpart2 TYPE i,     "Trading partner in age cat 2
            l_count_tpart3 TYPE i,     "Trading partner in age cat 3
            l_count_tpart4 TYPE i.     "Trading partner in age cat 4
    Flag for trading partner count.
      DATA: l_flag_tpart1 TYPE c,     "Flag for Trading partner in age cat 1
            l_flag_tpart2 TYPE c,     "Flag for Trading partner in age cat 2
            l_flag_tpart3 TYPE c,     "Flag for Trading partner in age cat 3
            l_flag_tpart4 TYPE c.     "Flag for Trading partner in age cat 4
    Variables to store sum of all line items for a company code.
      DATA: l_comp_amt_bal TYPE dmbtr,
            l_comp_amt1    TYPE dmbtr,
            l_comp_amt2    TYPE dmbtr,
            l_comp_amt3    TYPE dmbtr,
            l_comp_amt4    TYPE dmbtr.
    Internal table to store sum of amounts for all the companies selected.
      DATA: BEGIN OF l_t_compall_amt OCCURS 0,
              waers   LIKE bsad-waers,              "Currency key
              balamt  TYPE dmbtr,                   "Total balance amount
              amount1 TYPE dmbtr,                   "Amount for category 1
              amount2 TYPE dmbtr,                   "Amount for category 2
              amount3 TYPE dmbtr,                   "Amount for category 3
              amount4 TYPE dmbtr,                   "Amount for category 4
            END OF l_t_compall_amt.
      DATA: l_tpart_amt_bal TYPE dmbtr,
            l_tpart_amt1    TYPE dmbtr,
            l_tpart_amt2    TYPE dmbtr,
            l_tpart_amt3    TYPE dmbtr,
            l_tpart_amt4    TYPE dmbtr.
      DATA l_currtxt(11).
      DATA l_t_maintab LIKE g_t_maintab.
    Prepare header texts for report header.
      CONCATENATE  p_adate4(2)  '/' p_adate6(2) '/' p_adate+0(4) INTO
                   g_headertext2.
      CONCATENATE text-t04 p_glacc-low text-h06 p_glacc-high
                  INTO g_headertext1 SEPARATED BY space.
      CONCATENATE text-t03 g_headertext2 INTO g_headertext2 SEPARATED BY
                  space.
      SET TITLEBAR 'SUMMARY_REPORT'.
      SORT g_t_maintab BY bukrs tpart acctp.
    DESCRIBE TABLE g_t_maintab LINES l_count_tpart. "***
      FORMAT INTENSIFIED OFF.
      CLEAR: l_flag_tpart1, l_flag_tpart2, l_flag_tpart3, l_flag_tpart4.
      CLEAR: l_tpart_amt_bal,
             l_tpart_amt1,
             l_tpart_amt2,
             l_tpart_amt3,
             l_tpart_amt4.
      CLEAR: l_comp_amt_bal,
             l_comp_amt1,
             l_comp_amt2,
             l_comp_amt3,
             l_comp_amt4.
    Write summary report.
      LOOP AT g_t_maintab.
        l_t_maintab = g_t_maintab.
    Maintain open items count
        g_open_items = g_open_items + 1.
        IF l_t_maintab-amount1 <> 0.
          g_open_items1 = g_open_items1 + 1.
        ELSEIF l_t_maintab-amount2 <> 0.
          g_open_items2 = g_open_items2 + 1.
        ELSEIF l_t_maintab-amount3 <> 0.
          g_open_items3 = g_open_items3 + 1.
        ELSEIF l_t_maintab-amount4 <> 0.
          g_open_items4 = g_open_items4 + 1.
        ENDIF.
    *Calculate amounts for trading partners and maintain trading partner
    *count.
        l_tpart_amt_bal = l_tpart_amt_bal + l_t_maintab-balamt.
        IF g_t_maintab-amount1 <> 0.
          l_tpart_amt1    = l_tpart_amt1    + l_t_maintab-amount1.
    Increase count according to flag.
          IF l_flag_tpart1 IS INITIAL.
            l_count_tpart1 = l_count_tpart1 + 1.
            l_flag_tpart1 = 'X'.
          ENDIF.
        ELSEIF g_t_maintab-amount2 <> 0.
          l_tpart_amt2    = l_tpart_amt2    + l_t_maintab-amount2.
    Increase count according to flag.
          IF l_flag_tpart2 IS INITIAL.
            l_count_tpart2 = l_count_tpart2 + 1.
            l_flag_tpart2 = 'X'.
          ENDIF.
        ELSEIF g_t_maintab-amount3 <> 0.
          l_tpart_amt3    = l_tpart_amt3    + l_t_maintab-amount3.
    Increase count according to flag.
          IF l_flag_tpart3 IS INITIAL.
            l_count_tpart3 = l_count_tpart3 + 1.
            l_flag_tpart3 = 'X'.
          ENDIF.
        ELSEIF g_t_maintab-amount4 <> 0.
          l_tpart_amt4    = l_tpart_amt4    + l_t_maintab-amount4.
    Increase count according to flag.
          IF l_flag_tpart4 IS INITIAL.
            l_count_tpart4 = l_count_tpart4 + 1.
            l_flag_tpart4 = 'X'.
          ENDIF.
        ENDIF.                                     "g_t_maintab-amount1 <> 0
    Calculate total of amount for all companies
    Separate totals into different rows for different local currency.
        IF p_local = 'X'.
          READ TABLE l_t_compall_amt WITH KEY waers = l_t_maintab-waers.
        ELSE.
          READ TABLE l_t_compall_amt INDEX 1.
        ENDIF.
        IF sy-subrc = 0.
          l_t_compall_amt-balamt  = l_t_compall_amt-balamt  +
                                    l_t_maintab-balamt.
          l_t_compall_amt-amount1 = l_t_compall_amt-amount1  +
                                    l_t_maintab-amount1.
          l_t_compall_amt-amount2 = l_t_compall_amt-amount2  +
                                    l_t_maintab-amount2.
          l_t_compall_amt-amount3 = l_t_compall_amt-amount3  +
                                    l_t_maintab-amount3.
          l_t_compall_amt-amount4 = l_t_compall_amt-amount4  +
                                    l_t_maintab-amount4.
          MODIFY l_t_compall_amt FROM l_t_compall_amt INDEX sy-tabix.
        ELSE.
          MOVE-CORRESPONDING l_t_maintab TO l_t_compall_amt.
          IF NOT p_local = 'X'.
            MOVE 'GRP' TO l_t_maintab-waers.
          ENDIF.
          APPEND l_t_compall_amt.
        ENDIF.
    Calculate total amount for current company.
        l_comp_amt_bal = l_comp_amt_bal + l_t_maintab-balamt.
        l_comp_amt1    = l_comp_amt1    + l_t_maintab-amount1.
        l_comp_amt2    = l_comp_amt2    + l_t_maintab-amount2.
        l_comp_amt3    = l_comp_amt3    + l_t_maintab-amount3.
        l_comp_amt4    = l_comp_amt4    + l_t_maintab-amount4.
        IF p_local = 'X'.
          CONCATENATE text-h04 l_t_maintab-waers
                      INTO l_currtxt SEPARATED BY space.
        ELSE.
          MOVE text-h05 TO l_currtxt.
        ENDIF.
    Write subtotal for each trading partner.
        AT END OF tpart.
          l_count_tpart = l_count_tpart + 1.
    Write the summary lines
          WRITE:/2    l_t_maintab-bukrs,
                 10   l_t_maintab-tpart,
                 42   l_tpart_amt_bal,
                 64   l_currtxt,
                 87   l_tpart_amt1,
                 109  l_tpart_amt2,
                 131  l_tpart_amt3,
                 153  l_tpart_amt4.
          CLEAR: l_tpart_amt_bal,
                 l_tpart_amt1,
                 l_tpart_amt2,
                 l_tpart_amt3,
                 l_tpart_amt4.
          CLEAR: l_flag_tpart1, l_flag_tpart2, l_flag_tpart3, l_flag_tpart4.
        ENDAT.
    Write subtotal for each company code.
        AT END OF bukrs.
          PERFORM f8300_write_comp_summ USING l_comp_amt_bal
                                              l_comp_amt1
                                              l_comp_amt2
                                              l_comp_amt3
                                              l_comp_amt4
                                              l_t_maintab-bukrs
                                              l_t_maintab-butxt
                                              l_t_maintab-waers.
          CLEAR: l_comp_amt_bal,
                 l_comp_amt1,
                 l_comp_amt2,
                 l_comp_amt3,
                 l_comp_amt4.
        ENDAT.
      ENDLOOP.
     

  • Report Painter : Local currency is having decimal points for chile

    Hi Friends,
    I have a report painter in which the amount for the the countries which are not having the decimal places
    like chile and Japan are displying with the decimal places, when i changed the base key figure as the transaction currency instead of the local currency then no data is coming.
    If someone have some good ideas which can resolve this issue please suggest me.
    Thanks & Regards
    Digvijay

    Hi Yogesh,
    Thank you for ur reply.
    in the report, i have 10 keyfigures. 4 are being picked up from the report and they have currency translation variable. The rest 6 are formulas. On these formulae, i restricted the decimal display to "nothing defined". it works fine for all the 6 formulae. for WON it does NOT show decimals and for the rest of the currencies, it shows decimals.
    but how this can be achieved on the 4 direct keyfigures??
    Rgds.,
    ASha

  • Report Painter for B/S , P&L statements

    Hii gurus
    this is ramki...
    Plssss help me in the making of Report painter for Balance Sheet and Profit And Loss Statements , as of now i didn't did Report Painter .
    I have tried no.of times , i dont know the confg also...
    My client is asking DR & Cr columns for the statements..
    can any body plsssss forward to me  report painter confg documentation...( atleat for base level confg )
    helpers will b great appreciateble..
    thanks in advance
    regards
    ramki

    Hi
    i am sending you a sample of how to createa report in report painter follow it,
    Main Steps in Creating a Report Using Report Painter
    The illustration below shows the main steps in creating a report with Report Painter:
    In this section, you learn how to create a Profit Center Accounting (PCA) report with Report Painter.
    For these sample reports, you should focus on the tables that correspond to the SAP application areas with which you are working. The examples shown in this section have been created in Release 4.6C.
    Sample Report for Gross Profit Margin
    Bungee Corporation wants to use Report Painter to create a gross margin report. This Profit Center Accounting report uses data table GLPCT. The desired PCA report displays the gross margin for each profit center.
    Below is an illustration of the completed gross margin report.
    Prerequisites to Creating a Report with Report Painter
    Before you can create a report with Report Painter, you need to:
    •     Determine the table
    •     Find the library
    •     Create sets
    •     Create variables
    The following sections explain these prerequisites.
    Determine the Table
    Before you can start creating the report, you must decide on the table you need to use. In this example, we use table GLPCT in Profit Center Accounting.
    Find the Library
    Determine the library you want to use for the desired table.
    If you need to create a library, on the SAP Easy Access screen, either:
    •     From the navigation menu, choose SAP menu &#8594; Information systems &#8594; Ad hoc reports &#8594; Report painter &#8594; Report Writer &#8594; Library &#8594; Create.
    •     In the Command field, enter transaction GR21 and choose  .
    In our example, we use existing library 8A2 for creating a report.
    Create Sets
    Create the required sets for your report. To create a set, on the SAP Easy Access screen, either:
    •     From the navigation menu, choose SAP menu &#8594; Information systems &#8594; Ad hoc reports &#8594; Report painter &#8594; Report Writer &#8594; Set &#8594; Create.
    •     In the Command field, enter transaction GS01 and choose  .
    Note that this procedure is not necessary for creating the report given in the example that follows.
    Create Variables
    Create any variables for the fields that must be entered before the report is executed. To create a variable, on the SAP Easy Access screen, either:
    •     From the navigation menu, choose SAP menu &#8594; Information systems &#8594; Ad hoc reports &#8594; Report painter &#8594; Report Writer &#8594; Variable &#8594; Create.
    •     In the Command field, enter transaction GS11 and choose  .
    Note that this procedure is not necessary for the sample report in the next section.
    Creating a Report with Report Painter
    When you are ready to create the report using Report Painter, use the following steps.
    Example Task: Creating a report using Report Painter
    1.     On the SAP Easy Access screen, either:
    o     From the navigation menu, choose: SAP menu &#8594; Information systems &#8594; Ad hoc reports &#8594; Report painter &#8594; Report &#8594; Create.
    o     In the Command field, enter transaction GRR1 and choose  .
    2.     On the Report Painter: Create Report screen:
    a.     In Library, enter the name of the library to be used for the report (for this example, 8A2).
    b.     In the Report, enter a name for your report and a short text description.
    c.     Choose Create.
    1.     
    To help you better understand how to create a report in Report Painter, the next procedures explain the varying substeps. You can either:
    o     Define the rows (or rows with a formula)
    o     Define the columns (or columns with a formula)
    o     Define the general data selection
    Define Rows
    Example Task: Defining rows (including defining a row with a formula)
    To start defining the rows, on the Report Painter: Create Report screen, double click on Row
    On the Element definition: Row1 dialog box:
    a.     To include characteristics in the first row of the report, select the desired characteristics in the Available characteristics frame (for example, Account number)
    b.     Use  to transfer the chosen characteristic to the Selected characteristics frame.
    c.     In From, enter the account number(s) you want to include in the row definition. Either enter to and from values or a group set (for example, the value 800000).
    d.     To enter the row heading, choose
    On the Text maintenance dialog box:
    a.     In Short, enter the desired short text (for example, Revenue).
    b.     To copy the short text into the Medium and Long text fields, choose Copy short text.
    c.     To continue, choose
    On the Element definition: Row1 dialog box:
    a.     To check if the selection is correct, choose  Check.
    b.     To transfer the selection to the row 1 definition, choose Confirm.
    You have now defined the first row.
    To define the second row for costs, on the Report Painter: Create Report screen, double-click on Row 2.
    On the Select element type dialog box:
    a.     Select Characteristics.
    b.     Choose
    On the Element definition Row 2 dialog box:
    a.     To include characteristics in the second row of the report, select the desired characteristics in the Available characteristics frame (for example, Account number)
    b.     Use  to transfer the chosen characteristic to the Selected characteristics frame.
    c.     In From and To, enter the account number(s) you want to include in the row definition (for example, 400000 and 490000).
    d.     To enter the row heading, choose
    On the Text maintenance dialog box:
    a.     In Short, enter the desired short text (for example, Costs).
    b.     Choose Copy short text to copy the short text into the Medium and Long text fields.
    c.     To continue, choose
    On the Report Painter: Create Report screen:
    a.     You can now choose to add further rows with other required characteristics. In this example, you can create a formula in the third row.
    b.     Double-click on Row 3.
    On the Select element type screen:
                       a. Select Formula as the row element type.
                       b. Choose
    On the Enter Formula screen:
    a.     Enter the formula for Row 3. You can either type it in or use your mouse and the formula components buttons. If you type the formula, do not forget the spaces. In this example, Y001 and Y002 represent Revenue and Costs respectively.
    b.     To check the correctness of the formula, choose  Check.
    c.     Choose
    On the resulting Text maintenance dialog box:
    a.     In Short field, enter the text for the formula field (for example, Gross Marg).
    b.     In Medium and Long fields, enter the required text (for example, Gross Margin).
    c.     Choose  .
    You have now defined three rows (Revenue, Costs, and Gross Margin).
    Define Columns
    Example Task: Defining columns
    On the Report Painter: Create Report screen, double-click on the first column, Column 1.
    On the Select Element Type (not shown) dialog box:
    a.     Select Key Figure with characteristics.
    b.     Choose  .
    On the Element definition: Column 1 dialog box:
    c.     In the Basic Key figure field, use the dropdown to select Amount in company code curr.
    d.     In the Available Characteristics frame, select the desired characteristic for column 1 (for example, Fiscal Year).
    If you want to be prompted for the fiscal year at the time of running the report, you must make this a variable instead of a value.
    e.     Choose  to move the desired characteristic to the selected characteristics frame (for example, Fiscal year).
    f.     Place your cursor in the From value field and select the checkbox to the left under  (variable on/off).
    g.     To view the possible entries for the From field, choose  .
    h.     From the resulting selection dialog box:
    &#61607;     Select a variable from the list of available variables (for example, CYear).
    &#61607;     Choose  .
    i.     On the Element definition dialog box, choose  .
    j.     On the resulting Text maintenance dialog box:
    &#61607;     In Short, enter a text for the column header (for example, Curr Year).
    &#61607;     To copy the short text to Medium and Long text fields, choose the Copy short text button.
    &#61607;     Choose  .
    Now you have defined the column 1 for your report.
    k.     Back on the Element definition dialog box, choose Confirm.
    On the Report Painter: Create Report screen, define column 2 and all other columns you choose to define. You can define these columns either by:
    o     Repeating steps for column 1
    o     Copying columns
    o     Entering a formula that calculates the difference between columns (for example, between Current Year and Prior Year [variable is Pyear] in a column called Variance)
    Adding a column or formula is similar to adding a row formula. After defining the rows and the columns, the screen would appear as follows.
    General Data Selection
    After you define the rows and columns, define the general data selection screen for the report.
    Example Task: Defining the general data selection screen for the report
    1.     On the Report Painter: Create Report screen, from the menu bar, choose Edit &#8594; General data selection.
    2.     On the Element definition: General data selection screen:
    a.     From the Available characteristics frame, select the fields to add to the general data selection as shown.
    b.     Choose  to move the selections into the Selected characteristics frame.
    c.     Enter the values for each field. (For example, the standard ledger for PCA is 8A to 8E and the U.S. company code in IDES is 3000. This example is a year-to-date report, so all 12 periods are in the range. The standard Version in PCA is 0, the Record type for actual dollars is 0, and CO is 2000).
    d.     To check the selections, choose  Check.
    e.     To create the definition for the general data selection for the report, choose Confirm.
          3.   On the Report Painter: Change Report screen:
    a.     To save the report, choose 
    To include the report into a report group, choose Environment &#8594; Assign report group.
          1.     On the Insert Report in Report Group dialog box:
    a.     In Report group, enter a report group name (for example, ZTGR).
    b.     Choose  .
    2.     On the Create report group dialog box, choose Yes to create and assign to a new report group.
    Display and Execute the Report
    Example Task: Displaying the report you created in the previous steps
    1.     On the SAP Easy Access screen, either:
    o     From the navigation menu, choose: SAP menu &#8594; Information systems &#8594; Ad hoc reports &#8594; Report painter &#8594; Report &#8594; Display.
    o     In the Command field, enter transaction GRR3 and choose  .
    2.     On the Report Painter: Display Report screen:
    a.     Double-click on your report.
    b.     Review the report display.
    c.     To execute the report, from the application toolbar, choose execute.
    On the Selection screen:
    a.     Enter the variables used to execute the report (for example, Current Year 2000 and Last Fiscal Year as 1999).
    b.     On the application toolbar, choose execute.
    The report appears. You have successfully created a report in Report Painter.
    You can also execute the report through the report group (for example, ZTGR).
    1.     On the SAP Easy Access screen, choose SAP menu &#8594; Information systems &#8594; Ad hoc reports &#8594; Report Painter &#8594; Report Writer &#8594; Report group &#8594; Execute or in the Command field, enter transaction GR55 and choose 
    2.     On the Execute Report Group: Initial Screen:
    o     In Report Group, use  to select a report group.
    o     Choose  .
    3.     On the next screen, enter appropriate values and choose  .
    4.     On the next screen, from the menu bar, choose:
    o     Settings &#8594; Column attributes to change the column attributes such as changing the column width, setting the scaling factor, and setting decimal place numbering for number display.
    o     Settings &#8594; Summation levels to specify a range of summation levels for which totals will display.
    o     Settings &#8594; Print page format to change the layout of the report output.
    5.     To transfer the report to Microsoft Excel or Lotus 123, from the application toolbar, choose  .
    6.     On the Options dialog box, select the radio button of your choice and choose  . Note that for the report to open in Microsoft Excel or Lotus 123, you need to have these applications installed on your PC.
    7.     To get back to the original display of the report, select Inactive on the Options dialog box.
    Understanding the Report List
    After executing a Report Painter report, several additional functions can be applied to the output to make your reports as meaningful as possible. You can:
    •     Sort on each column.
    •     Highlight rows that meet the threshold criteria, for example any amount greater than 6,000.
    •     Drill down from any line item. Drilling down you can access ABAP programs, transaction codes, SAP Queries, drilldown reports, or other Report Painter and Report Writer reports.
    •     Launch SAP Graphics.
    •     Send the report through SAP mail.
    •     Save as an extract to be brought up later.
    •     Expand and collapse rows.
    •     Change the layout settings.
    •     Display the report in Microsoft Excel with office integration.
    hope this gives you an idea, and send me an email to [email protected] i will send you a doc on it,
    if this was helpful then assign points ..
    regards
    Jay

Maybe you are looking for