ABAP/WRITE
文字通り、「書き出す」命令。
概要 †
用法 †
では、何に?というと、大きくは二つある。
画面に書き出す †
ABAPレポートに代表される画面に書き出し系で、任意の印刷レイアウトに合わせたりと昔からよく使われる。
出力位置は変数化できるものの基本ベタ書きであること、翻訳が入ると色々位置が狂うなどの理由により、グローバル要件には向かない。
変数に書き出す †
例えばファイルダウンロード→ツールを使ったバッチインプットの流れやインタフェースファイルの吐き出しにおいて外部形式に変換したり、下記サンプルのように通貨や数量項目の値が持つ形式を特定の者に揃えたりと、利用するシーンは殊の外多い。
サンプル †
画面に書き出す基本形 †
WRITE /5(10) 'TEXT'.
処理結果などを、このように画面につらつらと書き出す。 固定帳票として、或いはジョブのスプールなどで内容を確認するためなどに用いられる。
変数に書き出す基本形 †
WRITE L_FIELD_A TO L_DISPLAY.
上記の例では、L_DISPLAYは文字列型でなければならない。
CURRENCY xxx †
WRITE L_AMOUNT CURRENCY L_CURRENCY.
指定した通貨コードの型に従って、金額項目を書き出す。 ALVレポートやSmartformをはじめ割とよく使うかと思うが、間違ってもJPYを*100とかしないように。
UNIT xxx †
WRITE L_QTY UNIT L_UOM.
指定した数量単位のそれぞれが持つ小数点以下桁数などの属性に従って、数量項目を書き出す。 使うことには使うが、例えばkgだと小数三桁だがそんなに出さんでよろしいがなという客も多いため、使わないケースもしばしば。
NO-ZERO †
WRITE: /L_AMOUNT NO-ZERO.
このオプションを指定しない限り値がゼロの数値型項目は0が表示される仕様であるため、値がゼロの場合にゼロでなくブランクを出力したいケースで使用する。 なお、書き出す対象が数値型の場合のみNO-ZEROは有効となる。
AS CHECKBOX †
WRITE: / L_TARGET AS CHECKBOX.
画面上に入力可能なチェックボックスを出力したい場合に使用する。
表示位置の調整 †
WRITE: L_MESSAGE CENTERED. WRITE: L_MESSAGE RIGHT-JUSTFIED. WRITE: L_MESSAGE LEFT-JUSTFIED.
上から、中央寄せ、右寄せ、左寄せ。 中央寄せはタイトルや見出しに、右寄せは数値など、左寄せはメッセージなどに。 なお、一覧表示の出力長が充分でない場合、中央寄せは左右交互に、左寄せは右側、右寄せは左側から切り捨てられる。
その他 †
関連する命令は、行の操作としては、READ LINE、MODIFY LINE、SCROLL LIST、DESCRIBE LISTなど。
その他、一覧系の関連する命令はWRITE、ULINE、FORMAT、SET BLANK LINES、SKIP、NEW-LINE、BACK、POSITION、SET LEFT SCROLL-BOUNDARY、NEW-PAGE、RESERVE、HIDE、SET MARGIN、PRINT-CONTROLなど。
コメントはありません。 Comments/ABAP/WRITE