搜档网
当前位置:搜档网 › maximo遇到的错误问题

maximo遇到的错误问题

mbo静态常量类MboConstants

新建表选择的服务是从那里添加的?有什么用?
添加书签权限问题?
下拉列表能不能绑定集合,而不是绑定表?
新建的用户登陆不了? 登陆界面链接的注册是可以登陆的
菜单按钮显示怎么只有两个?
setValue(,, 11L)中的11L是什么意思?
多部分textbox第二部分值绑定时要求当前表和查找的表要有关联
1、金山打字通
2、eclipse报表传参与maximo
3、maximo数据库待添加状态时数据是存在那里的,怎么导出表 //数据库迁移成功 (需要5个sql文件 maxrelationship关系sql,maxattributecfg属性数据sql,maxsysindexes索引数据sql,maxobjectcfg对象sql,maxtablecfg表数据sql

4、 at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppS
ervletContext.java:2277)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletC
ontext.java:2183)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.j
ava:1454)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
psdi.util.MXObjectNotFoundException: BMXAA3765E - 查找期间找不到服务 TEST_POS。
服务器启动时可能未装入该服务。 请检查 APPSERVER_HOME 目录中的服务器日志并确保服
务器启动时未发生错误。
at psdi.server.ServiceStorage.lookup(ServiceStorage.java:106)
at psdi.server.ServiceCoordinator.lookup(ServiceCoordinator.java:186)
at psdi.server.MXServer.lookup(MXServer.java:2923)
at psdi.server.MXServer.getMboSet(MXServer.java:2303)
5、错误:
BMXAA4209E - 序号null不存在。请使用“数据库配置”应用程序来检查该属性和序列的配置。
主键列的序列未创建,或没指定,一般是使用数据表迁移时未在maxsequence表里添加序列数据导致的,


保存时报“必填字段不能为空白”,
可能数据库里有不允许为空的字段你没列出来,需要保存时手动赋值。

BMXAA4176E - 属性CTESTI不存在。 请从 目录收集日志,并确定引用无效属性的进程或应用程序。
说明绑定字段时属性可能写错

BMXAA4176E - 属性RKFS不存在。 请从 目录收集日志,并确定引用无效属性的进程或应用程序。
Invalid attribute 'RKFS' specified for control '1359445704961' in app 'test_pos'
如果绑定字段是“在下拉框”上可能是应用程序里高级设置里的“选择属性”没有设,也可以在数据库里设“等同对象”实现

getMboValue().getMbo().setValue("dept_id", deptId,NOACTION);
常量NOACTION,是控制“dept_id”字段在setValue()时不触发action()方法


getTranslator().toExternalDefaultValue("RECEIPTS", "NONE", this);
获得外部域里的值,RECEIPTS域名,NONE内部值.

SqlFormat sqlf=new SqlFor

mat(mr,"ITEMNUM=:1");
sqlf.setObject(1, "INVVENDOR", "ITEMNUM", mr.getString("ITEMNUM"));
MboRemote invvendor=mr.getMboSet("$invvendor","INVVENDOR",sqlf.format()).getMbo(0);//在绑定字段类里可以这样来获得与此字段有关的表的Mbo
$invvendor:是当前表的关系名。INVVENDOR:表名,,sqlf.format():关系条件
MboRemote mr= this.getMboValue().getMbo();
将会获得绑定的这个字段所在的Mbo对象。


MboRemote inventor=mr.getMboSet("INVENTORY").getMbo(0);
经过测试在绑定的字段继承MAXTableDomain类里采用上面直接传关系名是获取不到Mbo对象的,继承Mbo类方可通过上面方法获得Mbo对象

String[] statusList = { "ACTIVE", "PLANNING", "PENDOBS" };
String validStatus = getTranslator().toExternalList("ITEMSTATUS",statusList);
validStatus 为域ITEMSTATUS 的内部值的值集合,"ACTIVE", "PLANNING", "PENDOBS"为域“ITEMSTATUS”的内部值项


在类继承MAXTableDomain 类中调用getMboValue().setValue()方法时会触发action()方法。
而MboRemote mr=getMboValue().getMbo();mr.setValue("");不会触发action();


如果要添加“变更状态”操作,应用程序Mbo业务类需要继承StatefulMbo类


BMXAA4187E - 关联 TEST_POLINE 对于业务对象 TEST_POS 不存在。请验证 Maxrelationship 表中是否存在在参数 TEST_POLINE 中指定的关联。
getMboSet(String param);参数是关系的名称

BMXAA4210E - 编号为904的数据库错误已经发生。无效的 SQL 查询会记录在日志文件中。请检查 SQL 查询以确定错误。
可能是由于在setRelationship("LOCATIONS","location=:"+attname);时把属性名写错导致



BMXAA3287E - 状态对象只可由采购单对象创建。
发现是由于继承了StatefulMbo类引起的,但是不继承完成不了“状态变更”

ORA-01400: 无法将 NULL 插入 ("MAXIMO"."ASSET"."ROWSTAMP")
java.sql.SQLIntegrityConstraintViolationException: ORA-01400: 无法将 NULL 插入 ("MAXIMO"."ASSET"."ROWSTAMP")
触发器原因,重新编译后,执行一下(启用)


BMXAA0042E - 业务对象 TEST_POS 上调用了变更状态操作。但是,该对象没有状态字段,因此无法具有指定给它的状态。请查看日志文件以确定调用状态变更操作的进程。


