目次
数値チェックに使用できる標準汎用モジュール
内容
標準汎用モジュール「CATS_NUMERIC_INPUT_CHECK」を使用して数値チェックができます。
入力された数値が指定された範囲内にあるかどうかをチェックします。
基本形
サンプル
このコードでは、ユーザーからの入力lv_input
が、指定された範囲lv_min
からlv_max
の間にあるかどうかをチェックしています。
もし入力値が範囲外であれば、エラーメッセージを表示します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
DATA: lv_input TYPE p DECIMALS 2, lv_min TYPE p DECIMALS 2 VALUE '0.00', lv_max TYPE p DECIMALS 2 VALUE '99.99'. lv_input = '123.45'. " ユーザーからの入力 CALL FUNCTION 'CATS_NUMERIC_INPUT_CHECK' EXPORTING iv_input = lv_input iv_min = lv_min iv_max = lv_max EXCEPTIONS input_not_numeric = 1 input_out_of_range = 2 OTHERS = 3. IF sy-subrc <> 0. WRITE: / 'エラー: 入力値が範囲外です'. ENDIF. |
INTERNALパラメーラ
INTERNALパラメータの引き渡す値を変更することで、出力値に「,」付きの書式で出力することも可能です。
例1 (INTERNAL = ‘X’の場合)
入力値 :123456
INTERNAL :X
出力値 :123456
例2 (INTERNAL = SPACEの場合)
入力値 :123456
INTERNAL :SPACE
出力値 :123,456