There are issues in the conversion in both directions - from SQL_NUMERIC_STRUCT to string, and from string to the struct.
Mostly that is not detected or incorrectly detected overflow.
Also, negative scale is incorrectly processed in many cases.
Current SQL_NUMERIC_STRUCT->string conversion algorithm cannot correctly process >8bytes numbers, but doesn't report the error in this case either.
If scale is > max supported(38) no warning is returned, and this value is used.