ABAPのプログラムの種類(Dynpro/インクルード.etc)
<機能的な観点>
1.レポート
レポート
<実行方式>※イベントブロックで制御
1.ユーザ選択以後PG実行か(実行→入力→実行)
2.実行条件なしにいきなり実行か
3.intaraciveReport ユーザと対話式で処理が進むか
対話型というのは、ユーザの入力に応じて画面が遷移していくような画面制御のことを指します。
「こっちがこうすれば」「画面がこうなる」、つまり画面と人と対話するようなイメージで次々に変わっていくような画面制御を「対話型の画面入力」
2.バッチインプット
3.ディンプロ
<システム的なPGタイプ>
1.実行可能PG
レポート、バッチインプット」が該当します
2.INCLUDE PG
3.モジュールプールプログラム
ディンプロが該当します。
?SAPのシステム構成
?トランザクションコードとは?
?ABAPプログラム開発時に必要なツール
?ABAPプログラムのデバッグ方法
?RICEFについて
SELECTION-SCREEN―選択画面作成
-
POPUP(モーダルダイアログボックス)画面
その画面が表示されている間、他の画面を操作できなくなる画面」がモーダルダイアログボックスです。
[begin of screen][as window]~BEGIN OF SCREEN(Dynpro番号) AS WINDOW.
~END OF SCREEN(Dynpro番号) AS WINDOW.
AT SELECTION-SCREEN でイベントを起こすタイミング
、「CALL SELECTION-SCREEN命令」で呼び出す
2)従属画面
従属画面とは、ある画面の項目値に応じて表示したりしなかったりする画面です。
[begin of screen][SUBSCREEN]
SELECTION-SCREENBEGIN OF SCREEN (Dynpro番号) SUBSCREEN.
・・・・
SELECTION-SCRENNEND OFSCREEN(Dynpro番号) SUBSCREEN.
3)BLOCKで枠線、タイトルをつける
[begin of block]
[with frame]
title
5)画面内容はBLOCKごとに入力可入力不可ごとに制御したい場合
SELECT-OPTIONS デバッグに役立つ
SELECT-OPTIONS (選択基準) FOR (データ型)or(データオブジェクト).
選択基準
簡単に言うとユーザが入力する項目のお名前(8文字以内)です。
[表示効果]
画面上の入力項目に値レンジの箱効果が表示される。
そのレンジ効果はキーワードの[FOR]
FORに続く型は全て「レンジテーブル」
/****************************************
その前[Data]命令 (vbaのDimと似ている)
①通常命令の場合
DATA (変数名)TYPE(データ型).
※最後に.がある
②チェーン命令の場合
DATA:
(変数名1)TYPE(データ型),
(変数名2) TYPE(データ型),
(変数名3) TYPE(データ型).
※知識点
完全ABAPデータ型 (データの長さが決まっている)
データ型 意味 データ長
D 日付(YYYYMMDD) 8文字
T 時刻(HHMMSS) 6文字
I 整数 4文字
F 浮動小数点形式 8文字
・ ・・・ ・・
不完全ABAPデータ型 (不完全データ型の場合、DATA命令のコーディング中にデータ長を明示する必要があります。)
C 文字列 ―
N 数値 ―
P 数値(小数点あり) ー
・ ・・・ ・・
例1) 不完全ABAPデータ型
DATA: W_NUM(16) TYPE N. "16桁の数値"
あるいは
DATA: W_NUM TYPE N LENGTH 16. "16桁の数値"
例2) 完全ABAPデータ型
DATA: W_NUM TYPE I. "4桁の数値"
DATA: W_NUM(1) TYPE t エラーになる
tpye t は時刻HHMMSS6桁のため、長さが1に変更できない
@DATAでインライン宣言
使うときデータ型をその場で定義ときもある。
SELECT SINGLE
VKORG
FROM TVKO
INTO @DATA(LV_VKORG)
WHERE VKORG = @P_VKORG.
ABAPデータ型( 変数、構造、インナーテーブル)
以下のTYPEキーワードの直後を注目
DATA END_DT type D. // 変数
DATA Row type テーブル名. // 構造(行単位)
DATA TBL typetable of テーブル名. // 内部テーブル
上記のものがオブジェクトとしてみる
だから、初期化するときに、CLEAR命令
解放するとき、FREE命令
★TYPEとTYPES命令の違い
TYPESは構造化型を定義
TYPEはデータ型を指定
★TYPESは新しいデータ型を生み出す
TYPES:
BEGIN OF (構造化型データ型名),
(項目名) TYPE (データ型),
(項目名) TYPE (データ型),
・・・・・・・・・・・・・・
END OF (構造化型データ型名).
DATA命令⇒変数、構造、インナーテーブルを宣言
TYPES命令⇒変数、構造、インナーテーブルの基となる「型」を定義
★TYPES命令に、TYPEとLIKEオプション
TYPES A TYPE D
↓
TYPES B LIKE A
TYPEオプション
⇒既に定義済のデータ型を参照する
LIKEオプション
⇒既に定義済の変数などを参照する
STEP1:案件データを取込
STEP2:A列の値をリセット
STEP3:A列に対象案件番号を取込