PSPCMPROG 和接口

PSPCMPROG and interface

我想从 PSPCMPROG 获取不同工件的代码,主要是 类 和接口。基于 http://www.go-faster.co.uk/peopletools/pspcmprog.htm,我可以使用 OBJECTID1、OBJECTID2、OBJECTID3 来根据特定类型获取代码。但是我找不到如何排除(或包含)接口代码,由接口和端接口表示,而不是组件接口。你知道我该怎么做吗?

提前致谢!

每个 peoplecode 类型(如 PSPROJECTITEM.OBJECTTYPE 字段中所示)都有其特定的 OBJECTID 字段映射机制。最好的方法是打开一些感兴趣的代码并将其保存在项目中。然后找到与之关联的PSPCMPROG和PSPROJECTITEM行,通过OBJECTIDx和OBJECTVALUEy级别的映射推理。

例如:

  • 消息代码(对象类型 39)使用 => AND M.OBJECTID1 = 60 和 M.OBJECTID2 = 12

  • COMPONENT_INTERFACE_PEOPLECODE 类型 (42) => M.OBJECTID1 = 74 和 M.OBJECTID2 = 12。我假设(不检查)OBJECTVALUE1 = PSBCDEFN.BCNAME,其中 Record.PSBCDEFN 存储 Component Interfaces.

一般来说,期望记录的第一个键映射到 OBJECTVALUE1,第二个键映射到 OBJECTVALUE2...

另请注意,一些存储纯文本而非二进制 pcode 的表不会自动保持同步 - 有一个 AE 批处理可以执行此操作,通常在升级期间使用。因此,请确保您没有提取过时的数据。并且您可能需要使用 PROGSEQ 将长程序拼接在一起。

https://sourceforge.net/projects/decodepcode/. There are also derivative projects on Github as well, just search for "PeopleCode" -> https://github.com/search?q=peoplecode

查看 Decode PeopleCode 项目