通过动态扩展平台导入字段后生成的字段名超出oracle字段...
适用版本EAS 6.0, EAS 7.0.1, EAS 7.0.2及之后版本
问题描述通过动态扩展平台导入字段后自动生成的字段名超出oracle字段长度导致对应的功能点执行报错
原因分析1. 如果使用动态扩展平台à对应的功能点(如领料出库单)à业务数据源à对应的功能点(如领料出库单查询)à数据源à字段à导入(导入的字段名称自动生成一串长度为36,且是由数字与英文组成的字符串,如52242895-7ACD-4C45-BA26-6601A6107D13)不改,作为过滤条件选择的条件列,则对应的功能点查询会报错,且终止程序的执行,如下所示:2.在客户端的clinent目录下的log4j.log文件中找到以上程序报错执行sql语句,以下列某个功能点执行报错部分sql内容,如下所示:SELECT"MATERIALREQBILLQUERY"."ID" "id","MATERIALREQBILLQUERY"."NUMBER" "number","MATERIALREQBILLQUERY"."BASESTATUS" "baseStatus","MATERIALREQBILLQUERY"."BIZDATE" "bizDate","MATERIALREQBILLQUERY"."STORAGEORGUNIT.ID""storageOrgUnit.id","MATERIALREQBILLQUERY"."STORAGEORGUNIT.NAME""storageOrgUnit.name","MATERIALREQBILLQUERY"."ADMINORGUNIT.ID""adminOrgUnit.id","MATERIALREQBILLQUERY"."ADMINORGUNIT.NAME""adminOrgUnit.name","MATERIALREQBILLQUERY"."COSTCENTERORGUNIT.ID""costCenterOrgUnit.id", ……"ENTRY".CFMlsno10"ENTRY.MLSNO10", "ENTRY".FSourceBillNumber"52242895-7ACD-4C45-BA26-6601A6107D13","ENTRY".FSourceBillEntrySeq "ENTRY.SOURCEBILLENTRYSEQ","MATERIALREQBILL".FBaseStatus"7993A6FD-1604-4F99-A969-2CE6E656B4CE", "ADMINORGUNIT1".FName_l2"ADMINORGUNIT1.NAME" FROM T_IM_MaterialReqBill"MATERIALREQBILL" LEFT OUTER JOIN T_ORG_Admin"ADMINORGUNIT" ON "MATERIALREQBILL".FAdminOrgUnitID ="ADMINORGUNIT".FID LEFT OUTER JOIN T_ORG_Storage"STORAGEORGUNIT" ON "MATERIALREQBILL".FStorageOrgUnitID ="STORAGEORGUNIT".FID LEFT OUTER JOIN T_IM_MaterialReqBillEntry"ENTRY" ON "MATERIALREQBILL".FID ="ENTRY".FParentID……………………….Caused exceptionmessage is: ORA-00972: identifier is too long 从上面的sql语句中发现"52242895-7ACD-4C45-BA26-6601A6107D13"与"7993A6FD-1604-4F99-A969-2CE6E656B4CE"作为了字段的别名,长度都是36,超出了oracle字段别名的长度30,从而执行以上的sql会报ORA-00972: identifier is too long错误,导致程序执行中断。
解决方法登录EAS系统,进入到“动态扩展平台à对应的功能点(如领料出库单)à业务数据源à对应的功能点(如领料出库单查询)à数据源à字段à导入” 将这个功能点导入的字段名称进行减少,减少到30个字符之内。
关键字动态扩展平台,数据源,字段,导入
通过动态扩展平台导入字段后生成的字段名超出oracle字段...
本文2024-09-16 22:39:57发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-49583.html