我的问题是:我在数据库表中有数据。该列为:Z-ZYTL-RTPDHR
定义为NOT NULL NUMBER(5,2)
。
所以我有一个程序,需要将数据移动到一个变量“ H-ZYTL-RTPDHR”中,然后在编译时将这个值除以100后在Z8列中移动,得到的Excel数据具有不同的值列。
我的数据:
Z8
------
34,28
70
97
8,57
21,43
94,28
94,28
100
40
40
我应该得到什么:
Z8
-------
0,3428
0,7
0,97
0,0857
0,2143
0,9428
0,9428
0,100
0,40
0,40
我的问题是如何声明变量以获得良好的结果?
我声明的变量:
01 FILLER.
05 H-ZYTL-RTPDHR.
10 PIC S9(5)V9(2) comp-3 VALUE.
05 FILLER REDEFINES H-ZYTL-RTPDHR.
10 H-ZYTL-RTPDHR comp-3 pic s9(5)v99.
等效温度普林斯
05 W-Z8 PIC -(5),99.
05 FILLER PIC X(001) VALUE ';'.
ALIM-WZ8 SECTION.
IF Z-ZYTL-NOMBRE > ZERO
IF TLCODTRA(Z-ZYTL-NOMBRE) NOT = SPACES
MOVE Z-ZYTL-RTPDHR(Z-ZYTL-NOMBRE) TO
H-ZYTL-RTPDHR
DISPLAY 'H-ZYTL-RTPDHR:' H-ZYTL-RTPDHR
DIVIDE H-ZYTL-RTPDHR BY 100 GIVING W-Z8
DISPLAY 'W-Z8 : ' W-Z8
END-IF
END-IF.
答案 0 :(得分:0)
您已经两次定义了名称H-ZYTL-RTPDHR
:这将使您以及编译器感到困惑。
您对H-ZYTL-RTPDHR
的第二个定义非常适合进行算术运算。您只需要
01 FILLER.
10 H-ZYTL-RTPDHR comp-3 pic s9(5)v99.
您对H-ZYTL-RTPDHR
的第一个定义定义了group level item,因此您无法对其进行算术运算。
但是,您的问题没有显示Z-ZYTL-RTPDHR
的定义。如果不是数字,那么您将无法获得预期的结果。