Это просто опечатка: в вашем списке параметров для сохраненного процесса у вас есть:
create procedure usbinsertbookDatainto
...
@currentnoofcopiesavaillable varchar(300),
и в коде, который вы используете:
values(.....
@currentnoofcopiesavillable,
Итак, чтобы было понятнее:
Defined: @currentnoofcopiesavaillable
Used: @currentnoofcopiesavillable
Обязательно введите то же имя переменной, которое вы использовали в объявлении!