SAP学习笔记 - 变量

不同的用户在执行ABAP程序的时候,其实执行的是同一段程序,而不是一个程序的不同拷贝,这就使得每一个用户必须有一块自己的地址去存储自己的的数据,这就是Roll Area,Roll Area是每一个Session在执行一个ABAP Program的时候,为Session分配的区域。

ABAP的数据定义的描述很有意思。当数据作为描述性的形式写出来的时候,ABAP有四个种类:
- String类型,这里使用单引号来描述String类型。要描述单引号时用两个单引号来代替。我想这可能是基于SQL语句设计的吧,可以和SQL很方便的链接。
- Numeric类型,存放数据,这里和其他语言不同的是,要描述带有小数点的数据,也要放在单引号里面。
- Float类型,存放数据,形式是'<数据位>E<指数位>',注意,也要用单引号括起来,并且使用大写的E来描述。
- 十六进制,也用单引号-_-b,形式是单引号里面的0~9和A~F表示。也必须大写。

这里看出ABAP对hard code的数据和其他语言有不小的区别,要注意单引号。可能会在以后的调试中出现低级的错误。

Variable names can be 1 to 30 characters long. They can contain any characters except
( ) + . , : and must contain at least one alphabetic character.
ABAP的变量名位1~30个字符组成,除去()+.,:之外的字符,并且至少有一个字母。
--------
这里我们看到ABAP和其他语言的不同。因为只是安装定义来理解,所以如果在实践中出现不同,我会回来更新。:P
首先其他语言对于变量的限定很多,除了这些字符之外,还有很多的字符是不可以使用的,比如尖括号,或括号之类的,这一点不知道是书里的疏忽还是ABAP的确可以使用这些符合作为他的变量名。
其次,大部分语言都是值可以字母开头,或者允许_开头,或者允许$,@等开头,而ABAP很有意思,他只要求变量名中至少有一个字母,而不要求字母要开头,这可能是ABAP中的很多数据定义都在单引号里面的原因吧。

另外,系统变量sy-datum和sy-uzeit是在程序一开始的时候被初始化好的,如果程序在运行了一段时间以后调用这两个变量,就得不到现在的时间,所以这个时候,使用get time语句来刷新这两个变量的值。

技术性日志一律先顶再说。。。
嗯……再说。。。

 

感谢您关注我的个人博客!
为了您的更好的阅读和留言,建议您注册用户,这样您可以获得更大的权限,以及更方便的留言。
注册只需要一分钟的时间。但是您需要提供您的邮箱。注册后,密码会自动发到您的邮箱,请在第一次登录时修改。
我承诺不会将您的Email泄露给他人,或者发送垃圾邮件。

用户登录

我的微博

feedsky
抓虾
google reader
my yahoo
newsgator
bloglines
鲜果
哪吒
有道
QQ邮箱
九点
帮看