程序--type--like

1)先自定义一个结构ST_SCARR, [Page]
2)以结构ST_SCARR定义一个工作区WA_SCARR,
3)用”LIKE TABLE OF”从工作区WA_SCARR定义一个内表IT_SCARR.
4)用SELELT语句从数据库表SCARR中读取数据.
5)用”CORRESPONDING FIELDS OF TABLE ”给内表IT_SCARR字段进行同名输值.
6)用”LOOP AT…TO…”把内表中的数据逐条传给工作区,最后对工作区的数据进行输出.
TYPES: BEGIN OF ST_SCARR,
CARRID TYPE SCARR-CARRID,
CARRNAME TYPE SCARR-CARRNAME,
CURRCODE TYPE SCARR-CURRCODE,
URL TYPE SCARR-URL,
END OF ST_SCARR.
DATA: WA_SCARR TYPE ST_SCARR,
IT_SCARR LIKE TABLE OF WA_SCARR.
SELECT CARRID CARRNAME CURRCODE URL
FROM SCARR
INTO CORRESPONDING FIELDS OF TABLE IT_SCARR.
LOOP AT IT_SCARR INTO WA_SCARR.
WRITE: /1(3) WA_SCARR-CARRID,
5(20) WA_SCARR-CARRNAME,
26(5) WA_SCARR-CURRCODE,
32(30) WA_SCARR-URL.
ENDLOOP.


1.TYPES与DATA区别:TYPES是用来自定义某种类(型)的,需(用DATA语句)实例化以后才可以使用,而DATA是用来声明基本类型数据对象(实例变量)的,对于用DATA直接定义的结构体对象(不参照其它结构类型).

参照自定义类型生成新数据语法格式如下:

TYPES | DATA 。。。TYPE 1_type 。。。''1_type代表程序内部类型

参照程序中已经声明的数据对象生成新数据语法格式如下:

TYPES | DATA 。。。LIKE dobj 。。。。。''dobj代表数据对象

2.TYPE与LIKE区别:TYPE后面跟随的只能是某种类(型),而LIKE后面可以跟实例对象,参照结构体对象生成内表时只能用LIKE,不能用TYPE,因为结构体对象不是类型,只是一种实例对象,参照结构类型生成内表时可以用LIKE也可以用TYPE.其中通过LIKE定义的内表直接拥有参照结构类型的元素结构,而通过TYPE定义的内表只能间接拥有被参照结构类型的元素结构,结构类型不能作为内表的工作区,只有结构体对象才可以.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值