pls - 00103
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;Discussão (1)
Carregando comentários...