0

コピーブックフィールドのデフォルトとして、LOW-VALUES(どのような種類かはよくわかりません)をバックエンドチームに渡す必要があります。xmlをcobolに変換するwtx変換を使用します

15 :abc       PIC X(15).

メインフレームチームから、これをフィールドのサンプルとして入手しました。

X'000000000000000000000000000000'

ただし、このルールを使用すると、文字数が15を超えているため失敗します。LOW-VALUESを渡すにはどうすればよいですか?

上記のCOBOLフィールドのルールマップ

="X'000000000000000000000000000000'"

エラーメッセージ

Map:    Output: abc Field:123 Group:outputcbl
    Size of input item is greater than size of output item.
4

2 に答える 2

2

LOW-VALUECOBOLでは比喩的な定数です。この定数の値は、使用される照合シーケンスの中で最も低い序数位置を持つ文字です。

使用中の文字セットがEBCDICであり(別の回答へのコメントの1つに示されているように)、照合シーケンスがオーバーライドされていないと仮定すると(おそらく適切な仮定)、LOW-VALUEは2進ゼロに対応します。

COBOLのPIC X(15)データ項目は15バイトを占有します。このフィールドを15バイトの2進ゼロに変換する変換を使用します。COBOLアプリケーションはこれを認識しますLOW-VALUE

注:「メインフレームチーム」から提供された値は、15バイトの2進ゼロの16進文字列表現です。

于 2012-02-01T15:00:44.993 に答える
0

低い値は単純にすべて16進数のゼロであるため、ルールマップのサイズを変更して15桁の16進数(すべてゼロ)を含める場合は、問題ないはずです。

于 2012-02-01T08:19:09.153 に答える