Page History
[ |../../index.htm#lansa/return_e.htm]
現在地:
...
7.105.2 RETURN の使用例
以下の例のサブルーチンは、複雑なIF-ELSE構造の代わりに、RETURNコマンドを使用しています。 SUBROUTINE NAME
SUBROUTINE NAME(MATHS)
...
PARMS(#F1 #OP #F2 #RS)
DEFINE FIELD(#F1)
...
TYPE(*DEC)
...
LENGTH(7)
...
DECIMALS(0)
...
DEFINE FIELD(#OP)
...
TYPE(*CHAR)
...
LENGTH(1)
...
DEFINE FIELD(#F2)
...
TYPE(*DEC)
...
LENGTH(7)
...
DECIMALS(0)
...
DEFINE FIELD(#RS)
...
TYPE(*DEC)
...
LENGTH(15)
...
DECIMALS(5)
...
IF COND('
...
#OP =
...
''+''')
...
CHANGE FIELD(#RS)
...
TO('
...
#F1 + #F2')
RETURN
...
ENDIF
IF COND('#OP = ''-''')
...
CHANGE FIELD(#RS)
...
TO('
...
#F1 - #F2')
RETURN
...
ENDIF
IF COND('#OP = ''*''')
...
CHANGE FIELD(#RS)
...
TO('
...
#F1 * #F2')
RETURN
...
ENDIF
IF COND('#OP = ''/''')
...
CHANGE FIELD(#RS)
...
TO('
...
#F1 /
...
#F2')
RETURN
...
ENDIF
MESSAGE MSGTXT('Operation specified is not +,-,
...
* or /')
...
ENDROUTINE