操作
QA #519
未完了メソッド詳細_メイン処理について3
ステータス:
解決
優先度:
通常
担当者:
鈴木 和博
開始日:
期日:
進捗率:
0%
予定工数:
実開始日:
DD名:
INCLUDE:
DSN:
バグ区分:
QA分析:
仕様間違い(処理)
方針(第一貨物):
実終了日:
ツールのバージョン:
AsIsSource行:
進捗計画:
設計・開発者:
画面ID:
機能区分:
機能ID:
レビュー指摘区分:
検査完了日:
検査依頼日:
説明
43行目の"データ.到着鑑データ(Y).送付書NO = 変数.鑑データ送付書NO_一致チェック の間ループ"処理で、
例えば、"データ.到着鑑データ"が100件、Yが99(Javaのインデックスは0~のため100番目)の時に43行目の処理が実行された場合、
86行目で"Y ← Y + 1をセット"が行われるため、次のループで"データ.到着鑑データ(100)"(101番目のデータ)を取得しようとし範囲外アクセスが発生してエラーになってしまいます。
おそらく、43行目に"データ.到着鑑データの要素数"とYの比較が必要になると思うのですが、現行の処理を確認していただけますでしょうか。
鈴木 和博 さんが1年以上前に更新 · 編集済み
- ステータス を 作業中 から 保留中 に変更
- 担当者 を 鈴木 和博 から 柳川 岳志 に変更
"データ.到着鑑データ(Y).送付書NO = 変数.鑑データ送付書NO_一致チェック かつ Y <= データ.到着鑑データの件数 の間ループ"としてしまうと、
"データ.到着鑑データ(Y).送付書NO = 変数.鑑データ送付書NO_一致チェック"の部分が先に判定されてしまうため範囲外エラーを回避できません。
また、"Y <= データ.到着鑑データの件数 の間"となっていますが、最初の例で言うYが100の場合は条件を満たしてしまい、"データ.到着鑑データ(100)"(Javaの配列は0からカウントするため101件目のデータ)を取得しようとしてエラーになってしまいます。
"Y < データ.到着鑑データの件数 の間ループ かつ データ.到着鑑データ(Y).送付書NO = 変数.鑑データ送付書NO_一致チェック"と修正していただきたいです。
操作