トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS

ABAP/WRITE の変更点

Top/ABAP/WRITE

文字通り、「書き出す」命令。

* 概要 [#j4d77dd6]
** 用法 [#m1e61e8f]
では、''何に?''というと、大きくは二つある。

*** 画面に書き出す [#m5136364]
[[ABAPレポート>ABAP/ABAPレポート]]に代表される画面に書き出し系で、任意の印刷レイアウトに合わせたりと昔からよく使われる。

出力位置は[[変数>アドオン/変数]]化できるものの基本ベタ書きであること、[[翻訳>SAPの共通用語/翻訳]]が入ると色々位置が狂うなどの理由により、グローバル要件には向かない。

*** [[変数>アドオン/変数]]に書き出す [#s41038bc]
例えばファイルダウンロード→ツールを使ったバッチインプットの流れやインタフェースファイルの吐き出しにおいて外部形式に変換したり、下記サンプルのように通貨や数量項目の値が持つ形式を特定の者に揃えたりと、利用するシーンは殊の外多い。

** サンプル [#p8e30ede]
*** 画面に書き出す基本形 [#fe15dcb6]
 WRITE /5(10) 'TEXT'.

処理結果などを、このように画面につらつらと書き出す。
固定帳票として、或いはジョブのスプールなどで内容を確認するためなどに用いられる。

*** 変数に書き出す基本形 [#ac1d887a]
 WRITE L_FIELD_A TO L_DISPLAY.

上記の例では、L_DISPLAYは文字列型でなければならない。

*** CURRENCY xxx [#o56d4e18]
 WRITE L_AMOUNT CURRENCY L_CURRENCY.

指定した[[通貨コード>SAPの共通用語/通貨コード]]の型に従って、金額項目を書き出す。
[[ALVレポート>ABAP/ALVレポート]]や[[Smartform>SAPの拡張手段/Smartform]]をはじめ割とよく使うかと思うが、間違ってもJPYを*100とかしないように。

*** UNIT xxx [#ccbecfe1]
 WRITE L_QTY UNIT L_UOM.

指定した[[数量単位>ロジスティクス共通/数量単位]]のそれぞれが持つ小数点以下桁数などの属性に従って、数量項目を書き出す。
使うことには使うが、例えばkgだと小数三桁だが''そんなに出さんでよろしいがな''という客も多いため、使わないケースもしばしば。

*** NO-ZERO [#n94bd4a8]
 WRITE: /L_AMOUNT NO-ZERO.

このオプションを指定しない限り値がゼロの数値型項目は0が表示される仕様であるため、値がゼロの場合にゼロでなくブランクを出力したいケースで使用する。
なお、書き出す対象が数値型の場合のみNO-ZEROは有効となる。

*** AS CHECKBOX [#o613c27f]
 WRITE: / L_TARGET AS CHECKBOX.

画面上に入力可能なチェックボックスを出力したい場合に使用する。

*** 表示位置の調整 [#cd61c85e]
 WRITE: L_MESSAGE CENTERED.
 WRITE: L_MESSAGE RIGHT-JUSTFIED.
 WRITE: L_MESSAGE LEFT-JUSTFIED.

上から、中央寄せ、右寄せ、左寄せ。
中央寄せはタイトルや見出しに、右寄せは数値など、左寄せはメッセージなどに。
なお、一覧表示の出力長が充分でない場合、中央寄せは左右交互に、左寄せは右側、右寄せは左側から切り捨てられる。

* その他 [#lb3435f1]
関連する命令は、[[READ LINE>ABAP/READ LINE]]など。
関連する命令は、行の操作としては、[[READ LINE>ABAP/READ LINE]]、[[MODIFY LINE>ABAP/MODIFY LINE]]、[[SCROLL LIST>ABAP/SCROLL LIST]]、[[DESCRIBE LIST>ABAP/DESCRIBE LIST]]など。

その他、一覧系の関連する命令は[[WRITE>ABAP/WRITE]]、[[ULINE>ABAP/ULINE]]、[[FORMAT>ABAP/FORMAT]]、[[SET BLANK LINES>ABAP/SET BLANK LINES]]、[[SKIP>ABAP/SKIP]]、[[NEW-LINE>ABAP/NEW-LINE]]、[[BACK>ABAP/BACK]]、[[POSITION>ABAP/POSITION]]、[[SET LEFT SCROLL-BOUNDARY>ABAP/SET LEFT SCROLL-BOUNDARY]]、[[NEW-PAGE>ABAP/NEW-PAGE]]、[[RESERVE>ABAP/RESERVE]]、[[HIDE>ABAP/HIDE]]、[[SET MARGIN>ABAP/SET MARGIN]]、[[PRINT-CONTROL>ABAP/PRINT-CONTROL]]など。

~
~
CENTER:【スポンサードリンク】
#htmlinsert(amazon_book_sap_system_implement)
~
~
----
#pcomment(reply)