開発環境:
Windows10 Pro
Microsoft Visual Studio Community 2019
SqlServer 2012
開発言語:
VB.NET FrameWork4.7.2

ストアドプロシージャの出力値ですが、 Decimal型の場合、パラメータのPrecisionとScaleを別途指定する必要があるそうです。

ストアドに手を入れることは、割とあるのですが、ストアドのコール部分は作りっぱなしで手を入れることは、ありませんでした。
今回、原価計算部分の値の少数点以下が四捨五入されたとのことで、修正依頼がありました。
過去データを確認しましたが、正常に計算されており、ここ一年はプログラム・ストアドの修正も入っていなかったので、・・・・。
なぜ???
サーバーも再起動し、ストアドをテストしてみましたが、おかしくはありません。
プログラムのストアドとのインターフェイス部分を見直し。
ちゃんとDecimalを指定しているし問題ないように見えましたが、
修正案1を試してみましたが、変わらず・・・。
型で悩んだらVarCharということで、修正案2を実行。
ちゃんと帰ってくるので、Decimalの指定の問題と確定。
検索でSqlParameter.Precision プロパティがヒット・・・
ということで、最終コードで解決。
でもコディングの問題だけど、今までは?
と聞いてみたら担当者が変わったので、はっきりは解らないけど手で直していたみたい・・・。
とのこと。
ご迷惑おかけいたしました。

''OUT
'元の指定(戻り値 7493)
'.Parameters.Add(New SqlClient.SqlParameter("aDecTanka", SqlDbType.Decimal))
'修正案1(戻り値 7493)
'.Parameters.Add(New SqlClient.SqlParameter("aDecTanka", SqlDbType.Decimal, 11, 2))
'修正案2(戻り値 7492.50)
'.Parameters.Add(New SqlClient.SqlParameter("aDecTanka", SqlDbType.VarChar, 12))
'最終のコード(戻り値 7492.50)
.Parameters.Add(New SqlClient.SqlParameter("aDecTanka", SqlDbType.Decimal, 11, 2))
.Parameters("aDecTanka").Precision = 11
.Parameters("aDecTanka").Scale = 2