CREATE OR REPLACE FUNCTION RETORNA_COD_PARC(P_NRPARCELA IN VARCHAR2) RETURN VARCHAR2
AS
V_RESULT          VARCHAR2(03);
V_RESULTAUX       VARCHAR2(03);
V_RESULTAC        VARCHAR2(03);
V_RESULTAD        VARCHAR2(03);
W_0               CHAR(1) := '0';
W_1               CHAR(1) := '1';
W_2               CHAR(1) := '2';
W_3               CHAR(1) := '3';
W_4               CHAR(1) := '4';
W_5               CHAR(1) := '5';
W_6               CHAR(1) := '6';
W_7               CHAR(1) := '7';
W_8               CHAR(1) := '8';
W_9               CHAR(1) := '9';
W_A               CHAR(1) := 'A';
W_B               CHAR(1) := 'B';
W_C               CHAR(1) := 'C';
W_D               CHAR(1) := 'D';
W_E               CHAR(1) := 'E';
W_F               CHAR(1) := 'F';
W_G               CHAR(1) := 'G';
W_H               CHAR(1) := 'H';
W_I               CHAR(1) := 'I';
W_J               CHAR(1) := 'J';
W_K               CHAR(1) := 'K';
W_L               CHAR(1) := 'L';
W_M               CHAR(1) := 'M';
W_N               CHAR(1) := 'N';
W_O               CHAR(1) := 'O';
W_P               CHAR(1) := 'P';
W_Q               CHAR(1) := 'Q';
W_R               CHAR(1) := 'R';
W_S               CHAR(1) := 'S';
W_T               CHAR(1) := 'T';
W_U               CHAR(1) := 'U';
W_V               CHAR(1) := 'V';
W_X               CHAR(1) := 'X';
W_W               CHAR(1) := 'W';
W_Y               CHAR(1) := 'Y';
W_Z               CHAR(1) := 'Z';
BEGIN

  V_RESULTAUX := SUBSTR(P_NRPARCELA,3,1);
  V_RESULTAC  := SUBSTR(P_NRPARCELA,2,1);
  V_RESULTAD  := SUBSTR(P_NRPARCELA,1,1);
  V_RESULT    := CASE WHEN V_RESULTAC = W_0 AND V_RESULTAD = W_1 THEN V_RESULTAUX||W_A
                      WHEN V_RESULTAC = W_1 AND V_RESULTAD = W_1 THEN V_RESULTAUX||W_B
                      WHEN V_RESULTAC = W_2 AND V_RESULTAD = W_1 THEN V_RESULTAUX||W_C
                      WHEN V_RESULTAC = W_3 AND V_RESULTAD = W_1 THEN V_RESULTAUX||W_D
                      WHEN V_RESULTAC = W_4 AND V_RESULTAD = W_1 THEN V_RESULTAUX||W_E
                      WHEN V_RESULTAC = W_5 AND V_RESULTAD = W_1 THEN V_RESULTAUX||W_F
                      WHEN V_RESULTAC = W_6 AND V_RESULTAD = W_1 THEN V_RESULTAUX||W_G
                      WHEN V_RESULTAC = W_7 AND V_RESULTAD = W_1 THEN V_RESULTAUX||W_H
                      WHEN V_RESULTAC = W_8 AND V_RESULTAD = W_1 THEN V_RESULTAUX||W_I
                      WHEN V_RESULTAC = W_9 AND V_RESULTAD = W_1 THEN V_RESULTAUX||W_J
                      WHEN V_RESULTAC = W_0 AND V_RESULTAD = W_2 THEN V_RESULTAUX||W_K
                      WHEN V_RESULTAC = W_1 AND V_RESULTAD = W_2 THEN V_RESULTAUX||W_L
                      WHEN V_RESULTAC = W_2 AND V_RESULTAD = W_2 THEN V_RESULTAUX||W_M
                      WHEN V_RESULTAC = W_3 AND V_RESULTAD = W_2 THEN V_RESULTAUX||W_N
                      WHEN V_RESULTAC = W_4 AND V_RESULTAD = W_2 THEN V_RESULTAUX||W_O
                      WHEN V_RESULTAC = W_5 AND V_RESULTAD = W_2 THEN V_RESULTAUX||W_P
                      WHEN V_RESULTAC = W_6 AND V_RESULTAD = W_2 THEN V_RESULTAUX||W_Q
                      WHEN V_RESULTAC = W_7 AND V_RESULTAD = W_2 THEN V_RESULTAUX||W_R
                      WHEN V_RESULTAC = W_8 AND V_RESULTAD = W_2 THEN V_RESULTAUX||W_S
                      WHEN V_RESULTAC = W_9 AND V_RESULTAD = W_2 THEN V_RESULTAUX||W_T
                      WHEN V_RESULTAC = W_0 AND V_RESULTAD = W_3 THEN V_RESULTAUX||W_U
                      WHEN V_RESULTAC = W_1 AND V_RESULTAD = W_3 THEN V_RESULTAUX||W_V
                      WHEN V_RESULTAC = W_2 AND V_RESULTAD = W_3 THEN V_RESULTAUX||W_X
                      WHEN V_RESULTAC = W_3 AND V_RESULTAD = W_3 THEN V_RESULTAUX||W_W
                      WHEN V_RESULTAC = W_4 AND V_RESULTAD = W_3 THEN V_RESULTAUX||W_Y
                      WHEN V_RESULTAC = W_5 AND V_RESULTAD = W_3 THEN V_RESULTAUX||W_Z 
                      WHEN V_RESULTAC = W_6 AND V_RESULTAD = W_3 THEN W_A||V_RESULTAUX
                      WHEN V_RESULTAC = W_7 AND V_RESULTAD = W_3 THEN W_B||V_RESULTAUX
                      WHEN V_RESULTAC = W_8 AND V_RESULTAD = W_3 THEN W_C||V_RESULTAUX
                      WHEN V_RESULTAC = W_9 AND V_RESULTAD = W_3 THEN W_D||V_RESULTAUX
                      WHEN V_RESULTAC = W_0 AND V_RESULTAD = W_4 THEN W_E||V_RESULTAUX
                      WHEN V_RESULTAC = W_1 AND V_RESULTAD = W_4 THEN W_F||V_RESULTAUX
                      WHEN V_RESULTAC = W_2 AND V_RESULTAD = W_4 THEN W_G||V_RESULTAUX
                      WHEN V_RESULTAC = W_3 AND V_RESULTAD = W_4 THEN W_H||V_RESULTAUX
                      WHEN V_RESULTAC = W_4 AND V_RESULTAD = W_4 THEN W_I||V_RESULTAUX
                      WHEN V_RESULTAC = W_5 AND V_RESULTAD = W_4 THEN W_J||V_RESULTAUX
                      WHEN V_RESULTAC = W_6 AND V_RESULTAD = W_4 THEN W_K||V_RESULTAUX
                      WHEN V_RESULTAC = W_7 AND V_RESULTAD = W_4 THEN W_L||V_RESULTAUX
                      WHEN V_RESULTAC = W_8 AND V_RESULTAD = W_4 THEN W_M||V_RESULTAUX
                      WHEN V_RESULTAC = W_9 AND V_RESULTAD = W_4 THEN W_N||V_RESULTAUX
                      WHEN V_RESULTAC = W_0 AND V_RESULTAD = W_5 THEN W_O||V_RESULTAUX
                      WHEN V_RESULTAC = W_1 AND V_RESULTAD = W_5 THEN W_P||V_RESULTAUX
                      WHEN V_RESULTAC = W_2 AND V_RESULTAD = W_5 THEN W_Q||V_RESULTAUX
                      WHEN V_RESULTAC = W_3 AND V_RESULTAD = W_5 THEN W_R||V_RESULTAUX
                      WHEN V_RESULTAC = W_4 AND V_RESULTAD = W_5 THEN W_S||V_RESULTAUX
                      WHEN V_RESULTAC = W_5 AND V_RESULTAD = W_5 THEN W_T||V_RESULTAUX
                      WHEN V_RESULTAC = W_6 AND V_RESULTAD = W_5 THEN W_U||V_RESULTAUX
                      WHEN V_RESULTAC = W_7 AND V_RESULTAD = W_5 THEN W_V||V_RESULTAUX
                      WHEN V_RESULTAC = W_8 AND V_RESULTAD = W_5 THEN W_X||V_RESULTAUX
                      WHEN V_RESULTAC = W_9 AND V_RESULTAD = W_5 THEN W_W||V_RESULTAUX
                      WHEN V_RESULTAC = W_0 AND V_RESULTAD = W_6 THEN W_Y||V_RESULTAUX
                      WHEN V_RESULTAC = W_1 AND V_RESULTAD = W_6 THEN W_Z||V_RESULTAUX
                      ELSE
                      W_A||W_A
                      END;
                                        
  RETURN V_RESULT;
END;
/