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

控制卡更新


IBM大型机论坛 -> COBOL程式设计
发表新话题   回复主题
查看上一个主题 :: 查看下一个主题  
作者 信息
ksouren007

新的用户


已加入:2010年6月30日
帖子:85
地点:安大略省多伦多

发布发表:2010年8月18日,星期三3:17 pm
引用回复

你好

我有工作需要,但是我不确定它是否会工作,因为我从来没有做过这样的事情。请让我知道满足以下业务要求是否可行?

我有一个包含6位代理商代码的ctlcard,该代码需要手动更新,方法是在每个星期一晚上进行批处理运行时从中添加或删除代理商代码。
现在,他们希望自动执行此控制卡更新过程的手动过程,因为这涉及许多与释放过程有关的活动。

要求来自

1.将有两个文件,每个文件的长度为6个字节,一个包含要添加的代码,另一个包含要删除的代码。
2.程序将读取文件并相应地更新ctlscard(PDS成员),就像输入的代码已经存在于ctlcard中一样,它将绕过该代码并在不存在时进行写入。删除的逻辑相同。

现在,这需要逐条读取控制卡记录,就像记录一样,并进行相应处理。我不确定PDS成员是否可以在jcl中声明为文件,是否可以像COBOL程序中的文件一样读取/更新。这可行吗?

请指教。
回到顶部
查看用户资料 发送私信
dbzTHEdinosauer

全球主持人


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

发布发表:2010年8月18日,星期三3:31 pm
引用回复

索伦写道:
这可行吗?

**叹**是

记得 总是 在任何引用PDS成员的DD语句上使用DISP = SHR。
回到顶部
查看用户资料 发送私信
阿努·达万(Anuj Dhawan)

高级会员


已加入:2006年4月22日
帖子:6250
地点:印度孟买

发布发表:2010年8月18日,星期三5:14 pm
引用回复

COBOL:
码:
SELECT FDname分配给DDname

JCL:
码:
// DDname DD dsn = PDSname(membername)
我希望针对给定的问题,您只想阅读一个成员?
回到顶部
查看用户资料 发送私信
dbzTHEdinosauer

全球主持人


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

发布发表:2010年8月18日,星期三5:56 pm
引用回复

记住,他必须潜在地更新成员
因为他正在将现有内容与
使用和不使用文件
这意味着读写。

TS还暗示所有三个文件都将是多记录的。

从逻辑上讲,拥有4个FD会更简单,从而消除代码中的输入/输出逻辑问题
  • 原始成员
    • 打开输入
    • 加载到cobol内部表
    • 显示记录读取
  • 使用代码
    • 打开输入
    • 读取并添加到CI表
  • 删除代码
    • 打开输入
    • 从CI表读取和删除
  • 新创建的成员
    • 打开输出
    • 写入活动表项


我添加了显示记录,以防万一出现问题
  • 程序错误
  • 错误添加文件
  • 错误的del文件
可以通过编辑sysout并使用ISPF EDIT REPLACE Member语句从sysout手动重建该成员。
回到顶部
查看用户资料 发送私信
ksouren007

新的用户


已加入:2010年6月30日
帖子:85
地点:安大略省多伦多

发布发表:2010年8月20日,星期五12:47 pm
引用回复

“新创建的成员”-但要求仅更新该特定的ctlcard,以后将由其他作业使用。因此,可能是作业中的一个复制步骤将原来的成员替换为新创建的成员。

还有一件事...该ctlcard中的内容将保持定期更新,从而更改其中的记录数。在那种情况下,如何确定要在其中加载ctlcard的数组大小,或者简单地用999预定义数组是一个好方法?
回到顶部
查看用户资料 发送私信
dbzTHEdinosauer

全球主持人


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

发布发表:2010年8月20日,星期五2:30 pm
引用回复

引用:
因此,可能是作业中的一个复制步骤将原来的成员替换为新创建的成员。


1.原始成员和新创建的成员是相同的dsn。这就是为什么我说4 FD而不是3。

2.有多少个潜在的6位数代理商代码? 999,999。
如果alpha也是代理代码的一部分,那么还有更多。
因此,您需要一个999,999个项目的COBOL内部表。
在COBOL中,术语数组仅指db2主机变量数组,
否则,该术语为COBOL内部表。
回到顶部
查看用户资料 发送私信
ksouren007

新的用户


已加入:2010年6月30日
帖子:85
地点:安大略省多伦多

