Report painter pages
Hi all,
I have developed a report using report painter.
In my report i have 30 columns which will be displayed in 2 pages.
when i execute the report i am able to see first page ROWS AND COLUMS properly but not second page.
kindly sugust the setthings that i have to do.
regards,
padmaja.
Hi,
Good afternoon and greetings,
Go to transaction code KE36 and in the formatting menu you can do the relevant formatting for restricting the printing to one page.
Please reward points if found useful
Thanking you
With kindest regards
Ramesh Padmanabhan
Similar Messages
-
Report Painter Column Header to display on continuing page
Gods of FICO,
I've report painter issue. When out of a report is printed, and when it is longer than one page..... the column header description is not getting displayed on second page.
how can i show column header description on subsequent pages?
thanksHi,
I have the same issue. I have also de-selected the 'Allow row to break across pages' for the whole table but still the table breaks and continues on the next page.
I see that the question has been answers correct but no solution provided. I would appreciate if you could post the solution.
Regards,
Hakan
Edited by: HakanB on 2011-maj-04 00:05 -
How to bring all columns in a single/first page in report painter
Hi Experts,
There are 9 columns in a report painter which includes 1 lead column.
7 columns comes in a first page including lead column and rest 2 columns goes to second page. This report is copied from another report where all columns comes in a first page only. if the original report comes in one page then why not the new report.
Please suggest how to bring all columns in a single/first page in the new report.
Please revert if I'm confused anywhere.
Thanks in advance
ArabindaHi Rajneesh,
Thanx for the quick reply. When I change the column width to 10 it comes in one page. But the requirement is to keep the column width to at least 12 or 14 and moreever the original report from where this report is copied having the same no of columns and the column width for original report is 14 and it comes in one page only.
Do I need to do something more to achieve this. My question is how the original reports data comes in one page where as the current report having issue with same number of columns.
Pls suggest.
Thanx,
Arabinda -
Report painter horizontal page
I have written a report, in report painter, for planning, whereby you have the option to select two years and each year can have 12 months: all, any or none. The 24 columns are using variables for PERIOD, VERSION, RECORD TYPE, FISCAL YEAR. I am using two horizontal pages. Page size width is 253.
The report runs correctly, but, when I choose less than 12 months in the first fiscal year, I want the second fiscal year to display & print adjacent to the first fiscal year. However, it won't, it displays & prints on a separate page. It is as if there is a horizontal page break and I can find no data on such.
Any solutions?
Thanks,
Dan
SAP 4.6CI found the problem. I created a report in Report Writer by copying this one. In the Column Block set, there were two page breaks. These coincided with the beginning of each horizontal page. (I earlier said there were two, but actually there are three) I took the breaks out and the report displays & prints correctly.
Now, how can I identify and delete the Column Block Page Breaks in Report Painter.
Is this the right forum for this question? If not, where should it be posted?
Dan -
Report Painter. Form edited only display first page.
Hi All,
I have add on new column on my report painter and now the display is more than one page.
There is warning "Only the first page is displayed in the report" whenever i execute to make modification using T-code : FMEO.
There is ">" ">|" button appear on top when i run using FMEO.
But , when i try to run the form from its T-code. The report only shows the first page column.
The second page is not showing, and there is no button ">" to browse to next page as well.
Just wanna know, is there anyway i could fit 2 pages into 1 page or is there any setting that i could enable so the user could browse to second page on the form?
Thanks.Hi..,
<b>Onli on First page means </b>... this node will get executed on the first page irrespective of the page name i.e it considers onli <b>&page& eq 1</b>...
Suppose u have ur fist page i.e MY_FIRST_PAGE.. and in this page the data in the main window may trigger the same page as second page .. i.e if the data in the main window is not sufficient to fit in the first page it triggers the next page i.e MY_FIRST_PAGE as second page ...
so this MY_FIRST_PAGE may extend to the second page also right !! so when u use on page MY_FIRST_PAGE.. this node will get triggered if this page extends to more than one page also..
Hope u understood....
regards,
sai ramesh -
Moving columns in report painter
Hi All,
I have created a report in report painter. Now i want to move a column from one horizontal page to another.
Is it possible? If yes then how?
Thanks in advance,
NitishSelect the column, which need to be moved by placing your cursor on the column & press F9. Now place the cursor at a place where the column needs to be moved & press F8.
Regards,
Rakesh Pawaskar -
Report Painter Report for Profit Center
Hi All,
I am creating a report for profit center in GRR1.I was using library 8A3,& ledger 8A.which uses for PCA line i tems and table used is GLPCT.which shows profit center totals by period.I ran GLPCT in SE16 and found out No data selected.I see that profit center accounting is not active in my system ECC6.0
and I didn't see any line records for profit center in any of the profit center tables.GLPCA.Now if someone knidly suggets me how to achieve this report, can I still do it profit center wise or not? which library should i use in GRR1.The layout of my report is as under.Thanks
CURRENT MONTH*
Current Yr Current Yr Prior Yr
Actual Budget Actual Variance
YEAR TO DATE
Current Yr Current Prior Yr Annual
Actual Budget Actual Budget Variance
Regards
ShaunThanks Abhijit , I can now see my report group at the bottom of the list .I assigned you full points.I posted another question regarding report painter .If you could also give me some guidance on that.When I was creating rows and updating cost elements with account numbers.I set up 3 revenue accounts and then ran the report to see if I get any data for profit centers.I did get data but when I double clicked on one of the account,it displays this messsage.I read the msg. but could not make any sense with it.for example in definning row I put account number from/to 400000- 400000 Explode. and thats a characteristic.
No valid master data for characteristic 'Account Number'
Report MEG1 does not contain any data pages.
No valid master data for characteristic 'Account Number'
Message no. GR633
Diagnosis
No valid master data within the specified interval was found for the characteristic 'Account Number'.
Explanation:
For each characteristic that is processed in a report, the Report Writer optimizes the interval limits which are relevant for selecting data from the database.
Example:
A report contains the characteristic 'account', for which an account interval from 100000 to 200000 has been entered. However, if the master data validation shows that the lowest/highest account in this interval is 110000/190000, the selection will be limited to accounts 110000 to 190000 only.
The system returns this error message if no master data exists for the interval.
This error is typically caused by an invalid version. In FI-SL Special Purpose Ledger, for example, versions are assigned to the ledger and are defined in configuration. The report definition can then contain a non-defined version. A similar situation applies to controlling (cost center accounting): here, versions are assigned to the controlling area and fiscal year and can be defined in planning.
Another cause of this error is a ledger that is not assigned to the table for which the report was created.
Technical information:
The field name for 'Account Number' is 'RACCT'.
System Response
The system cancels processing.
Procedure
Check the report definition, or the specified master data, or the intervals.
Regards
Shaun -
Change font size and layout of reports in Report painter
Hi,
I want to change the print layout and the fonts of reports created in Report Painter.
In the print output i am getting 40% of the total screen
My requirement is to increase the font size and the print layout to fullscreen so that the report layout fits to the page.
Kindly help.
ParinHi,
Well i generate a report which has two three columns.....
1) Description
2) Column 1 for fiscal year 2009
3) Column 2 for fiscal year 2008 for comparison
Here after these columns we have unformated space as a column.
Now we tried to hide this column but the system is not allowing to hide this.
How can we remove this unformatted column/space from the print output.
Thanking you,
Parin -
Hi,
We are facing problem with Report Painter program. we developed one report in report painter program in CO. we are taking the report painter date into customised program and we are doing some calculations. From KE30 Transcation we can execute the report painter program. We are doing the BDC for that transaction, storing the final data into flat file and downloading that file into our customised program. But for KE30 Transaction dependency is there.
whenever we are executing that transction for the first time we have to enter some details. To remove that Dependecy we are trying with spool. When we execute the report painter program through SE38 output is going to spool. In spool the page width for that program is 85. We want it upto 100 characters width. We changed settings in spool but we are not getting the solution. Is there any other way to <b>increase the spool width for</b> <b>report painter program</b>? <b>is Page width for report painter program fixed?</b>
Please help me in this regard?
Ur quick response is appreciated
Thanks in advance
Ganga Bhavani. BHi All,
1.The page width is set with KE30 -> report -> print setup ->
drill down + detail -> maintain header -> edit -> page width
This will be saved with the report structure.
2. Variants and variant groups let you execute and save or print reports
in the background at pre-specified times.
Please see transaction code KE3R/Application Help for additional details
here.
If you have further queries, you may reach me over
Dr. Ravi Surya Subrahmanyam, PhD Finance,
SAP FICO Consultant,
Answerthink (India) Limited
Global Delivery Center
Hyderabad, India
Phone :91 9848550024
Email : [email protected] -
Report Painter - data not shown at first selection
Hello,
we have a Report Painter report for cost centers.
If we start the report with normal selection the values of the cost centers are not shown at the first look.
The window on the right side only shows the sum for the whole cost center group, but if we select one single cost center the report shows
"This report has no pages. Check the following layout settings: Threshold values, Summation levels, Zero line suppression."
But there are values, but they are only shown if we switch to another cost center and then switch back.
All rows that are selected the first time show no values, at the second time the values are there.
Does anybody know the reason for this?
Thank you & regards
BrittaHello,
starting the report with the selection of a cost center group.
This group is shown on the left side, the values in sum of the right side.
To have a detailled look on the single values of the cost centers I expand the cost center group by clicking on the small triangle, all included cost centers are now showns on the left side.
To see the value of a cost center I click on the respective cost center, on the right side the "no data" information is shown.
Clicking on the next cost center also the "no data" information is shown.
Now switch back to the first cost center on the left side and then the values are shown on the right side. -
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.JThis 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.
-
Hi,
Is report painter can be use by MM,PP,SD module ?
in ECC6, we can use report painter for module FI, how about module MM,SD and PP ?
if it can use for those module too, how is the step?Hello Callia Raissa,
Yes report writer can be used in logistics also. One of the way which I am aware of is described below.
Flexible analyses allow you to can tailor the way in which key figures are combined and aggregated. This means that it is possible to both provide administrators with detailed information and management with aggregated information.
Flexible analyses enable easy access to the Report Writer, a user-friendly tool with which you can create reports for various analyses. The Report Writer is integrated in other SAP applications, such as Extended General Ledger and Cost Center Accounting.
Evaluation structures form the interface to the Report Writer. Evaluation structures consist of characteristics and key figures and are easy to construct.An evaluation structure with the same name exists for each information structure in the standard system.Even the self-defined information structures created in Customizing can be evaluated via the flexible analyses.
Evaluations:You can create an evaluation on the basis of the evaluation structure.
To define an evaluation, all you need to do is select the characteristics and key figures you require (pick-up technique).One of the especially useful features here is that you have the option of tailoring the layout of your report to suit your particular requirements. You can also define extra key figures for the reports, which are derived from existing key figures by means of calculation formulas. You can thereby multiply the key figures or divide one key figure by another.
============================================================
In addition to the above you can also edit a report in logistics module with the help of a report writer. below mentioned is the process for it.
It is now possible to edit your report data using the Report Writer. You can also change the layout of the report. The most important functions of the layout design are summarized below.
Summation levels:In the report screen, you can use the menu sequence View ->Summation level to specify the number of summation used to calculate total values. All totals that do not lie within the specified interval will be hidden. A summation level corresponds to a hierarchical level (for example, material level). Summation level 1 is the lowest hierarchical level. Summation level 2 is the next level up, and so on. The individual values are on the summation level 0.
The summation levels can be specified both universally (for the entire report) or locally (for specific blocks of rows). In this case, the local settings overwrite global values.
Report views:If a report is displayed on the screen, the Report Writer will then set page breaks so that exactly one page fits into the current window. This view will be defined as the standard view. As the Report Writer always processes exactly one page, you can only use the page keys and page icons to page up and down; the scroll bars cannot be used.
The page view can be determined via Settings-> Page view. The page breaks in the page view correspond to those defined in the report layout.
Hide and show rows:The function Edit->Hide rows exclude certain preselected areas of your report from the display. You can undo this command with Edit ® Show rows.
Expanding and collapsing report rows:View-> Hierarchy->Collapse allows you to hide the report rows of the sub-trees that are located underneath. View->Hierarchy ->Expand allows you to undo this command level by level.
If you want to display all the report rows that were hidden by collapsing the hierarchy or restricting the summation levels, select, View->Hierarchy-> Expand all.
View->Collapse all allows you to reduced every row block to the highest summation level.
Texts and Annotations:You can create an annotation for your report.
Select: Extras->Annotation.
You branch into the text editor of the Report Writer.
Via the menu sequence Settings->Texts, you can create and format a title page, the last page, as well as headers and footers using word processing functions.
For example, you can store variables in the header for the author of the report, the date of the selection or the name of the person who last changed the report.
Layout parameters:Using the menu sequence Settings->Layout you can specify the page format, display form, rows and columns of the report according to your needs and you can determine the settings for the graphics function. You can make these layout settings with Report->Save settings.
Hope I had been able to help you to some extent. please assign points as reward.
Rgds
Manish -
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
ramkiHi
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 → Information systems → Ad hoc reports → Report painter → Report Writer → Library → 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 → Information systems → Ad hoc reports → Report painter → Report Writer → Set → 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 → Information systems → Ad hoc reports → Report painter → Report Writer → Variable → 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 → Information systems → Ad hoc reports → Report painter → Report → 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:
 Select a variable from the list of available variables (for example, CYear).
 Choose .
