InputField

 Input Assistant 

目的
追加の入力フィールドを作成できます。 新しい入力フィールドに入力された値は、InputScriptで使用できます。
InputField (10,1) “Reference number” (10,20) Size=“10” Name=“Refnr”

これは、最大10文字の入力フィールドを定義します。 フィールドラベルは(10,1)に表示され、フィールド自体は(10,20)の位置に表示されます。 内部フィールド名はRefnrです。つまり、InputScriptでは、その値はシンボリック形式 &[Refnr]で記述されます。

書式
InputField (row1,col1) “field text” (row2,col2) Size=“…” Name=“…”
オプション
-numerical 数値入力のみ。
-uppercase 大文字入力のみ。
-date 日付入力のみ。
-noLabel ラベルなしの入力フィールド。 この場合、(row1、col1)と「フィールドテキスト」の両方が省略されます。
-dynamicLabel TechName=と組み合わせて:指定したテキストは、SAPリポジトリに保存されているフィールドテキストに置き換えられます。 使用可能なスペースに応じて、短い、中間、または長いラベルテキストが使用されます。 この機能(GuiXTプロファイル)には、有効なRFCユーザー名とパスワードが必要です。
-invisible 非表示の入力。(パスワード)
-required このフィールドは、標準の必須入力フィールドのように表示されます。 InputScriptで、ユーザーが値を入力したことを確認できます。 チェックは自動的には行われません。
-intensified フィールド値は別の色で表示されます。(標準:赤)
-alignright フィールド値は右揃えされます。
-leadingspace 先頭のスペース文字は保持されます。
-readonly 入力できません。
Default= デフォルト値の指定。
MaxLength= 最大入力長。 これにより、Size=よりも長い長さを指定できます。 その後、フィールドは自動的にスクロールバーになります。
TechName=

SearchHelp=

SAPリポジトリ内のフィールドを参照するフィールド名の指定(例:TechName=“BSEG-GSBER”9)ユーザーがF4を押すか、マッチコードアイコンをクリックすると、GuiXTはこのフィールドの標準SAPマッチコードを処理します。 F1を使用すると、ユーザーは標準のフィールドヘルプを表示できます。
または、SAPの検索ヘルプの名前は、TechName=“BSEG-GSBER”を使用して直接指定できます。この機能はABAPプログラムZGUIXTF4のインストールが必要です。
-nosearchhelp

shname=

F1フィールドヘルプにtechname=を指定したが、F4検索ヘルプを割り当てたくない場合は、オプション-nosearchhelpを使用できます。

マッチコードモジュールによって複数のフィールドがエクスポートされる場合、GuiXTは最初のフィールドを取得します。 shname=オプションを使用して、必要なフィールドの名前を指定することもできます。

SearchHelpModal= SearchHelpModal=“X”を指定すると、検索ヘルプは、ユーザーのF4設定に関係なく、モーダルポップアップウィンドウとして表示されます。
shselname1=
shselvalue1=
shselname2=
shselvalue2=

Shselname12=
shselvalue12=
マッチコード表示には、最大12の選択基準を指定できます。 shname1, shname2, shname3,…で指定する名前は、検索ヘルプ(トランザクションSE11)の定義と全く同一でなければいけません。
shselvalue1shselvalue2,  shselvalue3, …は、定数または他の入力フィールド[…]のいずれかになります。
例:InputField   ….    searchhelp=“COCAN”shselname1=“GJAHR”   shselvalue1=“2002”2002年のコストセンターのみが表示されます。

InputField   ….    searchhelp=“COCAN”

shselname1=“GJAHR”   shselvalue1=[Year]

入力フィールドF[Year] の内容は、年の選択として設定されます。

InputField   ….    searchhelp=“COCAN”

shselname1=“GJAHR”   shselvalue1=“[varname]”

変数V[varname]の内容は、年の選択として設定されます。

shname1=
shdest1=
shname2=
shdest2=
shname2=
shdest2=
最大12個の追加フィールドを指定できます。 これらは、ユーザがマッチコードエントリを選択すると入力されます。 shname1, shname2, shname3, …で指定する名前は、検索ヘルプ(トランザクションSE11)の定義とまったく同じでなければなりません。 ターゲットフィールドshdest1、shdest2、shdest3、…は、入力フィールド[fieldname]または変数V[varname]のいずれかになります。

例:

InputField   ….    searchhelp=“COCAN”    shname1=“LSTAR”

shdest1=[Activity type]

ユーザーがコストセンターを選択すると、コストセンターキーがInputFieldに入力されます。 さらに、選択したマッチコード行に含まれているActivity typeが、活動タイプ入力フィールドに入力されます。

