一、介绍:
Dynpro通俗地讲就是屏幕主界面。一般的窗口系统包括标题栏、菜单栏、工具栏、状态栏、以及主界面。 Dynpro 特指 SAP GUI 主界面区域的内容。
Dynpro 是由用户界面元素和其背后的商业逻辑组成的动态程序。Dynpro 的主要组成部分包括:
1. 属性。例如当前的屏幕编号,以及下一个屏幕的编号等。
2. 界面元素的位置。例如文本标签、文本输入框、按钮等界面元素的位置安排。
3. 界面元素的属性。
4. 程序逻辑。这些程序将调用后台的 ABAP 代码模块。
自定义屏幕指的是SAP GUI中的屏幕, 屏幕又叫做DYNPRO动态程序,ABAP的屏幕的主要组成部分有GUI Status, GUI Title, Screen等, 简单的屏幕元素如输入框, check box, radio button,等,还有复杂些的如Table control可用来批量修改数据, Tabstrip 选项卡用来在一个区域内显示一组意义相关屏幕. 而ABAP屏幕处理中最重要的逻辑事件就是PBO和 PAI,前者用来动态处理屏幕展示前屏幕元素的属性,初始化数据等, 后者则在用户在屏幕中输入某些内容,单击某个按钮触发某功能代码之后被调用。而其他两种逻辑事件POV和POH可以广义地看作是PAI模块。
在ABAP模块池和可执行程序中,可以在MODULE和ENDMODULE语句之间定义对话模块。在屏幕PBO中调用的模块需要在其后指明OUTPUT附加项,PAI模块则使用INPUT附加项。
二、实例
2、代码如下:
method WDDOINIT
DATA:
lo componentTYPE REF TO if wd component,
lo contextTYPE REF TO if wd context,
lo controllertype REF TO if wd controller,
lo nodetype REF TO if wd context node ,
lo childTYPE REF TO if wd context node,TYPE REF TO if wd component usage,lo cmp usageTYPE bbp guidlv guid
编辑pE BBP PDS SUSPO_HEADER_D,
lr header orderlr items orderITEM D,
TYPE STANDARD TABLE OF BBP PDS SUSP_O_ITEM_D
TYPE BBP PDS SUSPO ITEM Dlr parternTYPETABLE OFBBP PDS PARTNER,
ls items order
node order hTYPEREF TO if wd context node,
node order iTYPEREF TO if wd context node,
node order pTYPE REF TO if wd context node .
lo component = wd comp controller->wd get api( ).lo controller ?= lo component
CALL METHODlo controller->get contextRECEIVING
context= lo context
lo node = lo context->root node.
lo child = lo node->get child node( 'Z ORDER GUID')CALL METHOD lo child->GET ATTRIBUTE
EXPORTING
NAME= ORDER GUID
IMPORTING
VALUE = lv_guid.