SAPABAP程序设计基础教程第5章ABAP字典库对象.ppt
第5章ABAP字典库对象,SAP 系统数据建模层次,SAP 航班数据模型,航班关系数据模型,用透明表实现航班关系数据模型,数据元素和数据域,透明表定义的三层结构,ABAP字典库中的结构体类型SBC400FOCC,采用ABAP字典库对象定义内存变量,采用ABAP字典库中字段或Data Elemenet定义屏幕变量的好处,采用MOVE-CORRESPONDING语句进行两个结构体之间的同名字段拷贝,内表,运行期的内表是一个内存数据对象,在该数据对象中可以保存多个具有相同结构的结构化数据记录,内表的尺寸由ABAP运行环境自动进行扩展,内表中的记录数量仅限于系统的可用内存限制,内表中的行(Table rows)也叫表条目(Table entries)。,内表的使用场合,内表的属性,内表的属性、表类型及表访问方式,采用全局内表数据类型定义内表数据对象,通过局部内表数据类型来定义内表变量,通过局部结构体类型定义内表,常用的声明一个内表数据对象的方式,内表的表工作区,内表的表工作区wa与Header LINE,访问内表的单行,访问内表的的多行,用LOOP循环读取内表的多行的常用方法,COLLECT,将一个内表中,具有相同键值的行中的同名数字型字段的值累计到一条记录上,因此只有非表键字段被累加;当在内表中找不到指定的被累加的行时COLLECT语句的功能与INSERT操作是一样的,即会将一个工作区的内容插入到内表中。使用COLLECT操作的内表有一个限制,即:该内表的行结构中,除了表键字段以外的所有字段都必须的是数字型(i、p、f)。COLLECT wa INTO itab.,删除内表的内容,REFRESH:用法:REFRESH itab.功能是删除内表itab中的全部内容,但是部分前期使用过的内存将被保留以备将来插入数据时使用。CLEAR:用法:CLEAR itab.对于没有HEAD LINE的内表来说,其作用与REFRESH itab.等价;对于具有HEAD LINE的内表来说,其作用是仅仅清空HEAD LINE中的内容。FREE:用法:FREE itab.删除内表itab的全部内容,并且释放所有被内表占用的内存。一般确定在程序中不再使用某个内表数据对象时,可使用该语句将内表删除。,制作输入帮助(Input Help)-使用固定值,创建Data Element,输入Data Element的属性,输入Data Element的属性,创建Domain的方法,为Domain指定固定值,制作输入帮助(Input Help)-使用检查表,为Domain指定Value Table,检查表与被检查表,例子:,Domain“S_CARR_ID”上定义的检查表“SCARR”,查看Check Field的外键分配情况,外键表SPFLI与主键表SCARR的外键连接关系,外键表SPFLI与主键表SCARR的外键连接关系-界面字段校验,创建ABAP字典库对象,创建结构体(structure)-1,创建结构体(structure)-2,创建结构体(structure)-3,创建透明表-1,创建透明表-2,创建透明表-3,在SE11主窗口选择“”,创建透明表-4,创建透明表-5,创建透明表-6,创建透明表-7,