迁移 COBOL 代码

2024-02-16

我的任务是将 COBOL 代码转换为 .NET。有可用的转换器吗?我正在尝试高层次地理解 COBOL 代码。我无法理解 COBOL 代码。有没有流程图生成器?我很感激任何帮助。

谢谢..


将软件系统从一种语言或操作环境迁移到另一种语言或操作环境始终是一个挑战。这里有 有几点需要考虑:

  • 由于以下原因,遗留代码往往结构不良 快速修复和问题解决方法的悠久历史。这确实提高了信噪比 当你试图扭转你的头脑,了解到底发生了什么时。
  • 转换代码会导致进一步的“解构” 以补偿源和之间的不匹配 目标实施平台。当您从结构不良的基础(遗留系统)开始时, 最终的结果可能完全无法理解。
  • 遗留架构和/或业务流程的文档通常远远不够。 如果说它比无用更糟糕,它实际上可能具有误导性。
  • COBOL 代码的复杂性几乎总是被低估。
  • 许多“功能”将被发布到转换后的系统中,这些功能最初是 旨在补偿一次性“无法完成”的事情(由于内存较小, 较慢的计算机等)。其中许多现在可能不再是问题,而且您确实不想要它们。
  • 没有明显或直接的方法来重构遗留流程驱动 系统转换为等效的面向对象系统(至少不是以有意义的方式)。

已经有成功的项目将 COBOL 直接迁移到 Java 中。看naca http://code.google.com/p/naca/。 然而,最终结果只是它的母亲(或另一个 COBOL 程序员)可能会喜欢的东西, 看到这个讨论 https://stackoverflow.com/questions/1029974/experience-migrating-legacy-cobol-pl1-to-java

一般来说,我会对任何声称可以转换您的 COBOL 遗产的产品或工具表示怀疑 系统到任何其他版本的 COBOL 中(例如 COBOL.net)。为此你还 最终得到本质上是 COBOL 系统。如果这种方法可以接受,那么您 可能想回顾一下这个白皮书 http://www.microfocus.com/assets/cobol-and-the-net-framework_tcm6-3673.pdf来自微焦点。

恕我直言,替换 COBOL 的最佳选择是重新设计您的系统。如果你曾经发现 从你所在的地方到达你想去的地方的灵丹妙药——写一本书,成为 一名顾问并赚取数百万美元。

很抱歉提供了如此否定的答案,但如果您正在处理任何事情 但对于一个微不足道的遗留系统来说,解决这个问题绝非易事。

Note:不必费心绘制现有系统的流程图。尝试掌握流程输入/输出以及程序到程序的数据转换和流程。这里你需要了解的是业务功能,而不是它的具体实现。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

