全自由格式RPG:如何相对大小声明独立变量?
全自由格式RPG实现等价变量声明方法
针对你提供的固定格式RPG变量声明,要在全自由格式中实现等价效果(将QtyX定义为12p3),有两种常用方式:
方式一:显式声明类型
直接对应固定格式的最终结果,明确声明QtyX的精度和小数位:
DCL-S Qty PACKED(11:3) INZ(123.50); DCL-S QtyX PACKED(12:3);
这种方式简单直接,完全匹配固定格式中QtyX的12p3类型定义。
方式二:动态继承并调整长度
利用RPG内置函数,继承Qty的小数位同时自动将总长度加1,和固定格式中+1 LIKE(Qty)的逻辑完全一致,后续如果Qty的长度修改,QtyX会自动同步调整:
DCL-S Qty PACKED(11:3) INZ(123.50); DCL-S QtyX PACKED(%LEN(Qty)+1:%DECpos(Qty));
%LEN(Qty)获取Qty的总精度(11),加1后得到12%DECpos(Qty)获取Qty的小数位数(3),保证QtyX和Qty小数位一致
内容的提问来源于stack exchange,提问作者ojay
相关产品推荐
相关产品推荐

