参考的比较典型的ABAP代码:
Zsd010r
zsd015f
zsd025r
Zfi001F
Zfi002F
T-Code:ST05,SE38,SE37,SE93,SE73,ABAPhelp
Zsd010r
zsd015f
zsd025r
Zfi001F
Zfi002F
T-Code:ST05,SE38,SE37,SE93,SE73,ABAPhelp
1
、ST05是用于在开发ABAP程序时,对应事务码取得的字段是“数据结构”而不是“透明表”的时候,通过ST05的“SQL跟踪”来获得相关“Select”的语句;一般查看“REC”列耗时比较多的“Select”语句;
2
、跟踪时如果有涉及到“数量”这类有对数据表进行更新或插入操作的,则直接去查Update和Insert的SQL语句;
3
、在跟踪后,直接双击“对象名”列的名称,点选“表格字段”转到“SE11”的表字段表;
4
、ABAP程序开头的Tables:“数据表名”,只有在屏幕中有用到的表,才需要声明;在程序中用到的表则不需要进行在Tables内声名;
5
、抓SAP“文本”字段的数据,要先自定义变量,然后通过SE37的函数“
FUNCTION ’ZREAD_TEXT’
”取回文本数据;
6
、新建的ABAP程序,在测试运行的时候要先进行“激活”,才能测试运行;
7、 SE93: 把 ABAP 写好的程序指定一个事务码执行;
7、 SE93: 把 ABAP 写好的程序指定一个事务码执行;
8、abap引号内的字符’’必须要是大写;
9、ABAP select 里面的语句,不能像mssql有那么丰富的函数使用,需要导到内表后再对数据进行操作;
10、’EQ’是单个数据值,’BT’是between区间的意思。
11、在写select inner join 里面,要注意是否需要加上销售组织的条件;on 条件1 and 销售组织条件。
12、SELECTION-SCREEN,里面有两个子项,PARAMETERS和select-options。
PARAMETERS一般是用于必输项的屏幕参数设置,如果这个参数不是必输项的,就要用select-options。在select ...where条件里,用PARAMETERS的条件语法是“数据字段 = 屏幕字段”;而select-options的条件语法是“数据字段 in 屏幕字段”。
13、在where判断一个日期型数据是空,不是DEAKT = ’’,也不是DEAKT is initial,而应该写成DEAKT = ’00000000’ (8个0)。
14、一对多的inner join,如果取出的数据有重复,前面加上distinct,用法和MSSQL相同。
15、sy-subrc,指上一个语句执行是否成功;执行成功返回0,执行不成功返回非0。用if判断。
9、ABAP select 里面的语句,不能像mssql有那么丰富的函数使用,需要导到内表后再对数据进行操作;
10、’EQ’是单个数据值,’BT’是between区间的意思。
11、在写select inner join 里面,要注意是否需要加上销售组织的条件;on 条件1 and 销售组织条件。
12、SELECTION-SCREEN,里面有两个子项,PARAMETERS和select-options。
PARAMETERS一般是用于必输项的屏幕参数设置,如果这个参数不是必输项的,就要用select-options。在select ...where条件里,用PARAMETERS的条件语法是“数据字段 = 屏幕字段”;而select-options的条件语法是“数据字段 in 屏幕字段”。
13、在where判断一个日期型数据是空,不是DEAKT = ’’,也不是DEAKT is initial,而应该写成DEAKT = ’00000000’ (8个0)。
14、一对多的inner join,如果取出的数据有重复,前面加上distinct,用法和MSSQL相同。
15、sy-subrc,指上一个语句执行是否成功;执行成功返回0,执行不成功返回非0。用if判断。