77范文网 - 专业文章范例文档资料分享平台

内表的操作

来源:网络收集 时间:2018-11-22 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

内表

一.

1.在ABAP/4 中,主要使用表格。表格是R/3 系统中的关 键

数据结构 。长期使用的数据存储在关系数据库表格中。

2.除了数据库表格,还可 以创建仅在程序运行时间内存在的内表。

内表是按行三进行访问的 。必须使用某个工作区或者表头行作为与表格互相传输数据的中转站。

3.三种内表

标准内表(standard table)

排序内表 (sorted table) 可以用二分查找法提高效率 哈希内表 (hashed table) 数据量相当大时考虑用这种内表 4.两种定义形式:type and like

TYEPS只是定义出一个结构体的类型,它不能存储数据(即它不是工作区)。

DATA定义出了一个结构体,它可以存储一行数据(即一个工作区)。

两种关键字不能混用。

1.

TYPES: BEGIN OF TY_OUTLIST,

USER LIKE AGR_USERS-UNAME, \用户名 NAME LIKE ADRP-NAME2, \用户姓名 DEPART LIKE ADCP-DEPARTMENT, \部门

ROLENAME LIKE AGR_USERS-AGR_NAME, \用户角色 ROLETEXT LIKE AGR_TEXTS-TEXT, \角色描述 END OF TY_OUTLIST.

DATA: T_OUTLIST TYPE STANDARD TABLE OF TY_OUTLIST WITH HEADER LINE.

2.

DATA: BEGIN OF TY_OUTLIST,

USER LIKE AGR_USERS-UNAME, \用户名 NAME LIKE ADRP-NAME2, \用户姓名 DEPART LIKE ADCP-DEPARTMENT, \部门

ROLENAME LIKE AGR_USERS-AGR_NAME, \用户角色 ROLETEXT LIKE AGR_TEXTS-TEXT, \角色描述 END OF TY_OUTLIST.

DATA: T_OUTLIST LIKE STANDARD TABLE OF TY_OUTLIST WITH HEADER LINE.

3.《SAP程序设计》中的错误的定义方法。P126 TYPES: BEGIN OF ITAB OCCURS N, V1 TYPE I, V2 TYPE I, END OF ITAB.

工作区(work area):

程序对内表的操作不能直接进行,必须通过一种接口来传输,这个接口就是工作区(work area) 内表 Field1 Field2 Field3

工作区 从关系数据库中读取数据到内表各行中,必须先将数据读到工作区,然后在将工作区中的数据赋给内表的行。

从内表读取数据时,需要用已定位的内表行内容覆盖工作区的内容,然后在从程序中读取工作区的内容。

所以工作区必须具有和内表的行一致或者可以相互转换的数据结构(一般是与内表类型相同的结构体)

REPORT demo_int_tables_append .

* append ... to

*下边定义了一个结构体,也就是个工作区 DATA: BEGIN OF wa , col1(1) TYPE c, col2 TYPE i, END OF wa.

*下边定义了一个内表itab,(no work area, no header line) DATA itab LIKE standard TABLE OF wa. DO 3 TIMES.

wa-col1 = sy-index. wa-col2 = sy-index ** 2. APPEND wa TO itab. ENDDO.

LOOP AT itab INTO wa.

WRITE: / wa-col1, wa-col2. ENDLOOP.

表头行(header line)(又叫隐式工作区):

ABAP为程序员提供一种简单的方法,在创建内表对象的同时可以隐式的创建一个同名工作区,这个同名工作区就叫做表头行(header line),其实它和工作区是一样的,只不过定义方法和叫法不同。 “笔者不提倡读者使用带有表头行的内表,而是应该总是声明结构相同的其他数据对象(即显式工作区)作为对内表行操作的中转站。”《SAP程序设计》P129

REPORT demo_int_tables_append .

* append ... to DATA: BEGIN OF wa ,

col1(1) TYPE c, col2 TYPE i, END OF wa.

*下边用with header line定义了一个和内表itab同名的工作区itab DATA itab LIKE standard table of wa with header line. *DATA itab like wa occurs 0 with header line. *上面的这两句是完全一样的定义 DO 3 TIMES.

itab-col1 = sy-index. itab-col2 = sy-index ** 2. APPEND itab. ENDDO.

*下边的输出的是内表itab中的数据 LOOP AT itab.

WRITE: / itab-col1, itab-col2. ENDLOOP.

*下边的输出的是同名工作区itab中的数据 WRITE: / itab-col1, itab-col2.

其他定义形式:

这种形式也声明了一个标准内表,并分配初始内存大小为10行,OCCURS是ABAP3.0之前声明内表的关键字。(《SAP程序设计》P125“不建议使用,但是由于系统维护时需要接触旧的ABAP代码,所以还要介绍”)

REPORT demo_int_tables_append . * append ... to

*occurs是ABAP3.0之前声明内表的关键字 *这样声明即定义了一个内表WA,

*同时WA又带了一个同名的工作区(wa[]代表内表,wa代表工作区) DATA: BEGIN OF wa occurs 10, col1(1) TYPE c, col2 TYPE i, END OF wa. DO 3 TIMES.

wa-col1 = sy-index. wa-col2 = sy-index ** 2. APPEND wa. ENDDO.

wa-col1 = 'x'. wa-col2 = 100.

WRITE: / wa-col1, wa-col2. skip.

LOOP AT wa .

WRITE: / wa-col1, wa-col2. ENDLOOP. skip.

WRITE: / wa-col1, wa-col2.

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库内表的操作在线全文阅读。

内表的操作.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/zonghe/300116.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: