SAP ABAP - การเขียนโปรแกรมรายงาน

reportเป็นการนำเสนอข้อมูลในโครงสร้างที่เป็นระเบียบ ระบบจัดการฐานข้อมูลจำนวนมากมีตัวเขียนรายงานที่ช่วยให้คุณสามารถออกแบบและสร้างรายงานได้ แอปพลิเคชัน SAP รองรับการสร้างรายงาน

รายงานแบบคลาสสิกถูกสร้างขึ้นโดยใช้ข้อมูลเอาต์พุตในคำสั่ง WRITE ภายในลูป ไม่มีรายงานย่อยใด ๆ SAP ยังมีรายงานมาตรฐานบางอย่างเช่น RSCLTCOP ที่ใช้เพื่อคัดลอกตารางข้ามไคลเอนต์และ RSPARAM ที่ใช้เพื่อแสดงพารามิเตอร์อินสแตนซ์

รายงานเหล่านี้ประกอบด้วยหน้าจอเดียวเป็นผลลัพธ์ เราสามารถใช้เหตุการณ์ต่างๆเช่น INITIALIZATON และ TOP-OF-PAGE เพื่อสร้างรายงานแบบคลาสสิกและแต่ละเหตุการณ์มีความสำคัญของตัวเองในระหว่างการสร้างรายงานแบบคลาสสิก แต่ละเหตุการณ์เหล่านี้เชื่อมโยงกับการกระทำของผู้ใช้ที่เฉพาะเจาะจงและจะถูกทริกเกอร์เมื่อผู้ใช้ดำเนินการนั้นเท่านั้น

ต่อไปนี้เป็นตารางอธิบายเหตุการณ์และคำอธิบาย -

ส. เหตุการณ์และคำอธิบาย
1

INITIALIZATON

ทริกเกอร์ก่อนที่จะแสดงหน้าจอการเลือก

2

AT SELECTION-SCREEN

ทริกเกอร์หลังจากประมวลผลอินพุตของผู้ใช้บนหน้าจอการเลือก เหตุการณ์นี้จะตรวจสอบอินพุตของผู้ใช้ก่อนที่จะดำเนินการโปรแกรม หลังจากประมวลผลอินพุตของผู้ใช้แล้วหน้าจอการเลือกจะยังคงอยู่ในโหมดใช้งานอยู่

3

START-OF-SELECTION

ทริกเกอร์หลังจากการประมวลผลของหน้าจอการเลือกสิ้นสุดลงเท่านั้น นั่นคือเมื่อผู้ใช้คลิกไอคอนดำเนินการบนหน้าจอการเลือก

4

END-OF-SELECTION

ทริกเกอร์หลังจากคำสั่งสุดท้ายในเหตุการณ์ START-OF-SELECTON ถูกเรียกใช้งาน

5

TOP-OF-PAGE

ทริกเกอร์โดยคำสั่ง WRITE แรกเพื่อแสดงข้อมูลบนเพจใหม่

6

END-OF-PAGE

ทริกเกอร์เพื่อแสดงข้อความที่ส่วนท้ายของหน้าในรายงาน โปรดทราบว่าเหตุการณ์นี้เป็นเหตุการณ์สุดท้ายในขณะที่สร้างรายงานและควรรวมกับประโยค LINE-COUNT ของคำสั่ง REPORT

ตัวอย่าง

มาสร้างรายงานแบบคลาสสิกกัน เราจะแสดงข้อมูลที่เก็บไว้ในฐานข้อมูลมาตรฐาน MARA (มีข้อมูลวัสดุทั่วไป) โดยใช้ลำดับของข้อความในโปรแกรมแก้ไข ABAP

REPORT ZREPORT2 
LINE-SIZE 75 
LINE-COUNT 30(3) 
NO STANDARD PAGE HEADING. 
Tables: MARA. 
TYPES: Begin of itab, 

MATNR TYPE MARA-MATNR, 
MBRSH TYPE MARA-MBRSH, 
MEINS TYPE MARA-MEINS, 
MTART TYPE MARA-MTART, 

End of itab. 

DATA: wa_ma TYPE itab,
      it_ma TYPE STANDARD TABLE OF itab.
		
SELECT-OPTIONS: MATS FOR MARA-MATNR OBLIGATORY. 
INITIALIZATION. 
MATS-LOW = '1'. 
MATS-HIGH = '500'. 

APPEND MATS. 
AT SELECTION-SCREEN. .
IF MATS-LOW = ' '. 
MESSAGE I000(ZKMESSAGE). 
ELSEIF MATS-HIGH = ' '. 
MESSAGE I001(ZKMESSAGE). 
ENDIF. 

TOP-OF-PAGE. 
WRITE:/ 'CLASSICAL REPORT CONTAINING GENERAL MATERIAL DATA  
FROM THE TABLE MARA' COLOR 7. 
ULINE. 
WRITE:/ 'MATERIAL' COLOR 1, 

24 'INDUSTRY' COLOR 2, 
38 'UNITS' COLOR 3, 
53 'MATERIAL TYPE' COLOR 4. 
ULINE. 
END-OF-PAGE. 

START-OF-SELECTION. 
SELECT MATNR MBRSH MEINS MTART FROM MARA  
INTO TABLE it_ma WHERE MATNR IN MATS. 
LOOP AT it_ma into wa_ma. 
WRITE:/  wa_ma-MATNR, 

25 wa_ma-MBRSH, 
40 wa_ma-MEINS, 
55 wa_ma-MTART. 
ENDLOOP. 
END-OF-SELECTION. 

ULINE. 
WRITE:/ 'CLASSICAL REPORT HAS BEEN CREATED' COLOR 7.
ULINE. 
SKIP.

รหัสด้านบนสร้างผลลัพธ์ต่อไปนี้ที่มีข้อมูลวัสดุทั่วไปจากตารางมาตรฐาน MARA -