2009-4-7
对于form的形参,对于p,n,x,c这样的类型来定义形参时,可以先定义个本地类型,通过本地类型来定义形参,这样可以保证类型的完整性。
INITIALIZATION block是旧版本的,只是为了向下兼容而保留的并且只在报表中可以使用。LOAD-OF-PROGRAM则是任何类型程序的第一个时间可以用来初始化只在运行时才能初始化的变量。
2009-4-14
Selection screen Variant是集团相关的
ABAP有三种processing block即event block,subroutine和module block,程序启动时,所有的全局变量首先在内存中产生,声明性的语句不属于ABAP的任何一种processing block,他是在运行时编译程序时产生的。
2009-4-15
SCREEN的字段可以通过程序中的全局变量定义,但是这些变量必须存在于程序的激活版本中。
DATA TRANSPORT FROM PROGRAM TO SCREEN是在PBO完全执行之后发生的,DATA TRANSPORT FROM SCREEN TO PROGRAM是PAI完全执行之前发生的。
2009-4-16
Module block中不存在本地变量。
SET SCREEN NNN,NNN代表屏幕编号,表示屏幕PAI执行完之后跳到那个屏幕,如果NNN为0,则会跳到调用该屏幕语句所在block的下一个语句。
ABAP中A INNER JOIN B,A,B的位置决定了A,B谁来限定谁,即先到数据库中的那个表中取数据,INNER JOIN左边的是限制条件,通过下面的语句,在SE30和ST05中测试得到的结果。
SELECT MARA~MATNR MAKT~MAKTX INTO TABLE IT_MARA
FROM MAKT INNER JOIN MARA
ON MARA~MATNR = MAKT~MATNR
WHERE MAKT~MATNR BETWEEN '123' AND '123' AND
MARA~LVORM <> 'X'.