編集語は、本体、状況、および拡張部分の 3 つの部分から構成されます。 次の図は、編集語の 3 つの部分を示しています。
本体 は、ソース・データ・フィールドから編集された結果に転送される 数字のためのスペースです。 本体は、編集語の左端桁から始まります。 編集語本 体のブランク (に 1 つのゼロまたはアスタリスクを加えた) 桁数は、編集される ソース・データ・フィールドの桁数より大きいまたは等しくなければなりません。 本体は、数字で置き換えることができる、右端の文字で終わります。
状況 は、2 文字の英字 CR かマイナス符号 (-) のいずれかの負標 識のために使用することができるスペースを定義します。 指定された負標識は、ソース・データが負の場合にのみ出力されます。 編集語の中の 最後の置き換え可能文字 (ブランク、ゼロ消去文字) と負標識の間のすべての文字 も、ソース・データが負の場合にのみ、負標識と一緒に出力されます。ソース・デー タが正の場合には、これらの状況桁はブランクに置き換えられます。 CR または - 標識のない編集語には、状況桁はありません。
状況は、編集語の中の最後のブランクの後に記入しなければなりません。 最後のブランクの後に複数の CR が続いている場合には、 最初の CR だけが状況として取り扱われ、残りの CR は定数として取り扱われます。 マイナス符号が状況と見なされるためには、 それが編集語の中の最後の文字でなければなりません。
拡張部分 は、 状況の後に記入される一連のアンパーサンドおよび定数文字です。 アンパーサンドは、出力上ではブランク・スペースによって置き換えられ、 定数はそのまま出力されます。 状況が指定されない場合には、拡張部分が本体に続きます。
次の文字は、編集語の本体で使用された時に特殊な意味を持ちます。
ブランクは、編集される値の対応する桁からの文字によって置き換えられます。 ブランクの桁は、 数字の桁として参照されます。
小数点およびコンマは、編集語の最初の有効数字の左側にある場合を除いて、 編集語中の位置と同じ編集済み出力フィールド中の相対位置に入れられます。編集語の最初の有効数字の左側にあった場合には、ブランクとされるか、または アスタリスクで置き換えられます。
以下の各例では、先行ゼロはすべて消去され (デフォルトの値)、小数点は、その 左側に有効数字がなければ表示されません。
編集語 | ソース・データ | 編集結果には次のように現れます。 |
---|---|---|
' ' | 0000072 | 72 |
' . ' | 000000012 | 12 |
' . ' | 000000123 | 1.23 |
編集語の本体の最初のゼロは、ゼロ消去終了文字として解釈されます。このゼロは、 ゼロ消去を終わらせるために入れます。編集語に入れられた後続のゼロは、定数として取り扱われます (以下の 「定数」を参照)。
ソース・データ中のすべての先行ゼロは、ゼロ消去終了文字の桁 (この桁を含めて) まで消去されます。 ゼロ消去終了文字の桁またはそれより左側に現れた有効数字は、出力されます。
編集語 | ソース・データ | 編集結果には次のように現れます。 |
---|---|---|
' 0 ' | 00000004 | 000004 |
' 0 ' | 012345 | 012345 |
' 0 ' | 012345678 | 12345678 |
先行ゼロがゼロ消去終了文字の桁またはそれより右側の桁まで拡張している場合には、 ゼロ消去終了文字の桁がブランクで置き換えられます。 このことは、ソース・データに存在しているのと同じ数の先行ゼロが出力に 現れるようにしたいとき、 編集語の本体をソース・データより広くしなければならないことを意味します。
編集語 | ソース・データ | 編集結果には次のように現れます。 |
---|---|---|
'0 ' | 0156 | 156 |
'0 ' | 0156 | 0156 |
ゼロ消去終了文字の右側に入れられた定数 (コンマおよび小数点を含む) は、ソース・データがなくても出力されます。 ゼロ消去終了文字の左側にある定数は、 その定数より左に位置することになる有効数字がソース・データに 含まれている場合にだけ出力されます。
編集語 | ソース・データ | 編集結果には次のように現れます。 |
---|---|---|
' 0. ' | 000000001 | .01 |
' 0. ' | 000000000 | .00 |
' , 0 . ' | 00000012 | 0.12 |
' , 0 . ' | 00000123 | 1.23 |
' 0 , . ' | 00000123 | 0,001.23 |
編集語の本体の最初のアスタリスクも、ゼロ消去を終らせます。 編集語に入れられた後続のアスタリスクは、 定数として取り扱われます (以下の「定数」を参照)。 編集語中のこのアスタリスクより後にあるゼロも、すべて定数として取り扱われます。 1 つの編集語にはゼロ消去終了文字は 1 つだけ可能であり、 その文字は編集語の中の最初のアスタリスクまたは 最初のゼロです。
ゼロ消去終了文字としてアスタリスクを使用した場合には、消去される先行ゼ ロが出力上ではすべてアスタリスクで置き換えられます。 そうでない場合には、 上記の「ゼロ」で説明されたのと同じ方法で、アスタリスクにより先行ゼ ロが消去されます。
編集語 | ソース・データ | 編集結果には次のように現れます。 |
---|---|---|
'* . ' | 000000123 | * 1.23 |
' * . ' | 000000000 | ******0.00 |
' * . **' | 000056342 | ****563.42** |
アスタリスクの位置より後に現れている先行ゼロは、先行ゼロとして出力さ れる点に注意してください。 アスタリスクの位置にあるものも含めて、消去され た先行ゼロだけがアスタリスクによって置き換えられます。
編集語中の最初のゼロ (ゼロ消去終了文字) の直前にある通貨記号は、浮動通 貨記号と呼ばれます。 出力においては、すべての先行ゼロが消去され、最高位の 有効数字の直前に通貨記号が現れます。
編集語 | ソース・データ | 編集結果には次のように現れます。 |
---|---|---|
' , , $0. ' | 000000012 | $.12 |
' , , $0. ' | 000123456 | $1,234.56 |
編集語の最初の桁に通貨記号を入れた場合には、出力上では常に同じ位置に通 貨記号が現れます。 これは固定通貨記号と呼ばれます。
編集語 | ソース・データ | 編集結果には次のように現れます。 |
---|---|---|
'$ , , 0. ' | 000123456 | $ 1,234.56 |
'$ , ,0 0. ' | 000000000 | $ 00.00 |
'$ , ,* . ' | 000123456 | $****1,234.56 |
編集語中でこれ以外の位置にあって、その直後にゼロ消去終了文字が続いてい ない通過記号は、定数として取り扱われます (以下の「定数」を 参照)。
編集されたフィールド中にブランクを生じさせます。 次の例は、電話番号の編 集などに使用することができます。 定数 AREA を印刷するためには、最初の 桁にゼロが必要である点に注意してください。
編集語 | ソース・データ | 編集結果には次のように現れます。 |
---|---|---|
'0AREA& &NO.& - ' | 4165551212 | AREA 416 NO. 555-1212 |
編集語の本体に記入された上記以外の文字は、すべて定数として取り扱われます。 出力時にすべての定数の左側に有効数字または先行ゼロが 入れられるようなソース・データの場合には、その定数が出力上に現れます。 そうでない場合には、定数の出力は抑制されます。 コンマおよび小数点も、定数の場合と同じ規則に従っています。 以下の例では、ソース・データ内の有効数字の桁数だけでなく ゼロ消去終了文字の存在が定数の出力に影響している点に注意してください。
以下の編集語は、小切手の印刷などに使用することができます。 2 番目のアス タリスクが定数として取り扱われ、また、3 番目の例では、最初の有効数字 の前の定数は出力されない点に注意してください。
編集語 | ソース・データ | 編集結果には次のように現れます。 |
---|---|---|
'$ **DOLLARS& &CTS' | 000012345 | $****123*DOLLARS 45 CTS |
'$ **DOLLARS& &CTS' | 000000006 | $********DOLLARS 06 CTS |
'$ &DOLLARS& &CTS' | 000000006 | $ 6 CTS |
日付は、いずれかの編集語を使用して編集される場合があります。
編集語 | ソース・データ | 編集結果には次のように現れます。 |
---|---|---|
' / / ' | 010388 | 1/03/88 |
'0 / / ' | 010389 | 01/03/89 |
編集語の最初のゼロまたはアスタリスクの後にあるゼロまたはアスタリスクは 、定数として取り扱われる点に注意してください。 これは - および CR でも 同じです。
編集語 | ソース・データ | 編集結果には次のように現れます。 |
---|---|---|
' 0. 000' | 01234 | 12.34000 |
' *. 000' | 01234 | *12.34000 |
次の文字が編集語の状況桁で使用された場合には、特殊な意味を持ちます。
編集された出力フィールド中にブランクを生じさせます。 編集後の出力フィールドにアンパーサンドを入れることはできません。
編集される出力の符号がプラス (+) の場合には、それらの桁はブラン クとされます。 編集される出力フィールドの符号がマイナス (-) の場合には、それらの桁 はそのまま残ります。
次の例では、負の値の指示が追加されています。 マイナス符号は、フィールド 内の数値が負の場合にのみ印刷されます。 CR 記号はマイナス符号と同じ機能を果たします。
編集語 | ソース・データ | 編集結果には次のように現れます。 |
---|---|---|
' . -' | 000000123- | 1.23- |
' . -' | 000000123 | 1.23 |
最後の置き換え可能文字と - または CR 記号の間の定数が印刷されるの は、フィールドが負の場合だけで、そうでない場合には、これらの位置には ブランクが表示されます。 ブランクを表すアンパーサンドの使用に注意してください。
編集語 | ソース・データ | 編集結果には次のように現れます。 |
---|---|---|
' , , 0. &30&DAY&CR' | 000000123- | 1.23 30 DAY CR |
' , , 0. &30&DAY&CR' | 000000123 | 1.23 |
編集語の拡張部分の文字は、常に使用されます。 拡張部分にブランクを含め ることはできません。 編集された結果にブランクが必要であった場合に は、編集語の本体にアンパーサンドを指定してください。
その番号の値と一緒に表示するために、定数が追加される場合が あります。
編集語 | ソース・データ | 編集結果には次のように現れます。 |
---|---|---|
' , 0. &CR&NET' | 000123- | 1.23 CR NET |
' , 0. &CR&NET' | 000123 | 1.23 NET |
語の中間に CR があった場合には、負のフィールド値の指示として検出される ことがある点に注意してください。 SECRET のような語が必要な場合には、次の例 にあるコーディングを使用してください。
編集語 | ソース・データ | 編集結果には次のように現れます。 |
---|---|---|
' 0. &SECRET' | 12345- | 123.45 SECRET |
' 0. &SECRET' | 12345 | 123.45 ET |
' 0. &CR&&SECRET' | 12345 | 123.45 SECRET |
(C) Copyright IBM Corporation 1992, 2006. All Rights Reserved.