cobol - 如何在没有 JCL 的情况下执行 Cobol(用于家庭练习)?
问题描述
我正在参加一个快速的 Host 培训计划,以加入一家公司,TSO、JCL、Cobol、SQL 等以“光速”学习。
我在使用 Cobol 时遇到了一些困难,所以我想在家里使用虚拟化的 GNUCobol 进行练习,但是在培训中,我们通过 JCL Jobs 执行程序和管理文件,所以我完全不知道如何在没有 JCL 的情况下做到这一点.
解决方案
GnuCOBOL 会让你编译。如果你有一个旧的 8086 盒子,那就是 MS-COBOL 和 MS-ISAM。
JCL 的替代品将是脚本或批处理文件,假设您没有以类似 CICS 的方式对屏幕进行编码。这不会帮助您学习 JCL。正如布赖恩所说,J 开关将为您提供 CLG(编译链接并运行)功能来代替 IGYWCLG。
因此,如果您正在运行 Linux(或 Windows10 上的 WSL),您需要一个 shell 脚本。对于早期版本的 Windows,您需要 .cmd 或 .bat。
这是达到目的的手段。用 awk、cut、sort 等代替 IEBGENER、DFSORT 等。将 touch 和 rm 用于 IEFBR14 DISP 功能。
#!/bin/bash
# delete file, could use variables for filenames.
touch outfile.dat && rm outfile.dat
# execute cobol program, could be in path, /usr/bin say.
./myprog parm1 parm2 parm3
# sort output file
sort outfile.dat -o outfile.dat
我已经成功地将生产 z/OS 作业流移植到 Ubuntu 和 AIX,并且 JCL 的整体性很好地转换为脚本。
对于调度,可以嵌套脚本,并且可以使用信号量文件/令牌模拟条件。
推荐阅读
- c# - 找不到文件异常
- python - 带有pyaudio的Python Tkinter音频播放GUI播放/暂停功能-无法从暂停的地方恢复
- php - 如何使用 php 从 URL 获取数据以及每个下一页
- python - 检查输入时间是否在python 3中的给定时间范围内
- python - 烧瓶中的多用户身份验证
- azure-devops - 如何在 Azure Devops 的工作项中添加动态变化的字段
- c# - Blazor - 隐藏特定页面上的侧边栏和顶部栏(不适用于整个网站)
- c++ - 如果通过“dotnet msbuild”执行构建,Vcpkg(通过清单)不起作用
- jenkins - 在 Jenkins Pipeline 中访问容器变量
- javascript - 在 JavaScript 中从 .JSON 文件中解析 JSON 数据