SAP 价值流程和帮助请求流程
首先,如果你对屏幕流逻辑及其用途一无所知 SAP ,我们建议您查看我们的对话程序教程
现在让我们详细了解一下 POH 和 POV
帮助请求 (POH) 流程:F1 帮助
- 每当按下 F1 时,就会执行指定数据元素的 POH 事件。
- 如果屏幕的流程逻辑中不存在 PROCESS ON HELP-REQUEST 事件,则将以 ABAP 字典中字段的文档为基础进行显示。即使不存在该文档,也不会显示任何帮助。
- 要显示字段帮助文档,您必须在 POH 事件中编写以下屏幕流逻辑:
PROCESS ON HELP-REQUEST FIELD <f> [MODULE <mod>] WITH <num>
- 如果该字段有特定于屏幕的数据元素文档,您可以通过指定其编号来显示它。
- 号码可以是文字或变量。变量必须在相应的ABAP程序中声明并填写。
- 注意,FIELD语句不会传输屏幕字段的内容到 ABAP 程序中的 PROCESS ON HELP-REQUEST 事件。它只显示帮助文档。就是这样。
模块在 ABAP 程序中定义,就像普通的 PAI 模块一样。模块的处理逻辑必须确保为相关字段显示足够的帮助。您不应使用文本字段调用额外的屏幕,而应使用以下函数模块之一来显示合适的 SAP脚本文件
帮助对象显示字段
- 此功能模块显示来自 ABAP 词典的任何结构或数据库表的组件的数据元素文档。
- 将组件和结构或表的名称传递给导入参数 FIELD 和 TABLE。
帮助对象显示
- 使用此功能模块显示任何 SAP脚本文档。
- 您必须将文档类别(例如,TX 表示一般文本,DE 表示数据元素文档)和文档名称传递给导入参数 DOKCLASS 和 DOKNAME。
- 由于技术原因,您还必须将行类型为 TLINE 的空内部表传递给功能模块的表参数。
价值流程(POV):F4
- 当用户选择功能“可能的条目”(F4)时,系统将显示字段的可能输入值(值、检查表、匹配代码),前提是它们由开发人员存储。
- 如果用户调用了“可能的条目”,则始终会处理事件 PROCESS ON VALUE-REQUEST。
- 要定义屏幕上字段的可能值,您需要在屏幕流逻辑的 POV 事件中定义以下内容:
PROCESS ON VALUE-REQUEST FIELD field name MODULE module name
- 对于可能的值,在上面定义的模块中,您应该使用通用函数模块 帮助值获取表 从 ABAP 字典中获取可能的值。
还有一些其他函数也可用于输入帮助:
F4IF_FIELD_VALUE_请求
- 动态调用 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_值_请求
- 此函数模块显示您在 ABAP 程序.
- 该值列表作为表参数 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 的全部内容。如有任何疑问,请留下您的评论。