• WRITE


    WRITE - int_format_options
     
    基本形式 
     
    ... [LEFT-JUSTIFIED|CENTERED|RIGHT-JUSTIFIED]
        [NO-GAP]
        [UNDER other_dobj]
        { { [EXPONENT exp]
            [NO-GROUPING]
            [NO-SIGN]
            [NO-ZERO]
            [CURRENCY cur]
            { { [DECIMALS dec]
                [ROUND scale] }
              | [UNIT unit] } }
          | [TIME ZONE tz] }
        [USING { {NO EDIT MASK}|{EDIT MASK mask} }]
        [ DD/MM/YY   | MM/DD/YY
        | DD/MM/YYYY | MM/DD/YYYY
        | DDMMYY     | MMDDYY
        | YYMMDD ] ... .
     
    オプション: 
     
    1. ... LEFT-JUSTIFIED|CENTERED|RIGHT-JUSTIFIED
    2. ... NO-GAP
    3. ... UNDER other_dobj
    4. ... EXPONENT exp
    5. ... NO-GROUPING
    6. ... NO-SIGN
    7. ... NO-ZERO
    8. ... CURRENCY cur
    9. ... DECIMALS dec
    10. ... ROUND scale
    11. ... UNIT unit
    12. ... TIME ZONE tz
    13. ... USING { {NO EDIT MASK}|{EDIT MASK mask} }
    14. ... DD/MM/YY   | MM/DD/YY
         | DD/MM/YYYY | MM/DD/YYYY
         | DDMMYY     | MMDDYY
         | YYMMDD
     
    機能 
    これらの書式オプションは 事前定義された設定より優 先されます。これらのオプ ションを指定しないと、出力書式はデータ型に 暗黙的に依存します。書式設定の結果は 出力長と一致するように調整されます。出力時に 変換ル ーチンが実行される場合、 NO-GAP および UNDER を除くすべての書式設定オプションが無視されます。
     
    オプションを併用すること はできますが、以下の制限があります。
    UNIT オプションを DECIMALS および ROUND オプションと併用することはできません。
     
    TIME ZONE オプションを CURRENCYDECIMALS EXPONENTNO-GROUPING NO-SIGNNO-ZERO ROUND、または UNIT オプションと併用することはできません。
     
    オプション 1 
     
    ... LEFT-JUSTIFIED|CENTERED|RIGHT-JUSTIFIED
     
    機能 
     
    一覧バッファ内の現在出力 長の外側で、他のオプショ ンに従って書式設定された 出力を左寄せ、中央寄せ、 右寄せのいずれで整列するのかを定義します。 c 型項目の場合は末尾の空白が無視され、 string 型項目の場合は末尾の 空白が他の文字と同様に処理されます。
    整列が行われる際、一覧バ ッファ内で余りの位置が右 寄せ、左寄せ、左右交互の いずれかで充填されます。 出力長が十分でないと、左 寄せおよび中央寄せの場合 は文字が右側を切り捨てら れ、右寄せの場合には左側を切り捨てられます。
     
    ユニコー ドシステムで一覧表示の出 力長が十分でないと、一覧 バッファから一覧にデータ が転送されるときに文字が 切り捨てられます。左寄せ の場合は右側を切り捨てら れ、右寄せの場合は左側を 切り捨てられます。出力が 中央寄せの場合、空白が両 側で交互に切り捨てられま す。その際、空白が多い側 から切捨が開始され、次に 別な文字が右側で切り捨て られます。一覧バッファか ら一覧にデータを転送する 際に文字が切り捨てられると、左側では文字 < により、右側では > により、このことが示されます。
     
    例 
     
    長さ 60 文字の出力領域の左、中央、および右に 3 つのリテラルを出力します。
     
    WRITE: /(60) 'Left'   LEFT-JUSTIFIED,
           /(60) 'Center' CENTERED,
           /(60) 'Right'  RIGHT-JUSTIFIED.
     例: WRITE <l_fs_fval>-requiredquantity TO l_wk_fval LEFT-JUSTIFIED.  "左寄せ(バッチインプットなどで数字格納する場合自動で右寄せになり、数量が枠に入らない場合などで使用する。
    オプション 2 
     
    ... NO-GAP
     
    機能 
    一覧カー ソルが一覧バッファ内で出 力の直後に配置され、次の 位置の後にある位置には配置されません。
     
    例 
    どちらの WRITE 命令の出力も "NoGap" となります。
     
    WRITE: 'No' NO-GAP, 'Gap'.
     
    オプション 3 
     
    ... UNDER other_dobj
     
    機能 
    現在の行で直前の WRITE 命令でデータオブジェクト other_dobj が出力された位置に 出力が行われます。データオブジェクト other_dobj は該当する WRITE 命令と同様に、つまり オフセット/長さ指定などが ある場合はこれらを含めて 記述しなければなりません。データオブジェクト other_dobj を指定しな いと、オプションは無視されます。
     
    UNDER オプションを AT の後の位置指定 pos と併用することはできません。
    垂直方向の位置設定については注意が必要です。 一覧カーソルが other_dobj の出力と同 じ位置にあると、一覧カーソルが上書きされます。
     
    データオブジェクト other_dobj は現在のプログラム でグローバルに定義してく ださい。プロシージャでロ ーカルデータオブジェクト を使用すると、たとえば同 じ構造を持つコンポーネン トをさまざまなプロシージ ャで使用した場合、望まし くない結果になる可能性があります。
     
    例 
     
    フライト接続をテーブル状に出力します。
     
    DATA: carrid TYPE spfli-carrid,
          connid TYPE spfli-connid.
     
    WRITE: 10 'Carrier', 40 'Connection'.
    ULINE.
     
    SELECT carrid connid
           FROM spfli
           INTO (carrid,connid).
      WRITE: / carrid UNDER 'Carrier',
               connid UNDER 'Connection'.
    ENDSELECT.
     
    オプション 4 
     
    ... EXPONENT exp
     
    このオプションを TIME ZONE オプションと併用することはできません。
     
    機能 
    データ型 f のデ ータオブジェクトを出力す るための指数が定義されま す。その他のデータ型すべ てでは、このオプションは無視されます。 exp には必要な指数を格納する型 i のデータオブ ジェクトが想定されます。 仮数を調整するために、小 数点が移動され、指数にゼロが挿入されます。 exp の値が 0 だと、指数は出力されません。 exp の値が dobj の指数に 16 を加算した値より大きいと 、仮数にはゼロだけが表示されます。exp の値が dobj の 指数より小さく、出力長が 小数点より前に必要な桁数 に対して十分でないと、こ のオプションは無視されます。 exp の値が正であり 3 桁より長いと、指数の先頭 3 桁だけが表示されます。
     
    例 
     
    WRITE 命令によって "1,414" が出力されます。出力長が 6 の場合の標準出力は "1E+00" となります。
     
    DATA float TYPE f.
     
    float = sqrt( 2 ).
     
    WRITE (6) float EXPONENT 0.
     
    オプション 5 
     
    ... NO-GROUPING
     
    このオプションを TIME ZONE オプションと併用することはできません。
     
    機能 
     
    型 i 型または p のデータオブジェクト の出力で桁区切記号が非表 示となります。その他のデ ータ型では、このオプションは無視されます。
     
    オプション 6 
     
    ... NO-SIGN
     
    このオプションを TIME ZONE オプションと併用することはできません。
     
    機能 
     
    データ型 i p、または f のデータオブジェクトの出 力で、プラス/マイナス記号 が非表示になります。その 他のデータ型では、このオプションは無視されます。
     
    NO-SIGN オプションを、 AT の後の長さ指定 * または ** と併用すると、最初に NO-SIGN が使用され 、その結果から出力長が設定されます。
     
    例 
     
    出力時にプラス/マイナス記 号の代わりに赤い背景色を使用します。
     
    DATA number TYPE i.
      DO 10 TIMES.
      number = sy-index - 5.
      IF number < 0.
        WRITE number NO-SIGN COLOR = 6.
    ENDIF.
    ENDDO.
     
    オプション 7 
     
    ... NO-ZERO
     
    このオプションを TIME ZONE オプションと併用することはできません。
     
    機能 
     
    dobj が数値データ型であり、値 0 を格納していると、出力長 に対して空白が出力されます。 dobj がデータ型c n、または string だと、先行ゼロが空白として表示されます。
     
    例 
     
    標準出力の "0,0000000000000000E+00" の代わりに 22 個の空白を赤い背景色とともに出力します。
     
    DATA float TYPE f.
     
    SET BLANK LINES ON.
    IF float = 0.
      WRITE float NO-ZERO COLOR = 6.
    ENDIF.
     
    オプション 8 
     
    ... CURRENCY cur
     
    このオプションを TIME ZONE オプションと併用することはできません。
     
    機能 
     
    データ型 i または p のデータオブジェクトを出力する場合の通貨依存な 小数点 以下桁数が定義されます。その他のデータ型では f を除いてこの オプションは無視されます。 cur にはデータベーステーブル TCURX の CURRKEY 列による 通貨コードを大文字で格納する 3 桁の文字型項目が想定され ます。データベーステーブル TCURX の該当行の CURRDEC 列から小数 点以下桁数が決定されます。 cur の内容が TCURX から見つからないと、2 桁の小数点以下桁数が使用 されます。数値データ型には以下が当てはまります。
     
    型 i のデータオブジェクトの場合、 cur によって決定される位 置に小数点が挿入され、それに応じて桁区切が移動します。
     
    型 p のデータオ ブジェクトの場合、データ 型の定義で定義される小数 点以下桁数は完全に無視さ れます。実際の値と無関係に、丸めを行わずに、 cur によって決定される位 置に小数点および桁区切が挿入されます。
     
    型 f のデータオブジェクトの場合、 CURRENCY オプションの機能は DECIMALS オプションと同じです (下記参照)。ここでは、小数点以下桁数が cur によって決定されます。
     
    CURRENCY オプションを AT の後の長さ指定 * または ** と併用すると、最初に CURRENCY が使用され、その結果から出力長が決定されます。
     
    補足説明 
     
    CURRENCY オプション が適しているのは、内容が 最小通貨単位での通貨金額である型 i または p で小数点以下桁数がな いデータオブジェクトを表示する場合です。
     
    例 
     
    WRITE 命令によって "123456,78" が出力されます。
     
    DATA int TYPE i VALUE 12345678.
    WRITE int NO-GROUPING CURRENCY 'EUR'.
     
    オプション 9 
     
    ... DECIMALS dec
     
    このオプションを TIME ZONE オプションと併用することはできません。
     
    機能 
     
    このオプションにより、 i、p、または f 型のデータオブジェクトの出力に関して表示される 小数点 以下桁数が定義されます。 その他のデータ型について 、このオプションは無視されます。 dec は i 型のデ ータオブジェクトである必 要があり、その中に必要な 小数点以下桁数を設定します。 dec の値が 0 未満である場合には 0 として処理されます。ここで、 i 型または p 型のデータオブジェクトの内容にはあらかじめ 10 の dec 乗が掛け られます。個別の数値デー タ型については、以下のルールが適用されます。
     
    型のデータオ ブジェクトの場合には、小数点および dec によって指定 された数のゼロが付加されます。 decの内容の最大値は 14 です 。これを越えた場合には処 理不可能な例外がトリガされます。 dec の内容が 0 である場合には出力は変化しません。
     
    型のデータオ ブジェクトの場合には、デ ータ型について定義された 小数点以下桁数とは無関係に、 dec によって指定された数 の小数点以下桁数が表示されます。 dec の内容の最大値は 14 です 。これを越えた場合には処 理不可能な例外がトリガされます。 dobj の小数部がさらに長い場合には、 dec 桁まで丸められます。dobj の小数部の方が短い場 合には、該当する数のゼロが挿入されます。
     
    型のデータオブジェクトの場合には、 dec の内容によって 科学的 表記法における小数点以下桁数が設定されます。 dec の内容が 16 よりも大きい場合には、16 として処理されます。 dec の内容が dobj の小数点以下桁数よりも大 きい場合には、該当する数のゼロが挿入されます。 dec の内容が dobj の小数点以下桁数よりも小さい場合には、 dec によって定義される小 数点以下桁数まで丸められます。
     
     
    DECIMALS オプションを、 AT の後ろの長さ指定 * または ** と併用した場合には、最初に DECIMALS が使用され 、その結果から出力長が設定されます。
     
    CURRENCY オプションも指定した場合、 i 型および p 型については最初に CURRENCY が実行され、その次に DECIMALS オプションが適用されます。 f 型の場合には、DECIMALS とともに指定された CURRENCY オプションは無視されます。
     
    例 
     
    WRITE 命令によって "1234,57" が出力されます。
     
    DATA pack TYPE p LENGTH 8 DECIMALS 4 VALUE '1234.5678'.
    WRITE pack NO-GROUPING DECIMALS 2.
     
    オプション 10 
     
    ... ROUND scale
     
    このオプションを TIME ZONE オプションと併用することはできません。
     
    機能 
     
    dobj  p 型の場合にこのオプション を使用すると、出力前にデータオブジェクトの値に 10 の scale 乗が掛け られます。その他のデータ 型について、このオプションは無視されます。 scale  i 型のデ ータオブジェクトである必 要があり、その中に必要なスケールを設定します。
     
    scale の値が 0 より大きく、かつ DECIMALS オプション が指定されていない場合、 中間結果はデータ型について定義された 小数点 以下桁数まで丸められます。 DECIMALS オプションが指定されている場合には、 dec によって指定される小 数点以下桁数まで丸められてから出力されます。
     
    ROUND オプションを、 AT の後ろの長さ指定 * または ** と併用した場合には、最初に ROUND が使用され、 その結果から出力長が設定されます。
     
    CURRENCY オプション が指定されている場合には、 dobj の内容に対する乗算の前に CURRENCY が使用されます。 DECIMALS オプションが指定され ていない場合には、丸めおよび出力に関して cur によって指定 される小数点以下桁数が使用されます。 DECIMALS オプションが指定されている場合には、 dec の値が使用されます。
     
    例 
     
    WRITE 命令によって "123456,7800" が出力されます。
     
    DATA pack TYPE p VALUE '12345678'.
    WRITE pack NO-GROUPING ROUND 2 DECIMALS 4.
     
    オプション 11 
     
    ... UNIT unit
     
     
    このオプションを TIME ZONE オプションと併用することはできません。
     
    機能 
     
    このオプションにより、 p 型のデータオブジェクトの出力時に 0 という値の 小数部 が切り取られて尺度の精度が失われます。 f 型を除く他のデータ型 について、このオプションは無視されます。 unit は 3 桁の文字型項目であ る必要があり、その中にはデータベーステーブル T006 内の MSEHI 列に含まれる大文字 の単位キーが含まれます。 小数点以下桁数は、データベーステーブル T006 内の該当する行の DECAN 列から設定されます。 unit の内容が T006 の中で見つ からない場合、このオプションは無視されます。
     
    dobj  p 型であり、少なくとも unit によって指定される桁数の小数部を持ち、かつ非 0 について切り取られる桁がない場合、 dobj を表示する際にはこの小数点以下桁数が使用されます。
     
    型のデータオブジェクトの場合には、 UNIT オプションは DECIMALS オプションのように扱われます (上記参照)。ここでは、小数点以下桁数は unit によって設定されます。
     
    UNIT オプションを、 AT の後ろの長さ指定 * または ** と併用した場合には、最初に UNIT が使用され、 その結果から出力長が設定されます。
     
    同時に CURRENCY オプ ションを使用した場合には、 p 型については最初に CURRENCY が使用され、次にUNIT オプションが使用されます。 f 型の場合には、UNIT オプションは無視されます。
     
    例 
     
    T006 の中で数値 " PC" について小数 部の指定がない場合には、 WRITE 命令によって "1234" が出力されます。
     
    DATA pack TYPE p DECIMALS 4 VALUE '1234.0000'.
    WRITE pack NO-GROUPING UNIT 'PC'.
     
    オプション 12 
     
    ... TIME ZONE tz
     
    機能 
     
    このオプションを使用すると、タイムゾーンと関連して タイムス タンプが編集されます。データオブジェクトdobj は長さ 0 で 小数部を含まない p 型であるか、7 桁の小数部を含む長さ 11 の p 型でなければなりません。 dobj の内容は、 UTC 参照時間 における長形式または短形 式のタイムスタンプを含む場合と同様に解釈されます。
     
    tz として、ABAP ディクショナリに含まれる TIMEZONE 型のデータ オブジェクトを指定しなけ ればなりません。データベーステーブル TTZZ の TZONE 列に含まれる大文字の タイムゾーンを含まなければなりません。tz が初期値である場合には、UTC 参照時間が出力されます。
     
    dobj 内のタイムスタンプは、 tz によって指定されるタ イムゾーンに合わせて変換 され、以下のように左側から編集されます。
     
    まず、日付が出力されます 。その書式は、ユーザマス タレコード内の設定によっ て、または同時にデータマスク date_mask が指定され ているかどうかによって異 なります。日付の後ろには空白が 1 つ出力されます。
     
    次に、t 型につ いて事前定義された書式に 従って時刻が出力されます 。ここでは、時間、分、お よび秒の間に区切記号としてコロン ":" が挿入されます。
     
    タイムスタンプが書式 (長) で 表記されている場合には、時刻の直後にカンマ "," が出力され、その後にミリ秒が出力されます。
     
    tz の値がデータベーステーブル TTZZ に含まれていないか、 dobj に有効なタイムスタン プが含まれていない場合には、 dobj は変換されずに出力さ れます。日付の前にアスタリスク "*" が挿入され、時刻の最後の桁が切り取られます。
     
    タイムスタンプが書式 (短) で 表記される場合、または長さが 27 である場合、またはタイムスタンプが書式 (長) で表記される場合には、長さ 19 の中間結果が編集されます。出力長が 19 または 27 よりも短い場合に は、まず中間結果から日付 と時刻に含まれる区切記号 がすべて削除され、次に日 付と時刻の間の空白が削除 され、その後で初めて右側 の文字が切り取られます。同時にデータマスク date_mask が指定され ている場合には、日付に含 まれる区切記号は削除されません。
     
    補足説明 
     
    ABAP ディクショナリに含まれるデータ型である TIMESTAMP、TIMESTAMPL、および TIMEZONE と関連してデータオブジェクト dobj および tz を宣言することができます。
     
    例 
     
    UTC タイムスタンプをタスマニ ア時間として出力します。夏時間の場合には、"28.06.2002 04:00:00" が出力されます。
     
    DATA: time_stamp TYPE timestamp,
          tzone      TYPE timezone.
     
    time_stamp = 20020627180000.
     
    tzone = 'AUSTAS'.
    WRITE / time_stamp TIME ZONE tzone.
     
    オプション 13 
     
    ... USING { {NO EDIT MASK}|{EDIT MASK mask} }
     
    機能 
     
    このオプションを使用すると、ABAP ディクショナリを参照して定義された 変換ル ーチンが無効になります。NO EDIT MASK オプションにより、 割り当てられた変換ルーチ ンの実行のみが無効となります。 EDIT MASK オプションを使用す ると、別の変換ルーチンが呼び出されるか、 マスクの編集が定義されます。 maskは同一名のデータオブジェクトである必要があります。
     
    任意の変換ルーチン CONV を呼び出すためには、 mask に 2 つの等号とその直後 に続く変換ルーチンの名称 が含まれなければなりません: "==CONV"。出力時に、dobj の内容は汎用モジュール CONVERSION_EXIT_CONV_OUTPUT に渡され、そこで変換され 、その結果が出力されます 。汎用モジュールが見つか らない場合には、処理可能な例外がトリガされます (リリース 6.10 以降)。DESCRIBE FIELD命令には、適切に mask を埋めるためのオプションが含まれます。
     
    len によって出力 長が明示的に指定されてい る場合には、変換ルーチン は指定された長さについて 実行されます。指定されていない場合には、 暗黙的出力長に ついて実行されます。出力長として * または ** が指定されている場合 には、変換結果について適当なルールが使用されます。
     
    mask の中の先頭 2 文字が等号でない場合、そ の内容は特別な意味を持つ 文字を含んだ編集マスクと 解釈されます。その場合には WRITE 命令を実行しても dobj の内容は直接 に出力されずに、以下のように mask 内の文字列が出力されます。
     
    mask の先頭 2 文字が "LL" または "RR " である場合、それ らは出力されません。この 文字によって、編集マスク が左寄せされるか右寄せさ れるかが制御されます。先頭 2 文字が他の文字である場合、編集マスクは左寄せされます。
     
    dobj のすべての "_" 文字は左から ("LL " の場合) または右から ("RR" の 場合)、文字型については文字と、p または i 型 の場合には数字と置換されます。 c 型項目の場合、末尾の空白は無視されます。 f 型または x 型のデータオブジェクトは、編集前に c 型へと変換されます。 mask に含まれる余分な文字 "_" は、空白と置換されます。 dobj に含まれる文字のうち、 mask の中に対応する "_" 文字がないものは表示されません。
     
    dobj  i 型または p 型である場合には、 mask 内の左の "V" に含まれる 先頭文字が、マイナスの数値の場合には "-" と、プラスの数値の場合には空白と置換されます。
     
    編集マスクのその他の文字は、変更されずに表示されます。
     
    出力長が指定されていない場合には、dobj の 暗黙的出力長が 使用されます。出力長として len が指定されている場合には、 len の値が使用されます。出力長として * が指定されて いる場合には、一覧表示に必要な長さが設定されます。 Unicode システ ムにおいて、編集マスクに 含まれる文字が、一覧上で 複数列を占有する文字によ って置換される場合には、 それに応じて出力長が長く なり、一覧バッファ内で出 力に空白が入力されます。出力長として ** が指定されている場合には、編集マスク mask の長さの 2 倍が使用されます。
     
    編集マスクについて同時に その他の書式設定オプショ ンが指定されている場合に は、それらが最初に使用さ れ、次に編集マスクに含ま れる特殊文字が中間結果に よって置換されます。日付マスク date_mask はこのルー ルの例外です。それらが指 定されている場合には編集マスクは無視されます。
     
    補足説明 
     
    Unicode システムでは、編集マスクに含まれる文字 "_" が、一覧表示に含まれる列 と必ずしも対応していない ことを覚えておく必要があ ります。なぜならば、表示 するために必要なスペース は、置換される文字によって異なるからです。
     
    編集文字 "V" が指定されてい ない場合には、負数のためのマイナス記号は表示されません。 小数部 を伴うパック数値の小数点 を、編集マスク内の必要な 位置に指定しなければなりません。
     
     
    例 
     
    編集後の時間的期間の出力 。最初の出力では、汎用モジュール CONVERSION_EXIT_DURA_OUTPUT が実行されます。こ れにより、秒単位で指定さ れた期間が分単位に変換されます。2 回目の出力では、上記のル ールに従って編集マスクが 出力されます。ただし、下線文字 "_" は、time に含まれる文字と置き換わります。
     
    DATA: dura TYPE i,
          time TYPE t VALUE '080000'.
     
    dura = sy-uzeit - time.
    time = dura.
     
    WRITE /(30) dura USING EDIT MASK '==SDURA'.
    WRITE /(30) time USING EDIT MASK
                           'RRThe duration is __:__:__'.
     
    オプション 14 
     
    ... DD/MM/YY   | MM/DD/YY
      | DD/MM/YYYY | MM/DD/YYYY
      | DDMMYY     | MMDDYY
      | YYMMDD
     
    機能 
     
    これらのオプションの影響を受けるのは、データ型 d のデータオブ ジェクトの出力です。その 他すべてのデータ型では、オプションは無視されます。
     
    型 d のデータオブジェクトの内容は、書式 YYYYMMDD の有効な日付として解釈 され、個別オプションについて以下のように出力されます。
     
    DD/MM/YY および MM/DD/YY:
    どちらのオプションも同じ機能です。日付出力には 2 桁の年の値と区切記号があ ります。区切記号と順序は ユーザマスタレコードにあ る日付出力の定義から取得されます。
     
    DD/MM/YYYY および MM/DD/YYYY:
    どちらのオプションも同じ機能です。日付出力には 4 桁の年の値と区切記号があ ります。区切記号と順序は ユーザマスタレコードにあ る日付出力の定義から取得されます。
     
    DDMMYY および MMDDYY:
    どちらのオプションも同じ機能です。日付出力には 2 桁の年の値があり、区切記 号がありません。順序はユ ーザマスタレコードにある 日付出力の定義から取得されます。
     
     
    YYMMDD:
    このオプションでは、2 桁の年の値があり、区切記号がない日付が書式 YYMMDD で出力されます。
     
     
    出力長が暗黙的に定義されているか、 len によって指定されてい ると、この出力長が使用さ れます。短すぎると、編集 された出力の右側が切り捨てられます。 * または ** に よって出力長を指定すると 、出力長は指定した編集マスクの長さ (6、8、または 10) に設定されます。
     
     
    補足説明 
     
    省略の動作はユーザマスタ レコードに従うデータの出 力と異なります。ユーザマ スタレコードの場合、まず 区切記号が削除され、次に切捨が行われます。
     
    例 
     
    WRITE 命令によって、"230402" などと出力されます。
     
    WRITE sy-datum YYMMDD.
     
    例外 
     
    CATCH 命令の適用が不可能な実行時エラー
     
    原因: WRITE 命令の CURRENCY パラメータが C 型ではありません。
    実行時エラー: WRITE_CURRENCY_ILLEGAL_TYPE
     
    原因: 丸めパラメータが -14 未満です。
    実行時エラー: WRITE_ROUND_TOO_SMALL
     
    原因: WRITE 命令の UNIT パラメータが C 型ではありません。
    実行時エラー: WRITE_UNIT_ILLEGAL_TYPE
     

    WRITE AT 位置(長さ) データオブジェクト.


    「AT」オプションにより、出力位置を指定することができます。どこから、どれぐらいの桁長で出力するかを指定します。さっそく、サンプルコードを見てみましょう。

    DATA:
    A TYPE i,
         B TYPE i.
    
    A = 1234.
    B = 456.
    
    WRITE A.
    WRITE AT 100(3) B.  

     実行結果

     
  • 相关阅读:
    【C++】深度探索C++对象模型读书笔记--关于对象(Object Lessons)
    【操作系统】调度算法
    【vim】vim常用命令
    【linux】linux的数据流重定向
    以太网帧,IP,TCP,UDP首部结构
    IPv4编址及子网划分
    【计算机网络】计算机网络模型
    【计算机网络】NAT:网络地址转换
    【设计模式】C++中的单例模式
    (转)linux查找技巧: find grep xargs
  • 原文地址:https://www.cnblogs.com/yjyongil/p/10517491.html
Copyright © 2020-2023  润新知