i. On the Element definition dialog box, choose .
j. On the resulting Text maintenance dialog box:
 In Short, enter a text for the column header (for example, Curr Year).
 To copy the short text to Medium and Long text fields, choose the Copy short text button.
 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 → 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 → 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 → Information systems → Ad hoc reports → Report painter → Report → 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 → Information systems → Ad hoc reports → Report Painter → Report Writer → Report group → 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 → 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 → Summation levels to specify a range of summation levels for which totals will display.
o Settings → 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 -
Trying to add new columns to Report painter Report
Hi Experts,
I created a report painter report by copying an already existing report. In addition I wanted to add extra columns to this report but after adding a few and coming to the last page of the existing report when i try to add a new column the system gives me an error message
Insufficient space on current page -> moving not possible
Message no. KH581
As this is the last page, I am not able to add extra columns to this report. How can I go to the next page and add columns to this existing report. Your responses are highly appreciated.
Regards
ASLVHello,
This is a constraint in the system.
The solution maybe is to define narrower columns
because there is a hard restriction in ABAP to have at least 255 digits
on one page.
The message KH581 is processed because there is not enough space left
on the first horizontal page. So if you first add a new horizontal page
you can add the new column on the second page. Also if you decrease the
column width of the columns to get more space left on the first page you
can add the new columns.
I hope it helps.
REgards,
REnan -
Hello,
I am trying to learn how to create a report thru Report Painter.
At GRR3, I executed standard report 0F-BSNA with my parameters
From/To Period
Fiscal Year
Company Code
Ledger (0L)
Plan Version 1
But when I run the report, I get a " report contains no data" message.
Report 0F-BSNA does not contain any data pages
In order to be able to view a report, do I need to make some type of settings in customizing?
I am able to view Balance sheet reports in FI-GL.
Any advice would be greatly appreciated.
Regards
KenHi
In report painter we need to get the data in form of Rows & Columns. Probable problem in your report can we
1. Check the Fiscal year, any data for that FY is available in FI.
2. Check in which table the report is created.
3. Add the feild BSNA in the table
4. Use feild BSNA in the report.
All the above are customization setting but easyacess.
thanks
Colin Thomas
Maybe you are looking for
-
HP Laserjet P1006 is not working on Windows 7 (64-bit).
I lost my original CD-Driver and I tried to download the CD-Driver on HP website but it doesn't work when I click printing. It seems that my HP Laserjet P1006 is not working on Windows 7 (64-bit). Can anyone give me a link that works for installing
-
One track is always truncated when I try to import
This is the weirdest thing. I am running iTunes 7.7 on my MacBook, although this problem appears to have occurred ages ago when I originally ripped this CD. It's a store-bought classical CD, which I very much like. When I put it in the drive, it show
-
Order Of Saved Genius Playlist Not Syncing
By saving a Genius Playlist and then dragging it into a Playlist Folder, I am able to sync the playlist to my ipod. Only issue is that no matter what change I make to the playlist order within itunes (eg. sort by rating, or sort by artist), the order
-
My javadoc output keeps prefixing package names for common Java classes. For example, in a method with return type String it will print java.lang.String. Is there a way to fix this? These fully-qualified class names really clutter up the documentatio
-
Pause long running queries...
Is there a way to pause for a moment long running queries? or.. to give them lower prioriry during runtime? (even if they're already started)