maximo经验2

原文地址  http://www.blogjava.net/cpegtop/articles/373562.html

目录

一、过滤器问题,应用程序列表属性没有文本框可以过滤:... 2

二、应用程序列表只读问题:... 2

三、删除运行管理中的600WM手册... 2

四、工作流相关... 2

五、权限组设置... 5

六、出现报错... 6

七、configdb.bat 没反应,或者报错的解决方案... 7

八、几个关键代码... 7

九、表域的学习... 15

十、maximo常用表解释... 17

十一、添加附件功能... 21

十二、数据库配置中属性缺省值 :... 23

十三、控件样式的目录... 23

十四、对MAXMENU表的几个列名介绍... 23

十五、隐藏菜单的方法 . 24

十六、更改oracleIP. 24

十七、下载的excel文件经常有乱码,解决办法: 25

十八、删除应用程序... 25

十九、新建模块菜单... 26

二十、改lable长度:... 27

二十一、工作流图标:... 27

二十二、控件相关介绍... 27

二十三、开发应用程序中选择操作步骤... 33

二十四、二次开发介绍... 35

二十五、类介绍... 39

一、过滤器问题,应用程序列表属性没有文本框可以过滤:

在数据库配置的属性列,配置clip_image002

二、应用程序列表只读问题:

导出其他的xml,修改几个点,第一修改所有的属性控件,把inputmode=”READONLY” 去掉,第二修改table 标签inputmode=”readonly”

三、删除运行管理中的600WM手册

1、delete maxapps where app='MANUALCX'or app='MANUALWH';commit;
2、delete maxpresentation where app='MANUALCX'or app='MANUALWH';commit;

3、delete sigoption where moduleapp='MANUALCX' or moduleapp='MANUALWH' and menutype !='MODULE';commit;
4、delete applicationauth where app='MANUALCX'or app='MANUALWH';commit;
5、delete maxlabels where app='MANUALCX'or app='MANUALWH';commit;

6、delete maxmenu where moduleapp='MANUALCX' or moduleapp='MANUALWH' and menutype !='MODULE';commit;

四、工作流相关
1、拖一个任务节点,拖2个线连起来
2、给任务节点赋相应属性
clip_image004
3、验证——启用——激活——添加工作流到应用程序
4、在应用程序中(模仿需求计划的应用程序)
clip_image006
5、在数据库配置中加关系(模仿需求计划的关系)
clip_image008

关系:PR_WFTRANSACTION 子对象:WFTRANSACTION
where子句:ownertable = 'PR' and ownerid = :prid and transtype in('WFASSIGNCOMP','REJECT','ACCEPT')

PR 是当前表名,prid 是当前表的id名 ,只要改这两个地方即可,下面的也一样
clip_image010
关系:PR_AUTO_WFTASK 子对象:WFASSIGNMENT
where子句:ownertable = 'PR' and ownerid = :prid and assignstatus='ACTIVE'
以上是工作流设计步骤

6、删除应用程序中工具栏的工作流按钮

工作流设计器——>选择操作——>“编辑工作流至”按钮——>删除记录
clip_image012

clip_image014

五、权限组设置

1、新建权限组(根据需求为所需应用程序赋权限)
clip_image016
2、点权限——>用户——>选管理员用户——>点组——>选择操作里面选“授权重新分配”——>新建行
clip_image0183、返回权限组,点用户选项卡,新建行就Ok了,在用户里面就有新建的那个权限组了clip_image020
clip_image022

六、出现报错
1、不是所有字段都绑定的错误解决方案:

clip_image023

方法:1:
肯定有一个属性是自动编号,但是你查询这个自动编号是没有的,所以要再创建一个就OK
clip_image025

方法2:

insert into autokey ( PREFIX, SEED, ORGID, SITEID, AUTOKEYNAME, SETID, LANGCODE, AUTOKEYID) values ( null, 1009, 'BCDGS', 'BCDSITE', 'PONDERATION', null, 'ZH', AUTOKEYSEQ.nextval);

