网站空间大小怎么看,网络管理app,百度一下你就知道官页,wordpress logo大小基础查数据
问题举例#xff1a;例如查物料类型为ZFRT、ZROH和ZRSA的物料编码。
1、直接查询#xff0c;三种不同类型的物料类型是或的关系。 SELECT DISTINCT ma~matnr ma~mtartFROM mara AS maINNER JOIN mbewh AS mbON ma~matnr mb~matnrINTO CORRESPONDING FIELDS OF…基础查数据
问题举例例如查物料类型为ZFRT、ZROH和ZRSA的物料编码。
1、直接查询三种不同类型的物料类型是或的关系。 SELECT DISTINCT ma~matnr ma~mtartFROM mara AS maINNER JOIN mbewh AS mbON ma~matnr mb~matnrINTO CORRESPONDING FIELDS OF TABLE gt_tabWHERE ma~mtart EQ ZFRT ORma~mtart EQ ZROH ORma~mtart EQ ZRSA.
2、如果对1进行优化三种物料类型放在列表项中使用关键字IN这样查询等价于1. SELECT DISTINCT ma~matnr ma~mtartFROM mara AS maINNER JOIN mbewh AS mbON ma~matnr mb~matnrINTO CORRESPONDING FIELDS OF TABLE gt_tabWHERE ma~mtart IN ( ZFRT , ZROH, ZRSA ).
3、定义区间函数RANGE 内表
https://www.cnblogs.com/buduzhiren/p/13131483.html
SAP ABAP编程 Ranges用法_m15188153014的博客-CSDN博客
定义区间结构 TYPES: BEGIN OF ty_sign,sign TYPE sign,option TYPE option,low TYPE mtart,high TYPE mtart,END OF ty_sign. 定义区间结构 1直接赋值不建议这种直接堆叠赋值方式代码量比较多。
DATA: lt_mtart TYPE TABLE OF ty_sign WITH HEADER LINE. 定义区间表lt_mtart-sign I. 赋值lt_mtart-option EQ.lt_mtart-low ZFRT.APPEND lt_mtart TO lt_mtart.lt_mtart-sign I.lt_mtart-option EQ.lt_mtart-low ZROH.APPEND lt_mtart TO lt_mtart.lt_mtart-sign I.lt_mtart-option EQ.lt_mtart-low ZRSA.APPEND lt_mtart TO lt_mtart.CLEAR lt_mtart.
(2) 优化使用VALUE#() 进行赋值建议这种方式代码量会大大减少。 DATA: lt_mtart TYPE TABLE OF ty_sign .lt_mtart VALUE #( sign I option EQ ( low ZFRT high )( low ZROH high )( low ZRSA high )).
3或者用APPEND VALUE#() TO ITAB. 与2二者等同。
DATA: lt_mtart TYPE TABLE OF ty_sign . APPEND VALUE #( sign I option EQ low ZFRT high ) TO lt_mtart.
APPEND VALUE #( sign I option EQ low ZROH high ) TO lt_mtart.
APPEND VALUE #( sign I option EQ low ZRSA high ) TO lt_mtart. 对RANGE内表 赋值完成后的以上三种方式的查询语句均相同。 SELECT DISTINCT ma~matnr ma~mtartFROM mara AS maINNER JOIN mbewh AS mbON ma~matnr mb~matnrINTO CORRESPONDING FIELDS OF TABLE gt_tabWHERE ma~mtart IN lt_mtart. 总结 1、如果是多个字符使用第二种IN 列表项查询最为简洁
2、如果有多个区间可以使用VALUE#()方式进行赋值。