3

作成したテーブルを使用して、sm30 でフィールドが初期のままになっているかどうかを確認しようとしています。テーブル メンテナンス ジェネレーター、次に Environment->Modifications->Events に移動し、次のコードを使用して (データベースにデータを保存する前に) タイプ 01 の check_class という名前の入り口を作成しました。

FORM CHECK_CLASS.

IF z10ficlassfica-z_class IS INITIAL.
  MESSAGE text-001 TYPE 'E'.
ENDIF.

ENDFORM.

z10ficlassfica が初期のときにテーブルのメンテナンスにとどまらず、sm30 の最初の画面に移動することを除いて、すべて正常に動作します。どうすればsm30のメンテナンス画面にとどまることができますか? 私が自分自身を明確にしたことを願っています。ありがとうございました。

4

2 に答える 2

3

このリンクを参照してください:

  • イベントを使用することができ、それらを使用する必要があります。生成された画面を変更しないでください。これが、SAPがイベントを提供した理由です。
  • 保存を停止して画面に表示するには、2つのことが必要です。
    • MESSAGE 'Currency must be USD or IDR' TYPE 'S' DISPLAY LIKE 'E'.
    • vim_abort_saving = 'X'.
  • そのリンクを読んでください、あなたがそこに必要とするたくさんの情報があります。
  • 良い習慣として、エラーメッセージで間違っていたレコードのキーを使用して、ユーザーが何千もの新しいレコードを入力したときにレコードを見つけられるようにします。
于 2012-10-16T12:46:20.947 に答える
2

別の質問を追加する代わりに、元の質問を編集してください。私はすでに質問に答えました:イベントを使用しないで、生成された画面を変更してください。MESSAGEscreenLOOPステートメント内で を発生させる必要があるため、ここではイベントは不適切です。

于 2012-10-16T09:29:00.703 に答える