今天开始一直在看网上的材料。先说说自己对于材料和学习的看法吧

    网上的材料,大多数都是在原版的SAP公司的帮助文档、以前发布的编程手册的基础上进行修改搞出来的。要么就是一些项目在实施中对Key User或者其他权限User的培训的PPT、笔记一类的东西。质量有好有坏。但是,最大的问题是:不够系统、不适合新人入门。用互联网的语言就是:用户体验太差。
    我见到的很多资料,上来就是将系统的结构,各种视角的系统分层方式。试问有几个人自学的零基础的人能看懂呢,或者说看到了,也记不住。也只能是看一看。我现在的理解就是把这些内容作为一个入门级的材料,记住一点是一点,有个大概的印象,以后遇到了,需要的时候,自然就会明白。
    学习一直都是循序渐进的过程,不要着急一口吃个饱。

    什么样的材料最适合新人呢:
1、通俗易懂的,能够用简单的语言把专业术语讲明白,然后告诉你这个专业术语是什么。
2、刚接触的时候,看得见、摸得着、能实践的内容。对于编程来说,主要就是语法结构了,讲一讲语法,对语言有了简单的了解,先写一些东西出来,有了小小的成就感,再继续往深处学习!

这也是我的学习思路。遵循这个思路,今天和大家分享一下我今天学到的语法方面的内容:(主要的文字来自网上的一个学习总结资料,是我见到的不多的很适合新人的材料,我做了一些整理,有错误的地方,还请大家指正)

ABAP 编程语言的简介
基本特性
  1. 专为基于会话的商业应用而设计。
  2. 强类型:每个变量必须指定类型,系统支持类型的自动转换。
  3. 多语言应用:采用了可翻译的文本元素,可以根据需要支持多国语言。
  4. 允许SQL 访问:可以使用Native SQL 和Open SQL 两种方式访问SAP 数据库,可以使用Native SQL 访问非SAP 数据库。
  5. 面向对象:最初的ABAP 不支持面向对象,但现在已经支持。
  6. 平台无关:运行在ABAP运行时系统之上,与操作系统和数据库完全无关。
  7. 向上兼容:与以前版本的程序完全兼容,以前写的程序无须重写就能用在新系统上。


基本语法特点
  1. 由各自独立的语句构成。
  2. 每个语句的第一个单词必须 是ABAP关键字。
  3. 单词之间至少 要用一个空格分隔。
  4. 每个语句结束必须 要用句号。
  5. 支持分块缩进,便于阅读。
  6. 一个语句可以跨多行,只要不遇到句号,就认为是一个延续的语句。
  7. 可以把多个语句放在一行。
  8. ABAP不区分大小写,关键字和用户操作数都一样,为了便于阅读,一般把关键字大写,而操作数小写。
  9. 由于编程的时候随时切换大小写比较麻烦,可以在ABAP编辑器中用“规范化打印机”按钮来自动转换。
  10. 注释行由第一列的星号(*)开头,并且幸好必须写在第一列,前面不能有空格。
  11. 编译器忽略注释行,不会执行。
  12. 在行末的注释用双引号(”)作为前导。
  13. 如果连续多行的第一个关键字相同,可以使用链语句 的方式减少输入。这是ABAP 独特的一个分块缩进方法。
  14. 第一个关键字后面用一个冒号表示链语句开始。
  15. 链语句的最后一句结束还是用句号,但是中间的分隔由句号改成逗号。
  16. 空格和换行跟基本语句一样,可以任意加。
  17. 注意,这样的写法并不会提高执行效率,仅仅为了显示好看。


程序执行的返回码
  1. 这实际上是ABAP 异常捕获机制的一部分。
  2. 有些语句执行完成后会向一个特定的系统字段sy-subrc 写入表示执行结果的值。
  3. 0 值都表示执行成功,而非0 值则根据功能不同有特别的定义,这些值的意义都需要查看ABAP 联机帮助中相应关键字的说明。
  4. 常用的需要检查返回码的语句有SELECT、AUTHORITY- CHECK 等。


