AS400 和系统 I 导航器

AS400 and System I Navigator

我是 AS400 的新手,我找到了一份使用 AS400 和 Powerlink (XA) 访问和管理大型 ERP 数据的工作。我找到了一种使用 System I Nagivator tables 通过 Excel VBA 和 SQL 访问数据的方法。

我的问题是我无法在 Navigator 中找到正确的 Schemas>Tables 来提供与我在 AS400 中想要的数据相匹配的 excel VBA。

问题:假设我想查找某件商品的价格,并且我想在 Navigator 中查找价格 table。在 AS400 中有没有办法获得与 Navigator 中相同 table 相匹配的价格 table 名称?

这是我的第一个问题,如果需要更多信息,请告诉我。

请帮忙,谢谢!

首先是一个小术语,AS/400 是一个旧术语,平台的当前名称,以前称为 AS/400 的 OS 现在是 IBM i on Power Systems。 IBM i 是 OS。 (直到 IBM 再次更改名称)

如果您知道 Table 名称但不知道 IBM i 对象名称

在 IBM i 上,数据库内置于 OS 中,许多 OS 对象实际上是数据库对象。以下是一些 SQL 概念如何映射到 IBM i 术语。

SQL              IBM i
--------------   ------------------
Schema           Library
Table            Physical file
Index            Logical file
View             Logical file
Row              Record
Column           Field

不幸的是,在 IBM i 中,对象名称限制为 10 个字符。 SQL 另一方面,名称最多可以包含 128 个字符。您不会找到名为 CustomerMaster 的物理文件。 DB2 将该长名称映射到一个系统名称。您可以通过这样查询目录来找到系统名称:

select system_schema_name, system_table_name
  from qsys2.systables
  where table_name = 'Navigator name'

TABLE_NAME 将保存 table 的长 SQL 名称,SYSTEM_TABLE_NAME 将保存 IBM i 对象名称。请注意,长模式名称也可以映射到系统名称。 SCHEMA_NAME 列包含模式的长 SQL 名称,而 SYSTEM_SCHEMA_NAME 包含 IBM i 库名称。模式名称超过 10 个字符的情况并不常见,因此两个模式名称列通常相同。

如果您知道程序名称,并且可以访问源代码

这对您来说可能很明显,但我将其放在这里只是为了完整起见。您可以查看正在使用的文件的源代码,然后从屏幕字段回溯到文件。

如果你只有绿屏

如果您有适当的权限,您可以检索当前作业的打开文件。如果这对您不起作用,则您必须向系统管理员或有权限的人寻求帮助。不过,这只会为您提供候选文件,而且它们很可能是逻辑文件。为此,您将必须有权查看您的工作,并且您必须知道系统请求键是如何映射到您的键盘的(即特定于实现,并且可能是自定义的,因此您必须检查与您公司或您的模拟器内部人员一起确定)。

有了这些,启动显示您正在寻找的价格字段的绿屏程序。然后按系统请求键。如果您配置为允许这样做,您将在屏幕底部看到一条输入线,并且光标将定位到它。

按回车键。

您现在应该位于“系统请求”菜单中。

Select 选项 3 并再次按回车键。您应该位于当前作业的“显示作业”屏幕中。

如果这对您来说一切正常,那么选项 12 将向您显示您的作业当前已锁定的文件。即,为您的作业打开的文件。价格字段应该在其中之一。