ทั้งหมดเกี่ยวกับการเขียนโปรแกรมรายงาน ABAP
SAP-ABAP รองรับโปรแกรมสองประเภท ได้แก่ โปรแกรมรายงานและโปรแกรมกล่องโต้ตอบ โปรแกรมรายงานใช้เมื่อต้องแสดงข้อมูลจำนวนมาก
วัตถุประสงค์/การใช้โปรแกรมรายงาน
- ใช้เมื่อต้องเลือกและประมวลผลข้อมูลจากตารางจำนวนหนึ่งก่อนนำเสนอ
- ใช้เมื่อรายงานต้องการรูปแบบพิเศษ
- ใช้เมื่อต้องดาวน์โหลดรายงาน SAP ไปยังแผ่นงาน Excel ที่จะกระจายไปทั่ว
- ใช้เมื่อจะต้องส่งรายงานไปยังบุคคลใดบุคคลหนึ่งโดยเฉพาะ
ประเด็นสำคัญที่ควรทราบเกี่ยวกับโปรแกรมรายงาน
- โปรแกรมรายงานเป็นโปรแกรมที่ปฏิบัติการได้เสมอ ประเภทโปรแกรมเป็น 1 เสมอ
- ทุกโปรแกรมรายงานจะสอดคล้องกับประเภทแอปพลิเคชันเฉพาะ เช่น การขายและการจัดจำหน่าย FI – CO เป็นต้น นอกจากนี้ยังสามารถเป็นแอปพลิเคชันข้ามประเภท เช่น '*' ได้อีกด้วย
- การเขียนโปรแกรมรายงานเป็นการเขียนโปรแกรมที่ขับเคลื่อนด้วยเหตุการณ์
- บรรทัดแรกของโปรแกรมรายงานจะเป็นรายงานเสมอ -
- เพื่อระงับส่วนหัวของรายการหรือชื่อของโปรแกรมที่เพิ่ม ไม่มีส่วนหัวของหน้ามาตรฐาน ถูกนำมาใช้.
- ขนาดเส้นสำหรับรายงานเฉพาะสามารถตั้งค่าได้โดยใช้ส่วนเพิ่มเติม ขนาดเส้น -
- จำนวนบรรทัดสำหรับเพจใดเพจหนึ่งสามารถตั้งค่าได้โดยใช้การเพิ่ม จำนวนบรรทัด n(n1)- N คือจำนวนบรรทัดสำหรับเพจ และ N1 คือจำนวนบรรทัดที่สงวนไว้สำหรับส่วนท้ายของหน้า
- ในการแสดงข้อมูลหรือข้อความแสดงข้อผิดพลาดใด ๆ เราจะเพิ่มคลาสข้อความให้กับโปรแกรมโดยใช้ส่วนเพิ่มเติม: รหัสข้อความ - คลาสข้อความยังคงอยู่ใน SE91
ดังนั้น โปรแกรมรายงานในอุดมคติควรเริ่มต้นด้วย:
Report <report name> no standard page heading line-size <size> line-count <n(n1)> message-id <message class>.
หน้าจอการเลือก
“หน้าจอการเลือก” คือหน้าจอที่ระบุค่าอินพุตที่โปรแกรมควรรัน
โดยปกติหน้าจอการเลือกจะถูกสร้างขึ้นจาก
- พารามิเตอร์
- เลือก-ตัวเลือก
วากยสัมพันธ์
Selection-screen begin of screen <screen #> selection-screen begin of block <#> with frame title <text> ......... ......... selection-screen end of block <#> selection-screen end of screen <screen #>
พารามิเตอร์
พารามิเตอร์ช่วยในการเลือกแบบไดนามิก สามารถรองรับได้เพียงค่าเดียวสำหรับหนึ่งรอบการทำงานของโปรแกรม
วากยสัมพันธ์
การกำหนดพารามิเตอร์เป็นชนิดข้อมูล
Parameters p_id(30) type c.
การกำหนดพารามิเตอร์เช่นเขตข้อมูลตาราง
Parameter p_id like <table name>-<field name>.
พารามิเตอร์สามารถเป็นทั้งช่องกาเครื่องหมายและปุ่มตัวเลือกได้
Parameters p_id as checkbox.Parameters p_id1 radiobutton group <group name>. Parameters p_id2 radiobutton group <group name>.
พารามิเตอร์สามารถเป็นรายการกล่องได้
Parameter p_id like <table name>-<field name> as listbox
เลือกตัวเลือก
Select-Option ใช้เพื่อป้อนช่วงของค่าหรือชุดของค่าให้กับโปรแกรม
วากยสัมพันธ์
select-options s_vbeln for vbak-vbeln.
คุณยังสามารถกำหนดตัวเลือกการเลือกได้เช่นตัวแปร
select-options s_vbeln for vbak-vbeln no intervals no-extension
เหตุการณ์ในโปรแกรมรายงาน ABAP
โปรแกรมรายงาน ABAP ได้แก่ โปรแกรมที่ขับเคลื่อนด้วยเหตุการณ์- เหตุการณ์ต่างๆ ในโปรแกรมรายงาน ได้แก่:
โหลดของโปรแกรม
- ทริกเกอร์เหตุการณ์ที่เกี่ยวข้องในเซสชันภายในหลังจากโหลดโปรแกรมประเภท 1, M, F หรือ S
- นอกจากนี้ ยังรันบล็อกการประมวลผลที่เกี่ยวข้องเพียงครั้งเดียวเท่านั้นสำหรับแต่ละโปรแกรมและเซสชันภายใน
- บล็อกการประมวลผล LOAD-OF-PROGRAM มีฟังก์ชันประมาณเดียวกันสำหรับ โปรแกรมเอแบค ประเภท 1, M, F หรือ S ตามที่ Constructor มีสำหรับคลาสใน ABAP Objects
การเริ่มต้น.
- เหตุการณ์นี้จะถูกดำเนินการก่อนที่หน้าจอการเลือกจะแสดง
- การเริ่มต้นของค่าทั้งหมด
- คุณสามารถกำหนดค่าอื่นนอกเหนือจากค่าเริ่มต้นบนหน้าจอการเลือกได้
- คุณสามารถกรอกค่าบางค่าในขณะรันไทม์ให้กับหน้าจอการเลือกของคุณได้
ที่หน้าจอการเลือก
- เหตุการณ์จะได้รับการประมวลผลเมื่อหน้าจอการเลือกได้รับการประมวลผล (ที่ส่วนท้ายของ PAI )
- การตรวจสอบความถูกต้องและการตรวจสอบค่าที่ป้อนเกิดขึ้นที่นี่
จุดเริ่มต้นของการคัดเลือก
- ที่นี่โปรแกรมจะเริ่มเลือกค่าจากตาราง
สิ้นสุดการคัดเลือก
- หลังจากเลือกข้อมูลทั้งหมดแล้ว เหตุการณ์นี้จะเขียนข้อมูลลงบนหน้าจอ
เหตุการณ์แบบโต้ตอบ
- ใช้สำหรับการรายงานเชิงโต้ตอบ ใช้เพื่อสร้างรายการโดยละเอียดจากรายการพื้นฐาน
การจัดรูปแบบรายงาน
ABAP อนุญาตให้จัดรูปแบบรายงานตามที่ผู้ใช้ต้องการ ตัวอย่างเช่น “เส้นสลับ” จะต้องปรากฏเป็นสีที่ต่างกัน และเส้น “ผลรวม” ควรปรากฏเป็นสีเหลือง
วากยสัมพันธ์
Format Color n Format Color n Intensified On
n อาจสอดคล้องกับตัวเลขต่างๆ
โปรดทราบว่ายังมีส่วนเพิ่มเติมอื่นๆ พร้อมกับรูปแบบด้วย
FORMAT COLOR OFF INTENSIFIED OFF INVERSE OFF HOTSPOT OFF INPUT OFF
การเขียนโปรแกรมรายงานเชิงโต้ตอบ
- การใช้ Interactive Programming ผู้ใช้สามารถควบคุมการดึงข้อมูลและการแสดงข้อมูลได้
- ใช้เพื่อสร้างรายการโดยละเอียดจากรายการพื้นฐาน
- ข้อมูลรายละเอียดเขียนอยู่ในรายการรอง
- รายการรองอาจซ้อนทับหน้าจอแรกทั้งหมดหรือสามารถแสดงในหน้าจอใหม่ได้
- รายการรองสามารถเป็นแบบโต้ตอบได้
- รายการแรกอาจเรียกธุรกรรมด้วย
- มีเหตุการณ์ต่างๆ ที่เกี่ยวข้องกับการเขียนโปรแกรมเชิงโต้ตอบ
คำสั่งบางคำสั่งที่ใช้ในการเขียนโปรแกรมเชิงโต้ตอบ
ฮอตสปอต
หากลากเมาส์ไปบนข้อมูลที่แสดงในรายงาน เคอร์เซอร์จะเปลี่ยนเป็นรูปมือที่มีนิ้วชี้เหยียดออก สามารถสร้างจุดสนใจได้โดยใช้คำสั่ง FORMAT
Syntax: Format Hotspot On (Off).
ซ่อน
คำสั่งนี้ช่วยให้คุณจัดเก็บชื่อฟิลด์ตามชื่อที่จะทำการประมวลผลเพิ่มเติมเพื่อรับรายการโดยละเอียด มันถูกเขียนโดยตรงหลังคำสั่ง WRITE สำหรับฟิลด์ เมื่อเลือกแถวแล้ว ค่าต่างๆ จะถูกเติมลงในตัวแปรโดยอัตโนมัติเพื่อการใช้งานต่อไป
Syntax: Hide <field-name>.
ฐานข้อมูลเชิงตรรกะ
- แทนที่จะใช้คำสั่ง "เลือก" คุณสามารถใช้ฐานข้อมูลเชิงตรรกะเพื่อดึงข้อมูลสำหรับโปรแกรมได้
- ฐานข้อมูลแบบลอจิคัลถูกสร้างขึ้นตามธุรกรรม SE36
- ชื่อของฐานข้อมูลลอจิคัลสามารถมีความยาวได้สูงสุด 20 อักขระ อาจเริ่มต้นด้วยคำนำหน้าเนมสเปซ
- ข้อมูลถูกเลือกโดยโปรแกรมอื่นและสามารถเข้าถึงข้อมูลโดยใช้ GET คำสั่งนำข้อมูลไปไว้ในพื้นที่ทำงาน -
ข้อดีของฐานข้อมูลแบบลอจิคัลเหนือแบบสอบถาม Select ปกติ
- โดยมีเงื่อนไขการตรวจสอบเพื่อดูว่าอินพุตถูกต้อง สมบูรณ์ และเป็นไปได้หรือไม่
- มันมีการตรวจสอบการอนุญาตจากส่วนกลางสำหรับการเข้าถึงฐานข้อมูล
- การปรับปรุงต่างๆ เช่น การปรับปรุงประสิทธิภาพจะมีผลทันทีกับรายงานทั้งหมดที่ใช้ฐานข้อมูลเชิงตรรกะ
หมายเหตุ: เนื่องจากความซับซ้อนที่เกี่ยวข้อง ฐานข้อมูลเชิงตรรกะจึงไม่ได้ถูกใช้ในกรณีส่วนใหญ่