Procedure : dup_val
line : 2

you have declared 'str' as a number variable.
So it is not accepting 'A'.
ORA-06502: PL/SQL: numeric or value error

Try avoiding the variable 'str', and pass a constant literal to the insert statement at line 4, like:

insert into dept values('A','NAME','PUNE');