これは、使用しているコンパイラ(およびバージョン)によって大きく異なります。この欠落した情報を追加してください。
一般的には、すべてのユーザー入力はであることを確認し、数字のインデックスを使用する場合は、pic 9(04)
にする必要があります。コンパイラ(バージョン)によっては、これはすでに「フィールド内の数値データのみ」につながりますが、そうでなければMOVE FUNCTION NUMVAL (input-field) TO quantity
を使用して同じ結果を得ることができます。
その後あなただけのquantity
があなたのOCCURS
の有効範囲内にあるかどうかを確認する必要があります。固定長のための
quantity <= max-entries AND NOT = 0
が発生した場合、またはOCCURS max-entries DEPENDING ON depending-field
注ため
quantity <= depending-field AND NOT = 0
:上FUNCTION NUMVAL
を使用して"z"のような無効な入力はすでにチェックされている0
につながるので、ゼロ数と "s"の両方の入力に対して "無効"という情報が得られますtring "と入力します(1回のチェックで)。
更新された回答を確認し、https://stackoverflow.com/help/someone-answersをご覧ください。不明な部分や投票+承認についてコメントしてください。 –