逻辑数据库.docx
- 文档编号:29394582
- 上传时间:2023-07-23
- 格式:DOCX
- 页数:40
- 大小:40.88KB
逻辑数据库.docx
《逻辑数据库.docx》由会员分享,可在线阅读,更多相关《逻辑数据库.docx(40页珍藏版)》请在冰豆网上搜索。
逻辑数据库
第一十章1逻辑数据库的特征和维护
概览
内容
逻辑数据库的特征
逻辑数据库的任务
逻辑数据库的基本特征
逻辑数据库的授权检查
逻辑数据库的性能
逻辑数据库示例
创建和维护逻辑数据库
创建逻辑数据库
处理结构
编辑选择
编辑数据库程序
编辑选择文本
编辑匹配码选择
编辑文档
其它编辑选项
编辑数据模型
检查逻辑数据库
复制逻辑数据库
删除逻辑数据库
逻辑数据库是ABAP/4报表读取和处理数据的方法。
每个ABAP/4报表都链接到报表属性指定的逻辑数据库中。
逻辑数据库有个三字符的名称(例如,KDF),其最后字母表示应用。
定义报表属性时如果不指定逻辑数据库的名称,则系统使用控制选择屏幕格式的标准数据库,但不读取任何数据。
在本节中,还可以了解
有关逻辑数据库的其它节:
通过逻辑数据库访问数据的一般介绍,参见
使用逻辑数据库访问数据库表。
关于如何使用报表中连接到选定屏幕的逻辑数据库的信息,参见
选择屏幕与逻辑数据库(页2–2)
关于在报表中如何分析逻辑数据库读取的数据的信息,参见
通过事件控制ABAP/4程序流(页4–1)
1逻辑数据库的特征
逻辑数据库能提高数据库访问的效率并且提供易于使用和生成的用户界面。
在下列主题中,可以了解
关于逻辑数据库的示例,参见
1逻辑数据库的任务
逻辑数据库允许集中编程几个不同的任务。
例如,在逻辑数据库中集中编码用户界面格式和数据库访问,以避免报表的应用逻辑去处理技术细节。
逻辑数据库可以执行下列任务:
_如果几个报表读取相同数据,则可以在单个逻辑数据库中编码读取访问。
对于单个报表,不再需要知道所涉及的数据库表的确切结构(特别是外来关键字相关性)。
但是,可以肯定当执行GET事件时将以正确的顺序检索该项。
_如果要为几个报表使用相同用户界面,则可以使用逻辑数据库的选择屏幕轻易地达到目的。
要达到必要的适应性,可以生成自己的选择屏幕版本。
_在逻辑数据库中集中编码重要(以及敏感的)数据的授权检查,以使它们不受单个报表的影响。
_如果要提高响应时间,则逻辑数据库允许采取多种措施达到目的(例如使用视图替代嵌入的SELECT语句)。
这些在所有相关报表中立即生效并且避免修改源代码。
2逻辑数据库的基本特征
下列定义解释了逻辑数据库的基本特征:
定义
ABAP/4报表使用逻辑数据库读取和处理数据。
报表可用的数据顺序取决于相关逻辑数据库的层次结构。
逻辑数据库也提供用户对话框(即选择平幕)的界面并且将用户输入检查和错误对话组合起来。
可以在报表中修改并扩展该界面。
该定义由逻辑数据库格式实现:
格式
逻辑数据库包括至少下列三个组件:
_结构
结构是逻辑数据库的基本组件。
它决定其它组件的结构以及运行时逻辑数据库的行为。
逻辑数据库结构(页10–4)
_选择
该组件决定每个报表的用户界面。
其格式通常由结构决定。
可以调整和扩展选择以适应需要。
逻辑数据库选择(页10–5)
_数据库程序
数据库程序是选择数据并将其传递到报表的子程序集合。
数据库程序的格式由结构和选择共同决定。
可以调整和扩展数据库程序以适应需要。
逻辑数据库的数据库程序(页10–6)
其它组件诸如文档、特定语言文本和用户定义选择屏幕将进一步扩展功能。
逻辑数据库允许模块化报表中使用的应用程序:
逻辑数据库和报表
逻辑数据库程序中的子程序和报表的处理块,其中将逻辑数据库指定为属性,组成执行数据库访问的模块化系统。
与逻辑数据库的结构和选择屏幕分开,报表中的GET语句决定运行时数据库的行为。
逻辑数据库和ABAP/4报表(页10–10)
2逻辑数据库结构
通常,逻辑数据库反映SAP系统中层次表格的外来关键字相关性。
(参见使用逻辑数据库访问数据(页1–1))。
逻辑数据库有定义如下的层次结构:
_最高层只有一个节点,称为根节点。
_每个节点可以有一个或几个分支。
_每个节点从其它节点派生。
必须在ABAP/4字典中定义节点结构。
一般地,这些结构都是逻辑数据库为进一步评估而读取并传递到ABAP/4报表的数据库表格结构。
但是,使用不带下面数据库的ABAP/4字典有时也是可能并有用的。
由于技术原因,在逻辑数据库结构中节点数目有上限(MAX)。
上限如下计算:
_LEN=结构中名称的最大长度(例如7)。
_MAX=1200/LEN(例如1200/7=171)。
ABAP/4报表可以在逻辑数据库的结构中为每个节点包含GET语句。
运行时按层次结构中所定义的顺序执行处理块。
如果报表没有为逻辑数据库的每个节点包含GET语句,则处理块传递给位于从根到GET语句指定节点路径上的所有节点。
假定LFA1是根节点,LFBK和LFB1是LFA1的分支,并且LFC1是LFB1的分支。
如果报表为所有节点都包含GET语句,则以LFA1、LFBK、LFB1、LFC1的顺序执行GET事件。
如果报表只对LFB1包含GET语句,则处理只传递到LFA1和LFB1。
关于结构如何影响选择和数据库程序的详细信息,参见创建和维护逻辑数据库(页10–18)。
3逻辑数据库选择
在逻辑数据库中,可以使用SELECT-OPTIONS和PARAMETERS语句在选择屏幕上定义输入字段。
通过称为选择包含程序的特定包含程序的帮助可达此目的。
在每个ABAP/4报表中,可以通过定义报表特定选择扩展逻辑数据库选择。
所有报表特定选择都显示在特定数据库选择之后。
生成报表的选择平幕时,系统只考虑数据库的特定选择标准和参数,其相应表格(由选择包含程序中的SELECT-OPTIONS和PARAMETERS语句的FOR选项定义,参见编辑选择(页10–24))由报表中的TABLES语句声明。
假定逻辑数据库程序包含下列行:
SELECT-OPTIONSSLIFNRFORLFA1-LIFNR.
PARAMETERSPBUKRSLIKELFB1-BUKRSFORTABLELFB1.
选择标准SLIFNR链接到表格LFA1,参数PBUKRS链接到表格LFB1。
如果报表中的TABLES语句声明LFA1但未声明LFB1,则在选择屏幕上显示SLIFNR,但不显示PBUKRS。
可以通过逻辑数据库包含程序中的SELECTION-SCREEN语句格式化选择屏幕(例如,通过定义框、按钮、单选按钮和空行,或者通过在一行中写入几个PARAMETER)(参见格式化选择标准(页2–30))。
通过使用带SELECT-OPTIONS和PARAMETERS语句的附加VALUE-REQUEST和HELP-REQUEST,可以显示选择屏幕字段的可能输入值和字段文档(参见相应关键字文档)。
动态选择
动态选择除了允许用户在逻辑数据库选择包含程序中已定义的选择标准之外,另外还允许定义进一步的选择。
由于性能原因,应该只为不是特定表格的选择,在报表中的GET事件过程中,而使用带CHENK语句的选择标准(参见有条件地离开GET事件(页4–26))。
否则,直到数据库访问之后才执行选择。
另一方面,动态选择在逻辑数据库的数据库访问期间已经生效。
要支持数据库表格
SELECTION-SCREENDYNAMICSELECTIONSFORTABLE
这种情况下,如果在报表中使用表格
按该按钮允许用户为由逻辑数据库定义的字段输入动态选择(参见选择标准与逻辑数据库(页2–2))。
为事件关键字GET
在ABAP/4开发工作台中,用户可以以逻辑数据库选择视图的格式定义动态选择的字段列表。
这些视图由其来源(‘CUStomer’的‘SAP’或者‘CUS’)标识,逻辑数据库名称和带有此处描述的选择屏幕的功能名称必须总是‘STANDARD’。
只有未创建带源‘CUS’的选择视图时,系统才使用带源‘SAP’的选择视图。
这样,用户可以为其所需定义最好的逻辑数据库选择视图。
定义选择屏幕版本
逻辑数据库选择屏幕(屏幕号1000)有标准的格式,其中选择标准和参数以声明的顺序显示在各行中。
系统为每个没有在属性中指定选择屏幕的报表自动生成该屏幕。
如果要为报表消除某个逻辑数据库选择屏幕的输入字段,则可以在选择包含程序中定义选择屏幕版本(屏幕号小于或等于999)并且将其输入报表属性。
通过按F4,可以得到相关逻辑数据库中定义的选择屏幕版本概述。
使用SELECTION-SCREENBEGIN|ENDOFVERSION和SELECTION-SCREENEXCLUDE语句定义选择屏幕版本。
后一语句允许指定想要从选择屏幕版本中排除的对象(参见编辑选择(页10–24))。
使用SELECTION-SCREEN语句,可以定义其它格式。
如果报表属性包含选择屏幕版本号,则系统在生成选择屏幕时将该版本号用作模型。
自动为选择屏幕版本生成屏幕流逻辑并因而不能修改。
特别不允许删除特定数据库选择。
选择屏幕版本替代3.0版本之前所使用的特定用户选择屏幕。
关于选择屏幕和PARAMETERS、SELECT-OPTIONS以及SELECTION-SCREEN语句的详细信息,参见使用选择屏幕(页2–1)。
4逻辑数据库的数据库程序
逻辑数据库
重要的是,它包括系统在运行ABAP/4报表时调用的子程序集合。
报表中带事件关键字的子程序之间的相互作用,在逻辑数据库和ABAP/4报表(页10–10)中进行了描述。
逻辑数据库的结构决定PUT语句的行为,该语句在子程序PUT_