12.4.         SELECT-OPTIONS. 89

12.4.1.     输入ABAP程序默认值时,需要加上“=”. 89

12.4.2.     选择条件内表多条件组合规则... 89

12.4.3.     使用SELECT-OPTIONS替代PARAMETERS. 90

12.4.     SELECT-OPTIONS

SELECT-OPTIONS selcrit FOR {dobj|(name)}
  screen_options[OBLIGATORY|NO-DISPLAY][VISIBLE LENGTH vlen][NO-EXTENSION][NO INTERVALS][MODIF ID id]
  value_options [DEFAULT val1 [TO val2] [OPTION opt] [SIGN sgn]][LOWER CASE]
  [MATCHCODE OBJECT search_help][MEMORY ID pid]

该语句会生成一个名为selcrit选择条件内表,具体请参数OPEN SQL章节中的 RANG条件内表

NO-EXTENSION:限制选择表为单行,元素输入后面不会出现按钮[iks?ten??n]

NO INTERVALS:只会出现LOW字段,To后面的HIGH字段不出现在选择屏幕上,但是用户仍然可以在Mutiple Selection窗口中输入范围选择。也就是说:只要有按钮,就可以选择多个条件与范围值  [?int?v?l]

OBLIGATORY:只有前面一个框框中出现钩,第二个框没有,也就是说该选项只能LOW字段有效 [??bl?g??t?:ri:]

DEFAULT

TABLES: mara,marc.

SELECT-OPTIONS:werks FOR marc-werks OBLIGATORY DEFAULT 1001 TO 1007 SIGNOPTION BT.

SELECT-OPTIONS:p2 FOR mara-matnr MODIF.
AT SELECTION-SCREEN OUTPUT.
  p2-low = 'aaaa'.
  APPEND p2 .

MEMORY ID:将第一个输入框中的数据存放到SAP MEMORY中共享

12.4.1.           输入ABAP程序默认值时,需要加上“=”

如果输入框中输入的值恰为ABAP程序中相应字段所对应的初始值时(如字符类型为空串,时间与数字类型为“0”串时),需要在第一个框前面选择操作符,否则程序将会忽略这个值的输入,即查询所有的

12.4.2.           选择条件内表多条件组合规则

((Select Single Values OR…) OR(Select Intervals OR…))( AND NOT Exclude Single Values) … ( AND NOT Exclude Intervals) …

("MATNR" = '1' OR "MATNR" >= '2' OR "MATNR" <= '3' OR "MATNR" > '4' OR "MATNR" < '5' OR "MATNR" <> '6' OR "MATNR" <> '7' OR "MATNR" LIKE '23%' OR NOT ( "MATNR" LIKE '24_' ) OR"MATNR" BETWEEN '8' AND '9' OR NOT ( "MATNR" BETWEEN '10' AND '11' )) AND"MATNR" <> '12' AND "MATNR" < '13' AND "MATNR" > '14' AND "MATNR" <= '15' AND "MATNR" >= '16' AND "MATNR" = '17' AND "MATNR" = '18' AND NOT ( "MATNR" LIKE '25%' ) AND "MATNR" LIKE '26_' AND NOT ("MATNR" BETWEEN '19' AND '20' ) AND "MATNR" BETWEEN '21' AND '22'

12.4.3.           使用SELECT-OPTIONS替代PARAMETERS

实际上PARAMETERS 类型的参数完全可以使用SELECT-OPTIONS来替代,下面就是使用这种替换方式,外表看上去与PARAMETERS是一样的,但双击后可以出现操作符选择界面,所以唯一不同点就是这个可以选择操作符,而且这样做的好处是:当不输入值时,查询所有的,PARAMETERS值为空是查询就是为空(或0)的值(如果此时要忽略这个条件,则要将单值转换为Rang或者是分两种情况来写SQL条件):

TABLES: marc.
SELECT-OPTIONS: s_werks  FOR marc-werks NO INTERVALS NO-EXTENSION.

