• 注册
当前位置:1313e > java >正文

maximo跟java_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 SqlFormat(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"”是数据库的表名

在MAX 里怎样通过代码来调用对话框。

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

NULL = -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"修改全局值后保存重启服务器

再修改附件管理文件夹和系统属性里一致

本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 162202241@qq.com 举报,一经查实,本站将立刻删除。

最新评论

欢迎您发表评论:

请登录之后再进行评论

登录