!--a11y-->

Dynpro 項目は Dynpro のワークメモリ内の項目です。この項目の内容は PAI イベントの発生時には ABAP プログラムの同名の項目に渡され、PBO イベントの発生時には ABAP プログラムの同名の項目から入力されます。Dynpro 項目は Dynpro 上の入出力項目および OK_CODE 項目とリンクされます。入出力項目には一意の名前 ( エレメント属性 Name) を指定する必要があります。この名前をとおして、入出力項目は同名の Dynpro 項目に割り当てられ、それによって、ABAP プログラムでその値を処理できるようになります。
Dynpro
項目の技術属性
(
長さとデータ型)
はエレメント属性
DefLg
(
定義長)
と
Format
(
書式)
によって定義されます。データ型については、事前定義された
ABAP
ディクショナリのデータ型
のいずれか 1
つを
選択することができます。データ型は Dynpro
と ABAP
プログラム間でデータが渡されるときに適宜変換されます。ABAP
ディクショナリまたは ABAP
プログラムの
項目を使用する場合は、Dynpro
項目の名称、長さ、および型が自動で定義されます (
ただし、ABAP
文字列を処理
している場合を除く)
。それ以外の場合は、これらの属性をスクリーンペインタで設定する必要があります。最も重要なこととして、各 Dynpro
の OK_CODE
項目の名称を指定して、対応する Dynpro
項目を定義できるようにする必要があります。それによって、ABAP
プログラムでその OK_CODE
項目を使用できるようになります。
テキスト項目やボックスなどの表示エレメントの場合、Dynpro
項目とのリンクは行われないため、一意の項目名は必要ありません。ABAP
ディクショナリを
使用して入出力項目を作成する場合は、通常、ABAP
ディクショナリのテキストを使って、システムにより項目ラベルも生成されます。これらのテキスト項目のデフォルト名は入出力項目の
Dynpro
項目の名称と同じです。
Dynpro は、スクリーンペインタで定義された Dynpro 項目のほかに、ABAP プログラムと同じ事前定義システム項目を認識します。ただし、Dynpro では、システム項目は構造 SY ではなく構造 SYST で管理されます。したがって、それらのシステム項目に対しては、SYST-< 名称> の書式を使用する必要があります。

次のようなプログラムコードがあるとします。
DATA: text(10) TYPE
c,
number TYPE I.
スクリーンペインタで作成された Dynpro 100 には、ABAP ディクショナリの 2 つの項目 SPFLI-CARRID と SPFLI-CONNID 、および ABAP プログラムの 2 つの項目 TEXT と NUMBER があります。また、3 つのテキスト項目と 1 つのボックスがあります。この Dynpro の外観は次にようなものになります。

エレメント一覧内の Dynpro 項目 に関連する列は、次のとおりです。
|
名称 |
型 |
定義長 |
書式 |
テキスト/ 入出力テンプレート |
|
グループボックス |
フレーム |
62 |
|
テストフレーム |
|
%#AUTOTEXT001 |
テキスト |
14 |
|
Dynpro 項目 |
|
SPFLI-CARRID |
テキスト |
16 |
|
航空会社 |
|
SPFLI-CARRID |
入出力 |
3 |
CHAR |
___ |
|
SPFLI-CONNID |
テキスト |
15 |
|
フライト番号 |
|
SPFLI-CONNID |
入出力 |
4 |
NUMC |
____ |
|
%#AUTOTEXT002 |
テキスト |
10 |
|
ABAP 項目 1 |
|
TEXT |
入出力 |
10 |
CHAR |
__________ |
|
%#AUTOTEXT003 |
テキスト |
10 |
|
ABAP 項目 2 |
|
NUMBER |
入出力 |
11 |
INT4 |
___________ |
|
|
OK |
20 |
OK |
________________ |
この Dynpro には 4 つの入出力項目があります。これらの項目は、それぞれ同名の Dynpro 項目にリンクされています。これらの Dynpro 項目のデータ型と長さは ABAP ディクショナリまたは ABAP プログラムからコピーされます。上に示した例では、OK_CODE 項目に名称がまだ指定されていないため、OK_CODE などの名称を指定して、この項目を Dynpro 項目に割り当てられるようにする必要があります。
型がフレームおよびテキストの表示項目には、マニュアルで名称を割る当てるほかに、システムに自動で項目名を生成させることもできます。ABAP ディクショナリからコピーされたテキストは、入出力項目と同じ名称になります。スクリーンペインタで作成されたテキストには、生成された名称が設定されます。
最後の列は Dynpro 上での Dynpro エレメントの内容を示しています。入出力項目の場合、実行時にならないと内容が決まらないため、これらの項目には項目のテンプレートのみが組み込まれます。それに対し、出力項目の内容はスクリーンペインタで静的に定義され、Dynpro 項目によって制御することはできません。