CREATE OR REPLACE FUNCTION REC_EM_USO_PERIODO_MENUGRID
(
P_CDRECEITA IN VARCHAR2,
P_CDFILIAL IN VARCHAR2,
P_CDCIA IN VARCHAR2,
P_NRORG IN NUMBER,
P_SOMENTE_VIG_APROV IN VARCHAR2 DEFAULT 'N',
P_DTINIREF IN DATE,
P_DTFIMREF IN DATE
) RETURN VARCHAR2
AS
  V_ESTA_EM_USO VARCHAR2(1) DEFAULT 'S';
  V_NAO_ESTA_EM_USO VARCHAR2(1) DEFAULT 'N';
  V_CALLBACK_USO VARCHAR2(1);
BEGIN
   
   V_CALLBACK_USO := NULL;

   FOR CUR_DATA IN (SELECT DTDATA FROM DATA
        WHERE DTDATA BETWEEN P_DTINIREF AND P_DTFIMREF
    ) LOOP

      V_CALLBACK_USO := REC_EM_USO_MENUGRID(P_CDRECEITA, P_CDFILIAL, P_CDCIA, P_NRORG, P_SOMENTE_VIG_APROV, CUR_DATA.DTDATA);

      /*CASO ESTEJA EM USO PARA O DIA, RETORNA S, SENAO VALIDA PARA O PROXIMO DIA DO INTERVALO.*/
      IF(V_CALLBACK_USO = V_ESTA_EM_USO) THEN
        RETURN V_ESTA_EM_USO;
      END IF;

      V_CALLBACK_USO := NULL;

   END LOOP;
   /*SE NAO TIVER EM USO PARA NENHUM DIA DO INTERVALO RETORNA N*/
   RETURN V_NAO_ESTA_EM_USO;
END;
/