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 -