SAP开发总结:
(1).ELSEIF pa_po ='/'and pa_int2 = 0. WRITE 'no devision by zero'(dbz). (2).ELSEIF pa_po ='/'and pa_int2 = 0. WRITE 'no devision by zero'.
这里的(dbz)相当于java中的一个封装类,执行WRITE,将输出双引号里面的内容,(1)(2)执行出来结果一样。其实呢,反正呢有和没有没多大区别。
(3)DATA: BEGIN OF MAN, NAME(20) TYPE C, HIGH TYPE P DECIMALS 2, WEIGHT TYPE P DECIMALS 2, END OF MAN.
begin......end 表局部类型结构,man就相当于一个自定义的类型,表示一行.这一行有三个字段name、high、weight。
(4)LOOP AT MAN2 INTO MAN. WRITE: / MAN-NAME,MAN-HIGH, MAN-WEIGHT. ENDLOOP.
loop 表循环,把man2的数据按man的结构循环输出
(5)SORT MAN1 DESCENDING BY WEIGHT ASCENDING. SKIP. uline. loop at man1 into man. WRITE: / MAN-NAME,MAN-HIGH, MAN-WEIGHT. ENDLOOP.
sort表排序,skip表向下(我理解为判断) 。这句话意思就是把体重按升序的方式循环输出。
(6)DATA: C11(2) TYPE C, C12(2) TYPE C, C13(2) TYPE C, C14(2) TYPE C, C15(20) TYPE C VALUE '11 * 22 * 33 * 44', C19(2) TYPE C. C19 = '*'. SPLIT C15 AT C19 INTO C11 C12 C13 C14. WRITE: / C11, C12, C13, C14.
这个输出结果为: 11 22 33 44 。这里的Split表示分割,以c19为索引将c15分割并赋给C11 C12 C13 C14,然后输出C11 C12 C13 C14的值
小知识
** 求幂
DIV 整除取正
MOD整除取余
TYPE 定义数据类型
DATA 定义数据对象
Ctrl+“,”一次性多行注释
write / 这个表示换行(java中的 /n)
sy-subrc 返回码 (一般返回码为0,为正确结果,表判断)
最最最重要的:
“=”、“+”、“-”等运算符和数据对象之间至少有一个空格,check报含有运算符出错的,多半都是因为没有空格。