フォーマット設定プロパティー

フォーマット設定プロパティーは、データが書式上または Web ブラウザーに表示された場合に有効になる特性を指定します。プロパティーは、出力または入出力におけるデータに影響します。

プロパティーには、次のものがあります。

align

align プロパティーは、変数フィールドについてデータの長さがフィールドの長さよりも短い場合にデータの位置を指定します。このプロパティーは、テキストや印刷書式の場合に役立ちます。

出力では、文字および数値データがこのプロパティーによる影響を受けます。入力の場合、文字データはこのプロパティーの影響を受けますが、数値データは常に右そろえにします。

有効な値は以下のとおりです。
left
データをフィールド内の左側に配置します (文字データのデフォルト)。開始スペースは除去され、フィールドの末尾に置かれます。
none
データを位置調整しません。この設定は、文字データについてのみ有効です。
right
データをフィールド内の右側に配置します (数値データのデフォルト)。末尾スペースは除去され、フィールドの先頭に置かれます。この設定は、小数点位または符号を持つ数値データの場合に必須です。

currency

currency プロパティーは、数値フィールドの値の前に通貨記号を含めるかどうかを指定し、zeroFormat プロパティーにより決められた記号の正確な位置を指定します。 MONEY 型のフィールドのフォーマット設定は、strLib.defaultMoneyFormat の値に応じて異なり、currency プロパティーには影響されません。

currency プロパティーの値は以下のとおりです。
No (デフォルト)
通貨記号を使用しません。
Yes
currencySymbol で指定された記号を使用します。 ここで値が指定されていない場合は、デフォルトの通貨記号を使用します。

デフォルトの通貨記号は、マシンのロケールにより決まります。Java™ コードでは、デフォルトの通貨記号は、マシンのロケールにより決まります。 COBOL コードでは、デフォルトは各国語オプションにより決まります。

currencySymbol

currencySymbol プロパティーは、currency プロパティーが有効である場合にどの通貨記号を使用するかを指定します。

fillCharacter

fillCharacter プロパティーは、テキストや印刷書式、またはページ・ハンドラー・データの未使用箇所を充てんする文字を指示します。また、このプロパティーは、set field full (set を参照) の効果も変更します。このプロパティーは、出力にのみ影響します。

デフォルトは、数値の場合にスペース、16 進項目の場合に 0 です。文字型のデフォルトはメディアに応じて異なります。
  • テキストまたは印刷書式の場合、デフォルトは空ストリングです。
  • ページ・ハンドラー・データの場合、タイプ CHAR または MBCHAR のデータについてデフォルトはブランクになります。

ページ・ハンドラーにおいては、fillCharacter の値は、DBCHAR または UNICODE 型の項目についてスペース (デフォルト) である必要があります。

dateFormat

dateFormat プロパティーは、書式に表示されたりページ・ハンドラーで処理される日付の形式を識別します。このプロパティーは入出力の両方に影響しますが、以下の場合は使用しません。
  • 項目が小数位、通貨記号、数字区切り文字、または符号を持つ
  • データ項目のデータ型が DBCHAR、MBCHAR、または HEX
  • 項目にマスクを含むだけの長さがない (その他の詳細は、『時刻の長さに関する考慮事項』を参照)
有効な値は以下のとおりです。
"pattern"
pattern の値は、『日付、時刻、およびタイム・スタンプ・フォーマット指定子』に示す一連の文字から構成されます。
defaultDateFormat
プログラムでデフォルトまたは割り当てにより指定されるパターン。 このリスト内の定数の 1 つ、または独自のパターンを割り当てることができます。

ページ・ハンドラー項目に指定された場合、デフォルトのパターンは、ランタイム Java ロケールで指定された日付形式です。 書式項目に指定された場合、デフォルトのパターンは、systemGregorianDateFormat を選択した場合に等しくなります。