发布发表:2010年8月20日,星期五2:54 pm
引用回复

哦...现在就知道了...非常感谢您的帮助,我将尝试一下!
回到顶部
查看用户资料 发送私信
ksouren007

新的用户


已加入:2010年6月30日
帖子:85
地点:安大略省多伦多

发布发表:2010年8月20日,星期五6:11 pm
引用回复

通过详细的要求时,几乎没有其他事情发生。

o在两个文件都为空的情况下运行新作业
作业成功运行,并且触发并发送了电子邮件通知

o添加文件中的所有代码号已存在,删除文件为空
作业成功运行,并触发了电子邮件通知。

o控制卡中不存在删除文件中的所有代码,添加文件为空
作业成功运行,并触发了电子邮件通知。

我了解要做的是在执行该程序的下一步中添加一个SMTPMAIL实用程序。该作业中的MAIL步骤将基于其previos步骤的条件代码运行。在程序中,可以通过使用上述条件的标志来捕获情况。

现在,我将如何将自定义条件代码传递给运行此程序的工作步骤...或通过其他一些方式来实现此目标。
回到顶部
查看用户资料 发送私信
ksouren007

新的用户


已加入:2010年6月30日
帖子:85
地点:安大略省多伦多

发布发表:2010年8月20日星期五6:19 pm
引用回复

我想到的另一种方法是...创建新成员后,我可以在工作中添加SUPERCE步骤,以比较原始ctlcard(最好是临时文件)和新替换的ctlcard的备份...如果RC为零,则下一步将射击邮件。
这样行得通吗?
回到顶部
查看用户资料 发送私信
dbzTHEdinosauer

全球主持人


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

发布发表:2010年8月20日星期五6:57 pm
引用回复

ksouren007写道:
我想到的另一种方法是...创建新成员后,我可以在工作中添加SUPERCE步骤,以比较原始ctlcard(最好是临时文件)和新替换的ctlcard的备份...如果RC为零,则下一步将射击邮件。
这样行得通吗?


为什么呢?
在程序中,如果有逻辑设置“标志”
  • 现有中找到一个“待删除”
  • 在现有文件中找不到“要添加”

两种情况都表明已更改原始版本。从程序退出时设置返回码特殊寄存器。
另外,如果'delete'='add',您该怎么办?
回到顶部
查看用户资料 发送私信
ksouren007

新的用户


已加入:2010年6月30日
帖子:85
地点:安大略省多伦多

发布发表:2010年8月23日星期一11:36 am
引用回复

delete = add会自动按照“如果有添加则绕过”的逻辑来小心处理...
回到顶部
查看用户资料 发送私信
ksouren007

新的用户


已加入:2010年6月30日
帖子:85
地点:安大略省多伦多

发布发表:2010年8月23日星期一3:50 pm
引用回复

一个问题...如果使用VSAM文件代替Cobol内部表,那么I / O开销会有所不同吗?
回到顶部
查看用户资料 发送私信
dbzTHEdinosauer

全球主持人


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

发布发表:2010年8月23日星期一3:51 pm
引用回复

ksouren007写道:
一个问题...如果使用VSAM文件代替Cobol内部表,那么I / O开销会有所不同吗?


仅与vsam文件有关的I / O。
回到顶部
查看用户资料 发送私信
ksouren007

新的用户


已加入:2010年6月30日
帖子:85
地点:安大略省多伦多

发布发表:2010年8月25日,星期三,晚上8:36
引用回复

感谢大家和dbz的所有帮助。

我可以仅通过Proc来解决问题,不需要程序。 ICETOOL只是删除过程有点复杂,但是在论坛的帮助下,它也得以解决...它现在可以正常工作。

再次感谢您的帮助。
回到顶部
查看用户资料 发送私信
查看上一个主题 :: :: 查看下一个主题  
发表新话题   回复主题 查看书签
所有时间均为格林尼治标准时间+ 6小时
论坛索引 -> COBOL程式设计

 


类似主题
话题 论坛 回覆
没有新帖 同步排序错误-超出控制范围... 同步排序 10
该主题已锁定:您无法编辑帖子或回复。 在一个解析中超过1000列... 同步排序 10
该主题已锁定:您无法编辑帖子或回复。 Control-M信息。 清单和REXX 1
没有新帖 IEBCOPY-成员副本的通配符??? JCL和VSAM 2
没有新帖 使用省略符号创建动态排序卡... DFSORT / ICETOOL 9
搜索我们的论坛:


回到顶部