CREATE OR REPLACE FUNCTION DES_ISS_SERIE(
   P_CDEMPRESA   IN EMPRESA.CDEMPRESA%TYPE,
   P_CDINSCMUNI  IN INSCRMUNICIP.CDINSCMUNI%TYPE,
   P_CDSERIE     IN SERIENF.CDSERIE%TYPE ) RETURN NUMBER
AS
   V_SERIEDES NUMBER;
   BEGIN
      CASE P_CDSERIE
           WHEN NULL THEN V_SERIEDES := 0;
           WHEN '-'  THEN V_SERIEDES := 0;
           WHEN 'U'  THEN V_SERIEDES := 1;
           WHEN 'A'  THEN V_SERIEDES := 2;
           WHEN 'AA' THEN V_SERIEDES := 3;
           WHEN 'B'  THEN V_SERIEDES := 4;
           WHEN 'C'  THEN V_SERIEDES := 5;
           WHEN 'D'  THEN V_SERIEDES := 6;
           WHEN 'E'  THEN V_SERIEDES := 7;
           WHEN 'F'  THEN V_SERIEDES := 8;
           WHEN 'G'  THEN V_SERIEDES := 9;
           WHEN 'H'  THEN V_SERIEDES := 10;
           WHEN 'I'  THEN V_SERIEDES := 11;
           WHEN 'J'  THEN V_SERIEDES := 12;
           WHEN 'K'  THEN V_SERIEDES := 13;
           WHEN 'L'  THEN V_SERIEDES := 14;
           WHEN 'M'  THEN V_SERIEDES := 15;
           WHEN 'N'  THEN V_SERIEDES := 16;
           WHEN 'O'  THEN V_SERIEDES := 17;
           WHEN 'P'  THEN V_SERIEDES := 18;
           WHEN 'Q'  THEN V_SERIEDES := 19;
           WHEN 'R'  THEN V_SERIEDES := 20;
           WHEN 'S'  THEN V_SERIEDES := 21;
           WHEN 'T'  THEN V_SERIEDES := 22;
           WHEN 'U'  THEN V_SERIEDES := 23;
           WHEN 'V'  THEN V_SERIEDES := 24;
           WHEN 'X'  THEN V_SERIEDES := 25;
           WHEN 'W'  THEN V_SERIEDES := 26;
           WHEN 'Y'  THEN V_SERIEDES := 27;
           WHEN 'Z'  THEN V_SERIEDES := 28;
      ELSE
          V_SERIEDES := NULL;
      END CASE;
      IF V_SERIEDES IS NULL THEN
         CASE WHEN P_CDSERIE BETWEEN '1' AND '999'
              THEN V_SERIEDES :=  TO_NUMBER(P_CDSERIE) + 28;
         ELSE
            V_SERIEDES := 0;
         END CASE;

      END IF;
      RETURN V_SERIEDES;
END;
/

-- VERSAO --
BEGIN ATUVEROBJ('DES_ISS_SERIE','5.30.000'); END;
/
