UniData 列出所有可用的子程序/所有参数
UniData List all avaiable subroutines / All parameters
我正在尝试将一些 UniData 子例程包装到 SOAP Web 服务中。我打算使用 C# 和 UODOTNET 库(IBM U2 Data Management Interface for .NET)。此外,我正在寻找创建一个引擎来从数据服务器读取所有可用的子例程,并读取所有必需的参数并动态生成 Web 服务所需的代码。
我的代码应该是这样的:
var session = UniObjects.OpenSession(
"192.168.0.1",
"user",
"password",
"account"
);
var cmd = session.CreateUniCommand();
cmd.Command = "LIST SUBURB.INDEX"; // ?????
cmd.Execute();
var res = cmd.Response;
问题 1:是否有任何命令可用于检索所有可用子例程的列表?
问题 2:是否有任何命令可用于检索特定子例程的所有参数列表?
干杯
简短的回答是否定的。
较长的答案是肯定的,但需要大量工作。
既然你问了这个问题,我假设你缺少很多关于该平台的一般知识。因此,要做到这一点,您需要:
- 在此处了解 VOC 的工作原理,特别是如何对可执行代码进行编目。
- 了解 CATALOG 以及全球、本地和直接编目程序的不同之处。
- 了解您的系统是如何设计的。有些地方所有的东西都直接在 VOC 中编目,有些地方则混合使用。如果是前者,你的问题会更容易。
理解了以上内容,你就会知道如何从VOC、本地目录和全局目录中获取所有可执行程序的列表。例如,VOC 的一个简化示例是 UniQuery 命令 LIST VOC WITH F1="C"
.
最难的部分是获取参数列表,其中没有任何系统命令。为此,您有 2 个选择。
- 对每个子程序的字节码进行逆向工程,梳理出参数个数
- 如果您有权访问相关源代码,请对其进行解析以生成列表。
只是想对此添加评论,在 UniData 中有一个 MAKE.MAP.FILE 命令可以识别程序和子例程(以及参数数量),它将信息放入“_MAP_”文件中。这不会告诉您参数的用途,但会有所帮助。
我正在尝试将一些 UniData 子例程包装到 SOAP Web 服务中。我打算使用 C# 和 UODOTNET 库(IBM U2 Data Management Interface for .NET)。此外,我正在寻找创建一个引擎来从数据服务器读取所有可用的子例程,并读取所有必需的参数并动态生成 Web 服务所需的代码。
我的代码应该是这样的:
var session = UniObjects.OpenSession(
"192.168.0.1",
"user",
"password",
"account"
);
var cmd = session.CreateUniCommand();
cmd.Command = "LIST SUBURB.INDEX"; // ?????
cmd.Execute();
var res = cmd.Response;
问题 1:是否有任何命令可用于检索所有可用子例程的列表?
问题 2:是否有任何命令可用于检索特定子例程的所有参数列表?
干杯
简短的回答是否定的。
较长的答案是肯定的,但需要大量工作。
既然你问了这个问题,我假设你缺少很多关于该平台的一般知识。因此,要做到这一点,您需要:
- 在此处了解 VOC 的工作原理,特别是如何对可执行代码进行编目。
- 了解 CATALOG 以及全球、本地和直接编目程序的不同之处。
- 了解您的系统是如何设计的。有些地方所有的东西都直接在 VOC 中编目,有些地方则混合使用。如果是前者,你的问题会更容易。
理解了以上内容,你就会知道如何从VOC、本地目录和全局目录中获取所有可执行程序的列表。例如,VOC 的一个简化示例是 UniQuery 命令 LIST VOC WITH F1="C"
.
最难的部分是获取参数列表,其中没有任何系统命令。为此,您有 2 个选择。
- 对每个子程序的字节码进行逆向工程,梳理出参数个数
- 如果您有权访问相关源代码,请对其进行解析以生成列表。
只是想对此添加评论,在 UniData 中有一个 MAKE.MAP.FILE 命令可以识别程序和子例程(以及参数数量),它将信息放入“_MAP_”文件中。这不会告诉您参数的用途,但会有所帮助。