【问题标题】:IBM Maximo - empty Reported Date required field on the Service Request applicationIBM Maximo - 服务请求应用程序上的空报告日期必填字段
【发布时间】:2019-10-25 23:16:31
【问题描述】:

当我在服务请求 (SR) 应用程序 (Maximo 7.6) 上创建新记录时,我想将所需的报告日期 (SR.REPORTDATE) 字段设置为空白。在保存操作之前,用户将在该字段中输入数据。我想知道如何做到这一点?

感谢您的帮助。

【问题讨论】:

    标签: maximo


    【解决方案1】:

    如果您查看数据库配置以查看 REPORTDATE 是否具有默认值,我想您会在其中找到 &SYSDATE&。如果我是对的,那么您可以删除该默认值,保存您的更改并应用您的更改。否则,您需要按照@Dex 的建议进行操作。

    【讨论】:

      【解决方案2】:

      我立刻想到了一个自动化脚本。数据库配置中的默认值控件或默认值设置也可能起作用,如果您有专业知识来确认或否认这一理论,建议您在脚本之前使用。

      至于自动化脚本,我认为您可以在“添加”事件的 SR 上创建一个带有对象启动点的脚本。该脚本只会将该字段设置为 null,这也不应更改“必需”标志,因此您的其余需求仍将得到满足。

      mbo.setValueNull("REPORTDATE");
      

      【讨论】:

      • 这个自动化脚本想法的问题在于,当用户点击Save,而不是点击New 时,将其置于添加启动点。你最好把它放在Initialize 上,如果mbo.toBeAdded() 只做setValueNull()。检查toBeAdded() 是必要的,以避免为返回列表选项卡的记录留空报告日期。
      • 也就是说,检查toBeAdded() 也是不合格的。您真的希望有一个对象事件条件 (OEC),它可以防止您的启动点/脚本被调用,除非它有事可做,以节省设置/拆卸性能费用。对于 SR,该 OEC 可能是 not exists (select 1 from ticket where ticketuid = :ticketuid)
      • 是的。这个答案确实有缺陷;我很确定我的意思是“保存”事件,但“添加”过滤器(尽管我的下一条评论解释更多)。初始化脚本很烦人,因为它们经常运行,但有时使用自动脚本就是你所拥有的。 Initialize 也很早就运行,在 MBO 的一些设置之前,因此它可能并不总是有您需要的可用数据(或者甚至没有您需要引用的字段已初始化)。我想知道每次运行这些 SQL 条件有多便宜,但我希望此时过度优化。
      • 7.6.0.x 的某些(全部?)版本中存在特殊的“.NEW”自动脚本触发器,它导致脚本仅在创建记录时启动。您必须在对象名称之后命名脚本并添加该后缀,因此在这种情况下脚本名称将是“SR.NEW”。这将是我一年前写这篇文章时真正想要的“添加”事件。我想我听说他们在 7.6.1.x 中为此添加了适当的支持。
      猜你喜欢
      • 2013-02-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-02
      • 2011-11-30
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多