如何在 IBM i 上的 RPG 中查找子过程用法?
How to find sub-procedure usage in RPG on IBM i?
如果我有一个包含三个子程序的单个模块的服务程序。有没有办法以编程方式找到 library/file 中各个子过程的用法?
所以像这样:
MYLIB/MYSRVPGM <-- My service program object
PROC1 <-- My first sub-procedure
PROC2 <-- My second sub-procedure
PROC3 <-- My third sub-procedure
然后我有一个使用 PROC1
和 PROC3
但不使用 PROC2
的 ILE 程序。
MYLIB/MYPGM <-- My ILE program object which uses PROC1 and PROC3
我正在寻找一种方法来搜索 PROC1
或 PROC3
并查看 MYLIB/MYPGM
returned 的结果。但是,搜索 PROC2
不应 return 结果。
到目前为止,我已经尝试使用 DSPPGMREF
,但只有 return 是整个对象(即:MYLIB/MYSRVPGM
),而不是使用的各个子程序。
我尝试过的另一条路线是使用 FNDSTRPDM
,但这只是扫描字符串 PROC1
的源。它可能在评论中并且 return 误报。
我知道存在用于此的第三方工具,但由于成本原因目前它们不是可行的选择。免费或相对便宜的可能是一种选择(我只是不知道)。我运气不好吗?
我所知道的唯一可能对现有 *PGM / *SRVPGM 对象起作用的是围绕 debug APIs
构建一些东西
你说 third-party 工具不是一种选择,我想你指的是你愿意花一大笔钱买的商业工具。
开源呢?看看 Easy/400 Program library check up
如果您有程序的模块,您可以使用列表模块信息 (QBNLMODI) API 来获取模块导入列表。 https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/apis/qbnlmodi.htm
我使用 RDi 中的 iSphere 插件来执行此操作。如果您不使用 RDi,那么在 IBM i 开发方面您已经落后于 eight-ball。 iSphere 没有直接查找导入的能力,但它确实有一个源搜索工具,我比 FNDSTRPDM 更喜欢它。您可以搜索成员、源文件、库中的所有源文件,甚至是 RDi 过滤器中给定字符串的所有内容。
是的,这是一个来源搜索,但是,判断某些内容是否是评论相对容易。
如果我有一个包含三个子程序的单个模块的服务程序。有没有办法以编程方式找到 library/file 中各个子过程的用法?
所以像这样:
MYLIB/MYSRVPGM <-- My service program object
PROC1 <-- My first sub-procedure
PROC2 <-- My second sub-procedure
PROC3 <-- My third sub-procedure
然后我有一个使用 PROC1
和 PROC3
但不使用 PROC2
的 ILE 程序。
MYLIB/MYPGM <-- My ILE program object which uses PROC1 and PROC3
我正在寻找一种方法来搜索 PROC1
或 PROC3
并查看 MYLIB/MYPGM
returned 的结果。但是,搜索 PROC2
不应 return 结果。
到目前为止,我已经尝试使用 DSPPGMREF
,但只有 return 是整个对象(即:MYLIB/MYSRVPGM
),而不是使用的各个子程序。
我尝试过的另一条路线是使用 FNDSTRPDM
,但这只是扫描字符串 PROC1
的源。它可能在评论中并且 return 误报。
我知道存在用于此的第三方工具,但由于成本原因目前它们不是可行的选择。免费或相对便宜的可能是一种选择(我只是不知道)。我运气不好吗?
我所知道的唯一可能对现有 *PGM / *SRVPGM 对象起作用的是围绕 debug APIs
构建一些东西你说 third-party 工具不是一种选择,我想你指的是你愿意花一大笔钱买的商业工具。
开源呢?看看 Easy/400 Program library check up
如果您有程序的模块,您可以使用列表模块信息 (QBNLMODI) API 来获取模块导入列表。 https://www.ibm.com/support/knowledgecenter/ssw_ibm_i_73/apis/qbnlmodi.htm
我使用 RDi 中的 iSphere 插件来执行此操作。如果您不使用 RDi,那么在 IBM i 开发方面您已经落后于 eight-ball。 iSphere 没有直接查找导入的能力,但它确实有一个源搜索工具,我比 FNDSTRPDM 更喜欢它。您可以搜索成员、源文件、库中的所有源文件,甚至是 RDi 过滤器中给定字符串的所有内容。
是的,这是一个来源搜索,但是,判断某些内容是否是评论相对容易。