0

在 FSCM 中,我希望修改添加/更新采购订单页面(主菜单--> 采购--> 采购订单--> 添加/更新采购订单)上的搜索视图,以在搜索结果页面中显示与采购订单相关联的申请 ID . 我发现的唯一一个同时具有两者的表PO_ID是,REQ_ID但是PS_PO_LINE_DISTRIB除非我使用SELECT DISTINCT子句,否则当 PO 上有超过 1 行时,我将获得多个 PO_ID 行。

在采购订单查询中,您可以通过单击采购订单查询详细信息页面中的文档状态链接查看与采购订单相关的相关申请 ID。

我开始查看采购订单查询中的 PeopleCode,以了解他们如何将 PO 链接到申请,并且它似乎使用带有相关 PeopleCode 函数库的工作表,但我无法弄清楚它们是如何链接的。我希望其他人可能知道这个问题的答案。谢谢你。

4

1 回答 1

0

我使用的是旧版本的 PeopleSoft(SCM 8.80,Tools 8.51),所以你的里程可能会有所不同。我假设您熟悉 App Designer。如果没有,请在下面发表评论,我将添加一些有关我单击的内容的详细信息。

查找添加/更新 PO 组件的名称。

在此处输入图像描述

PURCHASE_ORDER在 App 设计器中打开组件。现在让我们找到搜索记录的名称。 请注意,添加搜索记录有不同的记录,因此如果您也想更改它,请对该记录执行所有这些操作。

在此处输入图像描述

打开PO_SRCH记录,然后将REQ_ID字段添加到其中。确保将字段标记为键。 您应该考虑PO_SRCH以新名称保存您的修改,以防您希望能够恢复到普通的 PeopleSoft。如果这样做,请将组件中的搜索记录更改为您的新记录名称。

在此处输入图像描述

在此处输入图像描述

我们可以看到这PO_SRCH是一个视图。所以让我们修改视图以REQ_IDPO_LINE_DISTRIB. 正如你上面提到的,似乎没有另一个表同时包含PO_IDand REQ_ID,所以你必须做一个SELECT DISTINCT.

在此处输入图像描述

我们应该LEFT OUTER JOIN使用标准联接而不是标准联接,因为如果您进行标准联接并且输入没有行的采购订单并保存它,那么您将永远无法在此窗口中检索该采购订单。由于REQ_ID是一个关键字段,我们不能有一个空值,所以我们必须做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。我的系统不使用申请,因此在下面的示例中它们都是空白的,但新字段就在那里。

在此处输入图像描述

于 2019-06-01T15:05:36.740 回答