/*
  Nome: 9985_CMPFUNO_SQL_PESQUISA_PRODUTO.SQL

  Descricao: Busca os produtos que serao utilizados.
  
  Verifica:
    1. Produtos ativos (IDPRODATIVPR = 'S')
    2. Produtos ativos na filial (IDPRODATIV = 'A')
    3. Produtos comprados pela filial

  Retorno: Preenche a tabela com os produtos. Caso nao encontre os produtos
  retorna as seguintes mensagens:
  NVL_IMCOMP_SEM_PRODUTO_CMP_FILIAL: "Nao ha produto de nivel imcompleto comprado pela filial."
  NVL_COMPLET_SEM_PRODUTO_CMP_FILIAL: "Nao ha produto de nivel completo comprado pela filial."
  NVL_IMCOMP_SEM_PRODUTO_POR_FILIAL: Nao ha produto de nivel imcompleto cadastrado para a filial.
  NVL_COMPLET_SEM_PRODUTO_POR_FILIAL: "Nao ha produto de nivel completo cadastrado para a filial."
  FILIAL_NAO_CADASTRADA: "Filial nao cadastrada."

  Parametros:
  P_CDFILIAL: Filial utilizada na pesquisa
  P_PRODNVCOMPL: Nivel completo 'S' / Nivel incompleto 'N'
  P_CDFILCENTCMP: codigo da filial central de compras
*/
DROP TYPE SQL_PESQUISA_PRODUTO_TABLE
/

DROP TYPE SQL_PESQUISA_PRODUTO_TYPE
/

CREATE TYPE SQL_PESQUISA_PRODUTO_TYPE AS
OBJECT( CDARVPROD     VARCHAR2(20),
        CDPRODUTO     VARCHAR2(10),
        CDPRODESTO    VARCHAR2(10),
        SGUNIDADE     VARCHAR2(10),
        NMPRODUTO     VARCHAR2(50),
        VRFATOCONV    FLOAT,
        CDNVPRODUTO   VARCHAR2(1),
        CDPRODINTE    VARCHAR2(20),
        DSERRO        VARCHAR2(200))
/

CREATE TYPE SQL_PESQUISA_PRODUTO_TABLE AS TABLE OF SQL_PESQUISA_PRODUTO_TYPE
/

CREATE OR REPLACE FUNCTION SQL_PESQUISA_PRODUTO(P_CDFILIAL     IN VARCHAR2,
                                                P_PRODNVCOMPL  IN VARCHAR2,
                                                P_CDFILCENTCMP IN VARCHAR2 := NULL,
                                                P_NRORG        IN NOVOCODIGO.NRORG%TYPE DEFAULT 1) RETURN SQL_PESQUISA_PRODUTO_TABLE PIPELINED
