根据数据库表字段动态生成选择画面[FREE_SELECTIONS_DIALOG]
时间:2019-08-30
本文章向大家介绍根据数据库表字段动态生成选择画面[FREE_SELECTIONS_DIALOG],主要包括根据数据库表字段动态生成选择画面[FREE_SELECTIONS_DIALOG]使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
介绍两个SAP函数FREE_SELECTIONS_DIALOG和FREE_SELECTIONS_INIT,通过这两个函数能生成基于某个数据库表的动态选择屏幕。
比如要根据销售订单抬头表VBAK生成动态屏幕,
对应的完整代码:
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.
运行结果:
然后可以按需要将左侧的vbak中的字段,选到右边生成选择屏幕。
以上。
原文地址:https://www.cnblogs.com/datie/p/11435423.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Intellij IDEA常用操作整理手册
- IDEA类和方法注释模板设置(非常详细)
- 《JavaScript 模式》读书笔记(7)— 设计模式2
- 《JavaScript 模式》读书笔记(7)— 设计模式3
- 弄它!!!Ospf--动态路由--链路状态路由协议!全面解析OSPF协议!
- 弄它!!!理论加实验,小小ISIS分分钟拿下!!
- 「Mysql索引原理(二)」Mysql高性能索引实践,索引概念、BTree索引、B+Tree索引
- 「Mysql索引原理(一)」1.存储引擎简介
- 弄它!!!小小BGP!理论加实验分分钟拿下!带你体验大网的世界!
- 搞它!!!Linux常用命令合集
- 搞它!!!深入了解安装及管理程序,学会使用rpm工具 虚拟机实验下载安装Apache
- (转)java中equals和等号(==)的区别浅谈
- 搞它!!!linux账号和权限管理
- 搞它!!!详细介绍linux磁盘管理和文件系统
- 详谈JAVA中的file类与IO流