CREATE OR REPLACE FUNCTION VALIDA_VENCIMENTO
   (
   P_CDFORMPGTO   IN VARCHAR,
   P_CNPJ         IN VARCHAR2,
   P_IDFORNCLIE   IN VARCHAR2,
   P_DATABASE     DATE,
   P_CDFILIAL    VARCHAR2,
   P_IDCONSCALVENNF VARCHAR2)
   RETURN VALIDA_VENCIMENTO_TABLE PIPELINED IS
    OUT_RECORD VALIDA_VENCIMENTO_TYPE := VALIDA_VENCIMENTO_TYPE (NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);

  V_DATABASE DATE;
  V_DTVENCIMENTO DATE;
  CURSOR C_VALIDA_VENC IS
  (SELECT CDFORMPGTO, CNPJ, RAZAOSOCIAL, NRDIASPGTO, VRPERCPGTO,  IDFORNCLIE, DTVENC, IDCONSDIAUTIL
     FROM VALIDA_VENC);


BEGIN
  OPEN C_VALIDA_VENC;
    LOOP
       FETCH C_VALIDA_VENC INTO
         OUT_RECORD.CDFORMPGTO,
         OUT_RECORD.CNPJ,
         OUT_RECORD.RAZAOSOCIAL,
         OUT_RECORD.NRDIASPGTO,
         OUT_RECORD.VRPERCPGTO,
         OUT_RECORD.IDFORNCLIE,
         OUT_RECORD.DATAVENC,
         OUT_RECORD.IDCONSDIAUTIL;
       EXIT WHEN C_VALIDA_VENC%NOTFOUND;
       PIPE ROW (OUT_RECORD);
    END LOOP;
  CLOSE C_VALIDA_VENC;
  RETURN; 
 END;
/
