一步步AS400-Cobol 上手自学入门教程03 - 数据部(原创)

数据部的作用

程序中涉及到的全部数据(输入、输出、中间)都要在此定义,对它们的属性进行说明。主要描述以下属性:

    • 数据类型(数值/字符)和存储形式(长度)
    • 数据项之间的关系(层次和层号)
    • 文件与记录的关系

数据部可以分为:

  • 文件节(file section):用来描述程序中用到的输入输出文件及记录中各数据项的属性
  • 工作单元节(working-storage section): 用来描述程序中用到的中间数据
  • 联接节(linkage section):用来描述与调用程序间发生数据传递的数据项(即参数)

数据部的结构图

文件节(file section)

程序中的每个输入、输出文件的数据格式都要在此描述,包括:

  • 文件名称和属性
  • 文件中包括的记录的名字
  • 每个记录中数据的层次关系
  • 记录中各数据项的格式和占内存的大小

文件的描述一般格式

FD 文件名(内部文件名)

01 记录名

05 数据项1 PIC 。。。。。。

05 数据项2 PIC 。。。。。。

FD语句是文件描述体,用来描述文件与记录的属性,如记录名称、格式、长度。

FD语句下所有的数据组和和数据项组成了该文件的一条记录。

记录描述:记录描述体由01层号开始,后跟记录名。用于定义记录的数据格式,即各下层的数据项的数据类型和长度。如果记录本身就是一个初等项,则在记录名后描述记录型和长度。

记录的层次图

时间: 2024-10-08 11:50:03

一步步AS400-Cobol 上手自学入门教程03 - 数据部(原创)的相关文章

一步步AS400-Cobol 上手自学入门教程01 - 基础概念(原创)

先学习基础概念 1.COBOL字符:包含: User-defined words 用户定义字符 ?System-names ?Reserved words 关键字 2.用户定义字符User-defined words:合法的定义: ? A - Z ? a - z ? 0 - 9 ? - (连字符). 3.系统名 System-names Computer-names ?Language-names ?Implementor-names: Environment-name Assignment-n

一步步Cobol 400上手自学入门教程06 - 子程序调用

子程序的命名通常和普通程序的命名方式相同.但是需要注意的是,对于子程序而言,不可将其前缀命名为以下这几个名字. AFB           AFH           CBC          CEE          EDC IBM            IFY             IGY            IGZ            ILB 实际上,以上名字都属于IBM相关产品的名字.如果将子程序的前缀命名为以上名字,则在主程序中将不能对其进行调用.当在主程序中试图调用该子程序时,

一步步AS400-Cobol 上手自学入门教程02 - 程序结构和标识部(原创)

标识部的格式: 代码范例: IDENTIFICATION DIVISION.PROGRAM-ID. IDSAMPLE.AUTHOR. PROGRAMMER NAME.INSTALLATION. COBOL DEVELOPMENT CENTER.DATE-WRITTEN. 08/27/88.DATE-COMPILED. 09/01/88 12:57:53.SECURITY. NON-CONFIDENTIAL. 环境部的格式: 代码范例 ENVIRONMENT DIVISION.CONFIGURAT

Angular系列---- AngularJS入门教程03:AngularJS 模板(转载)

是时候给这些网页来点动态特性了——用AngularJS!我们这里为后面要加入的控制器添加了一个测试. 一个应用的代码架构有很多种.对于AngularJS应用,我们鼓励使用模型-视图-控制器(MVC)模式解耦代码和分离关注点.考虑到这一点,我们用AngularJS来为我们的应用添加一些模型.视图和控制器. 请重置工作目录: git checkout -f step-2 我们的应用现在有了一个包含三部手机的列表. 步骤1和步骤2之间最重要的不同在下面列出.,你可以到GitHub去看完整的差别. 视图

[转载]AngularJS入门教程03:迭代器

我们在上一步做了很多基础性的训练,所以现在我们可以来做一些简单的事情喽.我们要加入全文检索功能(没错,这个真的非常简单!).同时,我们也会写一个端到端测试,因为一个好的端到端测试可以帮上很大忙.它监视着你的应用,并且在发生回归的时候迅速报告. 请重置工作目录: git checkout -f step-3 我们的应用现在有了一个搜索框.注意到页面上的手机列表随着用户在搜索框中的输入而变化. 步骤2和步骤3之间最重要的不同在下面列出.你可以在GitHub里看到完整的差别. 控制器 我们对控制器不做

【CC2530入门教程-03】CC2530的中断系统及外部中断应用

第3课  CC2530的中断系统及外部中断应用 广东职业技术学院  欧浩源 一.中断相关的基础概念  内核与外设之间的主要交互方式有两种:轮询和中断. 轮询的方式貌似公平,但实际工作效率很低,且不能及时响应紧急事件:中断系统使得内核具备了应对突发事件的能力. 在执行CPU当前程序时,由于系统中出现了某种急需处理的情况,CPU暂停正在执行的程序,转而去执行另外一段特殊程序来处理出现的紧急事务,处理结束后,CPU自动返回到原来暂停的程序中去继续执行. 这种程序在执行过程中由于外界的原因而被中间打断的

Objective-C入门教程03:属性(@property和@synthesize)

在Java中,特别是一个标准的POJO类,我们定义了一些属性,然后针对每个属性生成相应的getter和setter.例如: package com.demo; /** * 手机类 * @author liuzc */ public class Phone { private String color; //颜色 private String os; //系统 private String brand; //品牌 /******* Getter & Setter *******/ public S

Wireshark 入门教程(叁) 数据包操作,首选项与抓包设置

2 数据包操作 2.1 标记数据包 以上标记为临时标记,重启软件失效. 『新建着色规则-』 中,可以编辑并保存新的配色规则,一般不建议修改. 2.2 注释数据包 为数据包添加自己的注释内容 2.3 合并,打印,导出数据包 菜单栏 -> 文件 -> 合并 菜单栏 -> 文件 -> 打印 菜单栏 -> 文件 -> 导出 可以先添加显式过滤器(如只显示 http 协议的包),然后导出时,选择 『Displayed』:其它的,还有导出选择的,标记的等等. 3 首选项设置 菜单栏

Google Guice 入门教程

01 - 依赖注入 1. 依赖注入 1.1 类依赖注入 所谓的绑定就是将一个接口绑定到具体的类中,这样客户端不用关心具体的实现,而只需要获取相应的接口完成其服务即可. HelloWorld.java 1     public interface HelloWorld { 2 3         String sayHello(); 4     } 5 然后是具体的实现,HelloWorldImpl.java 1     public class HelloWorldImpl implements