WebSphere Message Broker バージョン 8.0.0.5 オペレーティング・システム: AIX、HP-Itanium、Linux、Solaris、Windows、z/OS

製品の最新バージョンについては、IBM Integration Bus バージョン 9.0 をご覧ください。

メッセージ・セット: COBOL からのインポート: サポートされる機能

COBOL データ・タイプをメッセージ・モデル・エレメントに マッピングする場合、COBOL インポーターは 1 セットのデフォルト値を 使用して動作します。

以下の表は、COBOL 定義がメッセージ・モデル内の XML スキーマ設定値にどのような影響を与えるかを示しています。

COBOL 文節 XML スキーマのデータ・タイプ
PIC A xsd:string  
PIC G xsd:string これを処理するには、コンパイル時のロケール名を ja_JP に設定します (「ウィンドウ」 > 「設定」 > 「インポーター」 > 「COBOL」)。
PIC N xsd:string これを処理するには、コンパイル時のロケール名を ja_JP に設定します (「ウィンドウ」 > 「設定」 > 「インポーター」 > 「COBOL」)。
PIC X xsd:string  
PIC 9(n) n = 1-4 xsd:short DISPLAY、COMP、または COMP-3
PIC 9(n) n = 5-9 xsd:int DISPLAY、COMP、または COMP-3
PIC 9(n) n = 10-18 xsd:long DISPLAY、COMP、または COMP-3
PIC 9(n) n = 19-31 xsd:integer DISPLAY、COMP、または COMP-3
PIC 9(n)V9(m) xsd:decimal DISPLAY、COMP、または COMP-3 の任意の仮想小数点値
COMP-1 xsd:float  
COMP-2 xsd:double  
任意の編集済みストリング xsd:string  
任意の編集済み数値 xsd:string 例えば、以下のいずれかの文字を含む COBOL PICTURE 文節。
  • 'Z'
  • '+'
  • '-'
  • '.'
  • ','
  • 'B'
  • '0'
または通貨記号。

ブローカー論理タイプを数値にしたい場合には、COBOL PICTURE 文節に上記のいずれの文字も含まれていないことを確認してください。

VALUE すべて 非 88 レベルの VALUE 文節は、スキーマ・デフォルト値 (インポート・ウィザードでのオプション) としてインポートできます。

以下の表は、 COBOL 定義がメッセージ・モデル内で生成されたエレメントの物理 MRM CWF 特性にどのような影響を与えるかを示しています。

COBOL 文節 CWF 物理タイプ CWF 長さ特性 その他の CWF 特性
PIC X(n)

PIC A(n)

固定長ストリング 長さ = n

長さの単位 = バイト

位置調整 = 左そろえ

埋め込み文字 = SPACE

PIC G(n)

PIC N(n)

固定長ストリング 長さ = n

長さの単位 = 文字

位置調整 = 左そろえ

埋め込み文字 = SPACE

PIC 9(n) DISPLAY n=1-31 外部 10 進数 長さ = n

長さの単位 = バイト

位置調整 = 右そろえ

埋め込み文字 = '0'

記号 = 印なし

記号の方向 = 末尾

PIC 9(n) COMP、COMP-4、COMP-5、または BINARY 整数 長さ = n に基づいて 2、4 または 8

長さの単位 = バイト

記号 = 印なし

記号の方向 = ブランク

PIC 9(n) COMP-3 n=1-18 パック 10 進数 長さ = CEILING((n+1)/2)

長さの単位 = バイト

記号 = 印なし

記号の方向 = ブランク

PIC S9(n) DISPLAY n=1-31 外部 10 進数 長さ = n

長さの単位 = バイト

記号 = 印あり

記号の方向 = 末尾

* 注 1 を参照

PIC S9(n) COMP または COMP-3

n=1-18

整数またはパック 10 進数 長さ = 上記の COMP および COMP-3 定義を参照

長さの単位 = バイト

記号 = 印あり

記号の方向 = ブランク

PIC 9(m)V9(n) DISPLAY n=1-31 外部 10 進数 長さ = n+m

長さの単位 = バイト

記号 = 印なし

記号の方向 = 末尾

仮想小数点 = n

PIC 9(m)V9(n) COMP または COMP-3 整数またはパック 10 進数 長さ = COMP-3 の場合、CEILING((n+m+1)/2)

長さ = COMP の場合、2、4 または 8

長さの単位 = バイト

記号 = 印なし

記号の方向 = ブランク

仮想小数点 = n

COMP-1 Float 長さ = 4

長さの単位 = バイト

記号 = 印あり

記号の方向 = ブランク

COMP-2 Float 長さ (Length) = 8

長さの単位 = バイト

記号 = 印あり

記号の方向 = ブランク

SYNC 浮動、整数、またはパック 10 進数   適切な、先頭スキップ・カウント

適切な、末尾スキップ・カウント