其他系统字段
ABAP 设置了一个结构syst 用来保存系统运行时的各种参数,用sy-xxxxx 的形式调用,具体有哪些系统字段可以查看联机帮助。
获取语言帮助
光标定位在关键字上,按F1,直接调出帮助文档,如果查询出多条结果,则出现命中列表,从中选择某条结果查看。
光标定位在关键字上,按工具栏的按钮,打开帮助导 航,不但可以查关键字,还能查其他相关内容,如功能模块、 表、逻辑数据库、权限对象等。
SAP 的帮助系统相当完善,但是要找到所需内容也不是很容易,需要不断积累经验。
SAP 还有很多对学习语言有帮助的示例和功能,如ABAP文档与范例(事务码ABAPDOCU)、BAPI手册(事务码BAPI)、数据模型(事务码SD11)等。


数据类型和数据对象
  1. SAP内置的基本数据类型,所有其他数据元素和域都是由这些基本数据类型组合而成的。
  2. 数据类型可以分成完整的和非完整的。
  3. 完整的数据类型指它包含了与类型相关的固定长度的信息。
  • D :日期类型,格式为YYYYMMDD,长度为8
  • T :时间类型,格式为HHMMSS,长度为6
  • I :整数类型,长度为4
  • F :浮点类型,长度为8
  • STRING:变长字符串类型
  • XSTRING:变长字节序列类型


基本ABAP语句
赋值
程序开始时,程序内容被读到应用服务器的内存区,程序中定义的数据对象也分配了相应的内存空间。可以使用MOVE 关键字来赋值,下面两个语句具有相同的功效。
MOVE var1 TO var2.var2 = var1.如果var1 var2 的数据类型不同,就存在类型冲突 的可能性,这时候如果存在转换规则 ,则会进行自动类型转换 关于类型冲突和自动转换,可以查MOVE 的帮助。CLEAR 语句根据类型清除数据对象,恢复成默认值。

运算ABAP 程序中,数学表达式可以进行任意多层嵌套。
二元操作符包括::加法
:减法
:乘法
:除法
** :乘方
DIV :整除忽略余数
MOD :取模

需要注意,圆括号和操作符都是关键字,需要跟操作数之间至少用一个空格分开。(1+2)*3 应该写成( 1 + 2 ) * 3






PS:分享一些非技术的内容
1、不要闭门造车,保持开放的心态
   写程序不是一个人的事儿,在接触新事物的时候,一切从零开始,如果有志同道合的朋友相伴,共同努力是可以提高学习效率,同时身心愉快的事情。
   我在网上遇到了一起学习的朋友,分享了很多有用的资料,并且约定互相交流学习心得。还在微博上向一些前辈请教,很显然,这些都是有效果的。自己对行业内的事情也开始逐渐的了解,慢慢的走上正轨。

2、设定目标,主动分享
    自学的内容往往多而杂,要能尽快的建立起一套合理的体系不是容易的事情。如果不能很快的了解内容,那就先每天设定一些目标,主动地完成目标,保证进度。有了一些积累,自然的就会有系统的概念了!我现在见到的只是皮毛,但是由于看了一些材料,可以说是管中窥豹,对那个远处雾蒙蒙的系统有了一些了解。逐渐的开始拆解任务。脚踏实地的向前走。
    了解自己的学习成果的方式,除了写出东西,还有两种,一个是讲给别人听,另一个就是梳理出来,写到博客里:-),这样既可以知道自己掌握的如何(毕竟在大脑中想过和用文字清晰的表达出来,感觉是不一样的),还可以与大家分享,也许会帮助到很多朋友,哪怕只有一两个人,也是有意义的。积累的多了,还会有成就感,看到自己一步一步走过来的经历,也是很有趣的事情。

3、一定要实践,要尝试
    任何编程语言都不可能是“说”就能说出来的。一定要多实践,多尝试,多去写代码。bug是最好的朋友,哈哈。