Table

 Input Assistant 

目的
新しいテーブル(SAPテーブルコントロール)を作成できます。
Table (10,20) (16,84) name=“proj” title=“Project overview” rows=20

これにより、“Project overview” というタイトルのテーブルコントロールが作成されます。 次に、テーブルのカラムがColumnステートメントによって定義されます。

書式
Table (row1,column1) (row2,column2) name=“mytable”   title=“mytitle”  rows=“rowcount” 

“mytitle”という見出しの新しいテーブルが作成されます。 内部名は“mytable”です。 行の総数は“rowcount”です。 表示される行数は座標によって異なります。

Columnステートメントは、table=オプションで別のテーブルが指定されていない限り、前のtableステートメントに自動的に割り当てられます。

オプション
fixedcolumns= 水平スクロール中に固定されるカラムの数
-rowselection 1つ以上のテーブル行を選択できます。
-singlerowselection 単一のテーブル行を選択できます。
-columnselection 1つ以上のテーブルカラムを選択できます。
-singlecolumnselection 単一のテーブルカラムを選択できます。
変数の割り当て
テーブルの内容(入力と出力)と状態(スクロール、行とカラムの選択、カラム幅とカラム順序の変更)の両方が、テーブル名(“mytable”)で始まる名前の変数にマップされます。 セルコンテンツの変数の名前は“mytable.cell.”で始まります。 すべてのステータス変数は“mytable.stat.”で始まります。

セルの内容 各テーブルセルは、変数V[tabname.cell.columnname.row]で表されます。

例:V[projects.cell.description.7]は、テーブル “projects” の7行目の”description” カラムです。

Set V[projects.cell.*]  “”

テーブルの内容全体をリセットできます。

テーブルの状態(スクロール、行選択など)をリセットするには、以下を使用します。

Set V[projects.stat.*]  “”

コンテンツと状態については以下を使用します。

Set V[projects.*]  “”

スクロール スクロール機能は、SAPテーブルコントロール(スクロールボタン、SAPアイコン、スクロールバー)によって自動的に実装されます。 複数のテーブルが同時に表示されている場合、スクロールキー(最初のページ、前/後ろのページ、最後のページ)はカーソルが置かれているテーブルに適用され、そうでない場合は最初に表示されたテーブルに適用されます。

変数V[tabname.stat.firstvisiblerow]には、表示される最初の行の番号が含まれます。 変数をスクリプトで変更して、たとえば検索機能を実装するなど、別の行にスクロールできます。 例:

Set V[projects.stat.firstvisiblerow]   12

これにより、テーブルが12行目にスクロールされます。変数が設定されていない場合は、値1が想定されます。

変数V[tabname.stat.lastvisiblerow]には、最後に表示された行の番号が含まれています。 スクリプトの変更は効果がありません。

水平スクロール テーブルのカラムを水平スクロールすることも可能です。 変数V[tabname.stat.firstvisiblercolumn]には、最初に表示されるカラムの番号が含まれています。 変数が設定されていない場合、値1が想定されます。

fixedcolumns= を使用する場合、変数V[tabname.stat.firstvisiblecolumn]には、スクロール可能なカラムの範囲に表示される最初のカラムの番号が含まれます。 たとえば、2つの固定カラムがある場合、3から始まります。

カラムの順序 カラムの最初の順序は、column命令の順序によって決まります。 その後、ユーザーはカラムの順序を変更できます。 スクリプトで動的に設定することもできます。 変数は以下の通りです。

V[tabname.stat.columnnumber.columnname]

例:  V[projects.stat.columnnumber.description]

カラム幅 カラムの初期幅は、カラムステートメントのwidth =オプションによって決定されます。 その後、ユーザーはカラムの幅を変更できます。 スクリプトで動的に設定することもできます。 変数は以下の通りです。

V[tabname.stat.columnwidth.columname]

例:V[projects.stat.columnwidth.description].

行の選択 選択した行の場合、変数V[tabname.stat.rowselection.row]が “X” に設定されます。
例:

if  V[projects.stat.rowselection.1=X]

行1が選択されているかどうかを照会します。 行の選択は、スクリプトで設定することもできます。

行を読み取り専用に設定する  個々の行を「読み取り専用」に設定するには、変数V[tabname.stat.rowreadonly.row]を使用できます。 値 “X” は”読み取り専用”を意味します。

例:

Set  V[projects.stat.rowreadonly.&V[i]] “X”

カラムの選択 選択したカラムの場合、変数V[tabname.stat.columnselection.columnname]“X” に設定されます。

例:

if  V[projects.stat.columnselection.description=X]

カラム”description”が選択されているかどうかを照会します。 カラムの選択は、スクリプトで設定することもできます。

テーブルカラムのプッシュボタンcolumnステートメントは、InputScriptを起動するプッシュボタンを定義できます。 次の変数が設定されます。

V[_tabrow]   表示されている最初の行の1から始まる、テーブル表示で選択された行の番号

V[_tabrowabs]   テーブル内の絶対行番号

テーブルカラムの検索ヘルプ(F4)columnステートメントのカラムにSAP検索ヘルプを割り当てることができます。

カーソル位置 次の変数を使用して、テーブル内のカーソル位置を照会できます。

V[_cursortabname]         テーブルタイトル(title=)

V[_cursortabtechname]     技術テーブル名 (name=)

V[_cursorcolname]           カラムタイトル

V[_cursorcoltechname]     技術カラム名

V[_tabcol]                       カラム番号

V[_tabrow]             表表示のカーソル行の番号。表示されている最初の行は1から始まります。

V[_tabrowabs]        テーブル内の絶対行番号

V[_cursorrow]      テーブルコントロールが開始する行(Tableコマンドの”行1”)

V[_cursorcol]      テーブルコントロールが開始するカラム(Tableコマンドの”カラム1”)

カーソルをテーブルセルに設定する SetCursor cell[tabname,columnname,row]を使用します。以下に例を示します。

SetCursor  cell[project,Description,3]

ここでの行番号は、ディスプレイ全体の行番号であり、テーブル全体の絶対行番号ではありません。 “columnname” には、カラムのタイトルまたは技術名を使用できます。

V[posrow]、カラム”descr”等、絶対的な行番号が与えられたセルにカーソルを置きたい場合、以下のコーディングを使用できます。

if V[posrow<&V[xtab.stat.firstvisiblerow]] or V[posrow>&V[xtab.stat.lastvisiblerow]]
Set V[xtab.stat.firstvisiblerow] &V[posrow]
SetCursor cell[xtab,descr,1]
else
Set
V[relposrow] &V[posrow] &V[xtab.stat.firstvisiblerow]
Set V[relposrow] &V[relposrow] + 1
SetCursor cell[xtab,descr,&V[relposrow]]
endif

前の記事

Table Width

次の記事

Tab