迁移 COBOL 代码 的相关文章

  • 修改外向交货单:BAPI_OUTB_DELIVERY_CHANGE/SD_DELIVERY_UPDATE_PICKING_SAP刘梦_新浪博客

    TABLES LIKP PARAMETERS P DEL LIKE LIKP VBELN DEFAULT 8000002260 DATA STR HEADER DATA LIKE BAPIOBDLVHDRCHG STR HEADER CON
  • 数字图像处理-基于opencv和kreas的手势(手语)识别

    基于opencv和kreas的手势 手语 识别 代码为实验需要 具体使用需要修改 tensorflow教程 推荐看这个 内容一 裁剪视频 获取手势 import cv2 import numpy as np import os import
  • Cobol 的优点是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我喜欢花时间研究语言的酷功
  • 读取 Cobol 生成的文件

    我目前正在编写一个 C 应用程序 该应用程序位于两个现有应用程序之间 我对第二个应用程序的了解是它处理第一个应用程序生成的文件 第一个应用程序是用 Cobol 编写的 脚步 1 Cobol 应用程序 写入一些文件并复制到目录中 2 第二个应
  • 免费、便宜或开源的 UML 和类似 Visio 的工具 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 我们正在寻找免费 廉价或开
  • 使用DiagrammeR 绘制路径图(SEM)

    我正在测试新的DiagrammeR 包用于结构方程模型可视化的功能 My goal is to get a plot like this Perhaps I need to find a ressource on how to specif
  • 用 cobol 计算变量的长度字符串

    我在数据库表中有一个注释 我如何计算该字符串的长度 我有一个变量定义如下 10 NOTE 49 NOTE LEN PIC S9 4 USAGE COMP 49 NOTE TEXT PIC X 500 Note 是一个 500 个字符的字符串
  • COBOL 的 Scons

    我想在 scons 中创建一个与 COBOL 一起使用的构建器 这是一个开始 import re Import env Source src cpy COPYBK1 cpy src cpy COPYBK2 cpy src cpy COPYB
  • 如何将参数从外部汇编器子例程传递回 cobol 程序?

    我试图从用汇编程序编写的外部子例程传回参数 调用例程是在 cobol 中 外部汇编例程的参数如下所示 01 CALCSHRS PARMS 05 CS DEPOSIT AMT PIC 9 5 V99 COMP 3 05 CS SHARE PR
  • 获取 VMS 的驱动程序以连接到 SQL Server 2005

    我想从 COBOL VMS 系统连接到 SQL Server 2005 实例 有人能给我指出一个运行良好的驱动程序吗 这类似于另一个问题 https stackoverflow com questions 898055 cobol to s
  • 迁移 COBOL 代码

    我的任务是将 COBOL 代码转换为 NET 有可用的转换器吗 我正在尝试高层次地理解 COBOL 代码 我无法理解 COBOL 代码 有没有流程图生成器 我很感激任何帮助 谢谢 将软件系统从一种语言或操作环境迁移到另一种语言或操作环境始终
  • 是否有现有的 gem 或脚本可以将数字转换为 comp-3/压缩十进制格式?

    继续我将 COBOL 转换为 Ruby 程序的冒险 我必须将十进制数字转换为 comp 3 压缩十进制格式 有人知道一个简单的 Ruby 脚本或 gem 可以做到这一点吗 伯恩斯 Ruby 知道如何打包半字节 因此结果非常简单 def pa
  • 可变长度表中的内存分配

    假设我在中定义了以下可变长度表WORKING STORAGE 01 SOAP RECORD 05 SOAP INPUT PIC X 8 VALUE SPACES 05 SOAP STATUS PIC 9 VALUE ZERO 05 SOAP
  • 如何在.net中将数字格式化为S9(5)V99 ascii

    我一直在寻找 s9 5 v99 但得到了不同的信息 而且不太清楚 有人可以展示如何转换或转换公式吗 谢谢 您在这里向我们展示的是 这PICTURECOBOL 数据声明的子句部分 COBOL 数据声明有点奇怪 需要一些时间来适应 这是一个介绍
  • 由尾随空格分隔的 Cobol 字符串

    WORKING STORAGE FIRST STRING PIC X 15 VALUE SPACES SECOND STRING PIC X 15 VALUE SPACES OUTPUT STRING PIC X 31 VALUE SPAC
  • 从 C++ 代码自动生成流程图 [关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我需要自动地用 C 代码构造流程图 最好每个源文件一个流程图 有没有任何工具 最好是 C Python
  • GNUCobol (OpenCOBOL) 错误:libcob:未找到模块“»”

    我正在转换一组为 Microfocus 编译器编写的 COBOL 程序 以便与 GnuCobol 一起使用 到目前为止 我已经取得了一定的成功 只需要更改一些特定于微焦点的日期命令 并使用 GnuCobol 的 std mf争论 我正在使用
  • 如何用流程图表示递归函数?

    我需要在流程图上表示递归函数 我的问题是我不知道如何指示该函数可以一次在多个元素上调用自身 例如扫描图形的函数 有人有什么建议吗 在流程图中 您通常不会为循环之类的内容添加多次调用 您只需指示可以重复调用代码 直到满足条件为止 因此 对于递
  • COBOL 中的“COPY”语句与“REPLACING”

    我收到编译错误 在嵌套的 COPY 中发现了带有 REPLACING 短语的 COPY 语句 这是我们的编译设置 我们不能在嵌套副本中使用 REPLACING 动词 我们有一本抄写本 其中有多个带有替换动词的复制语句 谁能帮我解决这个错误
  • COBOL 88 级数据类型

    这是非常基本的问题 我必须为 COBOL 程序编写数据术语表 该数据术语表包含有关每个变量的以下详细信息 Name 数据类型 值范围 如果适用 行号 更全名 我有几个变量 其中包括 88 级开关 我的问题是 这些 88 级开关是否算作变量

随机推荐

  • GitHub 页面上的侧边栏

    我在 GitHub Pages 上托管了一个简单的网站 它是一个公共存储库 仅使用具有默认设置等的标准默认模板 它是直接从根目录发布的 本质上 按照官方 Github Pages 教程 一切都处于默认状态 我只想为我的目录显示一个侧边栏 注
  • 谷歌 API 服务帐户。即使使用域范围委派访问也只能看到服务帐户驱动器

    我目前使用的 Google 服务帐户已启用域范围委派 我点击了此链接https developers google com identity protocols oauth2 service account https developers
  • 在 Nginx 配置中使用代理传递之前传递代理 URL

    我需要传递一个代理 URL 来连接到 Nginx 中作为代理传递提到的其他 URL 示例 如果我必须通过 Linux 服务器连接到 google com 我必须将代理设置为 xyz org 80 然后才能连接到 google com 那么如
  • 在 Windows 上使用 FreeType 和 Qt5

    有谁知道是否可以使用 FreeType 构建 Qt5 作为 Windows 上的文本渲染器而不是本机渲染器 我尝试使用 qt freetype 编译 Qt5 但仍然得到错误的文本 我还需要做其他事情吗 在查看 DeadWarlock 提出的
  • 检查数据类字段是否有默认值的 Pythonic 方法

    我最近一直在使用 python 3 7 并正在寻找利用新数据类的方法 基本上我有一个方法可以迭代数据类字段并检查它们是否有默认值 from dataclasses import fields MISSING classmethod def
  • pm2 下的自定义日志记录

    我在我写入的节点应用程序中有一些有用的日志记录console log node server js gt gt var log nodeserver log 2 gt 1 但是 当在下面尝试相同的操作时pm2 pm2 start serve
  • python如何在赋值运算符之后赋值[重复]

    这个问题在这里已经有答案了 好吧 我确信这是一个非常愚蠢的问题 但是python如何给变量赋值呢 说有一个变量a并被赋值a 2 所以python为变量分配了一个内存位置并且a现在指向包含该值的内存位置2 现在 如果我分配一个变量b a变量b
  • 以编程方式编辑表单回复

    我有一个谷歌脚本 可以为转储到我的电子表格中的每个表单响应生成编辑网址 有没有办法以编程方式更改响应值 就像我实际打开 URL 并手动更改值一样 例如 假设某人提交了一份姓名字段为 Sam 的表单 我希望能够以编程方式编辑此响应 以便同一字
  • 设备锁定时在 Today 扩展中加载文件

    在我今天的设备解锁的扩展中 这行代码按预期工作 从图像路径返回数据 let imageData NSData contentsOfFile path 但是 当我的设备用密码锁定时 它返回零 当设备锁定时 有什么方法可以访问文件系统中的图像吗
  • 全局设置环境变量而无需重新启动Ubuntu

    我知道可以通过添加条目来设置系统范围的环境变量 etc environment or etc profile 但这需要系统重新启动或 X 重新启动 是否可以在 Ubuntu Linux 中设置环境变量 以便在系统范围内立即可用 而无需重新启
  • 使用 for 循环进行多个公司和多个日期的事件研究

    我正在进行一项事件研究evReturn函数从erer包裹 目的是获得每个公司的超常收益以及所有公司的平均超额收益 我无法获得平均回报 因为该函数对每个公司执行单独的执行 但不会同时对所有公司执行一次 尽管这可以通过 for 循环实现 我似乎
  • 屏幕方向更改时非法状态异常未创建视图

    我一直在尝试制作一个从活动 GradeListActivity 打开列表视图片段 GradeListFragment 的应用程序 当我单击某个项目时 它会打开一个新片段 GradeDetailFragment 如果处于纵向模式 它将替换fr
  • Lazarus:如何列出系统上所有可用的网络连接?

    我正在使用 Lazarus IDE 在 Linux 系统上编写程序 该程序应该连接到 Internet 或 Intranet 所以 我想向用户显示他们可以用来连接到互联网或内部网 如wifi 的所有可用网络连接的列表 如果系统上有两个活动网
  • LinkLabel... 在默认网络浏览器中打开?

    是否可以开一个LinkLabel在默认计算机网络浏览器中 是的 你可以使用System Diagnostics Process Start url 在 链接被点击 事件中
  • HTTP 状态 403 - 对所请求资源的访问已被拒绝(CSS 被阻止?)

    我一直在努力保护我的项目 我有一个使用 LDAP 服务器进行身份验证的登录页面 如果不正确 它会显示一个错误页面等 我现在刚刚添加
  • 为什么 pip 需要在 iPython 中使用感叹号?

    只是一个简单的例子 输入pip list不起作用但是 pip list做 是否有一些关于感叹号和在 ipython shell 中使用模块的语法 这实际上并不特定于pip 但实际上是来自 iPython 笔记本的任何 shell 命令 您会
  • 如何在android中的sqlite数据库中存储带有列表的自定义对象

    如何为包含这样的列表的自定义对象创建表 public class Mobel implements Parcelable int thumbnail List
  • 修复 SwiftUI 中自定义字体的行距

    我正在使用自定义字体 双体船 https fonts google com specimen Catamaran 并且看起来行与行之间有很大的空间 例如我有这样的代码 Text Example text that has big space
  • 保存单个核心数据实体(而不是整个上下文),同时保留 NSFetchedResultsController 功能

    唷 抱歉标题太长了 我有一个托管对象上下文 其中存储来自两个不同位置的歌曲 我从手机上的持久存储中获取一些歌曲 使用 Core Data 并从在线数据库中提取一些歌曲 这两首歌曲都属于同一 ManagedObject 子类 我希望这两首歌都
  • 迁移 COBOL 代码

    我的任务是将 COBOL 代码转换为 NET 有可用的转换器吗 我正在尝试高层次地理解 COBOL 代码 我无法理解 COBOL 代码 有没有流程图生成器 我很感激任何帮助 谢谢 将软件系统从一种语言或操作环境迁移到另一种语言或操作环境始终