コンテンツフレーム起動

WRITE 命令 文書を SAP ライブラリストラクチャに組み込む

画面上にデータを出力するための基本的な ABAP 命令は WRITE です。

構文

WRITE <f>.

この命令は、項目 <f> を現在の一覧に標準出力形式で出力します。デフォルトでは、一覧は画面に表示されます。

項目 <f> には以下を指定することができます。

        任意のデータオブジェクト ( データオブジェクトを参照)

        フィールドシンボルまたは仮パラメータ ( フィールドシンボルを使用した作業を参照)

        テキストシンボル ( ストラクチャのリンクテキストエレメントの更新を参照)

注記

印刷 を選択すると、出力画面から現在の出力一覧を直接印刷することができます。

プログラムに選択画面が定義されている ( 選択画面での処理を参照) 場合は、選択画面で実行と印刷を選択することができます。この場合、一覧は画面には表示されず、プリンタに直接出力されます。

例

PROGRAM sapmztst.

WRITE 'Hello, here I am!'.

このプログラムを開始すると、現在の画面 (ABAP エディタ: 第一画面 など) が終了し、次のように出力画面に分岐します。

このグラフィックは添付のテキストに説明されています

出力画面の名前は、プログラム属性で指定されているプログラムの表題と同じです ( プログラム属性の更新を参照)

画面の 1 行目には一覧ヘッダが表示されます。デフォルトでは、一覧ヘッダはプログラムの表題と同じになります。ただし、プログラムの表題を変更することなく、実際のプログラムの外で一覧ヘッダを更新することができます。これについての詳細は、ストラクチャのリンクテキストエレメントの更新を参照してください。画面右側には現在のページ番号 (1) が表示されます。

横線が表示された後、実際の一覧が始まります。

検索 を選択すると、特定のパターンを検索することができます。

通常、画面出力は左寄せになります。複数の WRITE 命令を使用すると、それぞれの出力項目が列 ( 空白 1 ) で区切られて順に表示されます。現在の行に出力項目のためのスペースが足りない場合は、新しい行が開始されます。

例

PROGRAM sapmtest.

TABLES spfli.

.............

WRITE: 'COMPANY: ', spfli-carrid.

コロンとカンマの使い方に注意してください。この例では、2 WRITE 命令を組み合せて 1 つの命令として使用しています。

リテラル ’COMPANY:’ とテーブル作業領域 SPFLI のコンポーネント CARRID 2 つの項目が、次のように連続して画面に出力されます。

COMPANY:  AA

出力画面上のデータ項目の書式は、データ型に依存します ( 既定の基本データ型を参照してください)

既定データ型の出力形式

データ型

出力長

位置

C

項目長

左寄せ

D

8

左寄せ

F

22

右寄せ

I

11

右寄せ

N

項目長

左寄せ

P

2 * 項目長 (+1)

右寄せ

T

6

左寄せ

X

2 * 項目長

左寄せ

数値データ型の FIP は右詰めで出力され、左側が空白で埋められます。十分なスペースがあれば、桁区切り記号も出力されます。データ型 P の項目に小数部がある場合は、デフォルトの出力長が 1 文字分長くなります。

注記

データ型 D は、日付の内部書式と出力書式が異なります。WRITE 命令を使用してデータを表示すると、ユーザのマスタレコードで指定されている書式 (: DD/MM/YYYYMM/DD/YYYY) にもとづいてデータ型 D の日付が自動的に変換されます。

例

PROGRAM sapmtest.

DATA number TYPE p VALUE '-1234567.89' DECIMALS 2.

WRITE: 'Number', number, 'is packed'.

出力は次のようになります。

Number     1,234,567.89- is packed

項目 NUMBER は全長 13 桁で、9 桁の数値、小数点、先頭のマイナス符号、および 2 つの位区切り記号で構成されています。データ型 P の項目長は 8 バイトですから、項目 NUMBER の出力長は 2*8+1=17 文字となります。残りの文字数分は空白で埋められています。つまり、リテラル'Number' と実際の数値の間には 5 つの空白文字があります。

 

 

 

 

コンテンツフレーム終了