In this example you have a mainreport REPORT1. From REPORT1 you can drill down to REPORT2 and from REPORT2 you can drill down to REPORT3. Tip: Use hotspots to fire the AT LINE-SELECTION event. When the cursor is over the hotspot, it cganges to a hand, and you just have to click on the hostspot, instead of double clicking. Note: To see how to recognize if the user has selected a valid line, take a look at How to check if a valid line is selected before drill down. START-OF-SELECTION. * Read data for REPORT1 into itab1 END-OF-SELECTION. PERFORM write_report1. TOP-OF-PAGE. * Write list header for REPORT1 AT USER-COMMAND. * Respond when the user presses a function key CASE sy-ucomm. WHEN 'REPORT2'. PERFORM write_reprt2. WHEN 'REPORT3'. PERFORM write_reprt3. ENDCASE. AT LINE-SELECTION. * Istead of pressing a button can perform the same actions * as i AT USER-COMMAND, by double clicking a line * sy-lsind contains the list level. * Each time an interactive list event occurs, sy-lsind is * automatically increased by 1. * At REPORT1 sy-lsin = 0 CASE sy-lsind. WHEN 1. PERFORM write_reprt2. WHEN 2. PERFORM write_reprt3. ENDCASE. TOP-OF-PAGE. * Write report header for report1 ( sy-lsind = 0 ) TOP-OF-PAGE DURING LINE-SELECTION. * Write report header for sub reports CASE sy-lsind. WHEN 1. * Write report header for REPORT2. WHEN 2. * Write report header for REPORT3. ENDCASE. FORM WRITE_REPORT1. LOOP at itab1. * write report1....... * Hide keyfields used for the select statement of * report2 HIDE: itab1_year, itab1_month. ENDLOOP. ENDFORM. FORM WRITE_REPORT2. SELECT * FROM databasetable2 into itab2 WHERE year = itab1_year AND month = itab1_month. LOOP at itab2. * write report2 ....... * Hide keyfields used for the select statement of * report3 HIDE: itab2_carrid. ENDLOOP. ENDFORM. FORM WRITE_REPORT3. SELECT * FROM databasetable3 into itab3 WHERE carrid = itab2_carrid. LOOP at itab3. * write report3 ....... * No need to hide keyfields, as further drill down is not * possible ENDLOOP. ENDFORM.
Saturday, July 26, 2014
5
ABAP Tips: Interactive Reporting (Dril Down Reporting)
In this example you have a mainreport REPORT1. From REPORT1 you can drill down to REPORT2 and from REPORT2 you can drill down to REPORT3. ...
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment