Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7203013
  • 博文数量: 655
  • 博客积分: 10264
  • 博客等级: 上将
  • 技术积分: 8278
  • 用 户 组: 普通用户
  • 注册时间: 2007-06-04 17:47
个人简介

ABAP顾问

文章分类

全部博文(655)

文章存档

2017年(2)

2014年(8)

2013年(3)

2012年(2)

2011年(18)

2010年(102)

2009年(137)

2008年(274)

2007年(134)

分类:

2008-04-26 17:37:06

REPORT  z_barry_test. "TEST

TABLES mara.


RANGES itab FOR mara-matnr OCCURS 0.  "或者如下面定义方法
* DATA itab TYPE RANGE OF mara-matnr WITH HEADER LINE .

DATA: BEGIN OF itab2 OCCURS 0,
        sign   TYPE c ,
        option(2) TYPE c ,
        low    LIKE mara-matnr ,
        high   LIKE mara-matnr ,
      END OF itab2.
DATA: n TYPE i.

SELECT-OPTIONS:s_matnr FOR mara-matnr
                  DEFAULT '000000000000317030' TO '000000000000317045' .

START-OF-SELECTION.

*用SELECT-OPTIONS
  SELECT COUNT(*) INTO n FROM mara
  WHERE matnr IN s_matnr.
  WRITE n.

*用Range定义的内表
  itab-sign = 'I'.
  itab-option = 'BT'.
  itab-low  = '000000000000317030'.
  itab-high = '000000000000317045'.
  APPEND itab.
  SELECT COUNT(*) INTO n FROM mara
  WHERE matnr IN itab.
  WRITE n.

*普通方法定义的内表
  itab2-sign = 'I'.
  itab2-option = 'BT'.
  itab2-low  = '000000000000317030'.
  itab2-high = '000000000000317045'.
  APPEND itab2.
  SELECT COUNT(*) INTO n FROM mara
  WHERE matnr IN itab2.
  WRITE n.

例程:
DATABEGIN OF ITAB OCCURS 0 ,
       FF(10TYPE C ,
      END OF ITAB.
RANGES: R_SEL FOR ITAB-FF OCCURS 0 .

APPEND '1' TO ITAB.
APPEND '2' TO ITAB.
APPEND '3' TO ITAB .

R_SEL-SIGN = 'I'.
R_SEL-OPTION = 'BT'.
R_SEL-LOW  = '2'.
R_SEL-HIGH = '3'.
APPEND R_SEL.

DELETE ITAB WHERE FF NOT IN R_SEL.

LOOP AT ITAB.
  WRITE / ITAB.
ENDLOOP.
阅读(15709) | 评论(2) | 转发(0) |
给主人留下些什么吧!~~

meiok12009-09-29 17:33:47

SE11中能不能定义 type range 类型的 data type?

chinaunix网友2008-05-23 13:37:11

老大,这个貌似是帮我写的啊!谢谢