on 11-28-2006 8:23 PM
Hi All,
I created a 1 function using lookup and now I have been receive the following error .
Somebody help-me???
Thanks.
ERROR..
18:06:29 Start of test
Compilation of mm_FUNC_ORACLE_MPB successful
Document start
Add raw attribute [ xmlns:ns0="http://tbl.vmtubes.com.br"]
Runtime exception during processing target field mapping /ns0:mt_OracleFun_INFORMACOES_QUALIDADE/StatementName/M_FUN_QM_GRAVATND/tmp_liquido. The message is: Exception:[java.lang.IllegalArgumentException: Cannot cast Select SUM(dth_termino_parada-dth_inicio_parada) as TEMPO_PARADA from m_tl_resl_parada where num_ordem_processo='RF00030501'com.sap.aii.ib.server.lookup.SerializableDataBaseResult@124ea6canull to float. ] in class com.sap.aii.mappingtool.flib3.Arithm method subtract[1.33761574074074074074074074074074074074E-01, Select SUM(dth_termino_parada-dth_inicio_parada) as TEMPO_PARADA from m_tl_resl_parada where num_ordem_processo='RF00030501'com.sap.aii.ib.server.lookup.SerializableDataBaseResult@124ea6canull, com.sap.aii.mappingtool.tf3.rt.Context@75625d00] com.sap.aii.mappingtool.tf3.MessageMappingException: Runtime exception during processing target field mapping /ns0:mt_OracleFun_INFORMACOES_QUALIDADE/StatementName/M_FUN_QM_GRAVATND/tmp_liquido. The message is: Exception:[java.lang.IllegalArgumentException: Cannot cast Select SUM(dth_termino_parada-dth_inicio_parada) as TEMPO_PARADA from m_tl_resl_parada where num_ordem_processo='RF00030501'com.sap.aii.ib.server.lookup.SerializableDataBaseResult@124ea6canull to float. ] in class com.sap.aii.mappingtool.flib3.Arithm method subtract[1.33761574074074074074074074074074074074E-01, Select SUM(dth_termino_parada-dth_inicio_parada) as TEMPO_PARADA from m_tl_resl_parada where num_ordem_processo='RF00030501'com.sap.aii.ib.server.lookup.SerializableDataBaseResult@124ea6canull, com.sap.aii.mappingtool.tf3.rt.Context@75625d00] at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:347) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:309) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:309) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:309) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:398) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:141) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:102) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0.execute(MapServiceRemoteObjectImpl0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0p4_Skel.dispatch(MapServiceRemoteObjectImpl0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Root Cause: com.sap.aii.utilxi.misc.api.BaseRuntimeException: Exception:[java.lang.IllegalArgumentException: Cannot cast Select SUM(dth_termino_parada-dth_inicio_parada) as TEMPO_PARADA from m_tl_resl_parada where num_ordem_processo='RF00030501'com.sap.aii.ib.server.lookup.SerializableDataBaseResult@124ea6canull to float. ] in class com.sap.aii.mappingtool.flib3.Arithm method subtract[1.33761574074074074074074074074074074074E-01, Select SUM(dth_termino_parada-dth_inicio_parada) as TEMPO_PARADA from m_tl_resl_parada where num_ordem_processo='RF00030501'com.sap.aii.ib.server.lookup.SerializableDataBaseResult@124ea6canull, com.sap.aii.mappingtool.tf3.rt.Context@75625d00] at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.getValue(FunctionWrapper.java:56) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:291) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:309) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:309) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:309) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:398) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:141) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:102) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0.execute(MapServiceRemoteObjectImpl0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0p4_Skel.dispatch(MapServiceRemoteObjectImpl0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Root Cause: java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at com.sap.aii.mappingtool.tf3.rt.FunctionWrapper.getValue(FunctionWrapper.java:47) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:291) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:309) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:309) at com.sap.aii.mappingtool.tf3.AMappingProgram.processNode(AMappingProgram.java:309) at com.sap.aii.mappingtool.tf3.AMappingProgram.start(AMappingProgram.java:398) at com.sap.aii.mappingtool.tf3.Transformer.start(Transformer.java:141) at com.sap.aii.mappingtool.tf3.AMappingProgram.execute(AMappingProgram.java:102) at com.sap.aii.ibrep.server.mapping.ServerMapService.transformInternal(ServerMapService.java:431) at com.sap.aii.ibrep.server.mapping.ServerMapService.execute(ServerMapService.java:169) at com.sap.aii.ibrep.sbeans.mapping.MapServiceBean.execute(MapServiceBean.java:52) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0.execute(MapServiceRemoteObjectImpl0.java:301) at com.sap.aii.ibrep.sbeans.mapping.MapServiceRemoteObjectImpl0p4_Skel.dispatch(MapServiceRemoteObjectImpl0p4_Skel.java:146) at com.sap.engine.services.rmi_p4.DispatchImpl._runInternal(DispatchImpl.java:320) at com.sap.engine.services.rmi_p4.DispatchImpl._run(DispatchImpl.java:198) at com.sap.engine.services.rmi_p4.server.P4SessionProcessor.request(P4SessionProcessor.java:129) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170) Caused by: java.lang.IllegalArgumentException: Cannot cast Select SUM(dth_termino_parada-dth_inicio_parada) as TEMPO_PARADA from m_tl_resl_parada where num_ordem_processo='RF00030501'com.sap.aii.ib.server.lookup.SerializableDataBaseResult@124ea6canull to float. at com.sap.aii.mappingtool.flib3.Arithm.toFloat(Arithm.java:67) at com.sap.aii.mappingtool.flib3.ArithmOld.subtract(ArithmOld.java:17) at com.sap.aii.mappingtool.flib3.Arithm.subtract(Arithm.java:103) ... 26 more RuntimeException in Message-Mapping transformation: Runtime exception during processing target field mapping /ns0:mt_OracleFun_INFORMACOES_QUALIDADE/StatementName/M_FUN_QM_GRAVATND/tmp_liquido. The message is: Exception:[java.lang.IllegalArgumentException: Cannot cast Select SUM(dth_termino_parada-dth_inicio_parada) as TEMPO_PARADA from m_tl_resl_parada where num_ordem_processo='RF00030501'com.sap.aii.ib.server.lookup.SerializableDataBaseResult@124ea6canull to float. ] in class com.sap.aii.mappingtool.flib3.Arithm method subtract[1.33761574074074074074074074074074074074E-01, Select SUM(dth_termino_parada-dth_inicio_parada) as TEMPO_PARADA from m_tl_resl_parada where num_ordem_processo='RF00030501'com.sap.aii.ib.server.lookup.SerializableDataBaseResult@124ea6canull, com.sap.aii.mappingtool.tf3.rt.Context@75625d00]
18:06:30 End of test
Babu, Tank you !!!!
I change My variable resposta and now its work..
Look My Code.
//write your code here
String Query = " ";
Channel channel = null;
DataBaseAccessor accessor = null;
DataBaseResult resultSet = null;
Object resposta = null;
//Query = "Select SUM(dth_termino_parada-dth_inicio_parada) as TEMPO_PARADA, NUM_ORDEM_PROCESSO
//from m_tl_resl_parada where num_ordem_processo='"+ NUN_ORDEM_PROCESSO +""';
Query = "Select SUM(dth_termino_parada-dth_inicio_parada) "+
" as TEMPO_PARADA"+
" from m_tl_resl_parada"+
" where num_ordem_processo='"+ NUN_ORDEM_PROCESSO + "'" ;
try{
//Determine a channel, as created in the Configuration
channel = LookupService.getChannel("TBL_XID","ccJDBC_TBL_FUNC_ORACLE_MPB_rcv");
//Get a system accessor for the channel. As the call is being made to an DB, an DatabaseAccessor is obtained.
accessor = LookupService.getDataBaseAccessor(channel);
//Execute Query and get the values in resultset
resultSet = accessor.execute(Query);
//
//Map rowMap = (Map)rows.next( );
//return.value((String)rowMap.get("TEMPO_PARADA"));
//return ((String)rowMap.get("TEMPO_PARADA"));
for(Iterator rows = resultSet.getRows();rows.hasNext();) {
Map rowMap = (Map)rows.next();
resposta = rowMap.get("TEMPO_PARADA");
}
return resposta.toString();
}
catch(Exception ex){
//result.addValue(ex.getMessage())
return ex.getMessage();
}
finally{
try{
if (accessor!=null) accessor.close();
}
catch(Exception e){
//result.addValue(e.getMessage())
return e.getMessage();
}
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
It is type mismatch with the target field with this function SUM(dth_termino_parada-dth_inicio_parada) once change your target type with numeric instead of string or alphanumeric.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
This is my code!!!!
FUNCTION 1 (DB_FUNCTION_MPB)
//write your code here
String Query = " ";
Channel channel = null;
DataBaseAccessor accessor = null;
DataBaseResult resultSet = null;
String resposta= null;
//Query = "Select SUM(dth_termino_parada-dth_inicio_parada) as TEMPO_PARADA, NUM_ORDEM_PROCESSO
//from m_tl_resl_parada where num_ordem_processo='"+ NUN_ORDEM_PROCESSO +""';
Query = "Select SUM(dth_termino_parada-dth_inicio_parada) "+
" as TEMPO_PARADA"+
" from m_tl_resl_parada"+
" where num_ordem_processo='"+ NUN_ORDEM_PROCESSO + "'" ;
try{
//Determine a channel, as created in the Configuration
channel = LookupService.getChannel("TBL_XID","ccJDBC_TBL_FUNC_ORACLE_MPB_rcv");
//Get a system accessor for the channel. As the call is being made to an DB, an DatabaseAccessor is obtained.
accessor = LookupService.getDataBaseAccessor(channel);
//Execute Query and get the values in resultset
resultSet = accessor.execute(Query);
//
//Map rowMap = (Map)rows.next( );
//return.value((String)rowMap.get("TEMPO_PARADA"));
//return ((String)rowMap.get("TEMPO_PARADA"));
for(Iterator rows = resultSet.getRows();rows.hasNext();) {
Map rowMap = (Map)rows.next();
resposta = (String)rowMap.get("TEMPO_PARADA");
}
return resposta;
}
catch(Exception ex){
//result.addValue(ex.getMessage())
return ex.getMessage();
}
finally{
try{
if (accessor!=null) accessor.close();
}
catch(Exception e){
//result.addValue(e.getMessage())
return e.getMessage();
}
}
*********************************************************************************
FUNCTION 2 ( DB_OPERACAO)
//write your code here
String Query = " ";
Channel channel = null;
DataBaseAccessor accessor = null;
DataBaseResult resultSet = null;
String resposta = null;
//Query = "Select vornr from idi.qaimv_insp where prueflos = "+ COD_LOTE_CONTROLE +" and verwmerkm = (select nom_caract from
//idi.map_sap_mes_tnd where cod_area = 'TBL' and tip_insp = 'MPB' and status = 'A' ";
Query = "Select vornr from idi.qaimv_insp where prueflos = "+
COD_LOTE_CONTROLE +" and verwmerkm = " +
"(select nom_caract from idi.map_sap_mes_tnd "+
"where cod_area = 'TBL' and tip_insp = 'MPB' "+
" and status = 'A' )";
try{
//Determine a channel, as created in the Configuration
channel = LookupService.getChannel("TBL_XID","ccJDBC_TBL_FUNC_ORACLE_MPB_CODLOTE_rcv");
//Get a system accessor for the channel. As the call is being made to an DB, an DatabaseAccessor is obtained.
accessor = LookupService.getDataBaseAccessor(channel);
//Execute Query and get the values in resultset
resultSet = accessor.execute(Query);
//
//Map rowMap = (Map)rows.next( );
//return ((String)rowMap.get("vornr"));
for(Iterator rows = resultSet.getRows();rows.hasNext();) {
Map rowMap = (Map)rows.next();
resposta = (String)rowMap.get("vornr");
}
return resposta;
}
catch(Exception ex){
//result.addValue(ex.getMessage())
return ex.getMessage();
}
finally{
try{
if (accessor!=null) accessor.close();
}
catch(Exception e){
//result.addValue(e.getMessage())
return e.getMessage();
}
}
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
1. Can you post the DB Lookup code that you are using?
2. Make sure that the select statement you have created in the mapping actually returns some value.
Regards,
Bhavesh
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
I think you are mapping the alphanumeric field on sum which is calling for an exception.Check your mapping instance.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
93 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
5 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.