วัตถุประสงค์
– แสดงข้อความข้อผิดพลาดที่เกิดขึ้น ณ.เหตุการณ์ใด เหตุการณ์หนึ่ง เพื่อแจ้งให้ทราบถึงสิ่งที่ได้ทำต่อโปรแกรม ว่าดำเนินการไปถึงไหน หรือดำเนินถูกต้องหรือไม่ และให้แก้ไขสิ่งที่ทำ หรือดำเนินการต่อ
หลักการ
-กำหนด MESSAGE CLASS , กำหนด MESSAGE TYPE เพื่อเป็นตัวบ่งบอก ข้อความ หรือ ประเภทของข้อความ
-โดยสามารถ เข้าไป สร้าง/แก้ไข MESSAGE CLASS ได้ที่ T-CODE SE91 ( การสร้าง MESSAGE CLASS )
-ประเภท TYPE ของ MESSAGE
– Message Type – A (Abend) เป็น Type ที่แสดงข้อความแบบ Popup และมี ปุ่ม Exit ให้คลิก เพื่อเป็นการออกจากโปรแกรมที่ทำ
เหมาะสำหรับ การแจ้งเตือนข้อความ ที่ต้องการแจ้งแล้วให้ออกจากโปรแกรมทันที
– Message Type – E (Error) เป็น Type ที่แสดงข้อความที่บรรทัด Status Line โดยมีเครื่องหมายกากบาทสีแดง เพื่อบ่งบอกถึงสิ่งที่ทำผิด และจะไม่ให้ทำงานต่อ ถ้าไม่ทำให้ถูกต้องตามเงื่อนไขที่ได้กำหนด
เหมาะสำหรับ การแจ้งเตือนข้อความ ที่สำคัญมากต่อโปรแกรม
– Message Type – W (Warning) เป็น Type ที่แสดงข้อความที่บรรทัด Status Line โดยมีเครื่องหมายตกใจสีเหลือง เพื่อบ่งบอกถึงสิ่งที่ทำผิด หรือแจ้งเตือนปัญหา แต่สามารถทำงานต่อได้เพื่อกด Enter
เหมาะสำหรับ การแจ้งเตือนข้อความ ที่ไม่สำคัญ แบบว่าทำก็ได้ ไม่ทำก็ได้
– Message Type – I (Information) เป็น Type ที่แสดงข้อความแบบ Popup โดยเป็นการบอกข้อมูลธรรมดา และมีปุ่มให้ Check ถูก หรือ Enter เพื่อบ่งบอกถึงการรับทราบในสิ่งที่แจ้ง
เหมาะสำหรับ การแจ้งเตือนข้อความ ที่เป็นข้อมูลรายละเอียดต่างๆ
วิธีการ
-ให้เราทำการกำหนดคำสั่ง เรียกใช้ MESSAGE ไว้ หลัง เหตุการณ์ที่เราต้องการ
-การกำหนดคำสั่ง สามารถสั่ง ได้ 2 รูปแบบ
– แบบ MESSAGE CLASS ถ้ากำหนดแบบนี้ จะต้องประกาศ MESSAGE CLASS ที่หัวของ Report เช่น REPORT zlaprp001 MESSAGE-ID zz.
– แบบ Dynamic MESSAGE การกำหนดคำสั่ง จะต้อง ประกาศทั้งชื่อ MESSAGE CLASS ประเภท ของ MESSAGE ในคำสั่งด้วย
ตัวอย่าง
– แบบ MESSAGE CLASS
REPORT zlsdrp21 MESSAGE-ID zz . DATA p_bukrs(4) TYPE c. AT SELECTION-SCREEN ON p_bukrs. IF p_bukrs EQ ”. MESSAGE i000(38) WITH p_bukrs ‘No Data selection’. ENDIF.
– แบบ Dynamic MESSAGE
DATA p_bukrs(4) TYPE c. AT SELECTION-SCREEN ON p_bukrs. IF p_bukrs EQ ”. MESSAGE ID ‘ZZ’’ TYPE ‘I’ WITH ‘No Data selection’. ENDIF.