CREATE OR REPLACE FUNCTION QUEBRA_POR_TIPOPROD(
  P_CDFILIAL          IN VARCHAR2,
  P_CDSETOR           IN VARCHAR2,
  P_NRCATEGORIAPROD   IN NUMBER,
  P_NRSUBCATEGORIAPROD IN NUMBER
) RETURN VARCHAR2
AS 
  V_QUEBRA_POR_TIPOPROD VARCHAR2(1);
BEGIN

   IF P_NRSUBCATEGORIAPROD IS NULL THEN
      SELECT MAX(IDQUEBRAPORTIPOPROD)
        INTO V_QUEBRA_POR_TIPOPROD
        FROM CATPRODSETOR
       WHERE CDFILIAL = P_CDFILIAL
         AND CDSETOR = P_CDSETOR
         AND NRCATEGORIAPROD = P_NRCATEGORIAPROD;
   ELSE
      SELECT MAX(IDQUEBRAPORTIPOPROD)
        INTO V_QUEBRA_POR_TIPOPROD
        FROM SUBCATPSETOR
       WHERE CDFILIAL = P_CDFILIAL
         AND CDSETOR = P_CDSETOR
         AND NRCATEGORIAPROD = P_NRCATEGORIAPROD
         AND NRSUBCATEGORIAPROD = P_NRSUBCATEGORIAPROD;
   END IF;
  
   IF V_QUEBRA_POR_TIPOPROD IS NULL THEN
      V_QUEBRA_POR_TIPOPROD := 'S';
   END IF;

   RETURN V_QUEBRA_POR_TIPOPROD;
END;
/