WebDynpro开发01
=>标准示例包:SWDP_TEST
- WD UML
- Runtime Interface/Class
运行时 Class/Interface 描述 IF_WD_ACTION 此接口用于获取视图控制器中的Action IF_WD_APPLICATION 此接口功能用于获取设备的配置信息当前正在执行的WDA应用程序及其周围环境客户端环境
我们可以用这个界面来调整应用程序主窗口的标题,确定用户代理等等IF_WD_COMPONENT 此接口为我们提供了访问WDA所有对象的可能
运行时的视角
可通过 WD_GET_API() 获取对象引用IF_WD_CONTROLLER 此接口提供了一个控制器,可以访问各种element包含在其中的元素(Action Context)
还可以用于访问外部资源,消息管理器 控制器和组件(通过接口I F_WD_COMPONENT)IF_WD_MESSAGE_MANAGER 此接口提供了各种允许我们编写的方法,发送消息显示到UI中消息区域 IF_WD_VIEW 此接口提供了所有与视图交互的功能 IF_WD_WINDOW 此接口提供了所有与窗口交互的功能,OPEN() CLOSE() IF_WD_WINDOW_MANAGER 此接口用于窗口的管理 - Service Interface/Class
服务 Class/Interface 描述 CL_WD_CONTEXT_SERVICES 此类用于监视上下文节点的变化 CL_WD_DYNAMIC_TOOL 此类提供了各种帮助方法来简化Web Dynpro 中的动态编程任务,比如:检查UI 元素输入值 CL_WD_COMPONENT_ASSISTANCE 此抽象类定义了辅助类的核心功能 CL_WD_RUNTIME_SERVICES 此类提供了一些实用方法,可与 Web Dynpro 运行时环境交互 CL_WD_UTILITIES 此类提供了一些通用的 Web Dynpro实用的方法 CL_WD_TRACE_TOOL
IF_WD_TRACE_TOOLCL_WD_TRACE_TOOL 类用于将数据添加到Web Dynpro Trace Tool生成的跟踪文件
访问此功能,我们必须引用该类的静态实例属性,类型为IF_WD_TRACE_TOOLCL_WEB_DYNPRO 使用此类的静态 IS_ACTIVE 属性可以确定我们正在运行的代码是否在启动Web Dynpro 运行时环境中
第一步:创建一个Webdynpro组件
- 运行Tcode:SE80,新建Web Dynpro组件(接口)
- 输入WebDynpro新建参数(暂时不新建视图)
- 创建完成
第二步:创建新的视图
- 新建一个视图
- 输入参数
- 保存后才能看到新建的视图
第三步:分配视图到窗口
- 拖动视图到窗口绑定
第四步:为视图创建上下文菜单
- 转到视图界面,新建Node
- 设置node属性
- 选择要使用的字段
第五步:设置Layout
- 创建一个element
- 选择表类型
- 设置默认显示行数
- 为Element绑定上下文(Context)
- 选择绑定的Node
- 确定需要绑定的字段
第六步:获取数据并传入
-
转到Method,双击WDDOINIT方法
-
输入以下代码(注意SAP禁止在Controller上使用Select语法;虽然这不是强制性的,但是十分影响性能;所以应该专门写一个Class或者FM来进行取数)
METHOD wddoinit . DATA: ref_node1 TYPE REF TO if_wd_context_node, "创建一个node实例对象 lt_sflight TYPE TABLE OF sflight. ref_node1 = wd_context->get_child_node( name = 'NODE_001' ). "获取Context中的NODE_001对象属性到ref_node1 NODE_001必须大写 SELECT * FROM sflight INTO TABLE lt_sflight UP TO 50 ROWS. ref_node1->bind_table( lt_sflight ). "绑定内表到Context实例化对象 ENDMETHOD.
第七步:创建WebDynpro应用程序
第八步:测试Webdynpro
- 保存,然后激活整个WebDynpro组件(保存后才会显示Web Dynpro应用程序)
- 执行测试
- 浏览器显示内容