Sap-abap-formatting-data
SAP ABAP-データのフォーマット
ABAPは、プログラムの出力をフォーマットするためのさまざまなタイプのフォーマットオプションを提供します。 たとえば、さまざまな色または書式設定スタイルのさまざまなアイテムを含むリストを作成できます。
WRITEステートメントは、画面にデータを表示するために使用されるフォーマットステートメントです。 WRITEステートメントにはさまざまなフォーマットオプションがあります。 WRITE文の構文は次のとおりです-
WRITE <format> <f> <options>.
この構文では、<format>は出力形式の仕様を表し、新しい行から始まる出力の表示を示すスラッシュ(/)にすることができます。 スラッシュに加えて、フォーマット仕様には列番号と列長が含まれます。 たとえば、WRITE/04(6)ステートメントは新しい行が列4で始まり、列の長さが6であることを示しますが、WRITE 20ステートメントは列20の現在の行を示します。 パラメーター<f>は、データ変数または番号付きテキストを表します。
次の表は、フォーマットに使用されるさまざまな句を説明しています-
S.No. | Clause & Description |
---|---|
1 |
LEFT-JUSTIFIED 出力を左揃えにすることを指定します。 |
2 |
CENTERED 出力が中央揃えであることを示します。 |
3 |
RIGHT-JUSTIFIED 出力を右揃えにすることを指定します。 |
4 |
UNDER <g> 出力は、フィールド<g>で直接開始されます。 |
5 |
NO-GAP フィールド<f>の後の空白が拒否されることを指定します。 |
6 |
USING EDIT MASK <m> フォーマットテンプレート<m>の仕様を示します。 編集マスクなしの使用:これは、ABAPディクショナリで指定されたフォーマットテンプレートが非アクティブ化されることを指定します。 |
7 |
NO-ZERO フィールドにゼロのみが含まれている場合、それらは空白に置き換えられます。 |
以下は、数値型フィールドの書式設定オプションです-
S.No. | Clause & Description |
---|---|
1 |
NO-SIGN 画面に先行記号を表示しないことを指定します。 |
2 |
EXPONENT <e> タイプF(浮動小数点フィールド)で、指数が<e>で定義されることを指定します。 |
3 |
ROUND <r> タイプPフィールド(パック数値データタイプ)は、最初に10 **(-r)で乗算され、次に整数値に丸められます。 |
4 |
CURRENCY <c> TCURXデータベーステーブルに格納されている通貨<c>値に従ってフォーマットが行われることを示します。 |
5 |
UNIT <u> タイプPのT006データベーステーブルで指定されている<u>単位に従って、小数点以下の桁数が固定されることを指定します。 |
6 |
DECIMALS <d> 桁数<d>を小数点の後に表示する必要があることを指定します。 |
たとえば、次の表は、日付フィールドのさまざまな書式設定オプションを示しています-
Formatting Option | Example |
---|---|
DD/MM/YY | 13/01/15 |
MM/DD/YY | 01/13/15 |
DD/MM/YYYY | 13/01/2015 |
MM/DD/YYYY | 01/13/2015 |
DDMMYY | 130115 |
MMDDYY | 011315 |
YYMMDD | 150113 |
ここで、DDは2桁の日付を表し、MMは2桁の月を表し、YYは2桁の年を表し、YYYYは4桁の年を表します。
上記の書式設定オプションのいくつかを実装するABAPコードの例を見てみましょう-
REPORT ZTest123_01.
DATA: n(9) TYPE C VALUE 'Tutorials',
m(5) TYPE C VALUE 'Point'.
WRITE: n, m.
WRITE:/n,
/m UNDER n.
WRITE:/n NO-GAP, m.
DATA time TYPE T VALUE '112538'.
WRITE:/time,
/(8) time Using EDIT MASK '__:__:__'.
上記のコードは、次の出力を生成します-
Tutorials Point
Tutorials
Point
finddevguides
112538
11:25:38