Its type of IN variable (parameter), though its not required to declare it again with new name. But if you need to change its value in function body, IN parameter can not be changed. In that case you assingn like following. V_XY := P_XY;
If you want parameter in a range do following
if UPPER(P_XY) NOT IN ('A','B','C','X') THEN
V_XY:= 'X';
ELSE
V_XY := UPPER(P_XY);
END IF;
... now use V_XY