
INSERT INTO PROCEDIMIENTOS_USUARIO (PRUS_COD, PRUS_NOMBRE, PRUS_SP, PRUS_PARAM1, PRUS_PARAM2, PRUS_PARAM3, PRUS_PARAM4, PRUS_PARAM5, PRUS_MODULO) VALUES (1016, 'Auditoria cantidad de documentos', 'AUDITORIA_DOCUMENTOS', 'Siempre poner S:', 'Vacio:', 'Vacio:', 'Vacio:', 'Vacio:', 'CONTABILIDAD');

SET TERM ^ ;

create or alter procedure AUDITORIA_DOCUMENTOS (
    INICIO date,
    FIN date,
    VACIO char(10),
    VACIO1 char(10),
    VACIO2 char(10),
    VACIO3 char(10),
    VACIO4 char(10))
returns (
    CODIGO integer,
    DOCUMENTO varchar(30),
    MES integer,
    CANTIDAD integer)
as
declare variable FECHA integer;
declare variable CANT integer;
BEGIN
  FOR SELECT COUNT(*), MAX(TIDO_COD),extract(MONTH FROM AUDI_FECHA) FROM  AUDITORIA A WHERE A.AUDI_FECHA >=:INICIO AND A.AUDI_FECHA <=:FIN AND A.AUDI_OPER = 'I' group BY TIDO_COD, extract(MONTH FROM AUDI_FECHA)
  INTO CANTIDAD, :CODIGO , :MES
  DO
  BEGIN
  SELECT TIDO_NOMLARGO FROM  TIPO_DOCUMENTO WHERE TIDO_COD = :CODIGO  INTO :DOCUMENTO;
  SUSPEND;
  END
END^

SET TERM ; ^

/* Following GRANT statetements are generated automatically */

GRANT SELECT ON AUDITORIA TO PROCEDURE AUDITORIA_DOCUMENTOS;
GRANT SELECT ON TIPO_DOCUMENTO TO PROCEDURE AUDITORIA_DOCUMENTOS;

/* Existing privileges on this procedure */

GRANT EXECUTE ON PROCEDURE AUDITORIA_DOCUMENTOS TO "PUBLIC";
GRANT EXECUTE ON PROCEDURE AUDITORIA_DOCUMENTOS TO SYSDBA;

