错误!未指定书签。 例如:事务处理
规范写法:
1B C DOW *IN06 = *OFF C* C UPDATE RATWBRH 90 C UPDATE RATWCBK 91 C*
2B C IF *IN90 OR *IN91 C ROLBK 2- C ELSE C COMMIT 2E C ENDIF C ??
1E C ENDDO C ??
不规范写法:
1B C DOW *IN06 = *OFF C* C UPDATE RATWBRH 90 C UPDATE RATWCBK 91 C ??
1E C ENDDO C*
1B C IF *IN90 OR *IN91 C ROLBK 1- C ELSE C COMMIT 1E C ENDIF C ??
例如:文件循环读取处理
正确写法:
C *LOVAL SETLL RATWLOG
C READ(N) RATWLOG 90
1B C DOW *IN90 = *OFF
C READ(N) RATWLOG 90
1E C ENDDO 死循环写法:
C MOVE *OFF *IN90
1B C DOW *IN90 = *OFF
C *LOVAL SETLL RATWLOG
C READ(N) RATWLOG 90
2B C *IN90 IFEQ *ON
C LEAVE
第 21 页 共 41 页
错误!未指定书签。
2E C ENDIF
1E C ENDDO
3.2.11. 赋值操作
3.2.11.1.
赋值操作规则
1. 对于不同类型变量之间赋值,采用MOVEL或MOVE语句进行赋值。 (1) 数字型赋值到字符型,采用MOVEL(P)语句赋值。
(2) 字符型赋值到数字型,采用MOVE(P)语句赋值,建议长度一致。 (3) 日期型与字符型之间赋值,字符型定义为10位(包括分隔符2位)。 (4) 日期型与数字型之间赋值,数字型定义为8位(去掉分隔符2位)。 (5) 时间型与字符型之间赋值,字符型定义为8位(包括分隔符2位)。 (6) 时间型与数字型之间赋值,数字型定义为6位(去掉分隔符2位)。 (7) 时间戳型与字符型之间赋值,字符型定义为26位(包括分隔符6位)。 (8) 时间戳型与数字型之间赋值,数字型定义为20位(去掉分隔符6位)。
2. 对于同类型变量(除了数字型)之间赋值、字符拼接及数学运算,采用EVAL语句进行赋值。但
须注意字符结果是左对齐的,因子2长度小于结果长度时在右端补空格,因子2长度大于结果长度时将因子2右边多余字符截去。
3. 对于数字型变量之间赋值,采用Z-ADD语句进行赋值。
4. 对于数组之间或数组与字段之间赋值,采用MOVEA语句进行赋值。 (1) 字符型数组之间赋值,数组长度和数组元素长度可不同。 (2) 字符型数组与字段之间赋值。
(3) 数字型数组之间赋值,数组长度可不同,但数组元素长度必须相同。
第 22 页 共 41 页
错误!未指定书签。
3.2.11.2.
指令特点 类型 赋值语句对照表
因子结果符号位说明 长 左对齐(包括空字字符 字符 符),并将多余的右边字符截去。 1.整数位长:程序相等,整数位左异常中断。 边补0。 2.小数位长:将多2.小数位短:值余的右边小数位相等,小数位右截去。 边补0。 H-四舍五对于数字运算,EVAL(H),是四舍五入的运算 数字 数字 入。 M-采用最 左对齐赋值。 因子2与结果的长度比较 备注 类型 类型 短 左对齐(包括空字符),右边补空格 1.整数位短:值左对齐赋值。 相等 1.因子类型和结果类型必须相同,长度可以不同。 2.不能对结果进行定义。 EVAL3.先清空,{(H|再左对齐M|R)赋值。 } 4.进行字则。 符的拼接,R-采用拼接时会“结果小将因子中数位”精的空字符度规则。 也拼起来。 日期 日期 5.数学运算的赋值。 时间 时间 时间戳 时间 戳 大数字规精度是该格式的最大大小。 若乘法的两个操作数足够大,则乘法的结果将不带小数位。可通过操作扩充符(R)确保保持小数的位数。 -- -- -- -- -- -- 左对齐赋值。 左对齐赋值。 左对齐赋值。 第 23 页 共 41 页
错误!未指定书签。 1.因子类型和结果类型必须相同,长度可以不同,只能对字符和图表操作。 2.不能对右对齐(包括空字EVALR 结果进行字符 字符 定义。 左边字符截去。 3.先清空,再右对齐赋值。 4.进行字符的拼接,拼接时会将因子中的空字符也拼起来。 1.因子类右对齐(包括空字型和结果字符 字符 类型可以左边字符截去。 不同,即允MOVE许字符、数{(P)字、日期、字符 字符 填充结} 时间、时间戳之间相互赋值。 2.可以对字符 数字 果。 左边字符截去。 右对齐(包括空字符,空字符赋值后转为0),并将多第 24 页 共 41 页
空格。 右对齐(包括空字符,空字符赋右对齐(包括空字符,空字 符),并将多余的字符),左边补右对齐赋值。 P-用空格右对齐(包括空字右对齐(包括空原值。 符),并将多余的左边字符保持字符),多余的右对齐赋值。 右对齐(包括空空格。 符),并将多余的字符),左边补右对齐赋值。 右对齐(包括空值后转为0),符赋值后转错误!未指定书签。 结果进行定义。 3.覆盖方右对齐(包括空字式右对齐符,空字符赋值后赋值。 字符 数字 充结果。 余的左边字符截左边补0。 去。 右边10位必须是右对齐,并将多余字符 日期 的左边字符截去。 (包括分隔符)。 右边8位必须是合右对齐,并将多余字符 时间 的左边字符截去。 (包括分隔符)。 右边26位必须是时间字符 戳 的左边字符截去。 (包括分隔符)。 右对齐赋值,将多数字 数字 余的左边数字截去。 右对齐赋值,将多P-用零填数字 数字 充结果。 去。 余的左边数字截余左边补0。 右对齐赋值,多右对齐赋值。 小数位。 无需对齐右对齐赋值,多无需对齐余左边数字保持原值。 右对齐赋值。 小数位。 右对齐,并将多余-- 右对齐赋值。 合法时间-- 右对齐赋值。 法时间-- 右对齐赋值。 合法日期为0)。 P-用零填转为0),并将多值后转为0),符赋值后转字符,空字符赋空字符,空字 右对齐(包括空右对齐(包括余的左边字符截去。 多余的左边字符保持原值。 为0)。 第 25 页 共 41 页
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库AS400编码规范文档(5)在线全文阅读。
相关推荐: