ZD ZDC数据类型 sort

概述

  dfsort是IBM的产品,syncsort是SYNCSORT公司的产品,但两者相似度极高。基本上会用其中一个就会用另外一个,下文将以sort代表两者。本文介绍sort中数据类型的注意点及一些常用并且十分有用的数据类型。

 https://www.ibm.com/support/knowledgecenter/SSLTBW_2.4.0/com.ibm.zos.v2r4.icea100/sorcst.htm

类型

1.ZDZDFZDC

  ZD可说是sort中最常用的数据类型之一,表示十进制数(zoned decimal)

  ZD实际是有符号,所以有一个问题就是正数的最后一个字节的高4bit默认是C,并不是F。所以最后一位显示时并不是0(X'F0')~9(X'F9'), 而是{(X'C0')~I(X'C9')。有时并不想要这个结果,这时ZDF就派上场了。ZDF与ZD相似,但对于ZDF来说,正数的最后一个字节的高4bit默认是F,这样在显示正数时就正常了。但比较浮云的是,因为负数的内存形式仍然与ZD无异(最后一位为X'D0'~X'D9',显示时不是数字),所以要比较合理地显示数字,最好还是使用EDIT语句。

  ZDC等同于ZD

  例子

  输入,PD类型的+1145728:

显示

.

.

.

.

HEX MODE

11

45

72

8C

  

  

 

 

  各种情况输出:

1,4,PD,TO=ZD/ZDC

显示

1

1

4

5

7

2

H

HEX MODE

F1

F1

F4

F5

F7

F2

C8

  

 

 

  

  1,4,PD,TO=ZDF

显示

1

1

4

5

7

2

8

HEX MODE

F1

F1

F4

F5

F7

F2

F8

  

 

 

 

  1,4,PD,EDIT=(STTTTTTT,SIGN=(+,-))

显示

+

1

1

4

5

7

2

8

HEX MODE

4E

F1

F1

F4

F5

F7

F2

F8

  

 

 

 

2.BIFI

  BI表示binary,要点是BI是无符号的,也就是按原码存储,即使第一个bit为1也是正数。

  Fi则是有符号的binary第一个bit为0则是正数,第一个bit为1则是负数。负数是补码形式的。

   X'E163',如果是BI则是57699,如果是FI则是-7837

 

3.UFFSFF

  UFF表示自由形式的数字。所有非0~9的字符都被忽略。

  $2,232,98,32.540 → +22329832540

  173/821/@5 → +1738215

  ABC → +0

 

  SFF与UFF相似,但SFF是有符号的,在任何位置出现-或),都视为负数

  -76,23.847 → -7623847

  (234/32/E2) → -234322

 

4.AQ

  (1)改变默认顺序。

  例:排序的时候,X'5B'将在X'EA'之前,X'E9'之后。相当于EBCDIC码表的顺序被改变为了 E9 5B EA,当然只有在这里的SORT语句中生效,系统的EBCDIC码表还是老样子.

  SORT FIELDS=(1,1,AQ,A)

  ALTSEQ CODE=(5BEA)

   注意:sort中语句的顺序是没有约束的,所以这里将ALTSEQ写在后面是可以的。

 

  (2)替换。

  例:将X'C3'替换为X'F1',将X'C4'替换为X'F2'

  ALTSEQ CODE=(C3F1,C4F2)

  OUTREC BUILD=(1,80,TRAN=ALTSEQ)

 

5.SS

  SS表示在一个字符串中包含某个字符串。

  例:一条记录的前十个字节中只要包含ALAN,这条记录就会参与排序。

  INCLUDE COND=(1,10,SS,EQ,C'ALAN')

参考

  (1)z/OS V1R12.0 DFSORT Application Programming Guide

  http://publibz.boulder.ibm.com/cgi-bin/bookmgr_OS390/BOOKS/ICE1CA50/CCONTENTS?SHELF=ICE1SH50&DN=SC26-7523-05&DT=20100630155256

  (2)ASCII or EBCDIC

  http://www.simotime.com/asc2ebc1.htm

 
分类: mainframe
原文地址:https://www.cnblogs.com/kakaisgood/p/13294527.html