3

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

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

问题:假设我想查找某件商品的价格,并且我想在 Navigator 中查找价格表。AS400 中是否有办法获取与 Navigator 中的同一表匹配的价格表名称?

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

请帮忙,谢谢!

4

1 回答 1

4

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

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

在 IBM i 上,数据库内置在操作系统中,许多操作系统对象实际上是数据库对象。以下是一些 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将保存表的长 SQL 名称,SYSTEM_TABLE_NAME将保存 IBM i 对象名称。请注意,长模式名称也可以映射到系统名称。该列SCHEMA_NAME包含模式的长 SQL 名称,同时SYSTEM_SCHEMA_NAME包含 IBM i 库名称。模式名称长度超过 10 个字符的情况并不常见,因此两个模式名称列通常相同。

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

这对你来说可能很明显,但我把它放在这里只是为了完整。您可以在源中查找正在使用的文件,并从屏幕字段回溯到文件。

如果你只有一个绿屏

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

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

按 Enter。

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

选择选项 3 并再次按 Enter。您应该在当前作业的“显示作业”屏幕中。

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

于 2017-04-24T12:44:18.510 回答