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

无法确定VBA文件中日期的INCLUDE语句


IBM大型机论坛 -> JCL和VSAM
 发表新话题     回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
黛博拉·舒格兹(Deborah Shugerts)

新的用户


已加入:2009年10月14日
帖子:10
地点:佛罗里达小隔间...

 发布 发表:2011年6月21日,星期二,10:46 pm
 引用回复

我有一个文件RECFM = VBA LRECL = 4100 BLKSIZE = 4104,我要在其中“删除”具有特定日期的记录。该日期采用YYDDD朱利安日期格式,从17位开始,为3个字节。在下面的示例中,日期对于RECORD1为11152F(06/01/11),对于RECORD2为11171F(06/20/11)。

输入(十六进制打开):

记录1

/ CT ... j ................
6CE03292112032221120000
1330591015F0597015F0000

记录2

.CT.íêØ.....í&î........
2CE25582111255521110000
A333520017F3506017F0000

我想“删除”朱利安日期11171的所有记录,并将所有其他记录写入MY.OUTPUT.FILE

我已经为我的INCLUDE语句尝试了几种组合(PD0,BI和Y2U)。还尝试使用起始位置21,因为可变长度记录的第一个数据字节的相对位置为5。这些尝试均无效。

码:
// SORTSTEP EXEC PGM = SYNCTOOL                             
// DFSMSG    DD   SYSOUT=*                               
//他汀类药物   DD DISP = SHR,DSN = MY.INPUT.FILE
//退出 DD DISP = SHR,DSN = MY.OUTPUT.FILE
// CON1CNTL DD *                                          
  INCLUDE COND=(17,3,BI,NE,X'11171F')                   
  SORT FIELDS=COPY                                     
//工具   DD   SYSOUT=*                               
//报告    DD   SYSOUT=*                               
// TOOLIN    DD *                                         
  SORT FROM(STATIN) TO(STATOUT) USING(CON1)
/ *

WER428I CALLER提供的标识符为“ 0001”
WER108I STATIN:RECFM = VBA; LRECL = 4100; BLKSIZE = 4104
WER073I STATIN:DSNAME = MY.INPUT.FILE
WER110I STATOUT:RECFM = VBA; LRECL = 4100; BLKSIZE = 4104
WER074I登出:DSNAME = MY.OUTPUT.FILE
WER055I插入0,删除38035
WER449I SYNCSORT全局DSM子系统活动
WER054I RCD输入38035,输出0
WER169I版本1.4批次0518 TPF等级0.0
WER052I结束同步-CDDELETE,SORTSTEP ,, DIAG = A400,73C2,882E,0044,ECD2,48CB,0
YT000I SYNCTOOL Release 1.7.0-COPYRIGHT 2008 SYNCSORT INC。
YT001I初始处理模式为“停止”
使用YT002I“ TOOLIN”接口
使用(CON1)从(STATIN)到(STATOUT)排序
SYT020I同步标识符为“ 0001”的消息
SYT030I操作已完成并返回代码0
SYT004I同步处理已完成,返回码为0
回到顶部
查看用户资料 发送私信
dbzTHEdinosauer

全球主持人


已加入:2006年10月20日
帖子:6967
位置:瓷宝座

 发布 发表:2011年6月21日,星期二,10:53 pm
 引用回复

引用:
WER052I结束同步
回到顶部
查看用户资料 发送私信
赤胜

全球主持人


已加入:2009年10月3日
职位:1788
地点:伊利诺伊州布卢明顿

 发布 发表:2011年6月21日,星期二,11:32 pm
 引用回复

黛博拉·舒格茨写道:
我有一个文件RECFM = VBA LRECL = 4100 BLKSIZE = 4104,我要在其中“删除”具有特定日期的记录。该日期采用YYDDD朱利安日期格式,从17位开始,为3个字节。在下面的示例中,日期对于RECORD1为11152F(06/01/11),对于RECORD2为11171F(06/20/11)。

输入(十六进制打开):

记录1

码:
/ CT ... j ................     
6CE03292112032221120000
1330591015F0597015F0000


记录2

码:
.CT.íêØ.....í&î........
2CE25582111255521110000
A333520017F3506017F0000


(已添加代码标签。)

您显示的数据的日期从开始位置 9 (不计算RDW),不定位 17。您是否误记了半字节字节?
回到顶部
查看用户资料 发送私信
sqlcode1

活跃的成员


已加入:2010年4月8日
帖子:577
地点:美国

 发布 发表:2011年6月21日,星期二,11:33 pm
 引用回复

黛博拉·舒格兹(Deborah Shugerts),
引用:
我有一个文件RECFM = VBA LRECL = 4100 BLKSIZE = 4104

尝试
码:
包含COND =(22,3,BI,NE,X'11171F')

谢谢,
回到顶部
查看用户资料 发送私信
sqlcode1

活跃的成员


已加入:2010年4月8日
帖子:577
地点:美国

 发布 发表:2011年6月21日,星期二,11:36 pm
 引用回复

赤胜
看起来OP在浏览时在第9位(或第13位,包括RDW和CC)和第17位(或第22位,包括RDW和CC)具有相同的数据。

谢谢,
回到顶部
查看用户资料 发送私信
黛博拉·舒格兹(Deborah Shugerts)

新的用户


已加入:2009年10月14日
帖子:10
地点:佛罗里达小隔间...

 发布 发表:2011年6月21日,星期二,11:45 pm
 引用回复

有2个日期字段...结束日期(从第9个位置开始)和开始日期(从第17个位置开始)。我只关心包含/排序的pos 17日期。
回到顶部
查看用户资料 发送私信
黛博拉·舒格兹(Deborah Shugerts)

新的用户


已加入:2009年10月14日
帖子:10
地点:佛罗里达小隔间...

 发布 发表:2011年6月21日,星期二,11:49 pm
 引用回复

非常感谢... INCLUDE COND =(22,3,BI,NE,X'11171F')工作正常。我猜在我的世界中17 + 5 =21。很抱歉为如此愚蠢的错误而困扰所有人。再次感谢。
回到顶部
查看用户资料 发送私信
迪克·谢勒

主持人荣誉


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

 发布 发表:2011年6月22日星期三上午9:19
 引用回复

您好,

引用:
很抱歉打扰大家这个愚蠢的错误。
不要担心  icon_smile.gif

实际上,我很高兴看到其他人也受到键盘或算术挑战。
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
 发表新话题     回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> JCL和VSAM

 


类似主题
话题 论坛 回覆
该主题已锁定:您无法编辑帖子或回复。 将匹配的记录写入输出文件 DFSORT / ICETOOL 11
 没有新帖 比较文件记录计数百分比... DFSORT / ICETOOL 4
 没有新帖 比较两个文件以查找位置/日期... 同步排序 2
 没有新帖 使用SORT进行日期转换 同步排序 4
 没有新帖 将文件从PD转换为显示... 同步排序 4
搜索我们的论坛:


 回到顶部