2012-02-01 15 views
0

copybookフィールドのデフォルトとして、LOW-VALUES(どのようなものであるかはわかりません)をバックエンドチームに渡す必要があります。私は、フィールドのためのサンプルとしてこれを得たメインフレームチームからxmlからcobolフィールドへのマッピング

15 :abc  PIC X(15). 

をCOBOL XMLを変換する変換WTXを使用します。

X'000000000000000000000000000000' 

ただし、このルールを使用すると、文字数が15を超えるため、失敗します。どのようにして低値を渡すことができますか?

あなたは15進数を含むように、ルールマップのサイズを変更するので、もし上記のCOBOLフィールドのための私のルールマップ

="X'000000000000000000000000000000'" 

エラーmeesage

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

答えて

2

LOW-VALUE in COBOLは比喩定数です。この定数の値 は、使用される照合順序で最も低い順序位置を持つ文字です。 LOW-VALUEは、バイナリのゼロに対応して、使用中の文字セットを仮定し

は(別の答えにあなたのコメントの1に示されているように)EBCDIC で、照合順序は は(おそらく良い仮定)をオーバーライドしていません。

PIC X(15) COBOLのデータ項目は15バイトを占めます。この フィールドを15バイトのバイナリ・ゼロに変換する変換を使用してください。 COBOLアプリケーションではこれがLOW-VALUEと表示されます。

注:「メインフレームチーム」から与えられた値は、15バイトのバイナリ0の16進文字列表記です。

0

低値は、単純にすべての六角ゼロでありますすべてゼロ、あなたは大丈夫です。

+0

入力が空の場合はすべての低値を送信し、値がある場合はそのまま入力を送信します。私のwtxマッピングには入力xml utf8があり、コブを出力します。 – Suresh

+0

使用しているマッピング手法がわからないので、助けてはいけませんが、低い値適切な文字数に16進文字列を取得する必要があります – TrueDub

関連する問題