在FSCM中,我正在修改“添加/更新PO”页面(主菜单->采购->采购订单->添加/更新PO)上的“搜索”视图,以在与搜索结果页面。我发现唯一同时具有PO_ID
和REQ_ID
的表是PS_PO_LINE_DISTRIB
,但是除非我使用SELECT DISTINCT
子句,否则当行数超过1时,我将获得多个PO_ID行在采购订单上。
在采购订单查询中,您可以通过单击“采购订单查询详细信息”页面内的“文档状态”链接来查看与采购订单相关的相关采购申请ID。
我开始查看采购订单查询中的PeopleCode,以了解他们如何将PO链接到请购单,它似乎与相关的PeopleCode函数库一起使用工作表,但我无法弄清楚它们的方式建立联系。我希望其他人可能知道答案。谢谢。
答案 0 :(得分:0)
我使用的是PeopleSoft的旧版本(SCM 8.80,工具8.51),因此您的里程可能会有所不同。我假设您熟悉App Designer。如果没有,请在下面评论,然后我将添加一些有关单击内容的详细信息。
找到“添加/更新PO”组件的名称。
在App Designer中打开PURCHASE_ORDER
组件。现在,让我们找到搜索记录的名称。 请注意,“添加搜索记录”有一个不同的记录,因此,如果您也想更改它,请对该记录进行所有这些操作。
打开PO_SRCH
记录,然后向其中添加REQ_ID
字段。确保将字段标记为键。 您应该考虑将修改后的PO_SRCH
用新名称保存,以备恢复为普通PeopleSoft时使用。如果这样做,请将组件中的“搜索记录”更改为新的记录名称。
我们可以看到PO_SRCH
是一个视图。因此,让我们修改视图以从REQ_ID
中提取PO_LINE_DISTRIB
。如上所述,似乎没有另一个同时包含PO_ID
和REQ_ID
的表,因此您必须做一个SELECT DISTINCT
。
我们应该执行LEFT OUTER JOIN
而不是标准联接,因为如果执行标准联接并且您输入没有行的采购订单并将其保存,那么您将永远无法从中检索该采购订单。这个窗口。由于REQ_ID
是一个关键字段,因此我们不能为null,因此我们必须进行CASE
。
我在这里遇到的一件奇怪的事情是构建视图,现在给我一个错误,那就是选择SQL中的列数少于记录定义中的列数。我通过修改SQL Server的视图解决了该问题。我以前从来没有做过,而且我不知道为什么要为这个特定的记录而做。但是无论如何,我在记录的“ Microsoft SQL Server”定义下输入了相同的SQL。
在PO_SRCH
的属性中,我们可以看到它具有相关的语言记录。如果您只使用一种语言,则可能无需更改就可以逃脱,但是为了完整起见,我会这样做。打开PO_SRCHLN
。现在将REQ_ID
添加到其中(像上面一样将其标记为关键字段),并将其另存为PO_SRCHLN2
(我将其保存为新名称,因此不会破坏其他名称可能正在使用PO_SRCHLN
)。
与上面一样编辑SQL。 注意:我不必像上面一样更改Microsoft SQL Server定义。我不知道为什么。
现在建立PO_SRCHLN2
。
返回PO_SRCH
,并将其相关语言记录更改为PO_SRCHLN2
。
现在建立PO_SRCH
。
希望您没有收到任何错误,并且您的搜索页面上现在已有请购单ID。我的系统不使用请购单,因此在下面的示例中它们都为空白,但是新的字段在那里。