Вам необходимо привести NULL как пользовательский тип. Попробуйте это:
PACKAGE PKG_DEVICE AS
TYPE STR_ASSOC_ARR is table of VARCHAR(255) index by BINARY_INTEGER;
procedure proc_create_device
(
in_deviceid in raw
, in_devicecert in clob
, in_status in number
, in_caps in STR_ASSOC_ARR DEFAULT CAST(NULL AS STR_ASSOC_ARR)
, in_vals in STR_ASSOC_ARR DEFAULT CAST(NULL AS STR_ASSOC_ARR)
);
Теперь вам не нужно указывать значения для in_caps или in_vals. Если значения не передаются, они по умолчанию равны NULL-значениям типа STR_ASSOC_ARRAY.
И, конечно, вам нужно обновить объявление процедуры в теле пакета, чтобы соответствовать этим изменениям.