ทั้งหมดเกี่ยวกับการเขียนโปรแกรมรายงาน 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>.

หน้าจอการเลือก

“หน้าจอการเลือก” คือหน้าจอที่ระบุค่าอินพุตที่โปรแกรมควรรัน

โดยปกติหน้าจอการเลือกจะถูกสร้างขึ้นจาก

  1. พารามิเตอร์
  2. เลือก-ตัวเลือก

วากยสัมพันธ์

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 ปกติ

  1. โดยมีเงื่อนไขการตรวจสอบเพื่อดูว่าอินพุตถูกต้อง สมบูรณ์ และเป็นไปได้หรือไม่
  2. มันมีการตรวจสอบการอนุญาตจากส่วนกลางสำหรับการเข้าถึงฐานข้อมูล
  3. การปรับปรุงต่างๆ เช่น การปรับปรุงประสิทธิภาพจะมีผลทันทีกับรายงานทั้งหมดที่ใช้ฐานข้อมูลเชิงตรรกะ

หมายเหตุ: เนื่องจากความซับซ้อนที่เกี่ยวข้อง ฐานข้อมูลเชิงตรรกะจึงไม่ได้ถูกใช้ในกรณีส่วนใหญ่