1

当我列出库存时,默认设置会使用“!= OBSOLETE”过滤状态字段。我可以输入一个不会列出任何状态为过时或挂起的项目的命令吗?

或过滤 2 个不同状态的列表'

4

3 回答 3

0

开箱即用,您可以将 PENDOBS 添加到过滤器中,以便排除 OBSOLETE 和 PENDOBS。如果您想改变应用程序的行为,在这种情况下您必须编辑 Java .class 文件。某些模块允许您从 Application Designer 编辑它,但奇怪的是 Inventory 模块需要编辑 .class 文件。

c:\IBM\SMP\maximo\applications\maximo\maximouiweb\webmodule\WEB-INF\classes\psdi\webclient\beans\item\ItemAppBean.class

下面是相关的Java代码。您必须编辑 Java 文件并为 List 视图重建您的 maximo.ear 以从列表视图中排除 PENDOBS。

public void initializeApp()
    throws MXException, RemoteException
{
    DataBean resultsBean = app.getResultsBean();
    Translate translate = MXServer.getMXServer().getMaximoDD().getTranslator();
    String status = (new StringBuilder()).append("!=").append(translate.toExternalDefaultValue("ITEMSTATUS", "OBSOLETE", null, null)).toString();
    resultsBean.setQbe("status", status);
    resultsBean.reset();
    super.initializeApp();
}
于 2015-01-23T17:51:29.187 回答
0

如果您有权访问 Where 子句,则可以编辑那里的查询以声明如下内容:

status not in ('obsolete', 'pendobs')

这是我发现进行排他查询而不是标准包含查询的最佳方式。

于 2014-11-26T21:22:12.620 回答
0

您可以将列表过滤两种不同的状态。为此,您输入类似(不带引号)“=status1,=status2”的内容。同样的技巧对我来说从来没有过滤多个状态。例如,“!=status1, !=status2”是行不通的。

如果您愿意,保存的和默认的查询可以帮助解决这个问题。

于 2014-11-21T12:58:34.130 回答