8.4.3 メソッドの結果

メソッドでは、*OUTPUTマップのいずれか1つを*RESULTとして定義できます。このようにすれば、式の中で、式の要素を生成する関数呼び出しとしてメソッドを使用できます。
例えば、以下のようになります。
Mthroutine Name(MakeMessage) Define_Map For(*RESULT) Class(#STD_TEXT) Name(#OutTextOne) Define_Map For(*INPUT) Class(#STD_TEXT) Name(#InTextOne) Define_Map For(*INPUT) Class(#STD_TEXT) Name(#InTextTwo) #OutTextOne := #InTextOne.Value  " "  #InTextTwo.Value Endroutine Evtroutine Handling(#PHBN_2.Click) Begincheck Datecheck Field(#STD_DATE) In_Format(*DDMMYY) Endcheck Msgtxt(#COM_OWNER.MakeMessage( "#Phbn_2.Click", "Bad Date" )) Endroutine  
IFステートメントでは、ブール値の結果を返すメソッドまたは組み込みファンクションを使用できます。考え方としては、定義済みの条件を使用する場合と同じですが(DEF_CONDコマンドを参照)、この場合はメソッドを呼び出すので、条件の性質に関する制限がありません。
Mthroutine Name(Set_availability) #Button1.Enabled := #COM_OWNER.Allow_Access #SURNAME.readonly := *Not #COM_OWNER.Allow_Access Endroutine Mthroutine Name(Allow_Access) Define_Map For(*RESULT) Class(#Prim_boln) Name(#RESULT) #RESULT := True If (#GIVENAME.Contains( 'ABC' )) #RESULT := False Endif Endroutine