当我列出库存时,默认设置会使用“!= OBSOLETE”过滤状态字段。我可以输入一个不会列出任何状态为过时或挂起的项目的命令吗?
或过滤 2 个不同状态的列表'
开箱即用,您可以将 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();
}
如果您有权访问 Where 子句,则可以编辑那里的查询以声明如下内容:
status not in ('obsolete', 'pendobs')
这是我发现进行排他查询而不是标准包含查询的最佳方式。
您可以将列表过滤为两种不同的状态。为此,您输入类似(不带引号)“=status1,=status2”的内容。同样的技巧对我来说从来没有过滤出多个状态。例如,“!=status1, !=status2”是行不通的。
如果您愿意,保存的和默认的查询可以帮助解决这个问题。