InputField   ….    searchhelp=“COCAN”    shname1=“LSTAR”

shdest1=[Activity type]  shname2=“KTEXT_KOSTL”

shdest2=V[CC_text]

変数V[CC_text]にはコストセンターのテキストが入力され、以降の処理で使用されます。

SearchHelpProcess= ユーザーが検索ヘルプ画面で値を選択した後に処理されるInputScriptを指定できます。

典型的なアプリケーション:

・      選択した値に加えてテキストを表示する
SearchHelpProcess=“return.txt”を指定します。InputScript return.txtは、ステートメント “ Return “のみで構成されます。 これにより、画面が強制的に再表示され、マッチコードによって設定された変数(上記のセクションのV[CC_text]など)がユーザーに表示されます。

・      選択した値に依存する追加データを表示します。

指定されたInputScriptは追加のデータを(たとえばCallステートメントで)読み取り、”Return“を使用して画面を再度表示します。 新しく読み取ったデータは、GuiXTスクリプトで表示できます。

プログラムされたマッチコードのヘルプ
ABAPで特別なマッチコード機能をプログラムし、InputFieldに割り当てることもできます。

表記:

searchhelp=“exit.progname.formname”

ここで、prognameはABAPプログラム名、formnameはサブルーチン名です。formルーチンには標準化されたインターフェースがあります(以下を参照してください)。 選択した値を返します。 特別オプションshselname1=, shselvalue1=, …, shname1=,shdest1= の利用も可能です。

例1


Inputfield (18,1) “Bk” (18,20) name=“buk” size=“4” searchhelp=“exit.zguixtmc1.mcbuk”

ABAP program:

Program ZGUIXTMC1.

* Value table
data: begin of t1 occurs 100,
bukrs like t001-bukrs,
butxt like t001-butxt,
land1 like t001-land1,
ort01 like t001-ort01,
end of t1.

* Returned value
data: begin of r1 occurs 1.
include structure DDSHRETVAL.
data: end of r1.

Form mcbuk
tables
sel    “table with  shselname1=, shselvalue1=,
dest   “table with  shname1=, shdest1
using invalue
changing selvalue.

* Select data
Select bukrs butxt land1 ort01 from t001
into corresponding fields of table t1.

* SAP standard function to display table as matchcode selection
CALL FUNCTION ‘F4IF_INT_TABLE_VALUE_REQUEST’
EXPORTING
RETFIELD = ‘BUKRS’
WINDOW_TITLE = ‘Please select a company code’
VALUE_ORG = ‘S’
TABLES
VALUE_TAB = T1
RETURN_TAB = R1
EXCEPTIONS
OTHERS = 1.

* Return selected value
if sy-subrc = 0.
selvalue = r1-fieldval.
endif.

endform.

例2: ローカルファイル名

Inputfield (6,1) “Filename” (6,20) name=“filename” size=“50” searchhelp=“exit.zguixtmc1.mcfile”

ABAP-Program:

Program ZGUIXTMC1.

Data: tmp_filename(80).

Form mcfile
tables
sel “table with shselname1=, shselvalue1=,
dest “table with shname1=, shdest1
using invalue
changing selvalue.

Call Function ‘WS_FILENAME_GET’
Exporting
DEF_FILENAME = invalue
DEF_PATH = ‘C:\GuiXT’
MASK = ‘,*.*,*.*.’
MODE = ‘O’
TITLE = ‘Please select a file ‘
Importing
FILENAME = TMP_FILENAME
Exceptions
others = 1.

* Return selected value
If sy-subrc = 0.
selvalue = tmp_filename.
Endif.

Endform.

ヒントとコツ
また、QuickInfoを含むテキストのSAP標準規則に従って、新しいフィールドにQuickInfoを指定することもできます。

例:

@0L\QPlease use the external document number as reference number@Reference number”

Ÿ  新規の入力フィールドの履歴も表示します。

Ÿ  マッチコード機能に必要な技術項目名は、標準のSAPヘルプF1、「技術情報」を参照します。

Ÿ  次の特別な検索ヘルプモジュールは、SearchHelp=“…”でも指定できます。

o        … searchhelp=“GuiXT.ORGEH”  Hierarchical view of organization

o        … searchhelp=“GuiXT.ZTERM”  Payment terms

o        … searchhelp=“GuiXT.ZTERM.D”  Payment terms, debitors only

o        … searchhelp=“GuiXT.ZTERM.K”  Payment terms, creditors only

o        … searchhelp=“GuiXT.DATE”  Calendar

o        searchhelp=“GuiXT.TIME”  Time

前の記事

Leave

次の記事

Included