fabio.nascimento
Membros-
Total de itens
2 -
Registro em
-
Última visita
Tudo que fabio.nascimento postou
-
Erros que não Consigo Identificar
pergunta respondeu ao fabio.nascimento de fabio.nascimento em Demais Bancos
Valeu Programador, Eu já tinha me informado, realmente era isso mesmo, mas valeu pelo seu toque, esses acontecem mesmo, visto que estou começando e tals.... Abraços cara! qualquer duvida que eu tiver vou te contactar, ok ? Fabio Nascimento -
Pessoal, Boa tarde, primeiramente gostaria de salientar que sou novato em banco de dados, estou aprendendo bastante e pra variar me apaixonando. Não possuo experiencia suficiente para decifrar as mensagens de erros emitidas pelo oracle, dessa forma solicito a ajuda dos companheitos. Obs: Acredito que meu erro se resuma a Begins e Ends da vida, mas ainda apanho no que diz respeito a inicio e fim de bloco de execução. Segue abaixo minha procedure + erro relatado. CREATE OR REPLACE PROCEDURE SP_REL_TAREFA4( P_DATA IN DATE ) AS CURSOR ENTRADA_RECLAMACAO ( P_DATA IN DATE ) IS -- Fila de reclamacao SELECT IDENTIFICACAO, DESCRICAO, COD_DESCRICAO, QUANTIDADE FROM ( SELECT '1' IDENTIFICACAO, RTRIM(TTR.VARDSCTIPORECLAMACAO) DESCRICAO, TTR.NUMIDTIPORECLAMACAO, COUNT (TP.NUMIDPROCESSO) QUANTIDADE FROM TBPROCESSOS TP, TBPROCESSOSRECLAMACAO TPR, TBTIPORECLAMACAO TTR WHERE TP.NUMIDPROCESSO = TPR.NUMIDPROCESSO AND TPR.NUMIDTIPORECLAMACAO = TTR.NUMIDTIPORECLAMACAO AND TP.FLGTIPOPROCESSO = 'R' AND TP.DATABERTURA >= TO_DATE( TO_CHAR((TRUNC(FU_RECUPERA_PERIODO(P_DATA, 1))),'DD/MM/YYYY')||' 00:00:00','DD/MM/YYYY HH24:MI:SS') AND TP.DATABERTURA <= TO_DATE( TO_CHAR((TRUNC(FU_RECUPERA_PERIODO(P_DATA, 2))),'DD/MM/YYYY')||' 23:59:59','DD/MM/YYYY HH24:MI:SS') GROUP BY TTR.VARDSCTIPORECLAMACAO ); E ENTRADA_RECLAMACAO%ROWTYPE; P_PROCESSOS_DESCRICAO VARCHAR2(200); P_PROCESSOS_DESCRICAO_COD NUMBER; P_PROCESSOS_TOT NUMBER; P_IDENTIFICACAO VARCHAR2(1); --P_PROCESSOS_PRODUTO VARCHAR2(200); --P_PROCESSOS_PRODUTOQTD NUMBER; FILE_PATH VARCHAR2(100) := '/spa/relatorios'; FILE_HANDLE UTL_FILE.FILE_TYPE; W_LINHA VARCHAR2(300); W_TRACO0 VARCHAR2(170) := LPAD ( ' ', 170, ' ' ); W_TRACO1 VARCHAR2(170) := LPAD ( ' ', 170, '-' ); W_TRACO2 VARCHAR2(170) := LPAD ( ' ', 170, '=' ); W_CONTACARACTER NUMBER; BEGIN W_CONTACARACTER :=0; FILE_HANDLE := UTL_FILE.FOPEN ( FILE_PATH, 'REL_TAREFA4.TXT', 'w' ); W_LINHA := 'Relatorio consolidado por fila de reclamacao '||LPAD ( ' ', 80, ' ' )|| to_char(sysdate,'DD/MM/YYYY HH24:MI:SS'); UTL_FILE.PUT_LINE ( FILE_HANDLE, W_LINHA ); UTL_FILE.PUT_LINE ( FILE_HANDLE, W_TRACO2 ); UTL_FILE.PUT_LINE(FILE_HANDLE, ''); W_LINHA := 'Fila de reclamacao '||LPAD ( ' ', 80, ' ' )|| 'Produto' ||LPAD ( ' ', 25, ' ' )||'Core'||LPAD ( ' ', 10, ' ' )||'Total por reclamacao'; UTL_FILE.PUT_LINE ( FILE_HANDLE, W_LINHA ); UTL_FILE.PUT_LINE ( FILE_HANDLE, W_TRACO1 ); --UTL_FILE.PUT_LINE(FILE_HANDLE, ''); P_PROCESSOS_TOT :=0; FOR E IN ENTRADA_RECLAMACAO (P_DATA) LOOP P_PROCESSOS_DESCRICAO := E.DESCRICAO; P_PROCESSOS_TOT := E.QUANTIDADE; P_IDENTIFICACAO := E.IDENTIFICACAO; P_PROCESSOS_DESCRICAO_COD := E.COD_DESCRICAO; W_CONTACARACTER := 155 - LENGTH(P_PROCESSOS_DESCRICAO); W_LINHA := P_PROCESSOS_DESCRICAO ||LPAD ( ' ', W_CONTACARACTER, ' ' )||P_PROCESSOS_TOT; UTL_FILE.PUT_LINE ( FILE_HANDLE, W_LINHA ); --Colocar aqui uma nova busca filtrando produto por reclamacao --inicia Cursor para os produtos por reclamacao CURSOR RECLAMACAO_PRODUTO ( P_PROCESSOS_DESCRICAO_COD IN NUMBER ) IS -- Fila de reclamacao SELECT IDENTIFICACAO, DESCRICAO, QUANTIDADE FROM ( SELECT '2' IDENTIFICACAO, RTRIM(TPR.VARDSCPRODUTO) DESCRICAO, COUNT(TP.NUMIDPRODUTO) QUANTIDADE FROM TBPROCESSOS TP, TBPRODUTOS TPR, TBPROCESSOSRECLAMACAO TPROCR, TBTIPORECLAMACAO TTR WHERE TP.NUMIDPRODUTO = TPR.NUMIDPRODUTO AND TP.NUMIDPROCESSO = TPROCR.NUMIDPROCESSO AND TPROCR.NUMIDTIPORECLAMACAO = TTR.NUMIDTIPORECLAMACAO AND TTR.NUMIDTIPORECLAMACAO = P_PROCESSOS_DESCRICAO_COD AND TP.DATABERTURA >= TO_DATE( TO_CHAR((TRUNC(FU_RECUPERA_PERIODO(P_DATA, 1))),'DD/MM/YYYY')||' 00:00:00','DD/MM/YYYY HH24:MI:SS') AND TP.DATABERTURA <= TO_DATE( TO_CHAR((TRUNC(FU_RECUPERA_PERIODO(P_DATA, 2))),'DD/MM/YYYY')||' 23:59:59','DD/MM/YYYY HH24:MI:SS') GROUP BY TPR.VARDSCPRODUTO ); R RECLAMACAO_PRODUTO%ROWTYPE; W_CONTACARACTER :=0; --P_PROCESSOS_TOT :=0; FOR R IN RECLAMACAO_PRODUTO (P_PROCESSOS_DESCRICAO_COD) LOOP P_PROCESSOS_DESCRICAO := R.DESCRICAO; P_PROCESSOS_TOT := R.QUANTIDADE; P_IDENTIFICACAO := R.IDENTIFICACAO; --Impressao W_CONTACARACTER := 155 - LENGTH(P_PROCESSOS_DESCRICAO); W_LINHA := P_PROCESSOS_DESCRICAO ||LPAD ( ' ', W_CONTACARACTER, ' ' )||P_PROCESSOS_TOT; UTL_FILE.PUT_LINE ( FILE_HANDLE, W_LINHA ); P_PROCESSOS_TOT := 0; END LOOP; P_PROCESSOS_TOT := 0; END LOOP; UTL_FILE.FCLOSE ( FILE_HANDLE ); END SP_REL_TAREFA4; Erro emitido pelo oracle Type PROCEDURE Owner SPATST Name SP_REL_TAREFA4 Line Error text 81 PLS-00103: Encountered the symbol "RECLAMACAO_PRODUTO" when expecting one of the following: := . ( @ %; The symbol ":=" was substituted for "RECLAMACAO_PRODUTO" to continue. 81 PLS-00103: Encountered the symbol "SELECT" when expecting one of the following: . ( * % & = - +; < / > in mod not rem an exponent (**) <> or != or ~= >= <= <> and or like between is null is not || 106 PLS-00103: Encountered the symbol "=" when expecting one of the following: constant exception <an identifier> <a double-quoted delimited-identifier> table LONG_ double Desde já agradeço qualquer dica, as vezes dar o peixe não é o foco deste fórum dessa forma quero realmente aprender ou seja quero pescar. Valeu pelas dicas. Fabio Nascimento