ABAP初识
第一次看了ABAP的一个例子,如下
=============
1 report ztx0203.
2 tables ztxlfa1.
3 select * from ztxlfa1 order by lifnr.
4 write / ztxlfa1-lifnr.
5 endselect.
=============
分析一下:
首先,ABAP语言本身自带SQL语句,是标准ANSI SQL的子集,这个好处是所有的数据库操作都使用ABAP自己的SQL语句,就避免了不同的数据库写出来的SAP代码不能互相兼容的问题。这也是ABAP可以跨数据库移植的特性所必须的。
然后我们看第一句:
report ztx0203.
声明一个report,名字是ztx0203,ABAP自己写的report和program必须以z和y开头。而且只能有8个字符。这一点保证了和系统的程序分开,但是还是挺不爽的,呵呵尤其是用惯了namespace的。
tables ztxlfa1.
这句话执行的时候执行了两步:第一步开辟了一块内存空间叫做ztxlfa1,这个内存空间是为了将来存放表中读出来的内容的,第二步载入了表ztxlfa1。注意,这里的两个名字是一样的。
第三句到第五句是一个循环。以select开始,然后以end select结束,在这两个标志之间的代码,会被每一条记录被从数据库读取出来的时候执行一次。第三句仔细看就是一条SQL语句,他会把读出来的东西放到刚刚开辟的那个内存空间里面。
所以在第四句读取的时候,就用了这么一句:write / ztxlfa1-lifnr.
write就是一个简单的输出。加斜线是表示writeline。:P
注意ztxlfa1和lifnr之间的链接符号是“-”。
--------------------
随想:ABAP可以看出来是完全为了业务逻辑设计的语言,程序员只需要关注自己要做的业务。.net 3.0会推出一条特性,就是所谓的LINQ,这个特性可以使C#调用数据库可以想C#本身的特性一样,而不是现在的函数类库。不知道这个特性是不是会使C#像ABAP一样写代码。只是猜测,因为没有去研究LINQ。
- circleoflife's blog
- 要发表评论,请先登录 或 注册
标签云
感谢您关注我的个人博客!
为了您的更好的阅读和留言,建议您注册用户,这样您可以获得更大的权限,以及更方便的留言。
注册只需要一分钟的时间。但是您需要提供您的邮箱。注册后,密码会自动发到您的邮箱,请在第一次登录时修改。
我承诺不会将您的Email泄露给他人,或者发送垃圾邮件。
没看懂。哈哈~~~