You need to specify NULL as a custom type. Try the following:
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) );
Now you do not need to specify values ββfor in_caps or in_vals. If values ββare not passed, they default to null values ββof type STR_ASSOC_ARRAY.
And, of course, you will need to update the procedure declaration in the package body to match these changes.
source share