根据数据库字段自动生成选择屏幕

转载:原帖地址http://www.baidusap.com/abap/4012

REPORT ztest_selection_dyn.
 
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.
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 大部分的后端会很很鄙视前端。我也不知道为什么,可能大部分人都会觉得脚本语言根本不算语言。 大多人 会叫我们切图仔,...
    小黑的眼阅读 8,812评论 0 15
  • 太长了,还是转载吧...今天在看博客的时候,无意中发现了@Trinea在GitHub上的一个项目Android开源...
    庞哈哈哈12138阅读 20,323评论 3 283
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,569评论 25 709
  • 今天太晚了就简单的几句话吧!第一六一明显懂事了、姐姐哭还知道安慰去了、摸摸姐姐头摸摸姐姐脸、第二、今天竟然奇迹般地...
    洛涤阅读 890评论 0 0
  • “你不像她”,他顿了顿,“你只是有点像当年的我。” 1. 月光凝聚成的小仙女喜欢上了齐止大仙,宴会开始之前听起他的...
    天天开心D阅读 1,274评论 0 0