Base de conhecimento
Encontre respostas para suas dúvidas em quatro fontes de conhecimento diferentes ao mesmo tempo, simplificando o processo de pesquisa.

Agro - PIMS IND - MI - ORA-00904: "FTEMPOMINEXECCHKLISTPONTOMIS": invalid identifier

time.png Tempo aproximado para leitura: 00:01:30 min

Ocorrência
Ao tentar emitir ou carregar o relatório no módulo de Manutenção Industrial - MI, o Sistema é interrompido por uma exceção de banco de dados, exibindo a seguinte mensagem de erro em um pop-up:
Invalid field name. ORA-00904: "FTEMPOMINEXECCHKLISTPONTOMIS": invalid identifier.

ORA009.png

Caminho do relatório afetado:
Relatórios Gerenciais ➔ Preventiva/Preditiva ➔ Relatórios de Checklist ➔ Comparativo de Rotas Previstas x Realizadas.

Ambiente
TOTVS Agro - TOTVS Agro - Bioenergia - Controle Manutenção Industrial - MI - Versão 12

Causa 
Esse incidente ocorre devido à ausência ou falta de atualização da função de script (function) de banco de dados chamada fTempoMinExecChkListPontoMis. Como o relatório tenta invocar esse identificador e não o encontra no banco, o Oracle retorna o erro ORA-00904.

Solução
Para solucionar o problema, é necessário executar o script em anexo na base de dados para realizar a criação/atualização da função de script faltante.

Script de Correção (PL/SQL):

 
CREATE OR REPLACE FUNCTION fTempoMinExecChkListPontoMis(
    p_empresa IN NUMBER, 
    p_nos IN NUMBER, 
    p_nidMis IN NUMBER, 
    p_Status IN VARCHAR2
) RETURN NUMBER IS

    nRet NUMBER(15,2) := 0;
    nTempoCentTot NUMBER(15,2) := 0;
    nTempoCentMis NUMBER(15,2) := 0;

    CURSOR cO IS
        -- Totaliza o tempo apontado para a OS
        SELECT NVL(SUM(g.mog_minuto), 0) nMinutos
        FROM mcpordem o, mcpmogasta g
        WHERE o.emp_codemp = g.emp_codemp 
          AND o.ord_codos = g.ord_codos 
          AND o.emp_codemp = p_empresa 
          AND o.ord_codos = p_nos;
    rO cO%ROWTYPE;

    CURSOR cL IS
        -- Totaliza a quantidade de pontos
        SELECT NVL(COUNT(*), 1) nPontoTot
        FROM mcplubrif
        WHERE emp_codemp = p_empresa 
          AND ord_codos = p_nos;
    rL cL%ROWTYPE;

    CURSOR cT IS
        -- Totaliza a quantidade de pontos do MIS para fazer o rateio dos minutos apontados de forma proporcional
        SELECT NVL(COUNT(*), 1) nPontoMis
        FROM mcplubrif
        WHERE emp_codemp = p_empresa 
          AND ord_codos = p_nos 
          AND id_mis = p_nidMis;
    rT cT%ROWTYPE;

BEGIN
    -- Só irá retornar o tempo se a OS estiver com o status executada/encerrada
    IF p_Status = '4' THEN
        OPEN cO;
        FETCH cO INTO rO;
        IF cO%FOUND THEN
            OPEN cL;
            FETCH cL INTO rL;
            IF cL%FOUND THEN
                OPEN cT;
                FETCH cT INTO rT;
                IF cT%FOUND THEN
                    -- Tempo decimal total
                    nTempoCentTot := ROUND((rO.nMinutos / 60), 2);
                    
                    -- Tempo decimal do mis
                    nTempoCentMis := ROUND(((nTempoCentTot / rL.nPontoTot) * rT.nPontoMis), 2);
                    
                    -- Tempo relógio mis
                    nRet := ROUND((nTempoCentMis * 0.6), 2) * 100;
                END IF;
                CLOSE cT;
            END IF;
            CLOSE cL;
        END IF;
        CLOSE cO;
    END IF;

    RETURN nRet;
END;
/
Esse artigo foi útil?
Usuários que acharam isso útil: 0 de 0

0 Comentários

Por favor, entre para comentar.
X Fechar

Olá ,

Há pendência referente a um de seus produtos contratados para a empresa ().

Entre em contato com o Centro de Serviços TOTVS para tratativa.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cobrança – Verificação de pendências financeiras . clique aqui.

TOTVS

X Fechar

Olá ,

Seu contato não está cadastrado no Portal do Cliente como um perfil autorizado a solicitar consultoria telefônica.

Por gentileza, acione o administrador do Portal de sua empresa para: (1)configurar o seu acesso ou (2)buscar um perfil autorizado para registro desse atendimento.

Em caso de dúvidas sobre a identificação do contato administrador do Portal, ligue (11) 4003-0015, opção 7 e, em seguida, opção 4 para buscar o suporte com o time de Assessoria ao Portal do Cliente. . clique aqui.

TOTVS

X Fechar

Olá ,

Para o atendimento de "Consultoria Telefônica" você deverá estar de acordo com o Faturamento.

TOTVS

X Fechar

Olá,

Algo inesperado ocorreu, e o usuario nao foi reconhecido ou você nao se encontra logado

Por favor realize um novo login

Em caso de dúvidas, entre em contato com o administrador do Portal de Clientes de sua empresa para verificação do seu usuário, ou Centro de Serviços TOTVS.

Ligue! 4003-0015 opção 4 e 9 ou registre uma solicitação para CST – Cadastros . clique aqui.

TOTVS

Chat _

Preencha os campos abaixo para iniciar o atendimento:

Chat _