migration - 大型机迁移到 USS/Github
问题描述
我们正在尝试将程序(不是文件)从大型机迁移到 USS,然后最终迁移到 Github。
我们有一个程序在迁移过程中出现问题。这些程序包含十六进制字符,并且在从 Mainframe PDS 到 Unix 的传输过程中被重新格式化。有没有我可以插入的命令,以便 Unix 在从 MF PDS 传输期间不会重新格式化这些值?
编辑:程序包含 EBCDIC 字符 x'15'(换行符)和 x'0D'(回车),当文件从 z/OS 传输到 USS 时,它会在文件中引入空格 x'40'。这些填充的 x'40's 将其余字符推入下一行。
- 我正在使用以下命令从大型机传输到 Unix。此命令由批处理代理在大型机内触发。
cp -U -S a=.CPY -T -O c=IBM-1047 "//'Insert PDS Here'" /data/Github
- 有问题的 2 代码片段在下面有一个十六进制值,十六进制值从 00 - 0F 和 10 - 1F 开始
444444444444444444444444444444444444470000000000000000744444444444
0000000000000000000000000000000000000D0123456789ABCDEFDB0000000000
444444444444444444444444444444444444471111111111111111744444444444
0000000000000000000000000000000000000D0123456789ABCDEFDB0000000000
- 在 iDZ 中查看时,Unix 用新行重新格式化
重新格式化的线路
解决方案
在过去,在 1985 年标准之前,COBOL 不允许使用十六进制文字。那时,在需要时,程序员会将十六进制值直接输入到编辑器中。一些程序员没有得到备忘录,继续这样做。除了旧方式之外,任何受支持的大型机 COBOL 编译器现在都允许使用十六进制文字。
我建议修改有问题的 COBOL 程序源代码行以阅读
05 FILLER PIC X(16)
VALUE X'000102030405060708090A0B0C0D0E0F'.
推荐阅读
- google-sheets - 基于跨列和跨行的单个单元格的条件格式
- visual-studio - 由于 CRC 错误导致 nuget 配置错误,.NET 框架解决方案开始失败
- python - 无法在反向 shell 中执行 cd 命令
- python - 如何在 FloatLayout,Python + Kivy 的按钮下添加方法
- sql-server - 为什么 Microsoft.SqlServer.Management.SqlParser.Parser 为此查询创建的 AST 包含 SqlTableValuedFunctionRefExpression?
- python - 类型提示数组
- r - 在为选定列分配变量后,如何删除一些具有 NA 值的行?
- c - 根据条件从二叉搜索树中删除元素
- excel - 在 Excel 中使用溢出公式时,COUNTIF 无法在过滤列表上正确计算
- javascript - 启用了 Scroller 且 Bootstrap5 样式的 JQuery Datatable 导致意外的垂直滚动条