SAP-ABAP之内表

<!--StartFragment -->

 *&---------------------------------------------------------------------*
*& Report  ZWZW_U3_03
*&
*&---------------------------------------------------------------------*
*&主要知识点有如下几点:
*       一,内部表的定义;
*       二,内部表的操作;
*       三,debug模式下内部表的分析。
*&
*&---------------------------------------------------------------------*



REPORT  ZWZW_U3_03.
*每个表都要有相应的 Row Type,Key,及表的类型
*三种类型的内部表,其中有二种是可以通过index和key访问的,但Hashed 内部表只能通过key方式访问.


*------------------------------------
*内部表定义方式一:
* 以表为基础定义内部表,带表头方便操作。
*------------------------------------
TABLES:SPFLI.
DATA itab_spfli LIKE TABLE OF spfli WITH HEADER LINE."内部表定义,带表头的
DATA one_line Like LINE OF itab_spfli. "一行的工作空间结构体
*TYPES: dpeople TYPE xxxxxx.

* 一定要加 CORRESPONDING FIELDS OF TALBLE ,并且不用 ENDSELECT
SELECT * FROM spfli INTO CORRESPONDING FIELDS OF TABLE itab_spfli.

LOOP AT itab_spfli INTO one_line.
WRITE: / one_line-carrid.
PERFORM addsa.
ENDLOOP.

*增加内表记录
APPEND one_line TO itab_spfli.
APPEND one_line TO itab_spfli.
APPEND one_line TO itab_spfli.
*插入操作与append操作不一样,插入的时候会引起主键等方面的冲突,但append不会。实验没有成功--------------------
*INSERT one_line INTO itab_spfli.

*修改内表记录 实验没有成楞------------------------------
*MODIFY itab_spfli FROM one_line.


ULINE.
*------------------------------------
*对内表进行操作,如排序,清空等
*------------------------------------
*------------------------------------
*FREE itab_spfli.
*REFRESH itab_spfli.
SORT itab_spfli by FLTIME.

LOOP AT itab_spfli INTO one_line.
WRITE: / one_line-carrid.
PERFORM addsa.
ENDLOOP.

*------------------------------------
*内部表定义方式二:
* 以定义的结构体为基础定义内部表,带表头方便操作。
*特别注意的是,仅可以使用结构体定义标准内部表,不可用其它二类。
*
*问题:定义结构体时是否必须使用数据元素
*------------------------------------
TYPESBEGIN OF PEOPLE,
  NAME(20TYPE C,
  AGE TYPE I,
  GEN TYPE C,
  END OF PEOPLE.


*DATA: dpeople TYPE PEOPLE.

DATA itab_standard_people TYPE STANDARD TABLE OF PEOPLE WITH HEADER LINE.
*DATA itab_sorted_people TYPE SORTED TABLE OF dpeople WITH HEADER LINE .
*DATA itab_hashed_people TYPE HASHED TABLE OF dpeople WITH HEADER LINE.


FORM addsa.
  STATICS sa TYPE i VALUE 0.
  add 1 to sa.
  WRITE sa.
  ENDFORM.

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值