zoukankan      html  css  js  c++  java
  • WDA-FPM-3-SEARCH(OIF)

     

    这里是使用FPM Workbench自动生成的,没有去SE80创建WDA程序。

    1.使用事务代码:FPM_WB。打开工作台。

    2.点击Wizard for Creating Empty FPM Applications创建application

    输入application名称和描述,选择FPM配置类型。这里选的是OIF。

    点击下一步。选择包和请求,保存。

    3.完成后会返回到配置界面:

    选择编辑配置。

    选择组件:

    4.选择UIBB行,点击

    保存。选择包,保存。弹出填写feeder class对话框。

    5.创建Feeder class

    se24

    添加接口类:IF_FPM_GUIBB,IF_FPM_GUIBB_SEARCH

    6.定义全局结果

    DATA gt_table TYPE TABLE OF ZHSB_ORDER_INDEX.(public section)

    GW_TABLE Instance Attribute Public Type ZHSB_ORDER_INDEX(attribute)

    MO_CATALOG Instance Attribute Public Type Ref To CL_ABAP_STRUCTDESCR(attribute)

    重定义GET_DEFINITION方法

    复制代码
      method IF_FPM_GUIBB_SEARCH~GET_DEFINITION.
        DATA:gt_data TYPE TABLE OF zhsb_order_index.
    
        DATA:ls_desc LIKE LINE OF et_field_description_attr.
    
        eo_field_catalog_attr ?= cl_abap_structdescr=>describe_by_data( gw_table ).
    
        mo_catalog = eo_field_catalog_attr.
    
        eo_field_catalog_result ?= cl_abap_tabledescr=>describe_by_data( gt_data ).
      endmethod.
    复制代码

     重定义GET_DATA方法:

      METHOD if_fpm_guibb_search~get_data.
        et_result_list = gt_table.
      ENDMETHOD.

    重定义查询处理:PROCESS_EVENT

    复制代码
      method IF_FPM_GUIBB_SEARCH~PROCESS_EVENT.
        DATA:lt_where TYPE rsds_where_tab.
        DATA:lt_order TYPE TABLE OF zhsb_order_index,
             ls_order TYPE zhsb_order_index.
        DATA:lc_para TYPE REF TO cl_fpm_parameter.
        DATA:ls_value TYPE string.
    
        DATA:ls_result TYPE zhsb_order_index.
    
    
        IF io_event->mv_event_id = if_fpm_guibb_search=>fpm_execute_search.
    
          TRY .
              CALL METHOD cl_fpm_guibb_search_conversion=>to_abap_select_where_tab
                EXPORTING
                  it_fpm_search_criteria = it_fpm_search_criteria
                  iv_table_name          = 'ZHSB_ORDER_INDEX'
                  io_field_catalog       = mo_catalog
                IMPORTING
                  et_abap_select_table   = lt_where.
            CATCH cx_fpmgb.
          ENDTRY.
    
          SELECT * FROM zhsb_order_index INTO TABLE lt_order UP TO iv_max_num_results ROWS WHERE (lt_where).
          IF sy-subrc = 0.
            LOOP AT lt_order INTO  ls_order.
              MOVE-CORRESPONDING ls_order TO ls_result.
              APPEND ls_result TO gt_table.
            ENDLOOP.
            ev_result = 'OK'.
          ENDIF.
        ENDIF.
      endmethod.
    复制代码

    保存方法

    回到配置页面,输入feeder class:

    添加查询条件字段:

    添加结果字段,如下:

    保存,然后测试。

     个人参数中可设置查询默认条目,查询结果条目等。

    feeder class继承的每个方法都需要点进去激活,否则可能会有错误。

  • 相关阅读:
    SpringBootMybatis 关于Mybatis-generator-gui的使用|数据库的编码注意点|各项复制模板
    SpringBootMVC04——Mybatis
    SpringBootMVC02——SpringDataJpa与ThymeLeaf
    Big Data(六)用户权限实操&HDFS-API实操
    Big Data(五)关于Hadoop的HA的实践搭建
    Big Data(四)关于Hadoop的HA&CAP理论详解
    Big Data(三)伪分布式和完全分布式的搭建
    SpringBootMVC02——Spring Data JPA的使用&JSP的使用
    SpringBootMVC01——A simple SpringBootMVC Sample
    yum安装mysql
  • 原文地址:https://www.cnblogs.com/ricoo/p/10175321.html
Copyright © 2011-2022 走看看