NC6X账户余额表查询死机解决方案姓名:阳利邮箱:yli@yonyou.com一、引言二、应用场景及问题描述在NC中查询现金管理系统余额表,客户端点查询死机无反映.三、解决方案1、打开节点语义模型预置,位置:>>动态建模平台>>报表平台>>语义模型预置。1/132、.通过左边分类树。>>资金管理>>现金管理找到账户余额表3.、这一步很重要,务必先备份!!!方法:选中账户余额表>>编辑>>复制>>再次点击编辑>>粘贴。粘贴之后,列表会多出一个名为“账户余额表copy”的语义模型,这是复制的,请不要对“账户余额表copy”作任何修改,接下来是在“账户余额表”里进行修改的。4、双击账户余额表,选择语义模型>>设计。进入具体的设计界面。2/135、接下来,选择如图这一行。把名为“其他”的这张表删除。6、然后,双击如图这一行,修改“期初”这张表。3/13下图是修改界面。第一步,把1框中的内容全部删除,把下面标红的代码粘贴到1框中。SELECTini.pk_initdatapk_initdata,ini.pk_orgpk_org,ini.globalinit_localglobalinit_local,ini.globalrealtime_localglobalrealtime_local,ini.globalcurrent_localglobalcurrent_local,ini.groupinit_localgroupinit_local,ini.grouprealtime_localgrouprealtime_local,ini.groupcurrent_localgroupcurrent_local,ini.pk_accountpk_account,ini.pk_currtypepk_currtype,ini.init_primalinit_primal,ini.init_localinit_local,ini.realtime_localrealtime_local,ini.realtime_primalrealtime_primal,ini.current_primalcurrent_primal,ini.current_localcurrent_local,ini.acctypeacctype,ini.pk_grouppk_group,ini.formcodeformcode,4/13ini.drdr,concat(ini.pk_org,ini.pk_account)orgacc1,(CASEWHENini.formcode='1'THENb.codeWHENini.formcode='0'THENh.codeEND)subcode,(CASEWHENini.formcode='1'THENb.nameWHENini.formcode='0'THENh.nameEND)subname,(CASEWHENini.formcode='1'THENb.accnumWHENini.formcode='0'THENh.codeEND)num,(CASEWHENini.formcode='1'THENb.accnameWHENini.formcode='0'THENh.nameEND)numname,d.nameyhlb,d.pk_banktypeyhlbpk,e.namesfsx,g.namezjxtFROMCMP_INITDATAiniLEFTJOINBD_BANKACCSUBbONini.pk_account=b.pk_bankaccsubANDini.formcode='1'LEFTJOINBD_BANKACCBAScON5/13b.pk_bankaccbas=c.pk_bankaccbasANDini.formcode='1'LEFTJOINBD_BANKTYPEdONc.pk_banktype=d.pk_banktypeANDini.formcode='1'LEFTJOINMD_ENUMVALUEeONe.id='50dbad5f-6e75-4997-992d-90fc0a922a0f'ANDc.arapprop=e.enumsequenceLEFTJOINMD_ENUMVALUEfONf.id='3c868578-442e-4ba4-ba9e-c5365534ecc6'ANDb.acctype=f.enumsequenceLEFTJOINMD_ENUMVALUEgONg.id='3d3de40c-b85e-4283-8ae8-1b62f19a1345'ANDini.formcode=g.enumsequenceLEFTJOINbd_cashaccounthONini.pk_account=h.pk_cashaccountANDini.formcode='0'WHEREini.dr='0'ANDini.formcodeIN('0','1')ANDNVL(ini.acctype,5)<>'3'第二步,点击校验,没有问题的话下面的框中会显示校验通过。然后点击下一步。6/13点击确定7/137、回到主界面后点击下一步。到了下图这个界面。选中期初和其他连接的这一行,点击删除,然后点击下一步。8、在这个界面,下图红框标注的字段表达式有other的,注意:最后还有一行,也是有other的,都需要修改。8/139/13修改方法:双击需要修改的某行(或者选中,点击右边的修改)。进入如下界面。删除表达式红框内的内容,显示名和编码不要修改,然后通过点击下面红框标注的期初表,从字段中选择和编码对应的字段,双击,表达式会自动出现相应字段。然后点击确定。(不要忘了修改最后一行other的)这些字段需要一个一个点击进去修改修改完之后,如图:10/13一直点击下一步,保存,完成。11/13修改完成,打开账户余额表,进行查询。如果报错或者没起作用。请进入自由报表预置。选中账户余额表,格式设计。点击右边的刷新按钮12/13四、注意事项此问题主要由于oralc版本导致,将oracle升级到11.2.0.2.0或以上版本即可解决13/13