ABAP⑤ オブジェクト・選択画面

選択画面

画面に表示する名称(ラベル)設定

ABAPメニュー > ジャンプ > テキストエレメント > 選択テキスト

INITIALIZATION.

横位置

SELECTION-SCREEN POSITION 50.

フレーム

SELECTION-SCREEN BEGIN OF BLOCK myBlock WITH FRAME TITLE myTitle1.
 ~
SELECTION-SCREEN END OF BLOCK myBlock
myTitle1 = ‘AAA’

コメント

SELECTION-SCREEN COMMENT /2(50) myTitle2.
myTitle2 = ‘BBB’

SELECTION-SCREEN ULINE.

改行

SELECTION-SCREEN SKIP 2.

テキストボックス

PARAMETERS: Input(10) TYPE C.

範囲入力1

TYPES:
 BEGIN OF TypeId,
Name(8) TYPE C,
Age TYPE I,
 END OF TypeId.
*内部テーブル型変数を宣言
DATA: MyId TYPE typeId.
SELECT-OPTIONS: myName FOR MyId-Name.

範囲入力2

DATA: MyRow LIKE テーブル名.
SELECT-OPTIONS: myName FOR MyRow-フィールド名.

*LOWER CASE
※入力値が文字列の時に大文字変換しない
SELECT-OPTIONS: myName FOR MyRow-フィールド名 LOWERE CASE.

SELECT-OPTIONS入力値の取得

左右の入力値を文字列連結した値がmyNameに格納される模様。
そして何故か先頭に「IBT」の文字が入る。
myName:「IBT左側入力値 右側入力値」
例:左側=’aaa’ 右側=’bbb’
myName:「IBTaaa bbb」
*通常の使い方
SELECT * FROM INTO myTable WHERE フィールド1 IN myName.

*ラジオボタン
PARAMETERS: Radio1 RADIOBUTTON GROUP R1.
PARAMETERS: Radio2 RADIOBUTTON GROUP R1.
SELECTION-SCREEN COMMENT 横方向位置(横方向長さ) コメント内容変数.
SELECTION-SCREEN COMMENT 10(20) Radio1.
SELECTION-SCREEN COMMENT 10(20) Radio2.
※選択テキストにてRadio1、Radio2 の表示名称を設定しておく

*選択画面の記述は↓これより上に書く事。
START-OF-SELECTION.

ラジオボタンの選択状態の取得

CASE ‘X’.
 WHEN Radio1. WRITE:/ ‘Radio1’.
 WHEN Radio1. WRITE:/ ‘Radio2’.
ENDCASE.
WRITE:/ Input.

オブジェクト

ALVリスト

 汎用モジュール「REUSE_ALV_GRID_DISPLAY」を実行すると画面上に表示される帳票イメージ。
 TYPE-POOLS: SLIS.
 DATA: myTableTYPE TABLE OF テーブル名.
 DATA: myVariant LIKE DISVARIANT.
 *表示データ取得
 SELECT * FROM テーブル名 INTO TABLE myTable.
 *表示バリアント(レイアウト定義情報)設定
 myVariant-REPORT = SY-REPID. *プログラム名
 myVariant-HANDLE = ‘0001’ *表示バリアント識別キー(何でも可)
 CALL FUNCTION REUSE_ALV_GRID_DISPLAY
EXPORTING
 I_STRUCTURE_NAME = テーブル名
 I_GRID_TITLE = ‘タイトル名’
 IS_VARIANT = myVariant *表示バリアント(レイアウト定義情報)
 I_SAVE = ‘X’ *表示バリアントを保存するか否か?(X:保存する)
TABLES
 T_OUTTAB = myTable
.
 IF SY-SUBRC <> 0.
MESSAGE ID ‘SABAPDCU’ TYPE ‘E’ NUMBER 888 WITH ‘エラーが発生しました。’.
 ENDIF

 ※成功すると画面上にヘッダー付きのテーブルのデータが表示される。

ロックオブジェクト

 DBを更新する為に、
 排他ロック⇒更新⇒排他解除
 という工程を経る。
 SAPロック
 ロックオブジェクトによる理論的なロック。
 ABAPディクショナリに定義する。
 登録するとロック、ロック解除用の汎用モジュールも生成される。
 排他ロック、排他解除には、
 この汎用モジュールを使用し、
 ロックオブジェクトへのエンキュー/デキューを行う。

コメントを残す

メールアドレスが公開されることはありません。