isoDateFormat
「yyyy-MM-dd」パターン (International Standards Organization (ISO) により指定された日付形式)
usaDateFormat
「MM/dd/yyyy」パターン (IBM® USA 標準規格の日付形式)。
eurDateFormat
「dd.MM.yyyy」パターン (IBM 欧州標準規格の日付形式)。
jisDateFormat
「yyyy-MM-dd」パターン (日本工業規格 (JIS) 日付形式)。
systemGregorianDateFormat
dd (日数)、MM (月数)、および yy か yyyy (年数) を、d、M、y または数字以外の、区切り文字として使用される文字と一緒に含む、8 または 10 文字のパターン。

COBOL プログラムの場合、EGL ランタイム・サービスのシステム管理者がインストール時に形式を設定します。

Java プログラムでは、次の Java ランタイム・プロパティーに形式が指定されています。
  vgj.datemask.gregorian.long.NLS
NLS
Java ランタイム・プロパティー vgj.nls.code に指定されている NLS (各国語サポート) コード。このコードは、『targetNLS』にリストされているコードの 1 つです。大文字の英語 (コ ード ENP) はサポートされていません。

vgj.nls.code の詳細については、『Java ランタイム・プロパティー (詳細)』を参照してください。

systemJulianDateFormat
DDD (日数)、および yy か yyyy (年数) を、D、y、または数字以外の、区切り文字として使用される文字と共に含む、6 または 8 文字のパターン。

COBOL プログラムの場合、EGL ランタイム・サービスのシステム管理者がインストール時に形式を設定します。

Java プログラムでは、次の Java ランタイム・プロパティーに形式が指定されています。
  vgj.datemask.julian.long.NLS
NLS
Java ランタイム・プロパティー vgj.nls.code に指定されている NLS (各国語サポート) コード。このコードは、『targetNLS』にリストされているコードの 1 つです。大文字の英語 (コ ード ENP) はサポートされていません。

vgj.nls.code の詳細については、『Java ランタイム・プロパティー (詳細)』を参照してください。

内部日付形式

ユーザーが有効なデータを入力すると、フィールドに指定された形式から以降の検証で使用される内部形式へとデータが変換されます。

文字データの内部形式は、システムのデフォルトの形式と同じで、区切り文字を含みます。

数値データの場合、内部形式は以下のとおりです。
  • グレゴリオ暦 (短) 00yyMMdd
  • グレゴリオ暦 (長)00yyyyMMdd
  • ユリウス暦 (短) 0yyDDD
  • ユリウス暦 (長) 0yyyyDDD

日付の長さに関する考慮事項

書式内で、書式上のフィールド長は、指定するフィールド・マスクの長さ以上であることが必要です。 項目の長さは、日付の内部形式を保持するのに十分な長さであることが必要です。

ページ・ハンドラー項目における規則は以下のとおりです。
  • 項目の長さが、指定された日付マスクに十分な長さで、これを超えることがない
  • 数値項目の場合、区切り文字は長さの計算から除外される

次の表に例を示します。

形式タイプ 書式フィールドの長さ ページ・ハンドラー項目の最小長さ (文字型) ページ・ハンドラー項目の有効長さ (数値型)
短いグレゴリオ暦 yy/MM/dd 8 8 6
長いグレゴリオ暦 yyyy/MM/dd 10 10 8
短いユリウス暦 DDD-yy 6 6 5
長いユリウス暦 DDD-yyyy 8 8 7

日付の入出力に関する考慮事項

変数フィールドに入力されたデータは、指定された形式で日付が入力されたかチェックされます。ユーザーは、日付および月の先行ゼロを入力する必要はなく、(例えば) 08/05/1996 でなく 8/5/1996 を指定することができます。ただし、区切り文字を省略した場合は、先行ゼロをすべて入力する必要があります。

isBoolean

isBoolean (以前の boolean) プロパティーは、フィールドがブール値を表すことを指定します。このプロパティーにより有効なフィールド値が制限され、入力または出力時のテキストおよび印刷書式やページ・ハンドラーにおいて役立ちます。

EGL ページ・ハンドラーに関連した Web ページでは、ブール項目はチェック・ボックスで示されます。書式上では、次のようになります。
  • 数値フィールドの値は 0 (false) または 1 (true)。
  • 文字フィールドの値は、各国語に依存した語または語のサブセットにより示されます。例えば英語では、3 つ以上の文字のブール値フィールドは、値 yes (true) または no (false) をとり、1 文字のブール値フィールドは y または n のように値が切り捨てられます。

    Java プログラムでは、 yes および no に対する固有の文字は、ロケールにより決まります。

linewrap

linewrap プロパティーは、テキストの切り捨てを回避するためにテキストを改行する必要がある場合に、折り返しができるかどうかを指定します。 このオプションの値は、次のとおりです。
character (デフォルト)
フィールド内のテキストは、ホワイト・スペースで分割されません。
compressed
ConsoleField 型のフィールド内のテキストは、ホワイト・スペースで分割されますが、ユーザーが (別のフィールドに移動するか、Esc キーを押すことにより) そのフィールドから離れると、テキストの折り返しに使用される余分なスペースはすべて除去されます。
word
可能な場合、フィールド内のテキストはホワイト・スペースで分割されます。

lowerCase

lowerCase プロパティーは、ユーザーの 1 バイト文字入力の英字を小文字に設定するかどうかを指示します。 このオプションの値は、次のとおりです。
no (デフォルト)
ユーザーの入力を小文字に設定しません。
yes
ユーザーの入力を小文字に設定します。

masked

masked プロパティーは、ユーザーが入力した文字を表示するかどうかを示します。 このプロパティーは、パスワードの入力に使用されます。このオプションの値は、次のとおりです。
no (デフォルト)
ユーザーが入力した文字は表示されます。
yes
ユーザーが入力した文字は表示されません。

numericSeparator

numericSeparator プロパティーは、3 桁を超える整数部を持つ数値に文字を組み込むかどうかを示します。数字区切り文字がコンマの場合、例えば千は 1,000 と表示され、百万は 1,000,000 と表示されます。 このオプションの値は、次のとおりです。
no (デフォルト)
数字区切り文字を使用しません。
yes
数字区切り文字を使用します。

Java コードでは、デフォルトは、マシンのロケールにより決まります。 COBOL コードでは、デフォルトは各国語オプションにより決まります。

sign

sign プロパティーは、ユーザー入力やプログラムによりフィールドに数値を入れた場合に、正 (+) または負 (-) の符号を表示する位置を示します。このオプションの値は、次のとおりです。
none
符号を表示しません。
leading
デフォルトです。数値の最初の桁の左に符号を表示します。符号は、後述する zeroFormat プロパティーにより決められた符合の正確な位置に置かれます。
trailing
符号は、数値の最後の桁の右に表示されます。

timeFormat

timeFormat プロパティーは、書式に表示されたりページ・ハンドラーで処理される時刻の形式を識別します。このプロパティーは入出力の両方に影響しますが、以下の場合は使用しません。
  • 項目が小数位、通貨記号、数字区切り文字、または符号を持つ
  • データ項目のデータ型が DBCHAR、MBCHAR、または HEX
  • 項目にマスクを含むだけの長さがない (その他の詳細は、『時刻の長さに関する考慮事項』を参照)
有効な値は以下のとおりです。
"pattern"
pattern の値は、『日付、時刻、およびタイム・スタンプ・フォーマット指定子』に示す一連の文字から構成されます。
defaultTimeFormat
プログラムでデフォルトまたは割り当てにより指定されるパターン。 このリスト内の定数の 1 つ、または独自のパターンを割り当てることができます。

Java 環境のデフォルト値は、Java ロケールによって設定されます。

isoTimeFormat
「HH.mm.ss」パターン (International Standards Organization (ISO)) により指定された時刻形式)。
usaTimeFormat
「hh:mm AM」パターン (IBM USA 標準規格の時刻形式)。
eurTimeFormat
「HH.mm.ss」パターン (IBM 欧州標準規格の時刻形式)。
jisTimeFormat
「HH:mm:ss」パターン (日本工業規格の時刻形式)。

