首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扩展Kuali文档业务对象

扩展Kuali文档业务对象
EN

Stack Overflow用户
提问于 2014-08-13 16:35:18
回答 1查看 177关注 0票数 8

我正面临一个在文档上扩展属性的问题(试图扩展文档表)。我在扩展表中创建了原始表的PK (FDOC_NBR),并通过定制的原始表的ojb条目(作为“扩展”引用描述符)的foreignKey链接了这两个表。我为扩展创建了bo和dd,并定制了原始文档的dd以添加新属性。在扩展的BO本身上,我还为documentNumber的PK列添加了两个新列+的成员(带有setters和getter)。我还向documet的jsp添加了新的属性。相关的模块定义已经扩展到包括自定义dd、ojb等文件。

实际上,在打开文档时,会显示新字段--然而,当尝试提交文档时(不管如何处理新字段),我会得到一个错误-

错误详细信息: OJB操作;SQL [];ORA-01400:无法将空插入到("KFSTEM"."TEM_TRVL_ARRANGER_DOC_EXT_T"."FDOC_NBR")中;嵌套异常是java.sql.SQLIntegrityConstraintViolationException: ORA-01400:无法将空插入到("KFSTEM"."TEM_TRVL_ARRANGER_DOC_EXT_T"."FDOC_NBR")中。

似乎系统试图在扩展的PK字段中插入一个NULL值,而不是实际的文档号。尝试调试它,在操作的路由方法中,一直到DocumentDaoOjb.save (这是我所能理解的最下面的),我看到带有真正文档号的文档被传递了,所以问题似乎完全是由于ojb试图将这个编号设置到扩展表中。

是否有人对文档的扩展属性有任何经验,可以帮助了解这一点?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-08-14 15:53:36

KFS正在使用KNS,在Kuali神经系统中,扩展属性对象的主键必须通过手动干预来设置。

在本例中,您似乎要向事务性文档“Travel文档”(Travel,TAA)添加扩展属性,这简化了事情。基本上,您需要扩展org.kuali.kfs.module.tem.document.TravelArrangerDocument并重写prepareForSave来在那里设置文档号(它可能已经设置好了,因为在路由过程中应该多次调用prepareForSave,但是覆盖这些信息并没有真正的危害,因为基本文档的编号将保持不变)。

希望这能有所帮助!

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25291571

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档