Chinaunix首页 | 论坛 | 博客
  • 博客访问: 99266
  • 博文数量: 16
  • 博客积分: 536
  • 博客等级: 中士
  • 技术积分: 190
  • 用 户 组: 普通用户
  • 注册时间: 2009-11-02 11:37
个人简介

SAP 爱好者,记录一些知识点吧

文章分类

全部博文(16)

文章存档

2014年(1)

2012年(1)

2011年(3)

2010年(7)

2009年(4)

我的朋友

分类:

2009-12-18 11:30:40

用语言着实难以描述:且看例子,
DATA : a TYPE I. 这是没有问题的,
但是DATA : a LIKE I,系统就有错误提示了:
Field "I" is unknown. It is neither in one of the specified tables nor  
defined by a "DATA" statement . . . . . . . . . .,
就是说Like 的后面跟的是一个字段,那么这个字段要么是一个 table里面定义的字段,比如:
data : v_datum TYPE SY-DATUM.
要么是我们自己用DATA 定义的一个字段,如果,你改成 DATA : b LIKE a ,就不会有错了,因为我们前面用DATA 定义了A .
那么,DATA : b TYPE a.呢,系统的提示是The type "A" is unknown.  说明A 不是一个type,只是我们定义的一个字段,就是说如果你要用TYPE 这个关键字那么,你必须后面跟一个type,那么什么是TYPE呢,
1.最基本的数据类型,i,n,c,等,
2.或已经在系统定义好的data type ,用SE11 查看DATA TYPE(data element),比如 WERKS_D就是一个data type ,你可以这样定义:
DATA: V_PLANT type WERKS_D.
3.DB table 里面的字段,
data : v_volc type marc-WERKS.
4.一种是你自己在程序里面用TYPES:定义的.如
types :begin of volcano,
        vol1 type i,
        vol2 type c,
       end of volcano.
data : wa_vol type volcano.
data : wa_vol1 LIKE wa_vol.这是可以的。
5.一种是你自己在程序里面用TYPES定义的结构里面的一个小成员,如:
 data : v_volc1 TYPE volcano-vol1.
6.当然数据库表,结构那时当然的,如:
 data : wa_volcano TYPE marc.
 
还有下面的两个都是可以的。
DATA : v_datum TYPE sy-datum.
DATA : v_datum LIKE sy-datum.
 
那为什么,这两个都可以呢,对于TYPE 你可以理解为TYPE 中我列举的第3种,至于用like你可以理解为
one of the specified tables 。
 
那么那种效率高呢,很多人说TYPE 效率高,我说要看习惯。
 
欢迎大家指正和补充,要去吃饭了。

  
阅读(8269) | 评论(1) | 转发(0) |
给主人留下些什么吧!~~

chinaunix网友2010-06-30 15:22:12

ding