Set

 GuiXT 
 Input Assistant 

目的
入力フィールドに値を割り当てることができます。 Setコマンドは、InputScriptの定義に役立ちます。Defaultとは対照的に、Setコマンドは以前のフィールド値を無視します。 通常のGuiXTスクリプトでSetを使用してもあまり意味がなく、独自の変数を使用するときはInput Assistantが必要です。

setを使用して、グローバル変数に値を割り当てることもできます。 グローバル変数には一意の名前を使用するように注意してください。

Set F[Order type] “CS”

“CS”がフィールドF[Order type]に割り当てられます。

多くの場合、値はInputScriptのパラメーターとして、または以前に定義された入力フィールドとして指定されます。

例:

Parameter OType

Set F[Order Type] “&[OType]”

次の行は、グローバル変数MM01_current_materialの値を設定します:

Set V[MM01_current_material] “&[Material]”

書式
Set [Input field] “Value” 入力フィールド値を設定します。
Set V[vname] “Value” グローバル変数を設定します。
Set V[gnm*] “Value” 名前が”gnm*”で始まるすべてのグローバル変数を設定します。
Set V[vname](x-y) “Value” グローバル変数の部分文字列を設定します。 変数の元の長さがxより小さい場合、xの位置まで「スペース」で埋められます。
Set Text[xxx] “Value” 以下の短縮形として使用:

Set V[y] “Value”
CopyText fromString=“y” toText=“xxx”

同様に、文字列内の &Text[xxx] はロングテキストxxxのコンテンツに置き換えられます。

Set list[rowno,colno] “Value”

Set list[rowno,colno,len] “Value”

ABAPリストで使用されます。 指定された文字列は、行rowno、及びカラムcolnoのリストに書き込まれます。ここで、カウントは0から始まり、現在表示されているページに関連しています。 オプションで、文字列の長さlenを指定できます。

注:システム変数V [_listfirstvisiblerow]には、現在表示されているページの最初のリスト行の絶対行番号が1から含まれています。

オプション
-stringlength 指定された文字列の長さ(バイト単位)が変数に入れられます。
-charcount 与えられた文字列の文字数が変数に入れられます。
search= 指定された文字列は、指定されたテキストで検索されます(大文字と小文字は無視されます)。 文字列が見つかると、次の単語が変数に設定されます。

例:  Set V[docno] “&V[_message]” Search=“document”

システム変数V[_message]の値が ”ドキュメント10004003が掲示されました”であるとします。 次に、変数 V[docno]は値 ”10004003”を取得します。
if Q[ok]を使用すると、検索文字列が見つかったかどうかを照会できます。

-position search=:と組み合わせて使用:検索された文字列の位置1、2、3、…(バイト単位)が変数に入れられます。 見つからない場合:0。
-charposition search=:と組み合わせて使用:検索された文字列の位置1、2、3、…(文字数)が変数に入れられます。 見つからない場合:0。
pattern= 指定したパターンが文字列から検索されます。 パターン文字列には「ワイルドカード」記号を含めることができます

Ÿ   ‘%’ 任意の文字列。パターン文字列内で次に一致する文字で区切られます。

Ÿ    ‘_’ 単一文字

パターン文字列のワイルドカードシンボルに対応する、指定された文字列のすべての文字が、左から右に変数に入れられます。 一致しない文字が見つかった場合、検索は終了します。

if Q[ok]を使用すると、文字列がパターンに一致するかどうかを照会できます。

例:

Set V[x]   “02.05.2007”  pattern=“__.__.____”       //  ok  V[x] = “02052007”
Set V[x]   “[abcd]”      pattern=“[%]”             //  ok  V[x] =”abcd”
Set V[x]   “12”          pattern=“%kg”             // not ok   V[x]= “12”  
Set V[x]   “Document 400000087 created”
pattern=“Document % created”  // ok   V[x]= “400000087

-uppercase 値は大文字にされます。
-lowercase 値は小文字に変換されます。
-alignright 値はターゲット変数内で右寄せされます。 ターゲット変数に長さを設定する必要があります。
-unpack “パック10進数”形式でBAPI等の関数呼び出しによって返された値は、一連の通常の数字に変換されます。
-pack 値はパック10進数形式で格納されます。
計算
Set では、演算子+、-、*、/を使用して、それぞれ2つのオペランドを使用して計算できます。 結果は編集された形式で変数に入れられます。 両方のオペランドは、値(1または5830等)か、変数名( “&V […]”)で参照できます。

例:

Set V[value]            5830 / 365
Set V[value]     “&V[total]” / 365
Set V[value]     “&V[total]” / “&V[days]”
Set
V[total]   “&V[amount1]” + “&V[amount2]”
Set V[index]     “&V[index]” + 1

結果は小数点第2位で四捨五入されます。 ログオン言語が英語の場合は小数点が使用され、それ以外の場合はコンマが使用されます。 追加オプションとDecimalSeparatorコマンドも参照してください。 結果が整数値の場合、小数点以下は表示されず “12.00” ではなく “12”となります。

decimals= 結果の小数点以下の桁数を指定します(0、1、2、3、…)。 その後、整数値も小数点以下 “12.00” で表示されます。
decimalseparator= “.” または “,” を指定できます。 小数点の記号は、オペランドの解釈と結果の編集の両方に使用されます。
decimalseparator=UserDefault デフォルト(ポイントまたはカンマ)は、ユーザーのプロファイルから取得されます。これは、コマンドが最初に実行されたときに読み取られます。 この機能(GuiXTプロファイル)には、有効なRFCユーザー名とパスワードが必要です。
groupseparator= “.” または “,” を指定できます。 3桁のグループは、指定した文字で区切られます。
groupseparator=UserDefault デフォルト(ポイントまたはコンマ)は、ユーザーのプロファイルから取得されます。これは、コマンドが最初に実行されたときに読み取られます。 この機能(GuiXTプロファイル)には、有効なRFCユーザー名とパスワードが必要です。
Set V[x] 24682471 /7  Decimals=3  DecimalSeparator=“.”  GroupSeparator=“,”

変数V [x]は、値 “3,526,067.286” を取得します。 正確な結果は”3526067.285714 …”です。 小数点以下3桁に丸められ、指定されたオプションに従って編集されます。

ヒントとコツ
Ÿ   Setでチェックボックスをマークできます:値 “X”または “”、またはこれらの値の1つを持つパラメーターを使用します。

Ÿ   同様に、ラジオボタンにSetを使用できます。 1つのラジオボタンをアクティブにする場合、これは自動的に行われるため、このグループの他のラジオボタンを非アクティブにする必要はありません。

例:

Set R[Documentation] “X”

トランザクションSE38では、他のラジオボタンR[Source], R[Variants], R[Attributes], R[Text elements] を無効にします。

Ÿ   Input Assistantチュートリアルも参考にしてください。

前の記事

SetActiveTab

次の記事

SelectFile