查看上一个主题 :: 查看下一个主题
|
作者 |
信息 |
vinay_r03
新的用户
已加入:2012年11月20日 帖子:5 地点:印度
|
|
|
|
大家好,
以下是电话采访中向我提出的几个问题:
问题1:如果DB2表中有一列存储天(即周一,周二等),我们如何获取按天排序的数据?下面是示例:
PK日
1个星期一
周三2
3星期五
星期六4。
如何获得按天排序的数据,如下所示:
星期一
星期二
星期三
星期五
星期六
我的答案:
我无法回答这个问题。但是后来我发现,在SELECT查询中使用CASE语句,我们可以将值分配给天,并以此为基础进行排序。但是我还不确定。谁能帮我解决这个问题并提供正确的语法?
问题2:如何将文件中的记录存储在MVS中?是基于LRECL还是BLK大小?
我的答案:
我提到过,处于固定阻止模式的平面文件中的记录将以Blk大小存储,因为这是物理长度。 LRECL是开发人员用于处理的逻辑记录。
问题3:如何根据给定的记录数,记录长度和分配类型(Viz TRK,CYL)了解为平面文件分配的字节
我的答案:
我不知道答案,但后来发现数据集所需的总空间(以字节为单位)=记录长度*最大记录数。
Q4:绑定后是否有任何DB2命令来获取DB2选择的访问路径,如果存在,那是什么?
我的答案:
我不知道答案。
剩下的直接问题是关于计划和软件包之间的差异,COBOL-DB2执行阶段(预编译,绑定,编译,链接,执行),SQL错误代码,SQLCA,DB2目录表,JCL中的DISP参数以及SOC7,SB37之类的异常终止。
我期待得到我错/不确定的答案。
提前致谢。
带着敬意,
维奈河 |
|
回到顶部 |
|
 |
菲尔比(Phrzby Phil)
高级会员
已加入:2006年10月31日 帖子:1015 地点:弗吉尼亚州里士满
|
|
|
|
很好地使用“ viz”。维娜! |
|
回到顶部 |
|
 |
恩里科·索里切蒂
高级主持人

已加入:2007年3月14日 帖子:10715 所在地:意大利
|
|
|
|
引用: |
问题3:如何根据给定的记录数,记录长度和分配类型(Viz TRK,CYL)了解为平面文件分配的字节
我的答案:
我不知道答案,但后来发现数据集所需的总空间(以字节为单位)=记录长度*最大记录数。
|
这个问题和使用的terminoloy非常模糊...
情况尚不清楚
无论如何
在什么意义上是必需的....
你要什么
需要什么来满足您的要求...
zOS将分配什么
如果您要1(一个)80字节记录
zOS将(按dasd几何形状)分配55,840个字节
(每个轨道2个块,具有最佳blksize)
码: |
数据集信息
Command ===>
数据集名称。 。 。 。 : ENRICO.MFTESTS.F1
General Data Current Allocation
管理类。 。: **None** 分配的字节数。 。: 55,840
Storage class . . . : **None** 分配范围。: 1
Volume serial . . . : STOR03
Device type . . . . : 3390
数据类。 。 。 。 。: **None** Current Utilization
Organization . . . : PS Used bytes . . . . : 0
Record format . . . : FB Used extents . . . : 0
Record length . . . : 80
Block size . . . . : 27920
1st extent bytes . : 55840
Secondary bytes . . : 80
Data set name type : SMS Compressible : NO
Creation date . . . : 2012/11/28 参考日期。 。: 2012/11/28
Expiration date . . : ***None*** |
和ISPF 3.4
码: |
DSLIST-匹配ENRICO.MF *的数据集 Row 1 of 1
Command ===> Scroll ===> CSR
Command - Enter "/" to select action Tracks %Used XT
-------------------------------------------------- -----------------------------
ENRICO.MFTESTS.F1 1 0 1
*****************************数据集列表的结尾**************** ************
|
|
|
回到顶部 |
|
 |
vinay_r03
新的用户
已加入:2012年11月20日 帖子:5 地点:印度
|
|
|
|
菲尔兹比·菲尔写道: |
很好地使用“ viz”。维娜! |
Thanx Phrzby Phil :) |
|
回到顶部 |
|
 |
neha_cap
新的用户
已加入:2012年12月4日 帖子:15 地点:浦那
|
|
|
|
只是为了在JCL上添加更多问题.....在一次采访中被问到:
1.如果您有两个文件,文件1.包含记录:100,100,100 ...其中仅3个记录,文件2包含记录200,200,200,200仅包含4个记录....现在我们如何在其中写入记录第三文件,其中包含上述文件中的记录100,200,100,200,100,200 .... ????
2.如果您有一个文件,而一个.no是密钥,则该文件具有一些重复的记录,例如..... 100 abc
101 def
100 ghi
103 jkl
现在,如果我们想将上面的记录写到另一个不包含重复记录的文件中,则应选择记录键100,该记录的键不是abc ...我们该怎么做...
请通过JCL保留上述两个问题,不要使用cobol pgms ... |
|
回到顶部 |
|
 |
