zoukankan      html  css  js  c++  java
  • WDA学习(2):BAPI Usage

    1.2 BAPI Usage

           本示例展示如果使用BAPIs,实现根据输入条件,调用已经存在function,獲取航班信息,返回table结果显示。

     

    创建FLIGHTLISTVIEW,视图组件,视图组件中CONTEXT上下文和COMPONENTCONTROLLER的CONTEXT进行映射。

    1.创建Web Dynpro Component,默认创建视图组件FLIGHTLISTVIEW

     

    2.创建Service Call调用已经提供的Function module。

     

    选择Web Dynpro Comp.下Z_TEST_WDA2->右键->Create->Service Call

     

    按照步骤创建Service Call

     

    在创建向导Select Controller,可以选择是将Service Call嵌入现有控制器,还是创建新控制器。

    选择Use Existent Controller;

           注意:Service Call只能嵌入到全局控制器COMPONENTCONTROLLER,或者其他自定义的控制器中,不能够在视图组件的控制器中使用。

     

     选择Service Call调用的类型,这里我们调用的‘BAPI_FLIGHT_GETLIST’是一个Function Module。

     

    选择调用的Function Module,如果不设定Destination,就是调用本地的Function Module,这个Function必须存在。

     

     可以修改Function Module的输入输出参数在Web Dynpro对应的名字和对应类型。

    Context Node:将该参数创建到控制器的Context上下文;

    Controller Attribute:将该参数创建到控制器的Attributes;

    Parameters of Method:将该参数作为Method的输入参数;

     

    设置在CONPONENTCONTROLLER中方法名:’EXECUTE_BAPI_FLIGHT_GETLIST’

     

    创建完成Service Call

    Context上下文,映射视图组件上的Context,绑定视图组件FLIGHTLISTVIEW上用户输入参数。

     

    生成的EXCUTE_BAPI_FLIGHT_GETLIST方法:

     

    3.设置FLIGHTLISTVIEW的Context和COMPONENTCONTROLLER的Context进行映射。

    将Context COMPONENTCONTROLLER下context拖动到左边FLIGHTLISTVIEW的CONTEXT下。

     

     

    4.设置FLIGHTLISTVIEW视图组件的Layout

    创建Group1视图控件,Group是标准的容器控件。

    设置Group1的Properties,width为100%;

    设置CAPTION的属性text为’from destination’

     

    选择GROUP1->右键->Create Container Form

     

    同理创建Group2,设置to destination输入条件。

     

     

    在GROUP2中创建搜索按钮,

    方式1:右键->Insert Element,创建按钮控件;

    方式2:拖动左边视图控件,放入指定位置;

    创建按钮Action,点击按钮执行的动作,点击创建。

     

     在Actions页签可以看到我们创建的Action。

     

     在Methods页签可以看到自动生成的ONACTIONGET_FLIGHTS方法。

     

     设置BUTTON1其他属性,text,icon等。

     

    重写ONACTIONGET_FLIGHTS方法,调用COMPONENTCONTROLLER提供的EXECUTE_BAPI_FLIGHT_GETLIST方法。

    可以点击魔术棒,选择General->Method Call in Used Controller,输入Method Name和Controller Name。

     

    实例代码:

    method ONACTIONGET_FLIGHTS .
      "變量保持COMPONENTCONTROLLER類對象
      DATA lo_COMPONENTCONTROLLER TYPE REF TO IG_COMPONENTCONTROLLER .
      "wd_this參數代表當前視圖組件控制器
      lo_COMPONENTCONTROLLER =   wd_this->get_componentcontroller_ctr( ).
      "調用對象方法
      lo_componentcontroller->execute_bapi_flight_getlist( ).
    
      "方式2:直接使用attributes中WD_COMP_CONTROLLER參數,執行方法
      "wd_comp_controller->execute_bapi_flight_getlist( ).
    endmethod.

    创建TABLE类型控件,显示查询到的Flight信息。

     

    设置CAPTION_2的text为flight info;

    设置TAB_FLIGHTS的width为100%;

    设置dataSource;

    创建TABLE控件和Context上下文绑定,右键->Create Binding;

     

     

    5.设置Windows和View绑定。

    因为创建时,FLIGHTLISTVIEW已经放入Window

     

     

    6.创建Web Dynpro Application,在浏览器上执行。

    选择Web Dynpro Comp. Z_TEST_WDA2->右键->Create->Web Dynpro Application。

     

     

  • 相关阅读:
    Android 7.0及以上使用OpenCL
    image_channel_data_type含义
    Valgrind.Callgrind使用
    如何在WIN10内置Ubuntu中有多个terminal
    Android: 在native中访问assets全解析
    OpenCL的buffer以及sub-buffer
    C语言程序设计(五) 选择控制结构
    C语言程序设计(三) 简单的算术运算和表达式
    C语言程序设计(二) C数据类型
    C语言程序设计(一) 为什么要学C语言
  • 原文地址:https://www.cnblogs.com/tangToms/p/12796474.html
Copyright © 2011-2022 走看看