ABAPで「一覧を出したい」のか「画面で入力・更新したい」のかによって、プログラムの作り方は変わります。従来のSAP GUI開発では、レポートプログラムとDynpro(画面)プログラムの違いを理解することが設計の出発点です。現在はFioriやRAPなどの選択肢もあるため、利用環境に合わせて判断します。
レポートプログラム
実行可能プログラムとして起動し、選択画面で条件を受け取り、データを取得して一覧やALVを表示します。定期集計、ファイル出力、バックグラウンドジョブに向いています。選択画面にも画面要素はありますが、通常の業務入力画面を何枚も遷移させる用途とは異なります。
Dynproプログラム
画面のレイアウトと画面フローを定義し、PBO(画面表示前の処理)とPAI(ユーザー操作後の処理)を組み合わせます。入力・チェック・確認画面を繰り返すSAP GUIの対話処理で使われます。画面番号、GUIステータス、OKコード、遷移先を設計する必要があります。
| 要件 | 選びやすい方式 |
|---|---|
| 条件を指定して一覧を表示、定期実行する | レポート+ALV |
| 複数画面で入力・確認・保存を行う | Classic Dynproなどの対話画面 |
| ブラウザ・モバイル向けの新規業務アプリ | 利用可能なFiori/RAPなどの開発方式を検討 |
設計時の注意
バックグラウンド実行には対話画面への入力を求めない構成が必要です。レポートでも大量データの取得条件と権限確認を設計します。Dynproでは画面遷移だけでなく、保存前のチェック、ロック、更新結果のメッセージを明確にします。新規開発では標準アプリや公開APIで代替できないかも確認します。
参考・関連記事
- ABAPとは?:開発全体の入口
- SY-BATCHの使い方:対話実行とジョブ実行を分ける
- バッチインプットの注意点:画面操作を自動化する場合
- ABAPプログラミングの基本:エラー処理と確認観点