Db2 如何在cics映射中显示表数据

Db2 如何在cics映射中显示表数据,db2,cobol,cics,Db2,Cobol,Cics,我有一个包含50行的db2表。如何在已创建的cics映射中显示此数据。可能吗?如果是,如何在最多24行的屏幕中容纳50行数据。谢谢您的屏幕是24行80列。如果行包含的数据少于40列,则可以创建两列显示。我假设您的CICS页面有一个页眉和一个页脚,所以您没有全部24行。您必须创建多个CICS页面来显示50个DB2行 如果可以将DB2信息放在一个CICS字段中,则可以执行以下操作: LINE DFHMDF POS=(03,01), LENGTH=79,

我有一个包含50行的db2表。如何在已创建的cics映射中显示此数据。可能吗?如果是,如何在最多24行的屏幕中容纳50行数据。谢谢

您的屏幕是24行80列。如果行包含的数据少于40列,则可以创建两列显示。我假设您的CICS页面有一个页眉和一个页脚,所以您没有全部24行。您必须创建多个CICS页面来显示50个DB2行

如果可以将DB2信息放在一个CICS字段中,则可以执行以下操作:

LINE  DFHMDF POS=(03,01),
             LENGTH=79,
             ATTRB=(ASKIP,NORM,PROT),
             OCCURS=20 
如果需要多个CICS字段,则必须单独列出每一行。CICS中不存在组


如果您只想将字段转储到终端,您可以执行“EXEC CICS发送文本”,并在提供分页的情况下以文本字符串的方式格式化数据

然而,您说您已经有了一个映射,该映射被约束到只有24个80字节行的Mod-2终端。如果是这样,你的地图已经存在,你怎么能问我们如何显示它?你已经有了50个字段的地图。填充这些字段并使用“EXEC CICS发送映射”


如果您发布了您拥有的地图,或者您希望显示的数据项的大小,您可能会得到更好的答案……

您必须编写自己的滚动逻辑。这个轮子已经被发明了很多次了,大概已经在你自己的商店里完成了。搜索其他类似交易和地图,然后复制。有一个古老的笑话说,只有一个原始的COBOL程序,而所有其他程序都是从中复制的。你的任务会简单得多,从已经编写的执行相同任务的东西开始


请记住,您将不得不处理向前和向后滚动(传统上是PF7和PF8键)以及表格的开头和结尾。

对不起,我对COBOL了解不够,无法帮助您。但是,由于逻辑上不可能在一个只能显示24行的屏幕上显示50行信息,我建议您查看分页结果。很可能您所在的商店已经有了一个模板程序来进行基本的分页CICS显示。对于初学者来说,这些事务可能相当复杂,难以理解。此外,有大约一百万种不同的编程模式可以用来做这类事情,所以每个商店都有自己的标准和指导方针。最好在这里向您的程序员同伴寻求一些指导。因此,可以帮助回答更直接/一般的问题。如果使用SDF 2,您可以在SDF中定义occurs,并生成相关字段。在字段所在的位置仍然有一个点。大多数Cobol商店都有许多此类程序的示例,请复制和修改其中的一个。