Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

FileasFogg

pls - 00103

Recommended Posts

Olá galera... !!! beleza ???? Seguinte, a procedure até compila, mas dá o seguinte erro: PLS-00103CREATE OR REPLACE PROCEDURE PROC_LANCA_MOV(DOCTO IN NUMBER, QTDE IN NUMBER, TIPO_MOV IN NUMBER, NARCA IN NUMBER, OBS IN VARCHAR) AS BEGIN DECLARE FISICO NUMBER; LIVRE NUMBER; PEDIDO NUMBER; OP NUMBER; BEGIN SELECT A.FISICO, A.LIVRE, A.PEDIDO, A.OP INTO FISICO,LIVRE,PEDIDO,OP FROM MOVPROD A WHERE A.CODIGO IN (SELECT MAX(B.CODIGO) FROM MOVPROD B WHERE B.NARCA = NARCA); IF TIPO_MOV = 1 THEN -- ORDEM DE PRODUÇÃO OP := OP + QTDE; LIVRE := ((OP+FISICO)-PEDIDO); END IF; IF TIPO_MOV = 2 THEN -- NOTA FISCAL PEDIDO := PEDIDO - QTDE; FISICO := FISICO - QTDE; LIVRE := ((OP+FISICO)-PEDIDO); END IF; IF TIPO_MOV = 4 THEN -- ENTRADA PRODUÇÃO FISICO := FISICO + QTDE; OP := OP - QTDE; LIVRE := ((OP+FISICO)-PEDIDO); END IF; IF TIPO_MOV = 5 THEN -- PEDIDO PEDIDO := PEDIDO + QTDE; LIVRE := ((OP+FISICO)-PEDIDO); END IF; IF TIPO_MOV = 6 THEN -- AJUSTE (E) FISICO := FISICO + QTDE; LIVRE := ((OP+FISICO)-PEDIDO); END IF; IF TIPO_MOV = 7 THEN -- MONTAGEM REPARO FISICO := FISICO - QTDE; LIVRE := ((OP+FISICO)-PEDIDO); END IF; IF TIPO_MOV = 8 THEN -- AJUSTE (S) FISICO := FISICO - QTDE; LIVRE := ((OP+FISICO)-PEDIDO); END IF; INSERT INTO MOVPROD(CODIGO,DOCTO,NARCA,QTDE,DATA_MOV,TIPO_LANC,OBS,FISICO,LIVRE,PEDIDO,OP) VALUES (SQ_MOVPROD.NEXTVAL,DOCTO,NARCA,QTDE,TO_DATE(SYSDATE,'DD/MM/YYYY'),TIPO_MOV,OBS,FISICO,LIVRE,PEDIDO,OP); COMMIT; END PROC_LANCA_MOV;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Problema resolvido.... Só tirei a parte do DECLARE.... Mas fica ainda uma pergunta... eu não posso declarar variáveis em um procedimento usando a claúsula DECLARE ????

 

Segue a abaixo a parte corrigida do procedimento....

 

 

CREATE OR REPLACE PROCEDURE PROC_LANCA_MOV(DOCTO IN NUMBER,

QTDE IN NUMBER,

TIPO_MOV IN NUMBER,

NARCA IN NUMBER,

OBS IN VARCHAR,

FISICO OUT NUMBER,

LIVRE OUT NUMBER,

PEDIDO OUT NUMBER,

OP OUT NUMBER) IS

 

.

.

.

.

Aqui continua tudo igual !!!

.

.

.

 

 

Abraços Galera

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.