内表和工作区的概念是ABAP中非常重要的概念,很多处理都是以内表和工作区作为基础!今天总结一下内表和工作区的定义方法。
目前标准通用的定义方法步骤为标准定义方法:
1,先定义结构(ty_name)
2,参照结构定义工作区域(wa_name)
3,参照结构定义内部表(it_name)
例如:TYPES:BEGIN OF ty_lfb1 ,
bukrs TYPE lfb1-bukrs,
lifnr TYPE lfb1-lifnr,
END OF ty_lfb1.
DATA wa_lfb1 TYPE ty_lfb1.
DATA it_lfb1 TYPE STANDARD TABLE OF ty_lfb1 .这种定义方法是目前比较提倡的定义方法,内表和工作区非常用以区分,不易混乱,代码的可读性也高!
除此之外还有使用occurs 定义内表和工作区的,如:
data : begin of it_name occurs 0,
field1 type c,
field2 type c,
end of it_name. 这样定义比较简洁,但是在程序中内表和工作区不易区分,代码的可读性不好!为了区分内表和工作区,用it_name表示工作区用it_name[]表示内表!这种定义方法在有些项目中还在使用!
还有这样定义内表的:
data : begin of wa_name,
filed1 type c,
filed2 type c,
end of wa_name.
data : it_name like wa_name occurs 0 with header line. 在这种那中定义方法中like是不能换成type的大家有兴趣的可以试试···