在FSCM中,我希望修改添加/更新采购订单页面(主菜单-->采购-->采购订单-->添加/更新采购订单)上的搜索视图,以在搜索结果页面中显示与采购订单关联的申请ID。我发现的唯一同时具有PO_ID
和REQ_ID
的表是PS_PO_LINE_DISTRIB
,但是,除非我使用SELECT DISTINCT
子句,否则当PO上有超过1行时,我会得到多个PO_ID行。
在采购订单查询中,您可以通过单击采购订单查询详细信息页面中的文档状态链接,查看与采购订单相关的申请ID。
我开始查看采购订单查询中的PeopleCode,看看他们是如何将PO链接到请购单的,它似乎使用了带有相关PeopleCode函数库的工作表,但我无法确定它们是如何链接的。我希望其他人可能知道这个问题的答案。谢谢。
发布于 2019-06-01 23:05:37
我使用的是旧版本的PeopleSoft (SCM8.80,Tools 8.51),所以您的使用里程可能会有所不同。我假设你熟悉App Designer。如果没有,请在下面评论,我会添加一些关于我所点击的内容的详细信息。
查找添加/更新PO组件的名称。
在应用程序设计器中打开PURCHASE_ORDER
组件。现在让我们查找搜索记录的名称。请注意,添加搜索记录有一个不同的记录,因此,如果您也想更改该记录,请对该记录执行所有这些操作。
打开PO_SRCH
记录,并向其中添加REQ_ID
字段。确保将该字段标记为关键字。您应该考虑以新名称保存修改后的 PO_SRCH
,以防您希望能够恢复到普通PeopleSoft。如果这样做,请将组件中的搜索记录更改为您的新记录名称。
我们可以看到PO_SRCH
是一个视图。因此,让我们修改视图以从PO_LINE_DISTRIB
中引入REQ_ID
。如上所述,似乎没有同时包含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。我的系统不使用请购单,所以在下面的示例中它们都是空的,但新字段在那里。
https://stackoverflow.com/questions/56385157
复制相似问题