IBM大型机论坛索引
 
登录
 
IBM大型机论坛索引 大型机:搜索 IBM Mainframe论坛:常见问题解答 寄存器
 

二进制和Comp-3>>>可读格式


IBM大型机论坛 -> JCL& VSAM
发表新话题   回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
哈里

新的用户


已加入:2006年3月27日
帖子:31

发布发表:2010年4月30日,星期五,上午12:46
引用回复

大家好,

在转换二进制和压缩十进制字段以将其转换为可读格式时,我需要一些帮助。

在我的输入文件中,记录长度= 1200,其中一些字段为char,binary和comp-3,现在用户要求复制输入文件,他们希望以打开文件时的方式查看数据应采用可读格式。

现在对于字母数字字段没有问题,因为可以毫无问题地看到它们,但是我应该使用什么来转换二进制和comp-3字段。

我尝试了OUTFIL OUTREC =(1,2,BI,TO = ZD,LENGTH = 5)>>>>just for example …..

但是它不起作用..

您能对此提出建议吗?

谢谢
哈里
回到顶部
查看用户资料 发送私信
弗兰克·雅格

DFSORT开发人员


已加入:2005年2月15日
帖子:7129
地点:加利福尼亚州圣何塞

发布发表:2010年4月30日,星期五,上午1:39
引用回复

引用:
但是它不起作用..


这没有提供有用的信息。

1,2,BI,TO = ZD,LENGTH = 5将2字节无符号二进制字段转换为5字节ZD字段。

1,2,FI,TO = ZD,LENGTH = 5将2字节有符号固定字段转换为5字节ZD字段。

如果需要+12345或-1235之类的值,则1,2,FI,EDIT =(STTTTT),SIGNS =(+,-)是另一种转换方法。

BI,FI和PD有很多很多变体。

您将如何使用DFSORT做您想做的事情取决于您尚未告诉我们的想做的事情。输入字段的十六进制形式是什么?您希望输出字段看起来像什么?
回到顶部
查看用户资料 发送私信
哈里

新的用户


已加入:2006年3月27日
帖子:31

发布发表:2010年4月30日星期五5:49 pm
引用回复

对不起,如果我的要求不清楚,这就是我想要的:

有三个字段:
1>字段1 --- PIC S9(010)COMP-3。

2>栏位2 --- PIC S9(004)使用指南

3>字段3 ---- PIC S9(005)V9(06)COMP-3。


输入文件中的数据:

场1

00000
0006C

场2

00
01

场3

001000
00000C

我希望输出文件以人类可读的格式表示此输入文件,这意味着如果有人浏览大型机文件中的数据,则他应该可以理解数据而不必在上面加十六进制...,因为comp-3和二进制通常我们先用十六进制表示,然后再读取数据。

所需输出:

栏位1:

这是60 –

场2
同上

场3
同上。

现在有人可以帮助我吗?
回到顶部
查看用户资料 发送私信
哈里

新的用户


已加入:2006年3月27日
帖子:31

发布发表:2010年4月30日,星期五,下午6:20
引用回复

在这个世界上,没有什么是不可能的,而且我100%确信DFSORT可以轻松做到这一点。

看到这就是我要去做的事情:


排序字段=复制
外场=(1,160,161,5,PD,TO = ZD,LENGTH = 05)