commit;

把红色的换成ORG和nullclip_image027

2011.8.2发现orgid其实就是组织的字段clip_image029,因为它那边的组织名字是BCDGS所以就老是不一样哦,siteid就是地点字段clip_image031

2、新建应用程序报错,无法保存:

Webllogic8 出现保存不了的解决方案:把Maxprod\applications\maximo\lib\oraclethin.jar 复制到bea\weblogic81\server\lib 中,把这里面的ojdbc14.jar 剪切,备份,特殊情况下不能把ojdbc14.jar剪切,如果润乾报表报错JDBC driver is not on the CLASSPATH就要把它还原回去,当然oraclethin.jar还是要加的,所以ojdbc14.jar应该不需要删掉

3、rmic -d . psdi.app.fuel.FUELTB040LINE

clip_image032

会生成FUELTB040LINE_STUB.class文件,解决使用对象类突然报错问题
clip_image034

七、configdb.bat 没反应,或者报错的解决方案

1、看看log文件里面报什么错
2、一般是表空间不对的问题,configdb只用来配置物理表,配置数据库对象而已,执行其他的sql在数据库中无需再次点击configdb.bat ,添加数据库关系也不需要

八、常用关键代码
1、数据库操作

Connection con=
MXServer.getMXServer().getDBManager().getSystemConnection();
private String getSAMPLEMACHID(Connection con){//随机获取取样机编号

ResultSet rs = null;

try{ //第一种方法
java.sql.Statement stat = null; //statement

stat = con.createStatement();

rs = stat.executeQuery("select SAMPLEMACHID from ( select SAMPLEMACHID from FUELTB030 order by dbms_random.value ) where rownum <2 ");

java.sql.PreparedStatement stat = null;

ResultSet rs = null;

try { //第二种方法

java.sql.PreparedStatement stat = null; // PreparedStatement

stat = con.prepareStatement("select SAMPLEMACHID from ( select SAMPLEMACHID from FUELTB030 order by dbms_random.value ) where rownum

stat.setInt(1, 2);

rs = stat.executeQuery();

if (rs.next()) {

return rs.getString(1);

}

}catch(Exception ex){

ex.printStackTrace();

}finally{

try{

if(rs!=null)rs.close();

if(stat!=null)stat.close();

}catch(Exception ex){

ex.printStackTrace();

}

}

return "";

}

2、获取系统登陆用户名
app.getBeanForApp().getMbo().getUserInfo().getPersonId()
3、弹出对话框

Utility.showMessageBox(this.sessionContext.getCurrentEvent(), "标题", "我的测试", null);

4、刷新页面

import psdi.webclient.system.beans.DataBean;

import psdi.webclient.system.beans.AppBean;
app.getAppBean().refreshTable();

5、新建行

package psdi.webclient.beans.fuel;

import psdi.util.MXException;

import psdi.webclient.system.beans.DataBean;

public class FUELTB012LINEBean extends DataBean

{

public int addrow()throws MXException

{

if (this.parent.isNewRow()){ //如果是新行

this.parent.save();

}

String ID = this.parent.getString("CONTRACTNUM"); //获取主表的标示ID

super.addrow();

DataBean databean = this.app.getDataBean("new_table"); //获取所需的子表数据源

databean.setValue("CONTRACTNUM", ID); //为子表的外键Id赋值

return 1;

}

}
clip_image036
clip_image038

clip_image040

6、业务类中赋只读属性

public class FldVehicledid extends MboValueAdapter {

public FldVehicledid(MboValue mbv) throws MXException {

super(mbv);

}

public void action() throws MXException, RemoteException {

super.action();

getMboValue("VEHICLETYPE").setReadOnly(false);//取消只读
getMboValue("VEHICLETYPE").setReadOnly(true);//只读
}

7、修改maximo默认日期格式

打开路径:Maxprod\applications\maximo\resources\resources\defaults\ setting.properties 里面加一行代码:DISPLAYDATE=yyyy/MM/dd

8、更改自动超时时间

当 Maximo 用户连续 30 分钟处于非活动状态之后,系统会将其关闭。您可以编辑

以下目录中的 web.xml 文件,以便更改此默认值:

\applications\maximo\maximouiweb\webmodule\

WEB-INF\web.xml

查找 session-config 部分并将 session-timeout 元素改为其他值。例如,将 30 改为

60,则超时时间会从 30 分钟增加到 60 分钟。

9、Maximo.properties 设置

编辑 applications\Maximo\properties 文件夹中的

maximo.properties 文件。

参数

描述

mxe.name

如果在同一台物理计算机上部署多个 Maximo 应用程序,则必须 更改 mxe.name 参

数。

在 MXServer.properties 部分中,将 mxe.hostname 属性设置为该计算机的名称和托

管 Maximo 服务器的端口。

mxe.db.url

Maximo 要连接到的数据库:

1.要连接到 IBM DB2 数据库,请将其设置为:mxe.db.url=jdbc:db2://

localhost:50000/dbalias

2.要连接到 Oracle 数据库请将其设置为

mxe.db.url=jdbc:oracle:thin:@hostname:port:SID

3.要连接到 Microsoft SQL Server 数据库,请将其设置为:

mxe.db.url=jbdc:inetdae7a:hostname:port?database=dbname&language=us_e

nglish&nowrnings=true\

mxe.db.schemaowner

Maximo 要连接到的用户模式所有者:

1. 要连接到 IBM DB2 数据库,请键入用户模式所有者的名称。对于 IBM DB2,默

认的所有者名称为 Maximo。

2. 要连接到 Oracle 数据库,请键入用户模式所有者的名称。对于 Oracle,默认的所

有者名称为 Maximo。

3. 要连接到 Microsoft SQL Server 数据库,请键入 dbo

mxe.adminuserid Maximo

管理员的用户名和口令

mxe.db.user

登录用户名

mxe.db.password

登录口令

mxe.system.reguser

用于添加新用户的数据库管理帐户

mxe.system.regpass

word

用于添加新用户的数据库管理口令

mxe.report.actuate. reportserver

Actuate Encyclopedia 中的报表服务器的名称。这还作为卷标引用。

mxe.report.actuate. portalHost

Active Portal 的 URL,包括端口号和文件夹。默认情况下,该文件夹名为 acweb

mxe.report.actuate. iServer

报表 iServer 的 URL,包括端口号。示例:http://production:8000

mxe.report.actuate. db.connectstring

由 Actuate Encyclopedia 用来访问数据库,并且必须引用 Maximo 应用程序连接到的同一个数据库。connectstring 为 sid 的 tnsnames.ora 别名。

mxe.report.actuate.

rootEncycFolder

默认情况下,此文件夹为 rpt,并包含 maximo 报表 Encyclopedia 的所有子文件夹、报表和查询。

如果有多个 Maximo 服务器,请创建多个唯一的 Encyclopedia 根目录文件夹名称。

mxe.report.actuate. rsseAlias

rsseAlias RSSE 别名设置 Actuate\iServer\etc 目录中的 rsse properties 文件。例如,如果在产生时设置别名,则将 rsse properties 文件设置为 rsse_production.properties。

mxe.report.activate. multiServer

当有多个连接到 Actuate 服务器的 Maximo 实例时,应将 multiServer 标记设置为是

10、自动编号设置

点管理——>组织——>选择操作——> 自动编号设置——>组织机构级别——>设置前缀
clip_image042

11、为标签加颜色

1、color="#FF0000" label="测试红色字体" align="LEFT" span="LEFT" plaintext="false" column="2" />

2、直接clip_image044

12、在部分控件里面嵌套jsp

id="test_jsp" src="../webclient/jsp/app/dept/test.jsp" />

13、iframe 用法