COBOL排序问题

      *SORT排序文件文件超长,将主键保存在临时文件里,超长的数据从数组里面去检索获取。
       IDENTIFICATION      DIVISION.
       PROGRAM-ID.         TEST002.
      *
       ENVIRONMENT         DIVISION.
       CONFIGURATION       SECTION.
       SOURCE-COMPUTER.    11.
       OBJECT-COMPUTER.    11.
      *
       INPUT-OUTPUT        SECTION.
       FILE-CONTROL.
      *
           SELECT  OUT-CSV-F ASSIGN    TO  CVCSV1
                             FILE STATUS   IS  FILE-STTS
                             ORGANIZATION  IS  LINE  SEQUENTIAL.
      *
           SELECT  SROT-INF  ASSIGN    TO   SORTIN
                             FILE STATUS   IS  SRT-FILE-STTS
                             ORGANIZATION  IS  LINE  SEQUENTIAL.
           SELECT  TMP-FILE  ASSIGN    TO  TMP-FILE.
           SELECT  SROT-OUTF ASSIGN    TO  SORTOUT
                             FILE STATUS   IS  STO-FILE-STTS.
      *
       DATA                DIVISION.
       FILE                SECTION.
      /
       FD  OUT-CSV-F  RECORD  IS  VARYING  IN  SIZE
           FROM  0  TO  32752  CHARACTERS  DEPENDING  ON  OUT-CSV-SIZE.
       01          OUT-CSV-REC.
           03      OUT-KEY.
      *                                ***   年月,USER ID,実行日時   ***
             05    KEY-REQ-YM          PIC X(06).
             05    KEY-USER-ID         PIC X(10).
             05    KEY-JIKKO-HT        PIC X(14).
      *
           03      OUT-NAIYOU          PIC X(20000).
      *    ソート キーファイル
       FD  SROT-INF.
       01          SROT-IN-REC.
           03      FILLER              PIC X(30).
      *
      *    sort用TMPファイル
       SD  TMP-FILE          LABEL     RECORD  STANDARD.
       01          TMP-SORT-REC.
      *                                ***   年月                    ***
           03      TMP-REQ-YM          PIC X(06).
      *                                ***   USER ID                 ***
           03      TMP-USER-ID         PIC X(10).
      *                                ***   実行日時                ***
           03      TMP-JIKKO-HT        PIC X(14).
      *
       FD  SROT-OUTF         LABEL     RECORD  STANDARD.
       01          SROT-OUT-REC.
           03      FILLER              PIC X(30).
      *
      /
       WORKING-STORAGE     SECTION.
      ******************************************************************
      *    定数領域                                                    *
      ******************************************************************
       01          WK-AREA.
      *
           03      OUT-CSV-SIZE        PIC 9(08).
      *
           03      TB1-TABLE.
             05    TB-RECORD    OCCURS 10  TIMES INDEXED BY TB-IDX.
      *                                ***   年月                    ***
              07   TB-REQ-YM           PIC X(06).
      *                                ***   USER ID                 ***
              07   TB-USER-ID          PIC X(10).
      *                                ***   実行日時                ***
              07   TB-JIKKO-HT         PIC X(14).
      *                                ***   他項目                  ***
              07   TB-NAIYOU           PIC X(20000).
      ******************************************************************
      *    フラグ領域                                                  *
      ******************************************************************
       01          FLG-AREA.
           03      FLG-RD-END          PIC 9(01).
           03      FILE-STTS           PIC 9(02).
           03      SRT-FILE-STTS       PIC 9(02).
           03      STO-FILE-STTS       PIC 9(02).
       LINKAGE             SECTION.
      ******************************************************************
      *    リンケージ領域                                              *
      ******************************************************************
       01  PARAMETER.
           03      LENG                PIC 9(04)   BINARY.
           03      PARM-AREA.
      *                                ***   開始年月  ***
            05     PARM-SKK-KAK-ST-YM  PIC X(06).
      *                                ***   終了年月  ***
      /
       PROCEDURE           DIVISION  USING  PARAMETER.
      *
           SORT TMP-FILE  ON DESCENDING  KEY  TMP-REQ-YM
                          ON ASCENDING   KEY  TMP-USER-ID
                          ON DESCENDING  KEY  TMP-JIKKO-HT
                          USING  SROT-INF GIVING SROT-OUTF.
      *
           OPEN    OUTPUT  OUT-CSV-F.
           OPEN    INPUT   SROT-OUTF.
      *
           PERFORM SROT-OUT-SEC  UNTIL  FLG-RD-END  =  1
      *
           CLOSE   OUT-CSV-F.
           CLOSE   SROT-OUTF.
           STOP  RUN.
      /
      ***************************************************************
       SROT-OUT-SEC          SECTION.
      ***************************************************************
      *                                ***  ソート後明細を読込   ***
           READ    SROT-OUTF 
             AT    END
                   MOVE    1           TO  FLG-RD-END
                   GO  TO  SROT-OUT-EXIT.
      *
           MOVE    SROT-OUT-REC        TO  OUT-KEY.
      *
      *                                ***   その他項目 設定 ***
           SET     TB-IDX              TO  1.
           SEARCH  TB-RECORD
             AT    END
                     DISPLAY 'RECORD NOT FOUND' UPON  SYSOUT
               WHEN    TB-REQ-YM (TB-IDX)
                    =  KEY-REQ-YM
                  AND  TB-USER-ID (TB-IDX)  =  KEY-USER-ID
                  AND  TB-JIKKO-HT (TB-IDX)
                    =  KEY-JIKKO-HT
               MOVE    TB-NAIYOU (TB-IDX)
                                       TO  OUT-NAIYOU
           END-SEARCH.
      *
      *                                ***   明細出力         ***
           MOVE    SPACE               TO  OUT-CSV-REC.
           MOVE    ZERO                TO  OUT-CSV-SIZE.
           MOVE    OUT-CSV-REC         TO  OUT-CSV-REC.
           MOVE    FUNCTION LENG (OUT-CSV-REC)
                                       TO  OUT-CSV-SIZE.
           WRITE   OUT-CSV-REC.
      *
       SROT-OUT-EXIT.
           EXIT.
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/162918.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

