SAP ดำเนินการตามมูลค่าและดำเนินการตามคำขอความช่วยเหลือ
ประการแรก ขอเริ่มต้นด้วยหากคุณไม่รู้อะไรเกี่ยวกับตรรกะของ Screen Flow และการใช้งานใน SAP เราขอแนะนำให้คุณตรวจสอบบทช่วยสอนเกี่ยวกับโปรแกรม Dialog ของเรา
ตอนนี้เรามาดูรายละเอียด POH และ POV กันดีกว่า
กระบวนการร้องขอความช่วยเหลือ (POH) : F1 Help
- เมื่อใดก็ตามที่กด F1 เหตุการณ์ POH สำหรับองค์ประกอบข้อมูลที่ระบุจะถูกดำเนินการ
- ถ้าเหตุการณ์ PROCESS ON HELP-REQUEST ไม่มีอยู่ในลอจิกของกระบวนการของหน้าจอ เอกสารประกอบของฟิลด์ใน ABAP Dictionary จะถูกนำมาใช้เป็นฐานและแสดงขึ้น แม้ว่าจะไม่ออกก็ไม่มีการแสดงความช่วยเหลือ
- หากต้องการแสดงเอกสารช่วยเหลือภาคสนาม คุณต้องเขียนโค้ดตรรกะการไหลของหน้าจอต่อไปนี้ในเหตุการณ์ POH:
PROCESS ON HELP-REQUEST FIELD <f> [MODULE <mod>] WITH <num>
- หากมีเอกสารประกอบองค์ประกอบข้อมูลเฉพาะหน้าจอสำหรับฟิลด์ คุณสามารถแสดงได้โดยการระบุหมายเลข -
- จำนวน อาจเป็นตัวอักษรหรือตัวแปรก็ได้ ตัวแปรจะต้องถูกประกาศและเติมลงในโปรแกรม ABAP ที่เกี่ยวข้อง
- หมายเหตุ คำสั่ง FIELD จะไม่ถ่ายโอนเนื้อหาของฟิลด์หน้าจอ ไปยังโปรแกรม ABAP ในเหตุการณ์ PROCESS ON HELP-REQUEST มันแค่แสดงเอกสารช่วยเหลือ แค่นั้นแหละ.
โมดูล ถูกกำหนดไว้ในโปรแกรม ABAP เช่นเดียวกับโมดูล PAI ทั่วไป ตรรกะการประมวลผลของโมดูลจะต้องทำให้แน่ใจว่ามีการแสดงความช่วยเหลือที่เหมาะสมสำหรับฟิลด์ที่เกี่ยวข้อง แทนที่จะเรียกหน้าจอพิเศษด้วยฟิลด์ข้อความ คุณควรใช้โมดูลฟังก์ชันต่อไปนี้เพื่อแสดงฟังก์ชันที่เหมาะสม SAPเอกสารสคริปต์
HELP_OBJECT_SHOW_FOR_FIELD
- โมดูลฟังก์ชันนี้แสดงเอกสารประกอบองค์ประกอบข้อมูลสำหรับส่วนประกอบของโครงสร้างหรือตารางฐานข้อมูลจากพจนานุกรม ABAP
- คุณส่งชื่อของส่วนประกอบและโครงสร้างหรือตารางไปยังพารามิเตอร์นำเข้า FIELD และ TABLE
HELP_OBJECT_SHOW
- ใช้โมดูลฟังก์ชั่นนี้เพื่อแสดงอะไรก็ตาม SAPเอกสารสคริปต์
- คุณต้องส่งคลาสเอกสาร (เช่น TX สำหรับข้อความทั่วไป DE สำหรับเอกสารประกอบองค์ประกอบข้อมูล) และชื่อของเอกสารไปยังพารามิเตอร์นำเข้า DOKCLASS และ DOKNAME
- ด้วยเหตุผลทางเทคนิค คุณต้องส่งตารางภายในว่างที่มีประเภทเส้น TLINE ไปยังพารามิเตอร์ตารางของโมดูลฟังก์ชันด้วย
กระบวนการตามมูลค่า (POV): F4
- เมื่อผู้ใช้เลือกฟังก์ชัน รายการที่เป็นไปได้ (F4) ระบบจะแสดงค่าอินพุตที่เป็นไปได้สำหรับฟิลด์ (ค่า ตารางตรวจสอบ รหัสการจับคู่) โดยที่นักพัฒนาจะจัดเก็บไว้
- เหตุการณ์ PROCESS ON VALUE-REQUEST จะถูกประมวลผลเสมอหากผู้ใช้เรียกว่า "รายการที่เป็นไปได้"
- ในการกำหนดค่าที่เป็นไปได้สำหรับฟิลด์บนหน้าจอ คุณต้องกำหนดค่าต่อไปนี้ในเหตุการณ์ POV ของลอจิกการไหลของหน้าจอ:
PROCESS ON VALUE-REQUEST FIELD field name MODULE module name
- สำหรับค่าที่เป็นไปได้ ภายในโมดูลที่กำหนดไว้ข้างต้น คุณควรใช้โมดูลฟังก์ชันทั่วไป HELP_VALUES_GET_WITH_TABLE เพื่อรับค่าที่เป็นไปได้จากพจนานุกรม ABAP
มีฟังก์ชันอื่นๆ ที่สามารถใช้เพื่อช่วยในการป้อนข้อมูลได้:
F4IF_FIELD_VALUE_REQUEST
- เรียกความช่วยเหลือในการป้อนข้อมูลของพจนานุกรม ABAP แบบไดนามิก
- คุณสามารถส่งชื่อส่วนประกอบของโครงสร้างหรือตารางฐานข้อมูลของพจนานุกรม ABAP ไปยังโมดูลฟังก์ชันในพารามิเตอร์นำเข้า TABNAME และ FIELDNAME
- โมดูลฟังก์ชันเริ่มทำงาน พจนานุกรม ABAP ความช่วยเหลือในการป้อนข้อมูลสำหรับส่วนประกอบนี้ ช่องหน้าจอที่เกี่ยวข้องทั้งหมดจะถูกอ่าน
- หากคุณระบุพารามิเตอร์การนำเข้า DYNPPROG, DYNPNR และ DYNPROFIELD การเลือกของผู้ใช้จะถูกส่งกลับไปยังฟิลด์ที่เกี่ยวข้องบนหน้าจอ
- หากคุณระบุพารามิเตอร์ตาราง RETURN_TAB ส่วนที่เลือกจะถูกส่งกลับเข้าไปในตารางแทน
MODULE VALUE_CARRIER INPUT. CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST' EXPORTING TABNAME = 'DEMOF4HELP' FIELDNAME = 'CARRIER1' DYNPPROG = PROGNAME DYNPNR = DYNNUM DYNPROFIELD= 'CARRIER'. ENDMODULE.
F4IF_INT_TABLE_VALUE_REQUEST
- โมดูลฟังก์ชันนี้แสดงรายการค่าที่คุณสร้างขึ้นใน โปรแกรมเอแบค.
- รายการค่าจะถูกส่งไปยังโมดูลฟังก์ชันเป็นพารามิเตอร์ตาราง VALUE_TAB
- หากคุณระบุพารามิเตอร์การนำเข้า DYNPPROG, DYNPNR และ DYNPROFIELD การเลือกของผู้ใช้จะถูกส่งกลับไปยังฟิลด์ที่เกี่ยวข้องบนหน้าจอ
- หากคุณระบุพารามิเตอร์ตาราง RETURN_TAB ส่วนที่เลือกจะถูกส่งกลับเข้าไปในตารางแทน
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST' EXPORTING RETFIELD = 'CONNID' DYNPPROG = PROGNAME DYNPNR = DYNNUM DYNPROFIELD = 'CONNECTION' VALUE_ORG = 'S' TABLES VALUE_TAB = VALUES_TAB.
นั่นคือทั้งหมดสำหรับ POH และ POV แสดงความคิดเห็นของคุณในกรณีที่มีข้อสงสัย