IS
  V_CDFILIAL        VARCHAR2(4);
  V_IDVERPRODCMPFIL VARCHAR2(1);
  V_CDNVPRODUTO     VARCHAR2(1);
  V_COUNT NUMERIC;
  OUT_RECORD SQL_PESQUISA_PRODUTO_TYPE := SQL_PESQUISA_PRODUTO_TYPE (NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
BEGIN
  BEGIN
    SELECT CDFILIAL
      INTO V_CDFILIAL
      FROM FILIAL
     WHERE CDFILIAL = P_CDFILIAL
       AND NRORG    = P_NRORG;

    IF P_PRODNVCOMPL = 'N' THEN /*nivel completo e incompleto de produtos*/
      IF P_CDFILCENTCMP IS NOT NULL THEN
        BEGIN
          SELECT IDVERPRODCMPFIL
            INTO V_IDVERPRODCMPFIL
            FROM PARASUPRI
           WHERE CDFILIAL = P_CDFILCENTCMP
             AND NRORG    = P_NRORG;

          IF V_IDVERPRODCMPFIL = 'S' THEN
            V_COUNT := 0;
            FOR C_PRODUTO IN 
              ( SELECT FI.CDPRODUTO,  FI.CDARVPROD,  FI.CDPRODESTO,
                       FI.NMPRODUTO,  FI.VRFATOCONV, FI.SGUNIDADE, FI.CDNVPRODUTO,
                       FI.CDPRODINTE, FI.CDFILIAL
                  FROM PRODCMPFILI, PRODUTO, PRODUTO PRCMPFILI,
                       (SELECT P.CDPRODUTO,  P.CDARVPROD,  P.CDPRODESTO,
                               P.NMPRODUTO,  P.VRFATOCONV, P.SGUNIDADE, P.CDNVPRODUTO,
                               P.CDPRODINTE, P_CDFILIAL CDFILIAL
                          FROM PRODUTO P
                         WHERE P.CDPRODESTO IS NULL
                           AND P.NRORG = P_NRORG
                        UNION
                        SELECT P.CDPRODUTO,  P.CDARVPROD,  P.CDPRODESTO,
                               P.NMPRODUTO,  P.VRFATOCONV, P.SGUNIDADE, P.CDNVPRODUTO,
                               P.CDPRODINTE, P_CDFILIAL CDFILIAL
                          FROM PRODUTO P, PRODFILI F
                         WHERE P.CDPRODESTO IS NOT NULL
                           AND P.NRORG        = P_NRORG
                           AND P.IDPRODATIVPR = 'S'
                           AND P.CDPRODUTO    = F.CDPRODUTO
                           AND F.CDFILIAL     = P_CDFILIAL
                           AND F.NRORG        = P_NRORG
                           AND F.IDPRODATIV   = 'A') FI
                 WHERE PRODCMPFILI.CDFILIAL  = FI.CDFILIAL
                   AND PRODCMPFILI.NRORG     = P_NRORG  
                   AND PRODUTO.CDPRODUTO     = FI.CDPRODUTO 
                   AND PRODUTO.NRORG         = P_NRORG
                   AND PRODCMPFILI.CDPRODUTO = PRCMPFILI.CDPRODUTO
                   AND PRODUTO.CDARVPROD LIKE PRCMPFILI.CDARVPROD||'%'
                   AND PRCMPFILI.NRORG       = P_NRORG
                   AND PRCMPFILI.CDARVPROD > (SELECT NVL(MAX(PR.CDARVPROD), '0')
                                                FROM PRODNCMP, PRODUTO PR
                                               WHERE PRODNCMP.CDPRODUTO = PR.CDPRODUTO
                                                 AND PRODNCMP.NRORG     = P_NRORG
                                                 AND PR.NRORG           = P_NRORG 
                                                 AND PRODUTO.CDARVPROD LIKE PR.CDARVPROD||'%'
                                                 AND PRODNCMP.CDFILIAL = FI.CDFILIAL)
              )
            LOOP
              OUT_RECORD.CDARVPROD   := C_PRODUTO.CDARVPROD;
              OUT_RECORD.CDPRODUTO   := C_PRODUTO.CDPRODUTO;
              OUT_RECORD.CDPRODESTO  := C_PRODUTO.CDPRODESTO;
              OUT_RECORD.SGUNIDADE   := C_PRODUTO.SGUNIDADE;
              OUT_RECORD.NMPRODUTO   := C_PRODUTO.NMPRODUTO;
              OUT_RECORD.VRFATOCONV  := C_PRODUTO.VRFATOCONV;
              OUT_RECORD.CDNVPRODUTO := C_PRODUTO.CDNVPRODUTO;
              OUT_RECORD.CDPRODINTE  := C_PRODUTO.CDPRODINTE;
              PIPE ROW (OUT_RECORD);    
              V_COUNT := V_COUNT + 1;
            END LOOP;
            IF V_COUNT = 0 THEN
              OUT_RECORD.DSERRO := 'NVL_IMCOMP_SEM_PRODUTO_CMP_FILIAL';
                  PIPE ROW (OUT_RECORD);
            END IF;
          ELSE  
            V_COUNT := 0;
            FOR C_PRODUTO IN 
              ( SELECT P.CDPRODUTO, P.CDARVPROD,  P.CDPRODESTO,
                       P.NMPRODUTO, P.VRFATOCONV, P.SGUNIDADE, P.CDNVPRODUTO,
                       P.CDPRODINTE
                  FROM PRODUTO P
                 WHERE P.CDPRODESTO IS NULL
                   AND P.NRORG = P_NRORG
                UNION 
                SELECT P.CDPRODUTO, P.CDARVPROD,  P.CDPRODESTO,
                       P.NMPRODUTO, P.VRFATOCONV, P.SGUNIDADE, P.CDNVPRODUTO,
                       P.CDPRODINTE
                  FROM PRODUTO P, PRODFILI F
                 WHERE P.CDPRODESTO IS NOT NULL    
                   AND P.NRORG        = P_NRORG
                   AND F.NRORG        = P_NRORG
                   AND P.IDPRODATIVPR = 'S'
                   AND P.CDPRODUTO    = F.CDPRODUTO
                   AND F.CDFILIAL     = P_CDFILIAL
                   AND F.IDPRODATIV   = 'A'
              )
            LOOP
              OUT_RECORD.CDARVPROD   := C_PRODUTO.CDARVPROD;
              OUT_RECORD.CDPRODUTO   := C_PRODUTO.CDPRODUTO;
              OUT_RECORD.CDPRODESTO  := C_PRODUTO.CDPRODESTO;
              OUT_RECORD.SGUNIDADE   := C_PRODUTO.SGUNIDADE;
              OUT_RECORD.NMPRODUTO   := C_PRODUTO.NMPRODUTO;
              OUT_RECORD.VRFATOCONV  := C_PRODUTO.VRFATOCONV;
              OUT_RECORD.CDNVPRODUTO := C_PRODUTO.CDNVPRODUTO;
              OUT_RECORD.CDPRODINTE  := C_PRODUTO.CDPRODINTE;
              PIPE ROW (OUT_RECORD); 
              V_COUNT := V_COUNT + 1;   
            END LOOP;
            IF V_COUNT = 0 THEN
              OUT_RECORD.DSERRO := 'NVL_IMCOMP_SEM_PRODUTO_POR_FILIAL';
                  PIPE ROW (OUT_RECORD);
            END IF;            
          END IF;
        EXCEPTION
          WHEN NO_DATA_FOUND THEN
            V_COUNT := 0;
            FOR C_PRODUTO IN 
              ( SELECT P.CDPRODUTO, P.CDARVPROD,  P.CDPRODESTO,
                       P.NMPRODUTO, P.VRFATOCONV, P.SGUNIDADE, P.CDNVPRODUTO,
                       P.CDPRODINTE
                  FROM PRODUTO P
                 WHERE P.CDPRODESTO IS NULL
                   AND P.NRORG = P_NRORG 
                UNION 
                SELECT P.CDPRODUTO, P.CDARVPROD,  P.CDPRODESTO,
                       P.NMPRODUTO, P.VRFATOCONV, P.SGUNIDADE, P.CDNVPRODUTO,
                       P.CDPRODINTE
                  FROM PRODUTO P, PRODFILI F
                 WHERE P.CDPRODESTO IS NOT NULL 
                   AND P.NRORG = P_NRORG
                   AND F.NRORG = P_NRORG   
                   AND P.IDPRODATIVPR = 'S'
                   AND P.CDPRODUTO    = F.CDPRODUTO
                   AND F.CDFILIAL     = P_CDFILIAL
                   AND F.IDPRODATIV   = 'A'
              )
            LOOP
              OUT_RECORD.CDARVPROD   := C_PRODUTO.CDARVPROD;
              OUT_RECORD.CDPRODUTO   := C_PRODUTO.CDPRODUTO;
              OUT_RECORD.CDPRODESTO  := C_PRODUTO.CDPRODESTO;
              OUT_RECORD.SGUNIDADE   := C_PRODUTO.SGUNIDADE;
              OUT_RECORD.NMPRODUTO   := C_PRODUTO.NMPRODUTO;
              OUT_RECORD.VRFATOCONV  := C_PRODUTO.VRFATOCONV;
              OUT_RECORD.CDNVPRODUTO := C_PRODUTO.CDNVPRODUTO;
              OUT_RECORD.CDPRODINTE  := C_PRODUTO.CDPRODINTE;
              PIPE ROW (OUT_RECORD);   
              V_COUNT := V_COUNT + 1; 
            END LOOP;
            IF V_COUNT = 0 THEN
              OUT_RECORD.DSERRO := 'NVL_IMCOMP_SEM_PRODUTO_POR_FILIAL';
                  PIPE ROW (OUT_RECORD);
            END IF;              
        END;
      ELSE
        V_COUNT := 0;
        FOR C_PRODUTO IN 
          ( SELECT P.CDPRODUTO, P.CDARVPROD,  P.CDPRODESTO,
                   P.NMPRODUTO, P.VRFATOCONV, P.SGUNIDADE, P.CDNVPRODUTO,
                   P.CDPRODINTE
              FROM PRODUTO P
             WHERE P.CDPRODESTO IS NULL
               AND P.NRORG = P_NRORG
            UNION 
            SELECT P.CDPRODUTO, P.CDARVPROD,  P.CDPRODESTO,
                   P.NMPRODUTO, P.VRFATOCONV, P.SGUNIDADE, P.CDNVPRODUTO,
                   P.CDPRODINTE
              FROM PRODUTO P, PRODFILI F
             WHERE P.CDPRODESTO IS NOT NULL    
               AND P.NRORG = P_NRORG
               AND F.NRORG = P_NRORG
               AND P.IDPRODATIVPR = 'S'
               AND P.CDPRODUTO    = F.CDPRODUTO
               AND F.CDFILIAL     = P_CDFILIAL
               AND F.IDPRODATIV   = 'A'
          )
        LOOP
          OUT_RECORD.CDARVPROD   := C_PRODUTO.CDARVPROD;
          OUT_RECORD.CDPRODUTO   := C_PRODUTO.CDPRODUTO;
          OUT_RECORD.CDPRODESTO  := C_PRODUTO.CDPRODESTO;
          OUT_RECORD.SGUNIDADE   := C_PRODUTO.SGUNIDADE;
          OUT_RECORD.NMPRODUTO   := C_PRODUTO.NMPRODUTO;
          OUT_RECORD.VRFATOCONV  := C_PRODUTO.VRFATOCONV;
          OUT_RECORD.CDNVPRODUTO := C_PRODUTO.CDNVPRODUTO;
          OUT_RECORD.CDPRODINTE  := C_PRODUTO.CDPRODINTE;
          PIPE ROW (OUT_RECORD);   
          V_COUNT := V_COUNT + 1; 
        END LOOP;
        IF V_COUNT = 0 THEN
          OUT_RECORD.DSERRO := 'NVL_IMCOMP_SEM_PRODUTO_POR_FILIAL';
              PIPE ROW (OUT_RECORD);
        END IF;            
      END IF;    
    ELSE
      IF P_PRODNVCOMPL = 'S' THEN /*nível completo de produtos*/
        SELECT MAX(CDNVPRODUTO) CDNVPRODUTO
          INTO V_CDNVPRODUTO
          FROM PRODUTO
         WHERE NRORG = P_NRORG;
        IF P_CDFILCENTCMP IS NOT NULL THEN
          BEGIN
            SELECT IDVERPRODCMPFIL
              INTO V_IDVERPRODCMPFIL
              FROM PARASUPRI
             WHERE CDFILIAL = P_CDFILCENTCMP
               AND NRORG    = P_NRORG;

            IF V_IDVERPRODCMPFIL = 'S' THEN
              V_COUNT := 0;
              FOR C_PRODUTO IN 
                ( SELECT FI.CDPRODUTO,  FI.CDARVPROD,  FI.CDPRODESTO,
                         FI.NMPRODUTO,  FI.VRFATOCONV, FI.SGUNIDADE, FI.CDNVPRODUTO,
                         FI.CDPRODINTE, FI.CDFILIAL
                    FROM PRODCMPFILI, PRODUTO, PRODUTO PRCMPFILI,
                         (SELECT P.CDPRODUTO,  P.CDARVPROD,  P.CDPRODESTO,
                                 P.NMPRODUTO,  P.VRFATOCONV, P.SGUNIDADE, P.CDNVPRODUTO,
                                 P.CDPRODINTE, P_CDFILIAL CDFILIAL
                            FROM PRODUTO P, PRODFILI F
                           WHERE P.CDNVPRODUTO  = V_CDNVPRODUTO
                             AND P.NRORG        = P_NRORG
                             AND F.NRORG        = P_NRORG
                             AND P.IDPRODATIVPR = 'S'
                             AND P.CDPRODUTO    = F.CDPRODUTO
                             AND F.CDFILIAL     = P_CDFILIAL
                             AND F.IDPRODATIV   = 'A') FI
                   WHERE PRODCMPFILI.CDFILIAL  = FI.CDFILIAL
                     AND PRODCMPFILI.NRORG     = P_NRORG
                     AND PRODUTO.NRORG         = P_NRORG
                     AND PRCMPFILI.NRORG       = P_NRORG
                     AND PRODUTO.CDPRODUTO     = FI.CDPRODUTO 
                     AND PRODCMPFILI.CDPRODUTO = PRCMPFILI.CDPRODUTO
                     AND PRODUTO.CDARVPROD LIKE PRCMPFILI.CDARVPROD||'%'
                     AND PRCMPFILI.CDARVPROD > (SELECT NVL(MAX(PR.CDARVPROD), '0')
                                                  FROM PRODNCMP, PRODUTO PR
                                                 WHERE PRODNCMP.CDPRODUTO = PR.CDPRODUTO
                                                   AND PRODNCMP.NRORG     = P_NRORG
                                                   AND PR.NRORG           = P_NRORG
                                                   AND PRODUTO.CDARVPROD LIKE PR.CDARVPROD||'%'
                                                   AND PRODNCMP.CDFILIAL = FI.CDFILIAL)
                )
              LOOP
                OUT_RECORD.CDARVPROD   := C_PRODUTO.CDARVPROD;
                OUT_RECORD.CDPRODUTO   := C_PRODUTO.CDPRODUTO;
                OUT_RECORD.CDPRODESTO  := C_PRODUTO.CDPRODESTO;
                OUT_RECORD.SGUNIDADE   := C_PRODUTO.SGUNIDADE;
                OUT_RECORD.NMPRODUTO   := C_PRODUTO.NMPRODUTO;
                OUT_RECORD.VRFATOCONV  := C_PRODUTO.VRFATOCONV;
                OUT_RECORD.CDNVPRODUTO := C_PRODUTO.CDNVPRODUTO;
                OUT_RECORD.CDPRODINTE  := C_PRODUTO.CDPRODINTE;
                PIPE ROW (OUT_RECORD);  
                V_COUNT := V_COUNT + 1;  
              END LOOP;
              IF V_COUNT = 0 THEN
                OUT_RECORD.DSERRO := 'NVL_COMPLET_SEM_PRODUTO_CMP_FILIAL';
                    PIPE ROW (OUT_RECORD);
              END IF;               
            ELSE  
              V_COUNT := 0;
              FOR C_PRODUTO IN 
                ( SELECT P.CDPRODUTO, P.CDARVPROD,  P.CDPRODESTO,
                         P.NMPRODUTO, P.VRFATOCONV, P.SGUNIDADE, P.CDNVPRODUTO,
                         P.CDPRODINTE
                    FROM PRODUTO P, PRODFILI F
                   WHERE P.CDNVPRODUTO  = V_CDNVPRODUTO
                     AND P.NRORG        = P_NRORG
                     AND F.NRORG        = P_NRORG    
                     AND P.IDPRODATIVPR = 'S'
                     AND P.CDPRODUTO    = F.CDPRODUTO
                     AND F.CDFILIAL     = P_CDFILIAL
                     AND F.IDPRODATIV   = 'A'
                )
              LOOP
                OUT_RECORD.CDARVPROD   := C_PRODUTO.CDARVPROD;
                OUT_RECORD.CDPRODUTO   := C_PRODUTO.CDPRODUTO;
                OUT_RECORD.CDPRODESTO  := C_PRODUTO.CDPRODESTO;
                OUT_RECORD.SGUNIDADE   := C_PRODUTO.SGUNIDADE;
                OUT_RECORD.NMPRODUTO   := C_PRODUTO.NMPRODUTO;
                OUT_RECORD.VRFATOCONV  := C_PRODUTO.VRFATOCONV;
                OUT_RECORD.CDNVPRODUTO := C_PRODUTO.CDNVPRODUTO;
                OUT_RECORD.CDPRODINTE  := C_PRODUTO.CDPRODINTE;
                PIPE ROW (OUT_RECORD);  
                V_COUNT := V_COUNT + 1;  
              END LOOP;
              IF V_COUNT = 0 THEN
                OUT_RECORD.DSERRO := 'NVL_COMPLET_SEM_PRODUTO_POR_FILIAL';
                    PIPE ROW (OUT_RECORD);
              END IF;              
            END IF;
          EXCEPTION
            WHEN NO_DATA_FOUND THEN
              V_COUNT := 0;
              FOR C_PRODUTO IN 
                ( SELECT P.CDPRODUTO, P.CDARVPROD,  P.CDPRODESTO,
                         P.NMPRODUTO, P.VRFATOCONV, P.SGUNIDADE, P.CDNVPRODUTO,
                         P.CDPRODINTE
                    FROM PRODUTO P, PRODFILI F
                   WHERE P.CDNVPRODUTO  = V_CDNVPRODUTO
                     AND P.NRORG        = P_NRORG
                     AND F.NRORG        = P_NRORG    
                     AND P.IDPRODATIVPR = 'S'
                     AND P.CDPRODUTO    = F.CDPRODUTO
                     AND F.CDFILIAL     = P_CDFILIAL
                     AND F.IDPRODATIV   = 'A'
                )
              LOOP
                OUT_RECORD.CDARVPROD   := C_PRODUTO.CDARVPROD;
                OUT_RECORD.CDPRODUTO   := C_PRODUTO.CDPRODUTO;
                OUT_RECORD.CDPRODESTO  := C_PRODUTO.CDPRODESTO;
                OUT_RECORD.SGUNIDADE   := C_PRODUTO.SGUNIDADE;
                OUT_RECORD.NMPRODUTO   := C_PRODUTO.NMPRODUTO;
                OUT_RECORD.VRFATOCONV  := C_PRODUTO.VRFATOCONV;
                OUT_RECORD.CDNVPRODUTO := C_PRODUTO.CDNVPRODUTO;
                OUT_RECORD.CDPRODINTE  := C_PRODUTO.CDPRODINTE;
                PIPE ROW (OUT_RECORD);  
                V_COUNT := V_COUNT + 1;   
              END LOOP;
              IF V_COUNT = 0 THEN
                OUT_RECORD.DSERRO := 'NVL_COMPLET_SEM_PRODUTO_POR_FILIAL';
                    PIPE ROW (OUT_RECORD);
              END IF; 
          END;
        ELSE
          V_COUNT := 0;
          FOR C_PRODUTO IN 
            ( SELECT P.CDPRODUTO, P.CDARVPROD,  P.CDPRODESTO,
                     P.NMPRODUTO, P.VRFATOCONV, P.SGUNIDADE, P.CDNVPRODUTO,
                     P.CDPRODINTE
                FROM PRODUTO P, PRODFILI F
               WHERE P.CDNVPRODUTO  = V_CDNVPRODUTO
                 AND P.NRORG        = P_NRORG
                 AND F.NRORG        = P_NRORG    
                 AND P.IDPRODATIVPR = 'S'
                 AND P.CDPRODUTO    = F.CDPRODUTO
                 AND F.CDFILIAL     = P_CDFILIAL
                 AND F.IDPRODATIV   = 'A')
          LOOP
            OUT_RECORD.CDARVPROD   := C_PRODUTO.CDARVPROD;
            OUT_RECORD.CDPRODUTO   := C_PRODUTO.CDPRODUTO;
            OUT_RECORD.CDPRODESTO  := C_PRODUTO.CDPRODESTO;
            OUT_RECORD.SGUNIDADE   := C_PRODUTO.SGUNIDADE;
            OUT_RECORD.NMPRODUTO   := C_PRODUTO.NMPRODUTO;
            OUT_RECORD.VRFATOCONV  := C_PRODUTO.VRFATOCONV;
            OUT_RECORD.CDNVPRODUTO := C_PRODUTO.CDNVPRODUTO;
            OUT_RECORD.CDPRODINTE  := C_PRODUTO.CDPRODINTE;
            PIPE ROW (OUT_RECORD);  
            V_COUNT := V_COUNT + 1;  
          END LOOP;
          IF V_COUNT = 0 THEN
            OUT_RECORD.DSERRO := 'NVL_COMPLET_SEM_PRODUTO_POR_FILIAL';
                PIPE ROW (OUT_RECORD);
          END IF;          
        END IF;    
      END IF;
    END IF; 
  EXCEPTION
    WHEN NO_DATA_FOUND THEN
      OUT_RECORD.DSERRO := 'FILIAL_NAO_CADASTRADA';
      PIPE ROW (OUT_RECORD);  
  END;
END;
/

-- VERSAO --
BEGIN ATUVEROBJ('SQL_PESQUISA_PRODUTO','6.05.000'); END;
/