文章
· 八月 20, 2022 阅读大约需 3 分钟

第七章 配置命名空间(二)

第七章 配置命名空间(二)

将全局、例程和包映射添加到命名空间

除了可以访问映射数据库中的全局变量和例程之外,还可以映射来自相同或不同系统上的其他数据库的全局变量、例程和类包。这允许对可以存在于任何地方的数据进行简单引用,并且是命名空间的主要特征。可以映射整个全局变量或全局变量;此功能允许数据轻松跨磁盘。

注意:映射按字母顺序排序;如果指定了下标,则按名称和下标排序。

单击适当的选项开始映射:

  • Global Mappings
  • Routine Mappings
  • Package Mappings
  • Mapping Data to All Namespaces

以下是映射如何在示例航空公司预订应用程序中工作的示意图:

数据和程序存储在数据库数据库中,即物理存储位置,并由名称空间引用,即逻辑引用。

重要提示:如果存在与本地内容具有相同标识符的映射内容(例如包、类、全局或例程名称),则映射内容将可见,而不是本地内容。因此,应该尽可能具体地使用映射,以防止映射远离现有内容。
在命名内容和创建映射时,请务必遵循标识符规则和准则,以避免任何不必要的冲突。

Mappings

可以在全局和全局下标级别将新全局映射添加到命名空间,以覆盖命名空间全局变量的默认数据库映射:

  1. 导航到命名空间页面(系统管理 > 配置 > 系统配置 > 命名空间)并单击要在其中映射全局的命名空间行中的全局映射。
  2. Global Mappings页面单击新建。

  3. 选择全局所在的全局数据库位置Global database location数据库。

  4. 输入全局名称。可以使用 * 字符作为全局名称的一部分来指定多个全局变量,例如 ABC*
  5. 输入要映射的全局下标。下标引用必须以左括号开头。一些例子如下:
(1)
("A")
(1):(5)
("A"):("Z")
("B",23,"m"):("E",5)
(BEGIN):("X")
("Y"):(END)

注意:指定范围时(例如,("A"):("Z"),范围是“from-to”(不是“from-through”)指定的下标;即定义的下标范围是包含的,而定义的下标范围的上端是互斥的。例如,Name(1):(10) 包含 Name(1) 但不包含 Name(10);互斥的上限允许在使用下标范围时具有已定义的上边界,例如 Name ("a"):("b"),其中 Name ("aa")Name ("aaaaa")Name ("b")之前同样有效。

可以使用保留字 BEGINEND 来指代第一个和最后一个可能的下标;但是,不能将星号 (*) 通配符与带下标的全局变量一起使用,因为全局下标必须单独映射。

  1. 单击高级以显示以下内容:

A. 选择排序规则。排序规则仅适用于新的下标级映射全局变量。

B. 选择锁定数据库位置。

  1. 单击确定。

注意:新映射行的第一列中显示的 >> 表示已打开映射进行编辑。

  1. 要将映射保存在 cpf 文件中,请单击保存更改。

重要提示:虽然可以添加更改现有全局数据库位置的映射,但这实际上并不会移动global。结果,global变得不可访问,因为它保留在原始数据库中,而命名空间希望在新映射的数据库中找到它。要使现有global的新映射成功,必须手动重新定位全局,例如使用TerminalStudio,通过在新数据库上创建它并从原始数据库中删除它。

讨论 (0)1
登录或注册以继续