使用标准的函数来动态创建选择屏幕

*动态选择屏幕
DATA: lv_selection_id TYPE rsdynsel-selid,
      lt_tables_tab   TYPE STANDARD TABLE OF rsdstabs,
      ls_tables_tab   TYPE rsdstabs.
DATA: lt_fields_tab    TYPE STANDARD TABLE OF rsdsfields,
      lt_where_clauses TYPE rsds_twhere.

ls_tables_tab-prim_tab = 'VBAK'.  "数据库表名
APPEND ls_tables_tab TO lt_tables_tab.
CALL FUNCTION 'FREE_SELECTIONS_INIT'
  EXPORTING
    kind                     = 'T'
  IMPORTING
    selection_id             = lv_selection_id
  TABLES
    tables_tab               = lt_tables_tab
  EXCEPTIONS
    fields_incomplete        = 1
    fields_no_join           = 2
    field_not_found          = 3
    no_tables                = 4
    table_not_found          = 5
    expression_not_supported = 6
    incorrect_expression     = 7
    illegal_kind             = 8
    area_not_found           = 9
    inconsistent_area        = 10
    kind_f_no_fields_left    = 11
    kind_f_no_fields         = 12
    too_many_fields          = 13
    dup_field                = 14
    field_no_type            = 15
    field_ill_type           = 16
    dup_event_field          = 17
    node_not_in_ldb          = 18
    area_no_field            = 19
    OTHERS                   = 20.
IF sy-subrc EQ 0.
  CALL FUNCTION 'FREE_SELECTIONS_DIALOG'
    EXPORTING
      selection_id    = lv_selection_id
      title           = '选择'
      frame_text      = '查询条件'
      as_window       = ''                "不显示成窗口
    IMPORTING
      where_clauses   = lt_where_clauses  "返回选择条件
    TABLES
      fields_tab      = lt_fields_tab     "选择画面中选中字段
    EXCEPTIONS
      internal_error  = 1
      no_action       = 2
      selid_not_found = 3
      illegal_status  = 4
      OTHERS          = 5.
  IF sy-subrc EQ 0.

ENDIF.
ENDIF.

动态选择屏幕(FREE_SELECTIONS_INIT)相关推荐

  1. SAP ABAP 动态选择屏幕

    常规实现方式: 1. 动态控制属性,使用如下语句代码控制. 2. 标准模块实现的free selection 3. 结合逻辑数据库的动态选择屏幕 具体实现: 第一种大致通过如下代码实现 AT SELE ...

  2. ABAP选择屏幕:动态选择屏幕

    导语:在做ALV报表的时候,碰见过用 RADIOBUTTON区分不同页签,或者是区分不同的选择屏幕字段的需求,这里简单的说一下,如何通过RADIOBUTTON来实现动态选择屏幕. 关键元素: 1. M ...

  3. ABAP 使用MODIF ID实现动态选择屏幕示例

    1. 代码 P_WERKS 如果使用OBLIGATORY参数:OBLIGATORY参数的优先级大于user-commd 切换RADIOBUTTON时,屏幕不会动态变化(需要先键入值):所以建议对OBL ...

  4. ABAP 动态控制选择屏幕 / Free Selection

    常规实现方式: 1. 动态控制属性,使用如下语句代码控制. 2. 标准模块实现的free selection 3. 结合逻辑数据库的动态选择屏幕 具体实现: 第一种大致通过如下代码实现 AT SELE ...

  5. SAP FREE_SELECTIONS_INIT多表动态选择演示

    1.实现 基于视图 SFLIGHTS 代码 DATA: ls_selid TYPE rsdynsel-selid,lt_rsdtab TYPE TABLE OF rsdstabs.DATA: lt_c ...

  6. 选择屏幕——按钮、单选复选框

    12.6.     按钮.单选复选框.下拉框的FunCode 如果复选框与单选按钮没有设置Function Code,则它们就会像普通的输入框一样,即使状态发生了改变,也不会触发PAI事件 对话屏幕中 ...

  7. 关于程序变式中动态选择的一点说明

    今天在做一个程序,功能是调用FBL3N(总账科目行项目显示),并且向这个程序传入相应的选择屏幕值,直接展示报表.但是,遇到了一个问题,就是这里面的动态选择中的屏幕选项,无法写入值,废了好大的周折,才搞 ...

  8. SAP选择屏幕开发(一)

    用户通过屏幕操作来实现与SAP的数据交互,而SAP的屏幕开发一般分为两种,一种是通过SAP ABAP语法创建屏幕元素,称之为选择屏幕,选择屏幕主要是用来输入查询参数:第二种是通过SAP的屏幕编辑器开发 ...

  9. ABAP动态修改屏幕及屏幕字段结构SCREEN的字段含义

    一.屏幕字段结构SCREEN的字段含义 在SAP屏幕中,一个字段就像.NET中的一个控件,这个字段对应一个SCREEN结构,就像控件的多个属性. SE11可以查看SCREEN结构中的字段,只是没有备注 ...

最新文章

  1. 仿BlogEngine.NET的cnBlog主题
  2. 抽象工厂模式java_面试官:说一下静态工厂模式,工厂方法模式,抽象工厂的区别吧...
  3. win10:JDK12.0.1环境变量配置
  4. 从源码深处体验Spring核心技术--基于注解的IOC初始化
  5. 7-1 修理牧场 (25 分)(最详解)(最容易理解的解题过程)
  6. pytorch,cuda8,torch.cuda.is_available return flase (ubuntu14)
  7. 3.数据类型和变量---用Python做数学运算
  8. flash物理引擎应用:你的第一个Fisix应用程序
  9. java编写QQ邮箱发送邮件_调用QQ邮箱接口
  10. Flex Builder4.7 与 MyEclipse2013集成 64位
  11. BM3D、域变换与Non-Local
  12. 高精度整数算法总结,尤其是乘法,面向小白版
  13. linux修改时间和日期,linux修改时间和日期的方法
  14. 浅谈 Office 2013 App
  15. 全能UI设计师到底需要具备哪些能力呢?
  16. 请介绍一下ivac 2L
  17. 面试官:线上服务器CPU占用率高如何排查定位问题?
  18. 深度进化强化学习第一弹~
  19. linetv_line tv官方下载-line tv 安卓版v2.0.0-PC6安卓网
  20. 怎么迅速计算WPS文档中字数

热门文章

  1. export和import的答疑
  2. Make a mark of Gates
  3. 【Android 你的SurfaceView休眠了吗】
  4. js中国标准时间转换为yyyy-MM-dd
  5. 风力发电机 有功功率 无功功率 理论有功功率
  6. Perforce: Can’t clobber writable file Perforce
  7. php编译安装, 编译安装nginx, yum安装nginx, nginx虚拟主机,默认虚拟主机
  8. SOAP(简单对象访问协议) 1.1规范简介
  9. 浅谈来自德国的电子分类系统eCl@ss
  10. `CSS filter` 有哪些神奇用途