ODI - Utilização metodo getPrevStepLog

Oracle Business Intelligence, Oracle Warehouse Builder OWB, Oracle Discoverer, BI Publisher, XML Publisher, OLAP, Data Mining, ODI Oracle Data Integrator, etc
Responder
Avatar do usuário
gpereira
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 61
Registrado em: Sáb, 10 Dez 2011 10:56 am
Gustavo Antonio Pereira
OCA Oracle Database 10g Administrator Certified Associate

Ola pessoal, tudo bom ?

Após mapear tabelas e desenvovelr interfaces no ODI, passei a desenvolver os pacotes.

Nos pacotes, estou com a intenção de desenvolver procedimentos para inseerção de LOGs em uma abela no esquema de destino.

Encontrei então o metodo getPrevStepLog, que me atenderia em todos os sentidos.

Ocorre que utilizando alguns parametros deste metodo, é emitido erro no procedimento "ORA-00936: missing expression" , o engraçado que com alguns funciona.

Selecionar tudo

INSERT INTO <%=odiRef.getSchemaName()%>.RESUMO_ODI_CARGAS (
ID_CARGA, 
PACOTE, 
DT_CARGA_INI, 
DT_CARGA_FIM, 
STATUS, 
SESSAO_ORACLE, 
QTD_REGISTROS, 
ERRO, 
DURACAO)

SELECT  
<%=odiRef.getSchemaName()%>.SEQ_RESUMO_ODI_CARGAS.NEXTVAL,
'01 - CARREGA CLIENTE', 
<%=odiRef.getPrevStepLog("BEGIN")%>, 
<%=odiRef.getPrevStepLog("END")%>,
DECODE(<%=odiRef.getPrevStepLog("STATUS")%>, 'D', 'SUCESSO',
					'E', 'INSUCESSO',
					 'DESCONHECIDO'),			
#GET_SESSION_ODI,
<%=odiRef.getPrevStepLog("INSERT_COUNT")%>,
<%=odiRef.getPrevStepLog("MESSAGE")%>,
<%=odiRef.getPrevStepLog("DURATION")%>
FROM DUAL
Utilizando DURATION e INSERT_COUNT funciona bem, porem com todos os outros parametros e emitido erro "ORA-00936: missing expression".

alguém tem alguma ideia do que seja?

Abraços.
Avatar do usuário
gpereira
Rank: Programador Sênior
Rank: Programador Sênior
Mensagens: 61
Registrado em: Sáb, 10 Dez 2011 10:56 am
Gustavo Antonio Pereira
OCA Oracle Database 10g Administrator Certified Associate

Pessoal, resolvido com formatações abaixo:

Selecionar tudo

substr('<%=odiRef.getPrevStepLog("STEP_NAME")%>', 1, 100),
TO_CHAR(cast(to_timestamp('<%=odiRef.getPrevStepLog("BEGIN")%>','YYYY-MM-DD HH24.MI.SS.FF3') as date),'DD/MM/YYYY HH24:MM:SS'),
TO_CHAR(cast(to_timestamp('<%=odiRef.getPrevStepLog("END")%>','YYYY-MM-DD HH24.MI.SS.FF3') as date),'DD/MM/YYYY HH24:MM:SS')
VALEU.
Responder
  • Informação
  • Quem está online

    Usuários navegando neste fórum: Nenhum usuário registrado e 4 visitantes