abapの文字列型の欠点は何ですか? いつ使用し、いつ使用しないのですか?
例: 0 から 12 文字の範囲の値を保存する必要があるテキスト フィールドがあります。文字列または Char(12) を使用する方がよいでしょうか?
ありがとう!
abapの文字列型の欠点は何ですか? いつ使用し、いつ使用しないのですか?
例: 0 から 12 文字の範囲の値を保存する必要があるテキスト フィールドがあります。文字列または Char(12) を使用する方がよいでしょうか?
ありがとう!
char は静的に割り当てられますが、文字列は文字の動的配列として格納されます。
文字列の欠点には次のようなものがあります。
char(x)
したがって、あなたの質問に答えるために、文字列は、静的変数の潜在的な無駄なスペースに比べて追加のオーバーヘッドが無視できる範囲の長さのかなり長い値にのみ使用する必要があります。
フィールドが 0 ~ 12 文字のみを保持する必要があることを 100% 確信しているため、CHAR が最適だと思います。
string は可変長のデータ型ですが、char では長さを定義する必要があります.. タイプ C(テキスト フィールド (英数字)) と String X または 16 進文字列には初期値 (X'0 … 0') があります。初期値を回避し、実際の長さを使用するにはC型が使用されます
文字列変数 : 文字列は、任意の長さのデータを格納するために使用される可変長データ型です。スペースを節約するため、可変長フィールドが使用されます。文字列。任意の数の文字を格納できます。文字列は実行時にメモリを割り当てます。これは動的メモリ割り当てとも呼ばれ、文字列のサイズに従ってメモリを割り当てます。割り当てのメモリは動的であるため、パラメーターを使用して文字列を宣言することはできません。
しかし、あなたのケースでは、フィールドの最大長(0〜12文字)をすでに知っているので、CHAR type
あなたのケースでの使用に最適です。STRING
通常、可変長データまたは long 値に使用される型。