ibm-midrange - 如何在 IBM i 上的 RPG 中查找子过程用法?

标签 ibm-midrange rpgle

如果我有一个包含三个子程序的单个模块的服务程序。有没有办法以编程方式查找库/文件中各个子过程的用法?

所以像这样:

MYLIB/MYSRVPGM  <-- My service program object
  PROC1  <-- My first sub-procedure
  PROC2  <-- My second sub-procedure
  PROC3  <-- My third sub-procedure

然后我有一个 ILE 程序,它使用 PROC1PROC3 但不使用 PROC2

MYLIB/MYPGM  <-- My ILE program object which uses PROC1 and PROC3

我正在寻找一种方法来搜索 PROC1PROC3 并查看返回的 MYLIB/MYPGM 结果。但是,搜索 PROC2 不应返回结果。

到目前为止,我已经尝试使用 DSPPGMREF,但它只返回整个对象(即:MYLIB/MYSRVPGM),而不是使用的各个子过程。

我尝试过的另一种方法是使用 FNDSTRPDM,但这只是扫描字符串 PROC1 的源代码。它可能在评论中并返回误报。

我知道第三方工具可用于此目的,但由于成本原因,它们目前不是可行的选择。免费或相对便宜的可能是一种选择(我只是不知道)。我运气不好吗?

最佳答案

如果您有程序的模块,您可以使用列表模块信息 (QBNLMODI) API 来获取模块导入列表。 https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/apis/qbnlmodi.htm

关于ibm-midrange - 如何在 IBM i 上的 RPG 中查找子过程用法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56761660/

相关文章:

ibm-midrange - 如何知道程序是用 ALWNULL(*USRCTL) 编译的

ibm-midrange - 如何以编程方式确定 IFS 中文件的 CCSID?

db2 - SQLRPGLE 程序 IBM 中的 SQLSTATE '08003'

ibm-midrange - SQLRPGLE 源大小限制

go - DB2 AS/400 使用 Go 进行查询

message - 如何捕获AS400系统错误消息并将其用作CL中我自己的程序消息?

ibm-midrange - AS/400:使用COMPUTE函数时,不同字段定义的结果不一致

ibm-midrange - 在 RPGLE 显示文件中按 Enter 键移动到下一个输入字段

java - 参数文件上的 AS400 SQL 脚本返回

php - 从PHP调用RPG程序