vinay_r03
新的用户
已加入:2012年11月20日 帖子:5 地点:印度
|
|
|
|
恩里科·索里切蒂写道: |
引用: |
问题3:如何根据给定的记录数,记录长度和分配类型(Viz TRK,CYL)了解为平面文件分配的字节
我的答案:
我不知道答案,但后来发现数据集所需的总空间(以字节为单位)=记录长度*最大记录数。
|
这个问题和使用的terminoloy非常模糊...
情况尚不清楚
无论如何
在什么意义上是必需的....
你要什么
需要什么来满足您的要求...
zOS将分配什么
如果您要1(一个)80字节记录
zOS将(按dasd几何形状)分配55,840个字节
(每个轨道2个块,具有最佳blksize)
码: |
数据集信息
Command ===>
数据集名称。 。 。 。 : ENRICO.MFTESTS.F1
General Data Current Allocation
管理类。 。: **None** 分配的字节数。 。: 55,840
Storage class . . . : **None** 分配范围。: 1
Volume serial . . . : STOR03
Device type . . . . : 3390
数据类。 。 。 。 。: **None** Current Utilization
Organization . . . : PS Used bytes . . . . : 0
Record format . . . : FB Used extents . . . : 0
Record length . . . : 80
Block size . . . . : 27920
1st extent bytes . : 55840
Secondary bytes . . : 80
Data set name type : SMS Compressible : NO
Creation date . . . : 2012/11/28 参考日期。 。: 2012/11/28
Expiration date . . : ***None*** |
和ISPF 3.4
码: |
DSLIST-匹配ENRICO.MF *的数据集 Row 1 of 1
Command ===> Scroll ===> CSR
Command - Enter "/" to select action Tracks %Used XT
-------------------------------------------------- -----------------------------
ENRICO.MFTESTS.F1 1 0 1
*****************************数据集列表的结尾**************** ************
|
|
非常感谢您提供的信息,这对我很有帮助。  |
|
回到顶部 |
|
 |
vinay_r03
新的用户
已加入:2012年11月20日 帖子:5 地点:印度
|
|
|
|
[quote =“ neha_cap”]只需要在JCL .....上添加一些其他问题,这些问题是在采访中提出的:
2.如果您有一个文件,而一个.no是密钥,则该文件具有一些重复的记录,例如..... 100 abc
码: |
101 def
100 ghi
103 jkl |
现在,如果我们想将上面的记录写到另一个不包含重复记录的文件中,则应选择记录键100,该记录的键不是abc ...我们该怎么做...
我们可以针对这个问题尝试使用ICETOOL:在给定的情况下,假设对于每个键我们都必须选择最后一个重复的值,则解决方案如下所示:
码: |
// SORT01 EXEC PGM=ICETOOL
// TOOLMSG DD SYSOUT = *
// DFSMSG DD SYSOUT=*
// TOOLIN DD *
SELECT FROM(INDD) TO(OUTDD) ON(1,3,ZD) LAST
DISCARD(SAVEREST)
/ *
// DFSCNTL DD *
排序字段=(1,3,ZD,A)
// INDD DD DSN = ORDA.SORT.TEST.BSAM,DISP = SHR
//输出 DD DSN = ORDA.SORTED.TEST.BSAM,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(80,(4,2),RLSE),VOL=(,,,59),
// AVGREC=K,DCB=(RECFM=FB,LRECL=80) |
|
|
回到顶部 |
|
 |
neha_cap
新的用户
已加入:2012年12月4日 帖子:15 地点:浦那
|
|
|
|
非常感谢你Vinay! |
|
回到顶部 |
|
 |
vinay_r03
新的用户
已加入:2012年11月20日 帖子:5 地点:印度
|
|
|
|
你好
在我选择最后一个重复代码的那段代码中有一个小错误。更正的代码在这里。
码: |
// SORT01 EXEC PGM=ICETOOL
// TOOLMSG DD SYSOUT = *
// DFSMSG DD SYSOUT=*
// TOOLIN DD *
SELECT FROM(INDD) TO(OUTDD) ON(1,3,ZD) LAST
/ *
// DFSCNTL DD *
排序字段=(1,3,ZD,A)
// INDD DD DSN = ORDA.SORT.TEST.BSAM,DISP = SHR
//输出 DD DSN = ORDA.SORTED.TEST.BSAM,
// DISP=(NEW,CATLG,DELETE),
// SPACE=(80,(4,2),RLSE),VOL=(,,,59),
// AVGREC=K,DCB=(RECFM=FB,LRECL=80) |
基本上,我们不需要TOOLIN中的Discard语句。 |
|
回到顶部 |
|
 |
盖伊
高级会员
已加入:2009年8月11日 帖子:1281 地点:比利时
|
|
|
|
Q1按天排序的数据:
码: |
由DAYOFWEEK_ISO订购(col1) |
Q4:绑定后选择了访问路径DB2
V10 :
|
|
回到顶部 |
|
 |
恩里科·索里切蒂
高级主持人

已加入:2007年3月14日 帖子:10715 所在地:意大利
|
|
|
|
您是否注意到使用代码标记显示了jcl / code / data片段,以提高可读性。 ?
而且,不,它不会自行发生,我编辑了您的帖子以添加它们(代码标签)  |
|
回到顶部 |
|
 |
|