Ir para conteúdo
Fórum Script Brasil

fabio.nascimento

Membros
  • Total de itens

    2
  • Registro em

  • Última visita

Sobre fabio.nascimento

fabio.nascimento's Achievements

0

Reputação

  1. 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
  2. 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
×
×
  • Criar Novo...