適切な、バイト位置合わせ

* 注 2 を参照

注:
  1. 「記号の方向」は、COBOL 定義での SEPARATELEADING、 または TRAILING キーワードに基づいて、以下のいずれかの値となります。
    • 先頭
    • 先頭分離
    • 末尾
    • 末尾分離
  2. SYNC キーワードによって、フィールドが 1、2、4、または 8-byte バイト境界に位置合わせされます。 これにより、「遊びバイト」がフィールドの前または後に追加されることがあります。 先頭スキップ・カウントは、フィールドの前に追加されるバイト数です。 末尾スキップ・カウントは、フィールドの後に追加されるバイト数です。

    先頭スキップ・カウントおよび末尾スキップ・カウントは、SYNC 文節に関係なく、インポーターによりインポートされる各エレメントごとにインポーターによって計算されます。 SYNC 文節が存在する場合はゼロでない値はありません。

    反復エレメントがある場合、先頭スキップ・カウントおよび末尾スキップ・カウントが反復エレメントの最初の発生に 使用され、後続する発生には末尾スキップ・カウントのみが使用されます。

    バイト位置合わせの必要なフィールドの詳細については、COBOL の参照資料を参照してください。

  3. インポートするファイルはすべて構文的に正しくなければなりません。 インポートするファイルが構文的に正しくない場合の結果は予測不能です。
  4. キーワード POINTER、COMP-X、INDEX、または PROCEDURE-POINTER を含む COBOL データ・タイプはサポートされません。
  5. キーワード NATIVE を含む COBOL 文節は、エラーが発生し、インポートされません。
  6. COBOL レベル 66 およびレベル 77 データ項目はインポートされません。
  7. 16 進バイナリー値は非数値リテラルの属性になりません。 これらは、COBOL インポーターがインポートする LINKAGE SECTION に存在できません。 COBOL ファイルの他の場所には存在できます。 あるいは、16 進値を PIC X の場合、文字ストリングに、PIC 9 の場合 10 進数に変換することができます。
  8. エレメント名が Java™ 言語キーワードと競合する場合、エレメント名は、エレメント名に単一下線文字の接頭部を付けることによって変更されます。
  9. COBOL 85 へのオブジェクト指向の拡張はサポートされません。 例えば、OBJECT-REFERENCE はサポートされません。
  10. COBOL OCCURS DEPENDING ON 文節。 そのような構造内のエレメントの バイト位置合わせ先頭スキップ・カウント、および 末尾スキップ・カウント CWF プロパティーは、適切にセットアップされていません。 これらは、メッセージ・エディターを使用して訂正する必要があります。
  11. インポートされる COBOL ソース・ファイルで、ピクチャー・ストリングの値文節に QUOTE または QUOTES が含まれる場合、COBOL インポーター・ウィザードの「インポート・オプション」ページで COBOL QUOTE コンパイル・オプションを SINGLE に設定していない限り、デフォルト動作では二重引用符付きでデータを入力します。

符号付き外部 10 進数

WebSphere® Message Broker の MRM カスタム・ワイヤー形式 (CWF) コンポーネントおよび TDS コンポーネントは、数値データ用に外部 10 進 (ゾーン 10 進とも呼ばれる) データ形式をサポートします。 この形式の数値データは、10 進文字データとして内部的に保管されます。 例えば、EBCDIC コードを使用するシステムでは、4 バイトの外部 10 進フィールドで保管される数値 1234 は、 文字ストリング '1234' として保管され、その実際の内部 16 進表記は 'F1F2F3F4' になります。

符号付き外部 10 進数を使用すると、最初または最後のバイト (符号を先頭に付ける表記か、最後に付ける表記かによって異なる) の最初の部分を修正することによって、実際のデータに符号を取り込むことができます。 通常、'0xC' は正の数値、'0xD' は負の数値、および '0xF' は符号なしの数値を表記するのに使用されます。

注: 一般に、正の値を示すには '0xA'、'0xC' のいずれか、負の値を示すには '0xB' または '0xD' を使用することができます。 実際によく使用される表記は、実際のハードウェア体系に依存します。

ASCII マシンでは、外部 10 進データの内部表記用に、多くのメカニズムがあります。 IBM の pSeries マシンが使用する 1 つの表記 ('Sign ASCII') は、符号なしおよび正の数値の両方で、最初または最後の桁に通常の ASCII コード ('0' [hex 30] から '9' [hex 39]) を、負の数値に文字 'p' [hex 70] から 'y' [hex 79] を使用します。