YOLOv5改进: Inner-IoU基于辅助边框的IoU损失,高效结合 GIoU, DIoU, CIoU,SIoU 等 | 2023.11

💡💡💡本文独家改进:Inner-IoU引入尺度因子 ratio 控制辅助边框的尺度大小用于计算损失,并与现有的基于 IoU ( GIoU, DIoU, CIoU,SIoU )损失进行有效结合 推荐指数:5颗星 新颖指数:5颗星 💡💡💡Yolov5/Yolov7魔术师,独家首发创新(原创),适用于…

安卓毕业设计基于安卓android微信小程序的培训机构系统

项目介绍 本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用java语言技术和mysql数据库来完成对系统的设计。整个开发过程首先对培训机构管理系统进行需求分析,得出培训机构管理系统主要功能。接着对培训机构管理系统 进行…

基于Python实现的一个命令行文本计数统计程序,可统计纯英文txt文本中的字符数,单词数,句子数,Python文件行数

项目简介 这是一个用 Python 编写的命令行文本计数统计程序。 基础功能:能正确统计导入的 纯英文txt文本 中的 字符数,单词数,句子数。扩展功能:能正确统计导入的 Python 文件中的代码行数,注释行数,空白…

如何使用VisualSVN在Windows系统上设置SVN服务器并公网远程访问

文章目录 前言1. VisualSVN安装与配置2. VisualSVN Server管理界面配置3. 安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4. 固定公网地址访问 正文开始前给大家推荐个网站,前些天发现了一个巨牛的 人工智能学…

seaTunnel使用

如何源码编译seaTunnel 参考Set Up Develop Environment 编译前准备 下列软件需要提前安装好 GitJava ( JDK8/JDK11) 并设置JAVA_HOME 环境变量Scala (只支持 scala 2.11.12 )JetBrains IDEA . 下载源码并编译 git clone gitgithub.com:apache/seatunnel.git cd seatunne…

vivado联合modelsim测试覆盖率

(1)配置环境 安装modelsim和vivado。点击vivado菜单栏中的tools,在下拉选项中选择compile simulation libraries。simulator选项选择:modelsim simulator。compile library location表示编译库存放的路径。simulator executable p…

java.sql.SQLException: Connection has already been closed

背景: 通过一个接口触发后台数据库的批量更新操作,原本只是一个触发动作,不需要返回值,因此没有关心出现的http超时问题。后面发现批量更新任务中断了,查日志发现了Connection has already been closed报错。 具体的…

【网络奇缘】- 计算机网络|性能指标|体系结构

🌈个人主页: Aileen_0v0🔥系列专栏: 一见倾心,再见倾城 --- 计算机网络~💫个人格言:"没有罗马,那就自己创造罗马~" 目录 温故而知新 计算机网络性能指标 时延 时延带宽积 往返时延RTT 访问百度​编辑 访问b站 访问谷歌 …