時刻の長さに関する考慮事項

書式中、フィールド長は指定された時刻マスクの長さに一致する必要があります。ページ・ハンドラー項目における規則は以下のとおりです。
  • 項目の長さが、指定された時刻マスクに十分な長さで、これを超えることがない
  • 数値項目の場合、区切り文字は長さの計算から除外される

時刻の入出力に関する考慮事項

変数フィールドに入力されたデータは、指定された形式で時刻が入力されたかチェックされます。ユーザーは、時間、分、および秒の先行ゼロを入力する必要はなく、(例えば) 08:15 でなく 8:15 を指定することができます。ただし、区切り文字を省略した場合は、先行ゼロをすべて入力する必要があります。

内部形式で保管された時刻は、時刻として認識されず、単にデータとして認識されます。6 文字の時刻フィールドを、例えば長さ 10 の文字項目に移動した場合、EGL では宛先フィールドにブランクが埋め込まれます。ただし、時刻フィールドを書式上に表示した場合、時刻は必要に応じて内部形式から変換されます。

timeStampFormat

timeStampFormat プロパティーは、書式上に表示されるかページ・ハンドラー内で保守されるタイム・スタンプ形式を識別します。

有効な値は以下のとおりです。
"pattern"
pattern の値は、『日付、時刻、およびタイム・スタンプ・フォーマット指定子』に示す一連の文字から構成されます。
defaultTimeStampFormat
プログラムでデフォルトまたは割り当てにより指定されるパターン。 このリスト内の定数の 1 つ、または独自のパターンを割り当てることができます。

Java 環境では、デフォルトは Java ロケールにより設定されます。

db2TimeStampFormat
「yyyy-MM-dd-HH.mm.ss.ffffff」パターン (IBM DB2® のデフォルトのタイム・スタンプ・フォーマット)。
odbcTimeStampFormat
「yyyy-MM-dd HH:mm:ss.ffffff」パターン (ODBC のタイム・スタンプ・フォーマット)。

時間の単位 (年、日など) を表すパターンは、タイム・スタンプ内に出現する順に指定する必要があります。 パターンは、タイム・スタンプの先頭または末尾から除去することができますが、中央から除去することはできません。

upperCase

upperCase プロパティーは、ユーザーの 1 バイト文字入力の英字を大文字に設定するかどうかを指示します。

このプロパティーは、書式やページ・ハンドラーにおいて役立ちます。

CICS® の出力を生成する場合、CICS 端末定義に CICS ですべての端末入力を大文字に変換する UCTRAN が含まれている場合、upperCase プロパティーは無効です。

upperCase の値は、以下のとおりです。
No (デフォルト)
ユーザーの入力を大文字に設定しません。
Yes
ユーザーの入力を大文字に設定します。

zeroFormat

zeroFormat プロパティーは、MONEY 型フィールドではなく、数値フィールドにゼロ値を表示する方法を指定します。 このプロパティーは、numeric separatorcurrency、および fillCharacter プロパティーにより影響を受けます。 zeroFormat の値は、以下のとおりです。
Yes
ゼロ値は数 0 として表示されます。これは、小数点 (例えば 2 桁の小数部により項目を定義した場合に 0.00) および 通貨記号と区切り文字 ($000,000.00 など。currency および numericSeparator プロパティーの値により異なる) を使用して表すことができます。プロパティー zeroFormat の値が yes の場合、以下の規則が適用されます。
  • 充てん文字 (fillCharacter プロパティーの値) が 0 の場合、データは文字 0 によりフォーマット設定されます。
  • 充てん文字が NULL の場合、データは左そろえされます。
  • 充てん文字がブランクの場合、データは右そろえされます。
  • 充てん文字がアスタリスク (*) の場合、ブランクの代わりにアスタリスクが左側の充てん文字に使用されます。
No
一連の充てん文字にゼロ値が表示されます。
ご利用条件 | フィードバック
(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.(C) Copyright IBM Japan 2005.