1、今天弄明白了工具栏按钮弹出的对话框是可以放到应用程序的xml里的dialog,以及点击确认时调用的事件是可以直接调用方法名的。
2、Utility.sendEvent(new WebClientEvent("dialogclose", this.app.getCurrentPageId(), null, this.sessionContext));这个静态方法是当点击确认时关闭对话框功能。
3、当点击新建时是调用this.insert();这个方法来新建的。
4、按钮里的签名选项是和dialog里的id对应的,

)“mboname="jobtest"”是数据库的表名

在M

AX 里怎样通过代码来调用对话框。
public int addsyxm() throws MXException, RemoteException {
String s1="pgselectcj" ;
Utility.sendEvent(sessionContext, sessionContext.getCurrentAppId(),
"refresh", "");
Utility.sendEvent(sessionContext,
sessionContext.getRequest().getParameter(
"targetid"), s1, "");
return 1 ;
}
======其中pgselectcj 是dialog 的ID 值,如:===========

beanclass="power.webclient.beans.asset.SelectCJBean">

在MAX 里怎样通过代码来转到关联APP 应用。
方法1:Utility.sendEvent(sessionContext, "applink", "new_tab_2_table_8",
"PGBDQXCL");
方法2:Utility.sendEvent(new WebClientEvent("applink", " new_tab_2_table_8", "
PGBDQXCL ", null, null, 0, sessionContext));
======其中对应于Utility 类和WebClientEvent 类里的方法:========
sendEvent(SessionContext sessioncontext, String s, String s1, Object obj)
WebClientEvent(String s, String s1, Object obj, String s2, String s3, long l,
SessionContext sessioncontext)
type = s;----表示类型,是applink
targetId = s1; ----表示绑定转到功能的字段所在的页面ID,是new_tab_2_table_8
value = obj; ----表示需要转到的APP 名称,是PGBDQXCL
if(!Utility.isNull(s2))
row = Integer.valueOf(s2).intValue();
sessionContext = sessioncontext;
additionalEvent = s3;
uniqueid = l;


在继承 MultiselectDataBean类里 String targetId = this.creatingEvent.getTargetId();是获得包含当前控件的id的
targetId.contains("1342491121444") 当前控件id是否包含"1342491121444"字符串
Vector selection = groupSet.getSelection(); 获得被选定的Mbo的Vector集合

IE 弹出JS“没有权限”
修改“Internet选项--高级--去掉 禁用脚本调试(Internet Explorer)”

实现弹出提示对话框(详见:ewell.webclient.beans.warranty.WarrantyAppBean)
在应用程序设计器里继承AppBean 添加签名选项,在继承的AppBean里写方法,方法名要和签名选项名一致一般大写,
MXApplicationYesNoCancelException(String id, String eg, String ek)
id:为随意输入的一个异常表示,eg:为异常的msggroup,ek:为异常的msgkey;
int k = MXApplicationYesNoCancelException.getUserInput("warranty",MXServer.getMXServer(), warrantymbo.getUserInfo());
记住一件事,MXApplicationYesNoCancelException整个代码块需要执行2次。
用户第一次输入将是null,所以你必须为零输入响应的开关块写入您的默认代码。
if (k < 0) {
throw new MXApplicationYesNoCancelException("warranty","warranty", "isnullify");
}
第二次取决于你能开关的条件及不同段.........写入所需的程序的用户输入
k的值等于下面的属性值
public static final int OK = 2;
public static final int CANCEL = 4;
public static final int YES = 8;
public static final int NO = 16;
public static final int NU

LL = -1;

附件功能的实现(详见ewell.webclient.beans.warranty.WarrantysDateBean ,ewell.webclient.beans.doclinks.custom.AddDocLinksCustomBean , ewell.webclient.beans.doclinks.custom.ViewAttachmentsCustomBean)
附件浏览需在weblogic中配置附件服务在C盘doclinks文件夹内新建WEB-INF文件夹把C:\ibm\SMP\maximo\deployment路径下的web.xml文件复制进去然后到weblogic中安装部署,附件上传:如果在主表中使用只需要在数主表中添加一个doclinks的关系即可,
如果在字表中使用附件控件,要把library.xml中上传附件dialog和查看附件的dialog复制到自己的应用程序中并把savemode="ONLOAD"删除,
然后绑定自己写的DdataBean,不然在新建一行中上传附件就会发生绑定doclinks表失败和附件查看不到。

在DataBean中调用dialog对话框的方法:RequestHandler.showDialog(sessionContext, "viewattachments");

maximo获取当前时间
Date currentDate = ((AppService) getMboServer()).getMXServer().getDate();

图像控件的文件路径是:C:\ibm\SMP\maximo\applications\maximo\maximouiweb\webmodule\webclient\skins\tivoli09\images

列表行根据情况显示不同颜色
在表maxpresentation中,找到对应的列表,做如下修改:




...







要点:
tablebody里的customizable = "true"要设置
控制属性是dataBean对应表的属性
range是范围测试, lower<= dataattribute <= upper,要求控制属性是整型
exact是精确匹配,dataattribute= value

“应用程序栏”控件的appbarlinks属性值格式:JOB,job测试,appimg_searchsol.gif;appName,appDesc,img;
img图片要在图片名子前加ab_,如ap_appimg_searchsol.gif输入时只需appimg_searchsol.gif

修改上传文件路径:要先在“平台配置——系统属性——mxe.doclink.doctypes.topLevelPaths"修改全局值后保存重启服务器
再修改附件管理文件夹和系统属性里一致

相关主题