cobol系统导出的数据集通常为vsam文件,无法用普通工具直接打开查看,

为cobol文件创建源(source)时不能通过普通文件(flat file)的方式直接导入。

需要借助cobol文件格式描述文件(.cbl),里面包含cobol固定的格式段描述和copybook(包含源的字段类型长度和层组),

copybook一般在cobol提供cobol文件时会提供的可以直接用记事本打开的ascii文件,内容如下面的橙色部分或test.cpy,

在Mapping Designer->Source -> Import COBOL files中选中此描述文件才可导入cobol文件的源表(source).

格式描述文件主体内容如下:

        identification division. program-id.mead. environment division. select file-1 assign to "fname".
        data division. file section. fd FILE-1. * --------COPYBOOK GOES HERE------- procedure division. stop run.

identification division 标识部
environment division 环境部
data division 数据部
procedure division 过程部
file-1 为导入后的source name 中划线-将被被替换为下划线_
file section 文件节*----copybook 此处用实际copy句替换掉stop run. 描述文件终止结束运行

注意:每行前八位为空格 结尾为英文句号,copy语句中的中划线在导入之后会被替换为下划线.

第八行注释,通过copy句或copybook替换掉,例如test.cbl

橙色为copy句或者copybook,此文件可以把橙色替换为实际的copy句之后直接导入.

        Identification division. Program-id.mead. environment division. select cr3872-file assign to "cr3872.dat".
        organization sequential. data division. file section. fd cr3872-file. 01 EXPERT. 05 SPOUSE-CHILD. 10 SPOUSE-INFO. 15 SP-CHILD PIC X. 15 SPOUSE-NAME. 20 SPOUSE-FNAME PIC X(14). 20 SPOUSE-LNAME PIC X(20). 10 CHILD-INFO OCCURS 6 TIMES. 15 CHILD-NAME. 20 CHILD-FNAME PIC X(14). 20 CHILD-LNAME PIC X(20). 15 CHILD-RELATIONSHIP PIC X(15). 15 CHILD-BDATE PIC 9(6). 15 CHILD-AGE PIC 9(2). working-storage section. 01junk PIC x(100). procedure division. stop run.

但是,实际应该用中的copy句或者copybook文件会有很多行,而且会有多个文件,

例如test.cpy(从第8列到第74列才为真正的数据部)

00550001 EXPERT.
099500 05 SPOUSE-CHILD.
099600 10 SPOUSE-INFO.
099700 15 SP-CHILD
099800 PIC X.
099900 15 SPOUSE-NAME.
100000 20 SPOUSE-FNAME
100100 PIC X(14).
100400 20 SPOUSE-LNAME
100500 PIC X(20).
105600 10 CHILD-INFO OCCURS 6 TIMES.
105700 15 CHILD-NAME.
105800 20 CHILD-FNAME
105900 PIC X(14).
106100 20 CHILD-LNAME
106200 PIC X(20).
106300 15 CHILD-RELATIONSHIP
106400 PIC X(15).
106500 15 CHILD-BDATE PIC 9(6).
106700 15 CHILD-AGE PIC 9(2).

这样我们可以改写之前的数据描述文件test.cbl 为如下:

        environment division. select cr3872-file assign to "cr3872.dat"
        organization sequential. data division. file section. fd cr3872-file. copy"test.cpy". working-storage section. 01 junk PIC x(100). procedure division. stop run. end.

copy"test.cpy". 引用copybook

如此,把test.cbl 和test.cpy放在同一目录,通过这两个文件可以创建cobol文件的源(source)了。test.cbl

test.cpy

cobol file source

本文参考引用了如下链接:

https://kb.informatica.com/whitepapers/1/Pages/15301.aspx

https://kb.informatica.com/whitepapers/1/Pages/15159.aspx

 

转载于:https://www.cnblogs.com/dl-ekong/p/8492037.html