我正在获得价值,但它获得了额外的{现在,我正在为此而苦苦挣扎,

输入值
00000
0006C

使用上述分类卡输出
0006{

我只是在等待一些专家来研究我的帖子,他们会给我他们宝贵的建议。
回到顶部
查看用户资料 发送私信
威廉·汤普森

全球主持人


已加入:2006年11月18日
帖子:3156
所在地:亚利桑那州图森

发布发表:2010年4月30日星期五6:23 pm
引用回复

哈里写道:
使用上述分类卡输出
0006{

我只是在等待一些专家来研究我的帖子,他们会给我他们宝贵的建议。
尝试阅读对问题的完整答复。
引用:
如果需要+12345或-1235之类的值,则1,2,FI,EDIT =(STTTTT),SIGNS =(+,-)是另一种转换方法。
回到顶部
查看用户资料 发送私信
哈里

新的用户


已加入:2006年3月27日
帖子:31

发布发表:2010年4月30日,星期五,下午6:38
引用回复

如果我使用它会给comp-3字段提供错误的结果

(1,2,FI,EDIT =(STTTTT),SIGNS =(+,-))

我的输入文件

00000
0006C

输出:

使用(1,2,FI,EDIT =(STTTTT),SIGNS =(+,-))后为+ 01548-

或仅1,2,FI,TO = ZD,LENGTH = 5

它应该是60,而不是+01548。
回到顶部
查看用户资料 发送私信
恩里科·索里切蒂

高级主持人


已加入:2007年3月14日
帖子:10715
所在地:意大利

发布发表:2010年4月30日星期五7:07 pm
引用回复

引用:
+01548


为什么不花一点想象力...
您已将输入字段定义为二进制字段,而不是打包字段

060c(二进制)= 1548(十进制)

BI无符号二进制
FI签名二进制

如弗兰克所建议
引用:
BI,FI和PD有很多很多变体。
回到顶部
查看用户资料 发送私信
哈里

新的用户


已加入:2006年3月27日
帖子:31

发布发表:2010年4月30日,星期五7:19 pm
引用回复

如果您查看我的原始请求,我同时提到了BI和Pack-decimal。

现在你能告诉我,当我使用

输入值00000
0006C

排序卡

161,5,PD,TO = ZD,LENGTH = 5

输出量

0006{
回到顶部
查看用户资料 发送私信
恩里科·索里切蒂

高级主持人


已加入:2007年3月14日
帖子:10715
所在地:意大利

发布发表:2010年4月30日,星期五7:34 pm
引用回复

我不在乎您的原始要求...
您抱怨您得到了错误的结果,而我给了您原因!

comp-3是一个压缩的十进制,您使用了二进制<thing>

引用:
输入值
00000
0006C

使用上述分类卡输出
0006{


ZD是带符号的带区域小数
除了最后一个字节外,几乎都是char表示形式
在区域部分持有标志

F / C为正数
D为负数

看到 ibmmainframes.com/viewtopic.php?t=40254&高亮=分区+小数
回到顶部
查看用户资料 发送私信
弗兰克·雅格

DFSORT开发人员


已加入:2005年2月15日
帖子:7129
地点:加利福尼亚州圣何塞

发布发表:2010年4月30日,星期五10:38 pm
引用回复

引用:
使用上述分类卡输出
0006{


您在DFSORT论坛上发帖,所以我认为您实际上是在使用DFSORT。但是,如果您使用DFSORT,则会得到00060而不是0006 {。
因此,您必须使用Syncsort,而不是DFSORT。

我是DFSORT开发人员。 DFSORT和Syncsort是竞争产品。我很高兴回答有关DFSORT和DFSORT的ICETOOL的问题,但我不回答有关Syncsort的问题。

Please post Syncsort questions in the JCLForum.
回到顶部
查看用户资料 发送私信
哈里

新的用户


已加入:2006年3月27日
帖子:31

发布发表:2010年5月1日星期六5:49 am
引用回复

请帮我 。是的,我正在使用SYNCSORT。
回到顶部
查看用户资料 发送私信
CICS家伙

高级会员


已加入:2007年7月18日
帖子:2146
位置:在我的咖啡桌上

发布发表:2010年5月1日星期六6:24 am
引用回复

当它,您已经收到了您所要求的信息,就在那里,您为什么不看一下手册,将两个和两个放在一起?

该主题应该锁定,并且应该警告您,缺乏帮助自己的欲望应该是对您自私要求的警醒。
回到顶部
查看用户资料 发送私信
迪克·谢勒

主持人荣誉


已加入:2006年11月23日
帖子:19245
位置:矩阵内部

发布发表:2010年5月1日星期六7:49 am
引用回复

您好,

建议您通读本主题,并了解其他人告诉您的内容。

执行此操作时要考虑的一点是,您的过程正在完全正确地运行(至少从我的观察中可以看出)。您可能希望输出看起来略有不同,但是如果将其读入另一个程序,则创建的内容将起作用。 。 。

您也可以从论坛中寻找创建带符号的十进制输出时将产生的不同值,从而从中受益。

如果发现不清楚的地方,请发表发现的内容以及您的疑问,然后有人可以澄清。
回到顶部
查看用户资料 发送私信
妻子

超级版主


加入:2003年5月30日
帖子:1592

发布发表:2010年5月1日,星期六6:58 pm
引用回复

在阅读时,请记住以下几点:

你说 -
引用:
有三个字段:
1>字段1 --- PIC S9(010)COMP-3。

引用:
输入文件中的数据:

场1

00000
0006C

字段1实际上包含6个字节:
码:
000000
00006C
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
发表新话题   回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> JCL& VSAM

 


类似主题
话题 论坛 回覆
没有新帖 将文件从PD转换为显示... 同步排序 4
没有新帖 日期格式转换 DFSORT / ICETOOL 4
没有新帖 无法显示补偿变量 COBOL程式设计 4
没有新帖 转换混合了十六进制,cha ...的列 DB2 5
没有新帖 包含排序中的必需日期格式... DFSORT / ICETOOL 6
搜索我们的论坛:


回到顶部