PL/I と COBOL 間のデータ項目型のマッピング

注意:このトピックは、早期採用者製品 (Early Adopter Product; EAP) リリース ステータスにある機能に適用されます。機能の最終版については、今後リリースする予定です。詳細は、Micro Focus SupportLine までお問い合わせください。

PL/I データ項目型は COBOL データ項目型にマッピングされるため、Data File Editor および IMS Database Editor 内で使用することができます。

Open PL/I データ項目型 COBOL データ項目型 コメント
char(n)
pic x

文字列として処理されます。

pic '(n)9'
pic 9  <= 18 digits
pic x   > 18 digits

シンボル 9 および V がサポートされます。

文字列として処理されます。

 pic '(n)Z9'
pic x

9 と V 以外のシンボルは、文字列として処理されます。

fixed bin(1) - fixed bin(31)

  native1
  non-native


comp-5
comp

PL/I では 1 から 6 の長さを、長さ 7 として処理します。

fixed dec(1) - fixed dec(31)

  native
  non-native


comp-3 <= 18 digits
        > 18 digits

フォーマット付き編集が許可されます。

フォーマット付き編集はデータ項目に無効な値が含まれていることを示します。

float bin(1)- float bin(24)
comp-1

浮動小数点の編集は無効です。

float bin(25) - float bin(52)
comp-2

浮動小数点の編集は無効です。

float dec(1) - float dec(6)
comp-1

浮動小数点の編集は無効です。

float dec(7) - float dec(16)
comp-2

浮動小数点の編集は無効です。

char(n)var


  native1
  non-native
pic x


comp-5 length
comp   length

先頭に 2 バイトが付いた文字列として処理されます。

widechar(n)
pic x

2 バイトの n 倍の文字列として処理されます。

widechar(n) var	


  native1
  non-native
pic x


comp-5 length
comp   length

先頭に 2 バイトが付いた 2 バイトの n 倍の文字列として処理されます。

bit(n)
pic x

ビットがそれらのビットを含むバイトにマッピングされ、バイトの中のどのビット位置が埋められたかが示されます (例: (--bbb---))

注: PL/I のビット ストレージ形式は、ビット スワップまたは左から右のいずれかです。
pointer
pointer
structure
group item
union
group item
1 comp-5 バイナリ フィールドが含まれているデータ ファイルで native オプションを使用すると問題が発生することがあります。バイト スワップするプラットフォームで作成したファイルをバイト スワップしないプラットフォームに移動した場合、それらのファイルは Data File Tools で解釈できません。バイト オーダーが異なるプラットフォームでファイルを使用する場合は、non-native オプションを代わりに使用します。

マッピングの制限事項

次の Open PL/I データ項目型は元の形式ではサポートされませんが、次のように COBOLpic x の形式にマッピングされます。

Open PL/I データ項目型 COBOL pic x
char varying
pic x(n +2 for length bytes) 
bit
pic x(len/8)
widechar
pic x(n*2)
widechar varying
pic x(n*2 + 2 for length bytes)

次の Open PL/I データ項目型はサポートされていません。

  • BIT や OFFSET など、COBOL にはない PL/I 特有の機能
  • REFER 付きの BASED データ項目。ただし、最初の REFER に到達する前のデータ項目は構造説明に含まれます
  • 3 次元を超える配列
  • ゼロ未満の下限または負の値を持つ配列