使用 .toISOString() 方法生成当前时间的ISO格式字符串,解决UTC时区差问题

方法分析: 日常开发中,有时我们需要向后端传递的时间值可能并非一个时间对象,而是字符串格式。 例 1:[2023-08-16T08:07:25.577Z] 但是我们通过 new Date() 之后直接使用 .toString() 方法得到的却并非这种格式。 例 2&#xff1…

MAX/MSP SDK学习08:设置入口的冷热标签

1. 默认所有的入口会显示为热标签(红色); 2. 若想让所有非最左入口都显示为冷标签,则需在ext_main函数中添加内置函数stdinletinfo: class_addmethod(c, (method)stdinletinfo, "inletinfo", A_CANT, 0); 3…

【从零开始学习Linux】一文带你了解Shell外壳及用户权限(一)

🚩纸上得来终觉浅, 绝知此事要躬行。 🌟主页:June-Frost 🚀专栏:Linux入门 🔭【从零开始学习Linux】系列均属于Linux入门,主要包含Linux操作系统下的指令、操作、权限以及开发工具&a…

@DS动态切换数据源

1.DS概述 DS是自定义注解,可以作用于方法或类上,用于切换数据源。当注解添加到类上时,意味着此类里的方法都使用此数据源;当注解添加到方法上时,意味着此方法上使用的数据源优先级高于其他一切配置。 2.DS使用 2.1 导…

基于.net framework4.0框架下winform项目实现寄宿式web api

首先Nuget中下载包:Microsoft.AspNet.WebApi.SelfHost,如下: 注意版本哦,最高版本只能4.0.30506能用。 1.配置路由 public static class WebApiConfig{public static void Register(this HttpSelfHostConfiguration config){// …

Axure插件浏览器一键安装:轻松享受高效工作!

Axure插件对原型设计师很熟悉,但由于Axure插件是在国外开发的,所以在安装Axure插件时不仅需要下载中文包,激活步骤也比较繁琐,有时Axure插件与计算机系统不匹配,Axure插件格式不兼容。本文将详细介绍如何安装Axure插件…

uniapp开发小程序-pc端小程序下载文件

fileName包含文件名后缀名,比如test.png这种格式 api.DownloadTmtFile后端接口返回的是文件的二进制流 值得注意的是,微信开发者工具中是测试不了wx.saveFileToDisk的,需要真机或者体验版测试 handleDownload(fileName) {if (!fileName) retu…

CCFCSP试题编号:201912-2试题名称:回收站选址

这题只要比较坐标的四周&#xff0c;然后计数就可以了。 #include <iostream> using namespace std;int main() {int n;cin >> n;int arr[1005][2] { 0 };int res[5] { 0 };int up 0;int down 0;int left 0;int right 0;int score 0;for (int i 0; i <…

QT 在Windows下实现ping功能(ICMP)

前言 很多时候&#xff0c;我们可能会图省事直接调用系统中的ping命令&#xff0c;但这是很不科学的~ 废话不多说&#xff0c;直接上代码.. .pro文件 在.pro文件末尾添加一行&#xff1a; LIBS -liphlpapi -lws2_32 .h文件 在.h文件中加入&#xff1a; #include <Q…

23款奔驰GLC260L升级原厂360全景影像 高清环绕

本次星骏汇小许介绍的是23款奔驰GLC260L升级原厂360全景影像&#xff0c;上帝视角看清车辆周围环境&#xff0c;更轻松驾驶 升级360全景影像系统共有前后左右4个摄像头&#xff0c;分别在车头&#xff0c;车尾&#xff0c;以及两边反光镜下各一个&#xff0c;分别用来采集车头&…

C# 宏--释义及实例

1.宏-释义 在C#中&#xff0c;宏&#xff08;Macro&#xff09;通常指的是预处理指令&#xff08;Preprocessor Directive&#xff09;&#xff0c;用于在编译时对源代码进行一些宏替换或条件编译的操作。C#中的宏使用预处理器指令#define和#undef来定义和取消定义宏&#xff…

C++string_view简介

1. 简介 C17之后才有string_view&#xff0c;主要为了解决C语言常量字符串在std::string中的拷贝问题。 即readonly的string。 2. 引入 2.1 隐式拷贝问题 将C常量字符串拷贝了一次 #include <iostream> #include <string>int main() {std::string s{ "He…