その他の ASCII ベースのマシンでは、別の方法 (Sign EBCDIC Custom) が使用されます。 この方法では、実際の内部 16 進表記が異なる場合でも、EBCDIC ベースのマシンと同じ文字を使用します。 この技法を使用する場合、EBCDIC および ASCII プラットフォームの両方の文字ストリングは等しくなります。 EBCDIC プラットフォームからのメッセージ (PIC XXX および PIC S999 などのエントリーを含む COBOL コピーブックから作成) を受け取って、メッセージ全体を ASCII または他の方法で変換することもおそらく可能です。 メッセージ中の外部 10 進フィールドを表す文字ストリング (ASCII から EBCDIC への変換後または EBCDIC から ASCII への変換後) は、10 進数の正しい符号を表すコード・ポイントにマップします。

この方法には、中括弧文字は可変です (異なる EBCDIC コード・ページでは、 コード・ポイントが異なります) という制限が あります。 このメカニズムは、中括弧 '{' および '}' (符号付き 0 を表すのに使用) のコード・ポイントが正確に X'C0 および X'D0 である EBCDIC コード・ページでのみ有効です。 例えば、コード・ページ 500 では有効ですが、中括弧のコード・ポイントが X'8E' および X'9C であるコード・ページ 871 には無効です。

ASCII 環境 (ランタイムに CCSID のプロパティーにより決定) では、入出力両方のデフォルトは 'Sign ASCII' 表記です。 タイプ 10 進、浮動、および整数のローカル属性およびローカル・エレメント用に、CWF 物理層で適用可能な表記を指定できます。

注: このオプションは、外部 10 進物理表現があり、また組み込み (「先頭」または「末尾」) 符号 (「記号の方向」プロパティーで決定) があるエレメントまたは属性にのみ適切です。

以下の表は、それぞれ組み込み (埋め込み) 先頭または末尾記号を持つ外部 10 進数値の最初または最後の桁の内部表記 (文字と実際の 16 進値の両方) を示しています。 (表では、ASCII の場合は 0x30-0x39、EBCDIC の場合は 0xF0-0xF9 である符号なしの値の表記は 指定していません。)

  ASCII 環境 EBCDIC 環境   ASCII 環境 EBCDIC 環境
  正符号付きの値   負符号付きの値
Sign ASCII Sign EBCDIC Custom     Sign ASCII Sign EBCDIC Custom  
0 0(30) {(7B) {(C0)   p(70) }(7D) }(D0)
1 1(31) A(41) A(C1) q(71) J(4A) J(D1)
2 2(32) B(42) B(C2) r(72) K(4B) K(D2)
3 3(33) C(43) C(C3) s(73) L(4C) L(D3)
4 4(34) D(44) D(C4) t(74) M(4D) M(D4)
5 5(35) E(45) E(C5) u(75) N(4E) N(D5)
6 6(36) F(46) F(C6) v(76) O(4F) O(D6)
7 7(37) G(47) G(C7) w(77) P(50) P(D7)
8 8(38) H(48) H(C8) x(78) Q(51) Q(D8)
9 9(39) I(49) I(C9) y(79) R(52) R(D9)

次の表は、これらのアプローチを使用して伝送または受信可能なものを表す、単純な数値の範囲の例を示します。

  先頭の符号 末尾の符号
  ASCII 環境 EBCDIC 環境 ASCII 環境 EBCDIC 環境
10 進値 Sign ASCII Sign EBCDIC Custom   Sign ASCII Sign EBCDIC Custom  
1234

31 32 33 34
"1234"

31 32 33 34
"1234"

F1 F2 F3 F4
"1234"

31 32 33 34
"1234"

31 32 33 34
"1234"

F1 F2 F3 F4
"1234"

+1234

31 32 33 34
"1234"

41 32 33 34
"A234"

C1 F2 F3 F4
"A234"

31 32 33 34
"1234"

31 32 33 44
"123D"

F1 F2 F3 C4
"123D"

-1234

71 32 33 34
"q234"

4A 32 33 34
"J234"

D1 F2 F3 F4
"J234"

31 32 33 74
"123t"

31 32 33 4D
"123M"

F1 F2 F3 D4
"123M"

7890

37 38 39 30
"7890"

37 38 39 30
"7890"

F7 F8 F9 F0
"7890"

37 38 39 30
"7890"

37 38 39 30
"7890"

F7 F8 F9 F0
"7890"

+7890

37 38 39 30
"7890"

47 38 39 30
"G890"

C7 F8 F9 F0
"G890"

37 38 39 30
"7890"

37 38 39 7B
"789{"

F7 F8 F9 C0
"789{"

-7890

77 38 39 30
"w890"

50 38 39 30
"P890"

D7 F8 F9 F0
"P890"

37 38 39 70
"789p"

37 38 39 7D
"789}"

F7 F8 F9 D0
"789}"

特記事項 | 商標 | ダウンロード | ライブラリー | サポート | フィードバック

Copyright IBM Corporation 1999, 2014Copyright IBM Corporation 1999, 2014.

        
        最終更新:
        
        最終更新: 2015-02-28 17:46:31


参照トピック参照トピック | バージョン 8.0.0.5 | ad06900_