具有已定义变量的自由格式原型?

问题描述

我有一个RPGLE程序,试图将其从固定格式转换为自由格式。总的来说,我知道定义入口变量是使用如下原型完成的:

babel --source-maps -d build src

但是我不知道在定义字段后如何执行此操作。我们有一个标准定义文件,可将其复制到我正在编写的程序中,该文件具有我正在使用的字段作为已定义并复制到其中的输入变量。在固定格式下,这只是

vue-cli-service build --dest build src/index.js

我已经尝试过仅在原型输入之前进行复制,而将规范保留为空白,但这会导致错误。我知道我可以只使用'LIKE'关键字并更改变量名,但是出于可读性考虑,我宁愿避免这样做,而且我不知道将来可能会导致什么问题。

只要有必要,我就尝试引入两个变量:数据结构和带区位的小数。

无论是使用原型还是我不知道的其他方式,如何使用已经在自由格式RPGLE中定义为入口变量的变量?

解决方法

处理此问题的“正确”方法是创建标准定义文件(StdDefs ==> StdDefs2)的新版本,以新名称(可能带有_t后缀)和TEMPLATE关键字声明变量。

然后在重构的PR / PI中使用LIKE或LIKEDS。

所以您的原始程序看起来很像

 /copy StdDefs
C     *Entry        PList
C                   Parm                    InEntry1

您的带有PR / PI的重构后的样子

 /copy StdDefs2
 /copy Mypr
  dcl-pi myprogram;
    InEntry1 like(inEntry_t);
  end-pi;

请注意,最佳做法是将PR放在一个单独的成员中,该成员被/ COPY插入主叫方和被叫方。

,

在不使用 like 声明另一个变量的情况下找不到解决方案。并在程序开始时将新变量分配给旧变量,反之亦然。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...