[SAP ABAP开发技术总结]选择屏幕——SELECT-OPTIONS相关推荐

  1. [SAP ABAP开发技术总结]屏幕跳转

    12.18.             屏幕跳转 LEAVE SCREEN. or LEAVE TO SCREEN <next screen>. LEAVE SCREEN语句会结束当前屏幕并 ...

  2. [SAP ABAP开发技术总结]EXIT-COMMAND

    12.8.     EXIT-COMMAND 12.8.1.           MODULE <mod> AT EXIT-COMMAND 对话屏幕中,对于E类型的Function Cod ...

  3. [SAP ABAP开发技术总结]ABAP调优——Open SQL优化

    11.1.     数据库编程方面优化 1.   不要使用 SELECT * ...,选择需要的字段, SELECT * 既浪费CPU,又浪费网络带宽资源,还需占用大量的ABAP内存 2.   不要使 ...

  4. [SAP ABAP开发技术总结]SD销售订单定价过程

    16.3.2.     定价过程 16.3.2.1.           条件技术七要素 16.3.2.2.           条件表V/03.V/04.V/05 16.3.2.3.         ...

  5. [SAP ABAP开发技术总结]动态语句、动态程序

    在ABAP中写动态的程序,灵活的程序,一定要知道的 1.13.         动态语句 1.13.1.     内表动态访问 1.13.2.     动态类型 1.13.3.     动态SQL 1 ...

  6. [SAP ABAP开发技术总结]ABAP读写、解析XML文件

    20.6.         XML. 236 20.6.1.     生成... 237 20.6.2.     解析... 240 20.6.     XML if_ixml if_ixml_doc ...

  7. [SAP ABAP开发技术总结]ABAP调优——代码优化

    11.2.     程序 1.   READ TABLE ...WITH [TABLE] KEY...BINARY SEARCH读取标准内表使用二分查找 2.   在循环(LOOP AT ...WHE ...

  8. [SAP ABAP开发技术总结]权限对象检查

    20.14.             权限检查 AT SELECTION-SCREEN.   DATA: BEGIN OF lt_bukrs OCCURS 0,     bukrs TYPE t001 ...

  9. [SAP ABAP开发技术总结]CLEAR、REFRESH、FREE内表清理区别

    1.8.  CLEAR.REFRESH.FREE 内表:如果使用有表头行的内表,CLEAR 仅清除表格工作区域.要重置整个内表而不清除表格工作区域,使用REFRESH语句或 CLEAR 语句CLEAR ...

最新文章

  1. 公有云账单:忽略这四项成本,后果很严重!
  2. 如何从0到1搭建电商促销系统?
  3. 二、Go语言基础入门
  4. torch中permute()函数用法补充内容(矩阵维度变化详细过程)
  5. SPSS软件安装与常见入门问题
  6. 计算机之父图灵的 150 封信,多在讨论 AI
  7. 离散数学知识点总结(3):等值演算,16个命题定律 / 基础等价式,重言式的替换规则,证明有效性和可满足性的方法
  8. Backdrop CMS介绍
  9. 前端开发和后端开发哪个难学
  10. 黑龙江软件第三方检测机构/软件登记(退税)测试报告
  11. Python基础 函数
  12. html中seo三大标签,探索者SEO告诉你三大标签如何正确使用
  13. 2017四月TOP100电商类App排行榜出炉
  14. Vue项目开发中使用路由懒加载
  15. 分享 Python 教学视频,从基础到爬虫、网页、数据分析、机器学习.....
  16. 服务网格——什么是服务网格?(概念原理1)
  17. Linux vi 文本代码时显示行号或不显示行号
  18. css+html+js 仿制一个天猫的登陆界面
  19. android ops,安卓OPS电脑解决方案,促进城市智能化
  20. Plupload和错误生成

热门文章

  1. 网站 admin.php,caozha-admin(PHP网站后台管理框架)v1.7.1官方安装版
  2. 深入理解Java类加载器:Java类加载原理解析
  3. Apache VFS:基本介绍
  4. Nmap Windows 版本时区显示乱码
  5. 一起学 Java(四) File、Try 、序列化、MySQL、Socket
  6. 关于数据库隔离问题说明及解决
  7. CSS实现背景透明而背景上的文字图片不透明
  8. Guru of the Week 条款01: 变量的初始化
  9. 发现一个很不错的正则表达式生成器
  10. Codeforces-gym-101020 problem C. Rectangles