ABAP语法详解教材 第110章 逻辑数据库的特征和维 护
更新时间:2024-01-12 18:57:01 阅读量: 教育文库 文档下载
- abap新语法推荐度:
- 相关推荐
1第十章 逻辑数据库 的特征和维 护 概览
内容
逻辑数据库 的特征 ........................................................................................................................... 1
逻辑数据库 的任务 ..................................................................................................................... 1 逻辑数据库 的基本特征 .............................................................................................................. 2 逻辑数据库 的授权检查 .............................................................................................................. 8 逻辑数据库 的性能 ..................................................................................................................... 8 逻辑数据库 示例 ......................................................................................................................... 9 创建和维护 逻辑数据库 ................................................................................................................ 11 创建逻辑数 据库 ..................................................................................................................... 11 处理结构 ................................................................................................................................. 12 编辑选择 ................................................................................................................................. 13 编辑数据库 程序 ..................................................................................................................... 14 编辑选择文 本 ........................................................................................................................ 18 编辑匹配码 选择 ..................................................................................................................... 19 编辑文档 ................................................................................................................................. 21 其它编辑选 项 ........................................................................................................................ 21 编辑数据模 型 ........................................................................................................................ 21 检查逻辑数 据库 ..................................................................................................................... 22 复制逻辑数 据库 ..................................................................................................................... 22 删除逻辑数 据库 ..................................................................................................................... 22
逻辑数据库 是 ABAP/4 报表读取和 处理数据的 方法。每个 ABAP/4 报表都链接 到报表属性 指定的逻辑 数据库中。
逻辑数据库 有个三字符 的名称(例 如,KDF) ,其最后字 母表示应用 。定义报表 属性时如果 不指定逻辑 数据库的名 称,则系统 使用控制选 择屏幕格式 的标准数据 库,但不读 取任何数据 。 在本节中, 还可以了解
有关逻辑数 据库的其它 节:
通过逻辑数 据库访问数 据的一般介 绍,参见
使用逻辑数据库访问数据库表 (页 Error! Not a valid link.) 。
关于如何使 用报表中连 接到选定屏 幕的逻辑数 据库的信息 ,参见 选择屏幕与 逻辑数据库 (页 错误!链接无效。)
关于在报表 中如何分析 逻辑数据库 读取的数据 的信息,参 见 通过事件控制 ABAP/4 程序流 (页 错误!链接无效。)
逻辑数据库 的特征
逻辑数据库 能提高数据 库访问的效 率并且提供 易于使用和 生成的用户 界面。 在下列主题 中,可以了 解 关于逻辑数 据库的示例 ,参见
逻辑数据库 的任务
逻辑数据库 允许集中编 程几个不同 的任务。例 如,在逻辑 数据库中集 中编码用户 界面格式和 数据库访问 ,以避免报 表的应用逻 辑去处理技 术细节。逻 辑数据库可 以执行下列 任务:
如果几个 报表读取相 同数据,则 可以在单个 逻辑数据库 中编码读取 访问。对于 单
个报表, 不再需要知 道所涉及的 数据库表的 确切结构( 特别是外来 关键字相关 性)。但是 ,可以肯定 当执行 GET 事件时将以 正确的顺序 检索该项。
如果要为 几个报表使 用相同用户 界面,则可 以使用逻辑 数据库的选 择屏幕轻易
地达到目的 。要达到必 要的适应性 ,可以生成 自己的选择 屏幕版本。 在逻辑数 据库中集中 编码重要( 以及敏感的 )数据的授 权检查,以 使它们不受 单
个报表的 影响。
如果要提 高响应时间 ,则逻辑数 据库允许采 取多种措施 达到目的( 例如使用视 图
替代嵌入 的 SELECT 语句)。这 些在所有相 关报表中立 即生效并且 避免修改源 代码。
2
逻辑数据库 的基本特征
下列定义解 释了逻辑数 据库的基本 特征:
定义 ABAP/4 报表使用逻 辑数据库读 取和处理数 据。报表可 用的数据顺 序取决于相 关逻辑数据 库的层次结 构。逻辑数 据库也提供 用户对话框 (即选择平 幕)的界面 并且将用户 输入检查和 错误对话组 合起来。可 以在报表中 修改并扩展 该界面。 该定义由逻 辑数据库格 式实现: 格式 逻辑数据库 包括至少下 列三个组件 : 结构 结构是逻辑 数据库的基 本组件。它 决定其它组 件的结构以 及运行时逻 辑数据库的 行为。 逻辑数据库 结构 (页 2) 选择 该组件决定 每个报表的 用户界面。 其格式通常 由结构决定 。可以调整 和扩展选择 以适应需要 。 逻辑数据库 选择 (页 3) 数据库程 序 数据库程序 是选择数据 并将其传递 到报表的子 程序集合。 数据库程序 的格式由结 构和选择共 同决定。可 以调整和扩 展数据库程 序以适应需 要。 逻辑数据库 的数据库程 序 (页 4) 其它组件诸 如文档、特 定语言文本 和用户定义 选择屏幕将 进一步扩展 功能。 逻辑数据库 允许模块化 报表中使用 的应用程序 :
逻辑数据库 和报表 逻辑数据库 程序中的子 程序和报表 的处理块, 其中将逻辑 数据库指定 为属性,组 成执行数据 库访问的模 块化系统。 与逻辑数据 库的结构和 选择屏幕分 开,报表中 的 GET 语句决定运 行时数据库 的行为。 逻辑数据库 和 ABAP/4 报表 (页 6)
逻辑数据库 结构
通常,逻辑 数据库反映 SAP 系统中层次 表格的外来 关键字相关 性。(参见 使用逻辑数据库访问数据 (页 错误!链接无效。) )。
逻辑数据库 有定义如下 的层次结构 :
最高层只 有一个节点 ,称为根节 点。 每个节点 可以有一个 或几个分支 。 每个节点 从其它节点 派生。
必须在 ABAP/4 字典中定义 节点结构。 一般地,这 些结构都是 逻辑数据库 为进一步评 估而读取并 传递到 ABAP/4 报表的数据 库表格结构 。但是,使 用不带下面 数据库的 ABAP/4 字典有时也 是可能并有 用的。
3由于技术原 因,在逻辑 数据库结构 中节点数目 有上限(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。 关于结构如 何影响选择 和数据库程 序的详细信 息,参见 创建和维护 逻辑数据库 (页 11) 。
逻辑数据库 选择
在逻辑数据 库中,可以 使用 SELECT-OPTIONS 和 PARAMETERS 语句在选择 屏幕上定义 输入字段。 通过称为选 择包含程序 的特定包含 程序的帮助 可达此目的 。在每个 ABAP/4 报表中,可 以通过定义 报表特定选 择扩展逻辑 数据库选择 。所有报表 特定选择都 显示在特定 数据库选择 之后。
生成报表的 选择平幕时 ,系统只考 虑数据库的 特定选择标 准和参数, 其相应表格 (由选择包 含程序中的 SELECT-OPTIONS 和 PARAMETERS 语句的 FOR 选项定义, 参见 编辑选择 (页 13) )由报表中 的 TABLES 语句声明。
假定逻辑数 据库程序包 含下列行: SELECT-OPTIONS SLIFNR FOR LFA1-LIFNR. PARAMETERS PBUKRS LIKE LFB1-BUKRS FOR TABLE LFB1. 选择标准 SLIFNR 链接到表格 LFA1, 参数 PBUKRS 链接到表格 LFB1。 如果报表中 的 TABLES 语句声明 LFA1 但未声明 LFB1, 则在选择屏 幕上显示 SLIFNR, 但不显示 PBUKRS 。 可以通过逻 辑数据库包 含程序中的 SELECTION-SCREEN 语句格式化 选择屏幕( 例如,通过 定义框、按 钮、单选按 钮和空行, 或者通过在 一行中写入 几个 PARAMETER) (参见 格式化选择标准 (页 错误!链接无效。) )。
通过使用带 SELECT-OPTIONS 和 PARAMETERS 语句的附加 VALUE-REQUEST 和 HELP-REQUEST, 可以显示选 择屏幕字段 的可能输入 值和字段文 档(参见相 应关键字文 档)。 动态选择
动态选择除 了允许用户 在逻辑数据 库选择包含 程序中已定 义的选择标 准之外,另 外还允许定 义进一步的 选择。由于 性能原因, 应该只为不 是特定表格 的选择,在 报表中的 GET 事件过程中 ,而使用带 CHENK 语句的选择 标准(参见 有条件地离 开 GET 事件 (页 错误!链接无效。) )。否则, 直到数据库 访问之后才 执行选择。
另一方面, 动态选择在 逻辑数据库 的数据库访 问期间已经 生效。要支 持数据库表 格
SELECTION-SCREEN DYNAMIC SELECTIONS FOR TABLE
这种情况下 ,如果在报 表中使用表 格
在 ABAP/4 开发工作台 中,用户可 以以逻辑数 据库选择视 图的格式定 义动态选择 的字段列表 。这些视图 由其来源( ‘CUStomer’ 的‘SAP’ 或者‘CUS’ )标识,逻 辑数据库名 称和带有此 处描述的选 择屏幕的功 能名称必须 总是‘STANDARD’ 。只有未创 建带源‘CUS’ 的选择视图 时,系统才 使用带源‘ SAP’的 选择视图。 这样,用户 可以为其所 需定义最好 的逻辑数据 库选择视图 。
4定义选择屏 幕版本
逻辑数据库 选择屏幕( 屏幕号 1000 )有标准的 格式,其中 选择标准和 参数以声明 的顺序显示 在各行中。 系统为每个 没有在属性 中指定选择 屏幕的报表 自动生成该 屏幕。
如果要为报 表消除某个 逻辑数据库 选择屏幕的 输入字段, 则可以在选 择包含程序 中定义选择 屏幕版本( 屏幕号小于 或等于 999 )并且将其 输入报表属 性。通过按 F4,可以 得到相关逻 辑数据库中 定义的选择 屏幕版本概 述。使用 SELECTION-SCREEN BEGIN|END OF VERSION 和 SELECTION-SCREEN EXCLUDE 语句定义选 择屏幕版本 。后一语句 允许指定想 要从选择屏 幕版本中排 除的对象( 参见 编辑选择 (页 13) )。使用 SELECTION-SCREEN 语句,可以 定义其它格 式。 如果报表属 性包含选择 屏幕版本号 ,则系统在 生成选择屏 幕时将该版 本号用作模 型。自动为 选择屏幕版 本生成屏幕 流逻辑并因 而不能修改 。特别不允 许删除特定 数据库选择 。 选择屏幕版 本替代 3.0 版本之前所 使用的特定 用户选择屏 幕。
关于选择屏 幕和 PARAMETERS、 SELECT-OPTIONS 以及 SELECTION-SCREEN 语句的详细 信息,参见 使用选择屏幕 (页 错误!链接无效。) 。
逻辑数据库 的数据库程 序
逻辑数据库
报表中带事 件关键字的 子程序之间 的相互作用 ,在 逻辑数据库 和 ABAP/4 报表 (页 6) 中进行了描 述。
逻辑数据库 的结构决定 PUT 语句的行为 ,该语句在 子程序 PUT_ 中很重要( 参见下面) 。 逻辑数据库 程序通常包 含 定义子程序 (页 错误!链接无效。). 中描述的下 列子程序, 并且都使用 FORM 语句定义。
FORM INIT
在显示选择 屏幕之前调 用一次。 FORM PBO
每次刷新选 择屏幕之前 调用。 FORM PAI
用户每次在 选择屏幕上 按 ENTER 时调用。
系统将参数 FNAME 和 MARK 传递给子程 序,这些参 数自动定义 和填充。 - FNAME 包含选择屏 幕上选择标 准或参数的 名称。 - MARK 说明用户所 做的选择:
MARK = SPACE 意味着用户 已经输入简 单的单值或 范围选择。 MARK = '*' 意味着用户 已经在“多 重选择”屏 幕上制作条 目。
FORM PUT_
以逻辑数据 库结构决定 的顺序调用 子程序。使 用 SELECT 语句读取节 点 的数据,并 且 PUT 语句将程序 流定向到报 表中合适的 GET 语句中。PUT 语句是该子 程序的主语 句:
语法
PUT < table >.
只能在逻辑 数据库子程 序中使用 PUT 语句,该逻 辑数据库包 含以 PUT_< table > 开头的名称 的节点 。
PUT 语句根据逻 辑数据库的 结构定向程 序流。读取 深度由有关 报表中的 GET 语句决定。 首先,为根 节点执行子 程序 PUT_
由 PUT 语句自动调 用。在该子 程序中,可 以从逻辑数 据库结构中 为合适的节 点 指定授权检 查。 FORM PUT_
在带有选定 匹配码记录 的匹配码选 择的情况下 调用。
FORM BEFORE_EVENT, AFTER_EVENT
在事件之前 或之后调用 ,其名称在 参数 EVENT 中传递。
6 用如下方式 给字段 EVENT 赋值: EVENT = 'START-OF-SELECTION'. 然后可以在 BEFORE_EVENT 和 AFTER_EVENT 子程序的列 表中使用它 。 FORM
当用户按 F4 以获取参数
FORM
当用户按 F1 以获取参数
关于该主题 的详细信息 ,参见:
创建和维护 逻辑数据库 (页 11)
带附加 VALUE-REQUEST 和 HELP-REQUEST的 SELECT-OPTIONS 关键字文档 带附加AS MATCHCODE STRUCTURE、 VALUE-REQUEST 和 HELP-REQUEST的
PARAMETERS 关键字文档
逻辑数据库 和 ABAP/4 报表
生成 ABAP/4 报表时的逻 辑数据库
每个 ABAP/4 报表都链接 到报表属性 中指定的逻 辑数据库上 。该逻辑数 据库将影响 报表的生成 :
生成的选 择屏幕包含 逻辑数据库 选择(选择 标准和参数 )和报表。 在选择屏 幕上,只显 示报表中与 数据评估相 关的特定数 据库选择。 链接到逻辑 数据库的报 表的运行行 为
当执行链接 到逻辑数据 库的报表时 ,系统以特 定顺序调用 一系列处理 块(参见 ABAP/4 处理程序 (页 错误!链接无效。) )。某些处 理在报表中 编码而某些 则在逻辑数 据库程序中 编码。
在数据库程 序 SAPDB
1. 在显 示选择屏幕 之前初始化 (例如,关 键数据的默 认值) PBO。
- 子程序 :
FORM INIT
在第一次显 示选择屏幕 之前调用一 次该子程序 。 FORM PBO.
每次刷新选 择屏幕时调 用该子程序 (在用户按 ENTER 之后)。 - 事件:
INITIALIZATION.
在第一次显 示选择屏幕 之前发生该 事件(参见 INITIALIZATION (页 错误!链接无效。) )。
AT SELECTION-SCREEN OUTPUT.
该事件在每 次刷新选择 屏幕时发生 (参见 选择屏幕的 PBO (页 错误!链接无效。) )。
2. 系统 显示选择屏 幕,用户在 输入字段中 输入数据。
3. 当用 户在选择屏 幕上按 F4 或 F1 时,显示可 能的条目和 帮助。
- 子程序 :
7FORM
FORM
FORM
如果用户请 求特定数据 库参数
如果用户请 求这些参数 的帮助 (F1) ,则调用以 _HLP 而不是 _VAL 结尾的子程 序。 - 事件:
AT SELECTION-SCREEN ON VALUE-REQUEST FOR
AT SELECTION-SCREEN ON VALUE-REQUEST FOR
4. PAI, 系统检查用 户输入是否 正确、完整 和可行,还 检查用户授 权。如果检 测到
错误, 则导出个与 用户间的对 话并要求再 次输入某些 条目,以便 矫正错误。 - 子程序 :
FORM PAI USING FNAME MARK.
系统决定并 填充字段 FNAME 和 MARK。
FNAME 包含选择屏 幕上的选择 标准或参数 的名称。
如果 MARK = SPACE, 则用户已经 输入简单单 值或范围选 择。 如果 MARK = '*',则 用户已经在 “多重选择 ”屏幕上输 入选择。
联合使用 FNAME = '*' 和 MARK = 'ANY', 则可以在用 户选择“确 定”后立即 检查所有条 目。 - 事件:
AT SELECTION-SCREEN ON
在处理特定 输入字段之 后的事件。 必须在报表 中指定字段
AT SELECTION-SCREEN ON END OF
在处理多重 选择之后的 事件。必须 在报表中指 定字段
用户通过选 择“确定” 显示整个选 择屏幕之后 的事件。参 见 AT SELECTION-SCREEN (页 错误!链接无效。).。
5. 逻辑 数据库中的 数据选择和 ABAP/4 报表中的处 理
- 子程序 :
FORM PUT_.
逻辑数据库 读取节点 的选择。 - 事件:
START-OF-SELECTION.
在该事件中 ,ABAP/4 报表执行准 备工作(例 如从文件输 入数据)。 参见 START-OF-SELECTION (页 错误!链接无效。) 。 GET [LATE].
报表处理以 逻辑数据库 结构决定的 顺序读自 的数据(参 见 GET
(页 错误!链接无效。) and GET LATE (页 错误!链接无效。))。 END-OF-SELECTION.
在该事件中 ,ABAP/4 报表执行结 束操作(例 如,计算总 计,向文件 输出数据) 。参见 END-OF-SELECTION (页 错误!链接无效。) 。 假定 TABLE1 是根节点并 且 TABLE2 是其在逻辑 数据库中仅 有的子程序 。这种情况 下,数据选 择的处理步 骤嵌套和处 理如下: 1. START-OF-SELECTION. 报表中的准 备步骤。 2. FORM PUT_TABLE1. 在数据库程 序中循环读 取 TABLE1 83. GET TABLE1. 报表中 TABLE1 的数据处理 4. FORM PUT_TABLE2. 在数据库程 序中循环读 取 TABLE2 5. GET TABLE2. 报表中 TABLE2 的数据处理 6. GET TABLE1 LATE. 结束 TABLE1 循环,报表 中的数据处 理 7. END-OF-SELECTION. 结束报表中 的步骤。 子程序
PUT_
BEFORE_EVENT AFTER_EVENT
在程序流中 由系统在合 适点处调用 。
根据要作的 授权检查, 可以将子程 序 AUTHORITY_CHECK_ 放置在报表 中(参见 逻辑数据库 的授权检查 (页 8) )。
关于数据库 程序的详细 信息,参见 编辑数据库 程序 (页 14) 。
逻辑数据库 的授权检查
通常,可以 在下列数据 库程序的子 程序或者报 表的处理块 中包括授权 检查:
数据库程 序中的子程 序:
- PAI
- AUTHORITY_CHECK_ 报表中的 事件关键字 :
- AT SELECTION-SCREEN
- AT SELECTION-SCREEN ON
- AT SELECTION-SCREEN ON END OF
将授权检查 放置在数据 库程序还是 放在报表中 取决于:
逻辑数据 库的结构; 例如,如果 在运行时读 取包含公司 代码字段的 行,则应该 只
检查公司 代码授权。
性能;例 如在 SELELCT 循环中不执 行重复检查 。
在任何情况 下,数据库 访问和应用 逻辑的分离 允许在逻辑 数据库程序 中集中地编 码所有授权 。这使维护 大的编码系 统更加容易 。
逻辑数据库 的性能
因为在所有 有关的 ABAP/4 报表中更改 逻辑数据库 将立即生效 ,所以通过 集中优化可 以提高程序 库中的不同 对象的响应 时间。
通过允许用 户精确指定 系统从数据 库中读取哪 个表格条目 可以获得最 大的性能提 高。为此, 可以在数据 库程序中使 用下列技术 :
选择标准 和参数(参 见 使用选择屏幕 (页 错误!链接无效。) ),可能带 默认值和
值 列表。
动态选择 (参见 逻辑数据库 选择 (页 3) )。
匹配码选 择(参见 编辑匹配码 选择 (页 19) )。 查看从数 据库读取的 条目或者将 其存储在内 表中。
另外,应该 在早期进行 授权检查, 即尽可能在 选择屏幕处 理期间而不 是等到数据 选择处理期 间。 因为它们依 赖于读取的 数据,因此 没有优化的 步骤规则。 试图优化响 应时间时应 该知道以下 各点:
在不同级 别结构的表 格内容之间 的数字关系 十分重要。
9 如果某一级 别结构的数 据库表格的 某行包括下 一级别数据 库表格的某 行(情况 A ),则其它 优化可能对 于比例 1:100 或者 1:1000 更有意义( 情况 B )。 在情况 A 中,通过使 用数据库视 图可以提高 响应时间( 关于视图的 详细信息, 参见文档 ABAP/4 词典 (页 Error! Not a valid link.) )。 在情况 B 中,可以使 用内表。首 先从数据库 中将数据读 到内表中( 参见将数据恋 工作区中 (页 错误!链接无效。) ),然后在 逻辑数据库 中通过 LOOP/ENDLOOP 处理内表。 在情况 B 中,使用光 标处理选择 行也很有用 (参见使用光标从 数据库表中 寥⌒ (页 错误!链接无效。) )。 一些 ABAP/4 报表只参阅 带 GET 语句的层次 结构的一部 分,而其它 报表访问结
构中的所有 节点。在这 种情况下, 提高单个报 表性能有下 列选择:
- 在逻辑 数据库程序 中,使用表 格 GET_EVENTS。 使用逻辑数 据库生成报 表
之后,对 于结构的每 个节点,该 报表表示报 表中每条 GET 语句是否发 生(参见 编辑数据库 程序 (页 14) )。 - 通过在 选择 INCLUDE 中使用
SELECTION-SCREEN FIELD SELECTION FOR TABLE . 语句,可以 为字段选择 指定逻辑数 据库中的数 据库表格 (参见
SELECTION-SCREEN 的关键字文 档)。在报 表中,可以 使用合适的 GET 语句(参见 外在地指 数据库表的 字 (页 错误!链接无效。) )。
逻辑数据库 示例
假定逻辑数 据库 HKS 有下列结构 : 假定在选择 包含程序中 定义下列选 择标准: SELECT-OPTIONS: SLIFNR FOR LFA1-LIFNR, SBUKRS FOR LFB1-BUKRS, SGJAHR FOR LFC1-GJAHR, SBELNR FOR BKPF-BELNR. 下面是完整 的数据库程 序: *-------------------------------------------------------* * DATABASE PROGRAM OF THE LOGICAL DATABASE HKS *-------------------------------------------------------* PROGRAM SAPDBHKS DEFINING DATABASE HKS. TABLES: LFA1, LFB1, LFC1, BKPF. *-------------------------------------------------------* * Initialize selection screen (process before PBO) *-------------------------------------------------------* FORM INIT. .... ENDFORM. \*-------------------------------------------------------* * PBO of selection screen (process always after ENTER) *-------------------------------------------------------* FORM PBO. .... ENDFORM. \ 10*-------------------------------------------------------* * PAI of selection screen (process always after ENTER) *-------------------------------------------------------* FORM PAI USING FNAME MARK. CASE FNAME. WHEN 'SLIFNR'. .... WHEN 'SBUKRS'. .... WHEN 'SGJAHR'. .... WHEN 'SBELNR'. .... ENDCASE. ENDFORM. \*-------------------------------------------------------* * Call event GET LFA1 *-------------------------------------------------------* FORM PUT_LFA1. SELECT * FROM LFA1 WHERE LIFNR IN SLIFNR. PUT LFA1. ENDSELECT. ENDFORM. \*-------------------------------------------------------* * Call event GET LFB1 *-------------------------------------------------------* FORM PUT_LFB1. SELECT * FROM LFB1 WHERE LIFNR = LFA1-LIFNR AND BUKRS IN SBULRS. PUT LFB1. ENDSELECT. ENDFORM. \*-------------------------------------------------------* * Call event GET LFC1 *-------------------------------------------------------* FORM PUT_LFC1. SELECT * FROM LFC1 WHERE LIFNR = LFA1-LIFNR AND BUKRS = LFB1-BUKRS AND GJAHR IN SGJAHR. PUT LFC1. ENDSELECT. ENDFORM. \*-------------------------------------------------------* * Call event GET BKPF *-------------------------------------------------------* FORM PUT_BKPF. SELECT * FROM BKPF WHERE BUKRS = LFB1-BUKRS AND BELNR IN SBELNR AND GJAHR IN SGJAHR. PUT BKPF. ENDSELECT. ENDFORM. \PROGRAM 语句包含附 加 DEFINING DATABASE HKS,它 将数据库程 序定义为属 于逻辑数据 库 HKS。 用生成适当 表格工作区 的 TABLES 语句声明结 构的节点。 因为这些表 格工作区由 数据库程序 和相关的报 表共享,因 此它们变为 在逻辑数据 库和报表之 间数据传输 的界面。 子程序 INIT 和 PBO 初始化选择 屏幕。
11子程序 PAI 对选择屏幕 上的用户输 入进行授权 检查。也可 能进行可行 性和值范围 检查。如果 检查产生负 输出,则出 现适当的错 误对话框并 且相关字段 再次准备接 收输入。 根据由用户 输入的选择 标准 PUT_ 子程序读取 数据库表格 并且在报表 中调用相关 处理块。调 用子程序的 顺序由逻辑 数据库的结 构决定。 下图显示数 据库结构决 定的程序流 : 创建和维护 逻辑数据库
创建或维护 逻辑数据库 的事务是 SE36 或者 SLDB。 要进行该进 程,请选择 “工具 -> ABAP/4 工作台 -> 开发 -> 编程环境 -> 逻辑数据库 ”。 随后出现如 下显示的初 始屏幕:
在“逻辑数 据库”字段 中,输入逻 辑数据库的 名称。
要通过“显 示”或“更 改”显示或 更改逻辑数 据库,请选 择逻辑数据 库子对象。 要创建逻辑 数据库,请 选择“创建 ”
下列主题介 绍如何创建 和维护逻辑 数据库:
创建逻辑数 据库
创建逻辑数 据库时,系 统将承担大 部分工作:
通过在图 形编辑器中 定义其结构 ,可以定义 逻辑数据库 的最重要的 特征。 定义结构 后,系统自 动建议选择 包含程序。 最后,系 统使用结构 和选择生成 数据库程序 。
要全部自动 生成 ABAP/4 语句,应该 以下列次序 处理子组件 : 要创建新逻 辑数据库, 在初始屏幕 上选择“创 建”。
1. 在随 后的对话框 中,输入短 文本,用“ 创建”确认 并指定开发 级别(关于 开发
级别的 详细信息, 参见指ǔ绦蚴 性 (页 错误!链接无效。) )。
如果要更改 短文本或者 以其它语言 维护,可以 选择“细节 -> 短文本”以 后再完成此 目的。
2. 指定 结构的根节 点,例如
用“创建” 确认。
3. 逻辑 数据库现在 具有单个节 点结构。
可以按 更改结构 (页 12) 中的描述扩 展该结构。
4. 保存 该结构。系 统在此基础 上自动建议 选择包含程 序。
5. 选择 “转向 -> 选择 ”并且按 编辑选择 (页 13) 中的描述维 护包含程序 。 6. 保存 选择并且选 择“转向 -> 数据库程序 ”。确认下 列对话框:
然后系统根 据结构和选 择条件生成 数据库程序 。已经定义 了所有必须 的子程序并 且也生成了 SELECT 语句的大部 分 WHERE 条件。按 编辑数据库 程序 (页 14). 中的描述维 护该数据库 程序。
7. 最后 ,可以维护 下列可选子 对象:
- 选择文 本(参见 编辑选择文 本 (页 18) )
- 匹配码 选择(参见 编辑匹配码 选择 (页 19) ) - 文档( 参见 编辑文档 (页 21) )
虽然从系统 获得的支持 可以帮助您 快速创建可 执行的逻辑 数据库,但 必须自己注 意诸如提高 性能等细节 。 12
处理结构
要显示或更 改逻辑数据 库结构,选 择初始屏幕 上的“结构 ”。 可以执行下 列操作
显示结构
要显示结构 ,请在初始 屏幕上选择 “结构”和 “显示”。
系统在左上 角最高级别 上(结构的 根节点)显 示节点名称 。每个下层 节点显示在 前一节点的 下方,向右 缩排,相同 级别的节点 显示在相同 列中。
逻辑数据库 KDF 有如下结构 : 通过单击可 以展开或者 折叠某个节 点的次级层 次结构。折 叠节点时, 只显示子树 的根并加前 缀 +。通过选 择“编辑 -> 子树”可以 达此目的。
折叠 KDF 中节点 LFB1 的所有下层 节点: 要显示特定 节点的子树 ,请通过光 标选择节点 并且选择“ 编辑 -> 子树 -> 显示”。结 果屏幕的首 行显示了从 根到选定子 树的路径。 也可以单击 该路径的节 点以显示相 应子树。
要显示节点 的单个字段 ,将光标放 置在节点上 并且双击或 者选定“显 示表格字段 ”。
KDF 的 LFAS 节点的字段 为:
更改结构
要更改现有 结构,请在 初始屏幕上 选定“结构 ”和“更改 ”或者在结 构的显示屏 幕上选定“ 数据库 -> 显示 <-> 更改”。
要更改现有 节点,请相 应放置光标 并且选定“ 编辑 -> 节点 -> 更改”。
要在光标位 置次级级别 或者相同级 别上创建新 节点,请选 定“编辑 -> 节点 -> 创建”。 要选定/取 消子树,请 选定“编辑 -> 子树 -> 选择/撤消 选择”。
要将结构中 的子树移到 光标指定的 位置,请选 定“编辑 -> 子树 -> 重分配”。 要删除子树 ,请将光标 放置在节点 上或者选定 它并选择“ 编辑 -> 子树 -> 删除”。
在下列屏幕 上,用户首 先将光标放 在节点 BKPF 上并且选择 “编辑 -> 子树 -> 选择”。然 后将光标放 置在 LFB5 上并选择“ 编辑 -> 节点 -> 创建”。 13如同所看到 的,选定了 BKPF 的子树。现 在可以对其 重新赋值。 然后,出现 名为“创建 节点”的对 话框,可以 在其中创建 LFB5 以下的和相 同级别的节 点。
编辑选择
要编辑逻辑 数据库的选 择屏幕,请 在初始屏幕 上选择“选 择”和“更 改”。这将 进入包含程 序 DB
因为对于数 据库程序和 其它相关的 程序,系统 不能自动将 此包含程序 组合进数据 库程序中, 所以不能使 用 INCLUDE 语句达到此 目的。 如果以前未 做选择,则 系统自动为 所有结构中 的数据库表 格生成关联 SELECT-OPTIONS 语句并且为 所有关键字 字段建议选 择标准(根 据 ABAP/4 字典)。然 后必须为这 些选择标准 赋名。为此 ,必须为包 含程序中的 每个“?” 输入最多 8 个字符的名 称,并且删 除语句前的 注释符“*” 。 也建议匹配 码选择的 PARAMETERS 语句。
除建议的选 择标准之外 ,可以根据 需要通过下 列元素扩展 选择屏幕:
通过 PARAMETERS 语句及其附 加项,可以 参看可能用 到的附加参 数,例如, 要
控制程序 流(参见 为变量ㄒ 输入字 (页 错误!链接无效。) )。
在包含程序 DB
(页 错误!链接无效。).中指定的 附加项。 语句
SELECTION-SCREEN DYNAMIC SELECTIONS FOR TABLE . 为动态选择 定义数据库 表格(参见 选择屏幕语逻辑数据库 (页 错误!链接无效。) )。 语句
SELECTION-SCREEN FIELD SELECTION FOR TABLE .
为字段选择 定义数据库 表格(参见 外在地指 数据库表的 字 (页 错误!链接无效。) )。 语句
SELECTION-SCREEN BEGIN|END OF VERSION 和
SELECTION-SCREEN EXCLUDE
允许创建选 择屏幕的不 同版本(参 见 SELECTION-SCREEN 的关键字文 档)。
如果逻辑数 据库已经存 在带选择的 包含程序, 则可以通过 选择“细节 -> 生成 -> 选择”用定 义的系统程 序将其覆盖 。然后必须 在对话框中 确认它。
要检查包含 程序 DB
假定逻辑数 据库 HKS 有下列结构 : 建议的包含 程序如下: *----------------------------------------------------------* * INCLUDE DBHKSSEL * 自动包括在 数据库程序 中。 14*----------------------------------------------------------* * * If the source code is automatically generated, * please perform the following steps: * 1. Replace ? by suitable names (at most 8 characters). * 2. Activate SELECT-OPTIONS and PARAMETERS (delete * asterisks). * 3. Save source code. * 4. Edit database program * * Hint: Syntax check is not possible in this include * 因为在数据 库程序的语 法检查期间 对它进行了 检查 * *----------------------------------------------------------* * SELECT-OPTIONS: ? FOR LFA1-LIFNR. * Parameter for matchcode selection (ABAP/4 Dictionary * structure MCPARAMS): * PARAMETERS p_mc AS MATCHCODE STRUCTURE FOR TABLE LFA1. * SELECT-OPTIONS: * ? FOR LFB1-LIFNR, * ? FOR LFB1-BUKRS. * SELECT-OPTIONS: * ? FOR BKPF-BUKRS, * ? FOR BKPF-BELNR, * ? FOR BKPF-GJAHR. * SELECT-OPTIONS: * ? FOR LFC1-LIFNR, * ? FOR LFC1-BUKRS, * ? FOR LFC1-GJAHR. 例如,可以 按下述方法 修改自动生 成的包含程 序: * Selection criteria: SELECT-OPTIONS: SLIFNR FOR LFA1-LIFNR. SELECT-OPTIONS: SBUKRS FOR LFB1-BUKRS. SELECT-OPTIONS: SGJAHR FOR LFC1-GJAHR. SELECT-OPTIONS: SBELNR FOR BKPF-BELNR. * Self-defined parameters: PARAMETERS PDATE LIKE SY-DATUM FOR TABLE BKPF. * Dynamic selections for LFA1 and LFB1: SELECTION-SCREEN DYNAMIC SELECTIONS FOR TABLE: LFA1, LFB1. * Field selection for LFC1: SELECTION-SCREEN FIELD SELECTION FOR TABLE: LFC1. 此处,从可 用的选择标 准中进行选 择并且给定 其名称。声 明附加参数 PDATE 并链接到表 格 BKPF。 为表格 LFA1 和 LFB1 定义动态选 择。为表格 LFC1 定义字段选 择。 编辑数据库 程序
要编辑逻辑 数据库访问 程序,请在 初始屏幕上 选择“数据 库程序”和 “更改”。 进入程序 SAPDB
如果程序不 存在,系统 根据结构和 选择包含程 序中的信息 自动建议生 成的程序。 如果要用建 议的程序覆 盖现有程序 ,请选择“ 细节 -> 生成 -> 程序”。然 后必须在对 话框中确认 该操作。
15 不能更改预 定义的 TABLES 语句和自动 生成子程序 的预定义名 称。但是, 可以为数据 库访问定义 其它子程序 或更改 ABAP/4 语句。 自动生成的 SELECT 语句的 WHERE 从句包含有 关表格中的 所有关键字 字段。对于 比较字段, 有下列选项 :
如果选择 包含程序为 字段定义选 择标准,则 将字段和相 关选择表格 与 IN 相比
较,正 如 在 WHERE 子句中使用 选择表 (页 错误!链接无效。) 中所述。
如果选择包 含程序包括 SELECT-OPTIONS SLIFNR FOR LFA1-LIFNR. 那么下列子 程序自动出 现在数据库 程序中: FORM PUT_LFA1. SELECT * FROM LFA1 WHERE LIFNR IN SLIFNR. PUT LFA1. ENDSELECT. ENDFORM. 如果选择 包含程序不 包含字段的 选择标准, 但该字段的 上级表格的 关键字字段
是外来关键 字,则对那 些由外来关 键字相关性 链接的字段 进行比较。 在逻辑数据 库结构中, LFB1 是 LFA1 的下级节点 并且 LFA1 中的关键字 字段 LIFNR 是 LFB1 的外来关键 字。 如果选择包 含程序包括 SELECT-OPTIONS SBUKRS FOR LFB1-BUKRS. 在数据库程 序中自动出 现下列子程 序: FORM PUT_LFB1. SELECT * FROM LFB1 WHERE LIFNR = LFA1-LIFNR. AND BUKRS IN SBUKRS. PUT LFB1. ENDSELECT. ENDFORM. 此处,为 LFB1 中的字段 BUKRS 定义选择标 准 SBUKRS。 WHERE 条件 BUKRS IN SBUKRS 如上述显示 。不定义字 段 LIFNR 的选择标准 ,但是 LIFNR 在 LFA1 中也是关键 字字段。因 此,通过使 用 AND 的条件LIFNR = LFA1-LIFNR 扩展 WHERE 从句。 下面是自动 生成 ABAP/4 程序的完整 示例:
假定逻辑数 据库 HKS 有下列结构 : 让包含程序 DBHKSSEL 包括下列编 码选择: SELECT-OPTIONS: SLIFNR FOR LFA1-LIFNR. SELECT-OPTIONS: SBUKRS FOR LFB1-BUKRS. SELECT-OPTIONS: SGJAHR FOR LFC1-GJAHR. SELECT-OPTIONS: SBELNR FOR BKPF-BELNR.
16自动生成数 据库程序的 最重要行列 在下面。程 序也包含某 些用户和性 能提示,如 注释行,但 此处不包括 这些。 *----------------------------------------------------------* * DATABASE PROGRAM OF LOGICAL DATABASE HKS *----------------------------------------------------------* PROGRAM SAPDBHKS DEFINING DATABASE HKS. TABLES: LFA1, LFB1, BKPF, LFC1. *----------------------------------------------------------* * BEFORE_EVENT will be called before event EVENT * Possible values for EVENT: 'START-OF-SELECTION' *----------------------------------------------------------* * FORM BEFORE_EVENT USING EVENT. * CASE EVENT. * WHEN 'START-OF-SELECTION' * * ENDCASE. * ENDFORM. \*----------------------------------------------------------* * AFTER_EVENT will be called after event EVENT * Possible values for EVENT: 'END-OF-SELECTION' *----------------------------------------------------------* * FORM AFTER_EVENT USING EVENT. * CASE EVENT. * WHEN 'END-OF-SELECTION' * * ENDCASE. * ENDFORM. \*----------------------------------------------------------* * Initialize selection screen (processed before PBO) *----------------------------------------------------------* FORM INIT. ENDFORM. \*----------------------------------------------------------* * PBO of selection screen (always processed after ENTER) *----------------------------------------------------------* FORM PBO. ENDFORM. \*----------------------------------------------------------* * PAI of selection screen (always processed after ENTER) *----------------------------------------------------------* FORM PAI USING FNAME MARK. * CASE FNAME. * WHEN 'SLIFNR '. * WHEN 'SBUKRS '. * WHEN 'SBELNR '. * WHEN 'SGJAHR '. * WHEN '*'. * ENDCASE. ENDFORM. \*----------------------------------------------------------* * Call event GET LFA1 *----------------------------------------------------------* FORM PUT_LFA1. * SELECT * FROM LFA1 * INTO TABLE ? * WHERE LIFNR IN SLIFNR. PUT LFA1. 17* ENDSELECT. ENDFORM. \*----------------------------------------------------------* * Call event GET LFB1 *----------------------------------------------------------* FORM PUT_LFB1. * SELECT * FROM LFB1 * INTO TABLE ? * WHERE LIFNR = LFA1-LIFNR * AND BUKRS IN SBUKRS. PUT LFB1. * ENDSELECT. ENDFORM. \*----------------------------------------------------------* * Call event GET BKPF *----------------------------------------------------------* FORM PUT_BKPF. * SELECT * FROM BKPF * INTO TABLE ? * WHERE BUKRS = LFB1-BUKRS * AND BELNR IN SBELNR * AND GJAHR = ?. PUT BKPF. * ENDSELECT. ENDFORM. \*----------------------------------------------------------* * Call event GET LFC1 *----------------------------------------------------------* FORM PUT_LFC1. * SELECT * FROM LFC1 * INTO TABLE ? * WHERE LIFNR = LFB1-LIFNR * AND BUKRS = LFB1-BUKRS * AND GJAHR IN SGJAHR. PUT LFC1. * ENDSELECT. ENDFORM. \*----------------------------------------------------------* * Authority check for table LFA1 *----------------------------------------------------------* * FORM AUTHORITYCHECK_LFA1. * AUTHORITY-CHECK ... * ENDFORM. \*----------------------------------------------------------* * Authority check for table LFB1 *----------------------------------------------------------* * FORM AUTHORITYCHECK_LFB1. * AUTHORITY-CHECK ... * ENDFORM. \*----------------------------------------------------------* * Authority check for table BKPF *----------------------------------------------------------* * FORM AUTHORITYCHECK_BKPF. * AUTHORITY-CHECK ... * ENDFORM. \*----------------------------------------------------------* * Authority check for table LFC1 *----------------------------------------------------------* * FORM AUTHORITYCHECK_LFC1. * AUTHORITY-CHECK ... * ENDFORM. \*----------------------------------------------------------* * PUT_HKS_MATCHCODE. * Processed when matchcode selection is used, 18* 即用户输进 PARAMETERS p_mc AS MATCHCODE STRUCTURE. *----------------------------------------------------------* * FORM PUT_HKS_MATCHCODE. * ENDFORM. \子程序 BEFORE_EVENT、 AFTER_EVENT 和 PUT_
某些表格和 其它子程序 在运行时总 是可用的并 且愿意的话 就可以使用 :
内表 GET_EVENT 说明报表中 使用哪个逻 辑数据库节 点。生成报 表时生成它 们的
操作如 下:
DATA: BEGIN OF GET_EVENTS OCCURS 10, NODE(10), KIND,
END OF GET_EVENTS.
表格包含字 段 NODE 中逻辑数据 库(每行一 个)的所有 节点的名称 。字段 KIND 指定在报表 中是否和如 何使用该节 点(即在 GET 或 GET-LATE 中): - KIND = 'X': 在 GET 和 GET LATE 中定址表格 。 - KIND = 'G': 只在 GET 中定址表格 。
- KIND = 'L': 只在 GET LATE 中定址表格 。
- KIND = 'P': 既不在 GET 也不在 GET LATE 中定址表格 。但是,在 GET 或 GET
LATE 中定址子程 序表格。
- KIND = ' ': 既不在 GET 也不在 GET LATE 中定址表格 。也不定址 子程序表
格 。
逻辑数据 库中的子程 序 BEFORE_EVENT 作为注释生 成(见上例 )。可以修 改并
且通过 删除星号( *)激活它 。
在参数 EVENT 中指定的事 件处理之前 调用 BEFORE_EVENT。
逻辑数据 库中的子程 序 AFTER_EVENT 作为注释生 成(见上例 )。可以修 改并
可通过 删除星号( *)激活它 。
在参数 EVENT 指定的事件 处理之前调 用 AFTER_EVENT。
逻辑数据 库中的子程 序 PUT_
通过 删除星号( *)激活它 。
编辑选择文 本
选择文本, 即在选择屏 幕上带输入 字段显示的 文本,通常 是选择标准 的名称。可 以在逻辑数 据库程序之 外(或在选 择的包含程 序之外)维 护这些文本 。这使的逻 辑数据库程 序独立于语 言。参见 处理文本摘要 (页 错误!链接无效。) 。
要用每种登 录语言编辑 选择文本, 请在初始屏 幕上选择“ 选择文本” 和“更改” 。如果登录 语言与初始 语言(即生 成逻辑数据 库的登录语 言)不同, 则出现对话 框提示是否 想更改初始 语言中的文 本摘要或者 是否要更改 初始语言。 通过更改初 始语言,可 以用任何语 言维护选择 文本。
假定逻辑数 据库 HKS 有下列结构 : 让包含程序 DBHKSSEL 包含下列编 码选择: SELECT-OPTIONS: SLIFNR FOR LFA1-LIFNR. SELECT-OPTIONS: SBUKRS FOR LFB1-BUKRS. SELECT-OPTIONS: SGJAHR FOR LFC1-GJAHR. SELECT-OPTIONS: SBELNR FOR BKPF-BELNR. 当选择“选 择文本”时 ,出现下列 屏幕: 可以如下完 成文本字段 : 19 假定下列报 表链接到逻 辑数据库 HKS: REPORT SAPMZTST. TABLES: LFA1, LFB1, LFC1, BKPF. GET LFA1. ........ GET LFB1. ........ GET LFC1. ........ GET BKPF. ........ 结果选择屏 幕如下: 如果随后用 登录语言德 语“D”登 录到 R/3 系统并且调 用报表,则 在选择屏幕 上显示选择 标准名称。 因此,通过 逻辑数据库 的初始屏幕 进入选择文 本的维护, 在对话框中 将初始语言 更改为德语 并且输入下 列文本: 当再次以德 语登录时, 报表的选择 屏幕显示如 下,但继续 对英语用户 显示英语选 择文本: 编辑匹配码 选择
要为逻辑数 据库显示、 更改或创建 匹配码,请 在初始屏幕 上选择“匹 配码选择” 。这将进入 更改匹配码 对象的合适 屏幕。可以 从值列表中 选择匹配码 对象(用 F4 )或者删除 现有对象:
要找到需要 那个匹配码 对象做为逻 辑数据库的 匹配代码, 必须知道逻 辑数据库结 构的哪个表 格在匹配码 对象视图中 发生。关于 编辑匹配码 的详细信息 ,参见文档 ABAP/4 词典 (页 Error! Not a valid link.) 。
当为逻辑数 据库选定匹 配码对象后 ,可以通过 在选择包含 程序的说明 中包括附加 项 AS MATCHCODE STRUCTURE 的参数向用 户提供匹配 码(参见 PARAMETERS 关键字文档 )。在选择 屏幕上,这 导致显示组 框“匹配码 选择”。
逻辑数据库 KDF 包含匹配码 选择 KRED。 选择包含程 序包括下列 行: PARAMETERS KD_INDEX AS MATCHCODE STRUCTURE FOR TABLE LFA1. 如果调用链 接到 KDF 的报表,将 在选择屏幕 上显示下列 框: 选择屏幕上 组框“匹配 码选择”的 输入字段是 “匹配码 ID”(输 入示例“D” )和“搜索 字符串”( 输入示例“ ...EDW..” )。
系统评估用 户输入并选 择带关键字 字段的合适 的匹配码记 录。然后, 这使这些记 录可用于内 表
20 内表
21 WHERE KUNNR = HZS_MC-KNA1_KUNNR PERFORM PUT_KNA1_MC. ENDSELECT. ENDIF. ENDIF. ENDFORM. FORM PUT_KNA1_MC. PUT KNA1. ENDFORM. 使用表格 GET_EVENTS (参见 编辑数据库程序 (页 14) )检查链接 报表是否包 含 KNA1 的 GET 语句或下级 节点。根据 结果,在 KNA1 (包含满足 表格 HZS_MC 中条件的行 )上执行 SELECT 循环。(关 于 WHERE 条件的详细 信息,参见 运行时指 行选择的条 件 (页 错误!链接无效。) )。因为 PUT 语句只可以 这样使用, 所以该 SELECT 循环调用执 行 PUT KNA1 语句的 PUT_KNA1_MC 子程序。 也可以使用 优化性能的 匹配码选择 :
根据使用 和填充的表 格和字段, 内表 GET_EVENTS、 MC_FIELDS 和 MC_TABLES 以及字段字 符串 MC_EVENTS 允许您在数 据库程序中 编码不同的 的数据库访 问。例如, 可以在内表 中使用视图 并且收集所 读取的记录 。然后可以 通过 LOOP/ENDLOOP 处理这些内 表并且触发 适当的 GET 事件。 编辑文档
要显示或编 辑逻辑数据 库的文档, 请选择初始 屏幕上的“ 文档”和“ 显示”或者 “更改”。 假定 HKS 是新的逻辑 数据库。当 创建结构、 选择包含程 序和数据库 程序时,可 以创建文档 。如果选择 初始屏幕上 的“更改” ,则出现 SAP 编辑器。请 进行下列操 作: 如果随后选 择“显示” ,则在初始 屏幕上出现 HKS 的下列文档 :
其它编辑选 项
初始屏幕也 提供下列编 辑选项:
编辑数据模 型
要选定属于 逻辑数据库 表格的视图 和实体,请 选择初始屏 幕上的“转 向 -> 数据模型 -> 视图和实体 ”。对于结 构中的每个 表格,在随 后出现的屏 幕上显示所 有视图,该 视图至少部 分指向该表 格。 通过选择适 当的复选框 选择视图。 这样做时, 也自动选择 了显示在相 同行的实体 。 要显示带选 定项之间所 有相关性的 图形,请选 择“图形” 。
假定逻辑数 据库包含三 个节点:LFA1、 LFB1 和 LFC1。 如果选择“ 转向 -> 数据模型 -> 视图和实体 ”,则出现 下面的屏幕 : 如果按此处 所示选定复 选框,然后 选择“图形 ”,则 SAP 网络编辑器 显示如下:
22检查逻辑数 据库
要检查逻辑 数据库是否 正确和完整 ,请选择初 始屏幕上的 “检查”。 在随后出现 的屏幕上显 示下列检查 :
可使用该检 查决定哪个 子对象可用 或正确。
复制逻辑数 据库
要复制逻辑 数据库,请 选择初始屏 幕上的“复 制”。
在后续对话 框中通过覆 盖总是源数 据库名称的 标准值输入 目标数据库 的名称。
删除逻辑数 据库
要删除逻辑 数据库,请 选择初始屏 幕上的“删 除”。
如果逻辑数 据库链接到 报表,即程 序属性中指 定的,则得 到有关程序 名称的信息 。这种情况 下,因为受 影响的程序 会不正确, 因此不能删 除该数据库 :
如果没有报 表使用该逻 辑数据库, 则可以删除 它。
正在阅读:
ABAP语法详解教材 第110章 逻辑数据库的特征和维 护01-12
河南省洛阳市2016-2017学年高二下学期期末考试文数试题word版有答案-(数学)01-09
文明礼仪在身边作文700字07-09
七年级地理培优辅潜工作计划04-16
新产品研发合作协议书范本(含注意事项)07-24
大学经济学教学改革研究12-12
妈妈的关心作文400字06-19
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 语法
- 详解
- 逻辑
- 特征
- 教材
- 数据库
- ABAP
- 110
- 民政局党委副书记述职报告
- 大气污染控制工程实习报告范文
- 2008年5月三级企业人力资源管理师真题
- 推荐日用一次性环保餐具项目可行性研究报告(技术工艺+设备选型+财务概算+厂区规划)标准方案设计
- 《简易多媒体环境下初中语文案例评析》课后反思(罗明民)
- 2011山东专升本计算机文化基础真题及答案
- PA尼龙棒市场现状调研及发展前景分析报告(目录)
- SPSS学习心得体会
- 企业清算所得的税务处理及案例分析
- 网络谣言害人害己 社会公众勿信勿传
- 鲁教版四年级语文下册日积月累及解释
- 九型人格测试144题- 答案
- 2018年中国蜜蜂养殖市场研究及发展趋势预测(目录) - 图文
- 专利代理实务重要法条及专利撰写要点
- 中控机软件设置手册
- 房地产法总复习题参考答案
- 2018年中国枸杞市场分析报告-行业运营态势与发展前景研究(目录)
- (LJ)第二节 电势与等势面
- 大学百科知识竞赛策划书
- 194号文-120问答