【问题标题】:PowerCenter Designer issue with COBOL VSAM file与 COBOL VSAM 文件有关的 PowerCenter Designer 问题
【发布时间】:2017-08-15 21:24:04
【问题描述】:
我正在 PowerCenter Designer 中处理 Cobol 大型机 VSAM 源文件,我需要知道应该使用 Prec 和 Scale 中的哪些值来获取 PIC S9(9)V99 COMP-3...
一位同事提到 Informatica 将其识别为 PIC S9(9)V9(2) COMP-3,因此我必须使用 Prec 11 - Scale 2 定义字段,我这样做了,但是一旦数据在 SQL 的 Stage 表中加载,一些字段就会显示奇怪的符号对于某些列,其他列显示预期值。
我还尝试添加一个表达式转换,将归一化器得到的结果值除以 100,但它也没有按预期工作。
你知道如何处理它吗?
【问题讨论】:
标签:
sql-server-2008
informatica-powercenter
vsam
【解决方案1】:
“pic s9(9)V99 COMP-3”解释如下:
s -- 已签名。
9(9) 九位数字。
V 隐含的小数点。
99 -- 两位数字
comp-3 -- 压缩十进制。
在 informatica 中,这将是“prec 11 scale 2”。
不记得你是如何告诉 Power Center 其压缩十进制的
但我知道你可以。
压缩十进制:每个字节中有两个十进制数字,最后一个半字节有一个特殊的符号字符。
所以 +123456 存储为十六进制 '0123456C'.
(+123.456 将被存储为完全相同的十六进制字符串——你只需要知道你期望的比例!)
【解决方案2】:
请记住,comp-3 字段表示该值已压缩,因此如果您使用文本编辑器打开会显示那些奇怪的字符而不是具体数字
您可以通过扩展 PowerExchange 看到这些值