私はABAPの初心者で、ABAPの関数モジュールを学ぼうとしています。関数を作成し、 IMPORT と EXPORT,TABLES のパラメーターを指定します。また、ユーザーが望ましくないものを作成している間、ユーザーに例外を与えたいと考えています。
したがって、次の 2 つのインポート パラメータがあります。これらの行は、インポート フィールドとエクスポート フィールドの列項目です。
i_x TYPE xx
i_type TYPE char2
私は1つのテーブルパラメータを持っています:
et_xx_sorted LIKE xx 'this is an exception'
私は1つの例外行を持っています:
MAX_RECORD 'There is no record for this.'
私のソースコードは次のとおりです。
SELECT * INTO TABLE et_xx_sorted[] FROM xx WHERE yy = i_x.
ユーザーが選択した境界線よりも最大の入力を i_x に与えるときに、例外行を使用したいと思います。1 から 30 までの数字があることを意味しますが、ユーザーが 1 から 20 を与えることができるようにしたいのです。20 から 30 を与えることはできません。また、20 から 30 への入力がある場合、プログラムは MAX_RECORD 例外を与えて言う必要があります。ユーザーに「これに関する記録はありません。」
私が使用した:
IF sy-subrc <> 0.
MESSAGE 'No record' TYPE 'E' RAISING MAX_RECORD.
ENDIF.
しかし、これは私が望むものではありません。20 ~ 30 の行があるため、このコード ブロックはボーダー アイテムでは機能しません。1 ~ 30 行ありますが、ユーザーは 1 ~ 20 行しか見ることができません。また、20 ~ 30 行を指定した場合、プログラムは、私が EXCEPTIONS フィールドに決定した例外を使用する必要があります。