【Informatica PWC】如何利用copybook导入cobol,vsam文件相关推荐

  1. npoi的mvc怎么ajax导出,asp.net mvc利用NPOI导入导出Excel解决方法

    asp.net mvc利用NPOI导入导出Excel 导出Excel 2003没有问题,导出Excel2007老是出现无法访问已关闭的流,请帮忙解决,或是哪位有mvc导入导出excel的工具类能提供, ...

  2. iOS开发- 文件共享(利用iTunes导入文件, 并且显示已有文件)

    layout: post #iOS开发- 文件共享(利用iTunes导入文件, 并且显示已有文件) title: iOS开发- 文件共享(利用iTunes导入文件, 并且显示已有文件) #时间配置 d ...

  3. Solr初探(五)---Solr7.5利用DIH导入结构化数据构建索引

    才疏学浅,欢迎批评指正 Solr7.5利用DIH导入结构化数据构建索引 1.什么是DIH 2.使用DIH 3.使用DIH中遇到的一些问题 7.5利用DIH导入结构化数据构建索引 1.什么是DIH 按照 ...

  4. 在word中利用Endnote导入文献时提示“无法编辑range”的解决办法-基本上通过以下方法都可以解决

    在word中利用Endnote导入文献时提示"无法编辑range"的解决办法 注意:在处理这个问题之前,请复制word以备份我们要处理的word文件,否则后期如果我们调整了word ...

  5. php excel导入数组,利用PHPExcel导入xlsx/xls,将xlsx、xls转换为数组

    项目的原因有时候我们需要把xls的文件数据导入到数据库,今天青岛星网先跟大家分享:利用PHPExcel导入xlsx/xls,将xlsx.xls转换为数组的思路方法. 利用PHPExcel导入xlsx/ ...

  6. 利用Excel导入数据库的几种实现方式

    利用Excel导入数据库的几种实现方式 Ⅰ 直接使用navicat导入 tips:要导入的excel中的字段与数据库表中的字段对应好 选中数据表后,点击导入向导 选择数据源 一路next,然后出现这一 ...

  7. code block怎样导入整个文件夹_利用ArcGis导入数据之四(dxf——Geomap、CAD、CorelDraw)...

    利用ArcGis导入数据之四(dxf--Geomap.CAD.CorelDraw) 一.应用目标 在油气行业,地质方面Geomap应用相当广泛,建设方面也有CAD,作图方面CorelDraw应用也多, ...

  8. mvc npoi导出excel ajax,ASP.Net MVC利用NPOI导入导出Excel

    因近期项目遇到所以记录一下: 首先导出Excel: 首先引用NPOI包 http://pan.baidu.com/s/1i3Fosux (Action一定要用FileResult) /// /// 批 ...

  9. 在Word中利用EndNote导入参考文献

    利用EndNote导入参考文献 前言 今天下午在实验室,看到几位师弟师妹在讨论毕业论文参考文献的问题,突然想到可以使用EndNote进行这部分工作,然后对其进行了学习. 一.导入参考文献 首先是利用E ...

最新文章

  1. JVM---堆(逃逸分析与代码优化)
  2. python 面向对象的篮球技巧训练实现
  3. 02. Creating a Web Forms User Interface
  4. 父子/父孙传参(Provide/inject方式)
  5. 传参:@RequestParam @RequestBody @PathVariable的作用
  6. Linux之web服务搭建静态网页------综合练习
  7. Spring源码之ApplicationContext(四)功能补充
  8. 2021黑龙江人高考成绩查询,2021年黑龙江高考成绩查询网站查分网址:https://www.lzk.hl.cn/...
  9. matlab设计光栅,光栅原理及MATLAB仿真.doc
  10. 操作系统——内存映射文件
  11. editText属性
  12. BoundsChecker教程
  13. 《嵌入式 - STM32开发指南》手把手教你搭建STM32开发环境 [Linux版 - 1]
  14. 【系统分析师之路】2016年系统分析师上午综合知识历年真题
  15. 【技术】Leaflet 地图,惭愧惭愧
  16. 深发银行为什么要更名为平安银行?
  17. 洛谷p2298 bfs
  18. 百慕大将为金融科技和区块链公司提供新的银行服务
  19. Linux中history的巧用
  20. 自动驾驶感知——激光雷达基本概念|激光雷达点云|激光雷达的标定

热门文章

  1. 金龟子现身年味儿活动 教小朋友拜年吉祥话
  2. matlib打印语句_matlab输出语句是什么?
  3. 心动的本质是什么_回归生活的本质,为生活心动
  4. 不同物理机与虚拟机之间的通信
  5. 大数据-数据处理分类篇
  6. mysql 多租户_数据层的多租户浅谈(SAAS多租户数据库设计)
  7. MySQL - 索引类型详解
  8. 【教程】两种免费更新iOS17测试版的方法
  9. js 删除对象属性中属性值为空的属性
  10. Saltstack数据系统——grains和pillar