This document discusses report development techniques in SAP. It covers:
1) The purpose of business reports is to provide convenient business data and analysis for decision making, planning, forecasting, and conclusions. SAP reports are used for business analysis.
2) Report development techniques in SAP include classical reports, interactive/drill-down reports, using logical databases, and generating reports with SAP queries and ALV (ABAP List Viewer).
3) As an example, the document outlines developing a customer information report from the KNA1 table to display customer number, name, city, and country.
2. Business Reports:
Providing Business Information / Data in a convenient form,
as desired for Business Analysis.
Analysis of Business Data for :
Taking Decision.
Planning.
Forecasting.
Conclusion / Inferences.
Purpose of
analysis.
According to SAP Reports means Business Analysis.
4. Report Development Techniques
Classical Reports
Simple Reports
Complex Reports
Interactive Reports / Drill Down Reports
Report Development Using Logical Databases.
Report generation using SAP Queries.
Report Development using ALV (ABAP List Viewer).
5. Task: To Develop Customer Information Report
Tables: KNA1- General Data in Customer Master
Fields:
KUNNR --------- Customer Number
NAME1 --------- Customer Name
ORT01 ------------- City
LAND1 ------------ Country
6. ABAP Programming Guidelines and Naming Standards.
1. Separate each section of the program with a
descriptive full line comment.
2. Provides mid line comment for each data object or
type that refers to a dictionary definition.
3. User defined data type names should have the
prefix “ ty_”.
4. Define data types and then define the data objects
with reference to data types.
5. Work area names should have the prefix “ W”
.
6. Internal table names should have the prefix “T”.
7. Modularize the program , where ever possible.
7. Report Events
• Report Events are predefined with in the ABAP programming
Environment. These events are triggered automatically
as per their purpose but are processed only when they
are specified in the report program.
•
Report Events are independent processing blocks in an
ABAP program.
•
They can be defined anywhere in the ABAP program.
•
When the event gets triggered, a SAP system locates the
event block and then process the same.
8. <event name>.
<statements –
To be processed when the event gets triggered>
Top-of-Page.
<statements>
Event Block
Event Block
TOP-OF-PAGE is processed every time , before a new page
is displayed onto the output.
9. Task : To Develop Customer Wise Sales Orders Report.
Specifications to be fulfilled:
Provides a selection screen accepting Customer Number
range and order number range.
2. Provide Page Header and Page Footer with page number on
each page.
3. Display Sub Total Order Value for each Customer’s Orders.
4. Display Grand Total Order Value for the report.
5. Display Sub Total Order Value in Words.
6. Details of every new customer to be displayed in a new
page.
7. Do not display redundant data in the report.
8. Provide default input values to the selection Screen.
9. Validate input values of the selection screen.
1.
10. Tables & Fields:
KNA1
-
General Data in Customer Master
KUNNR
NAME1
ORT01
LAND1
VBAK
-
-
Customer Number
Customer Name
City
Country
PK
Sales Order - Header Data
VBLEN
ERDAT
NETWR
KUNNR
VBAB
-
-
Order No
Order Date
Order Value
Customer Number
PK
FK
Sales Order – Detail Data
POSNR
ARKTX
WERKS
VBELN
-
Item Number
Item Description
Plant
Order No
FK
11. Control Break Events:
These events are used only within Loop … Endloop.
AT FIRST.
<Statements>.
ENDAT.
AT NEW <field>.
<statements>.
ENDAT.
AT END OF <field>.
<statements>.
ENDAT.
AT LAST
<statements>.
ENDAT.
12. Report Event : INITIALIZATION
If this event is specified in the report program , this will
be the first event to be processed by the SAP system.
This event will be processed only once, at the
beginning of the program execution.
This event is used :
To provide default values to selection
screen fields.
To initialize any other data objects.
To define Constants.
To execute any abap statement once, at
the beginning of the program
execution.