Appendix B FRM095

Visual LANSA

Appendix B. FRM095

FRM095 - Calling a Function

Source Code for Form iiiCOM17 – Salary Review

Note: component definitions (Define_Com . . .) have been omitted from this source to save space.

Function Options(*DIRECT)
Begin_Com Role(*EXTENDS #PRIM_FORM) Clientheight(463) Clientwidth(457) Height(497) Left(496) Top(163) Width(465)
Define_Com Class(#PRIM_GPBX) Name(#GPBX_1) Caption('Request') Displayposition(1) Height(86) Left(6) Parent(#COM_OWNER) Tabposition(1) Tabstop(False) Top(3) Width(443)
. . . . 
Def_List Name(#employs) Fields(#empno #fullname #DEPTMENT #salary #iiinewsal) Counter(#listcount) Type(*working) Entrys(*max)
Define Field(#newtot) Reffld(#iiitotsal)
Define Field(#srvcon) Type(*char) Length(1) Default(*sserver_connected)
Define Field(#sstatus) Reffld(#io$sts)
Define Field(#curtot) Reffld(#iiitotsal)
*
Evtroutine Handling(#com_owner.Initialize)
Set Com(#com_owner) Caption(*component_desc)
Endroutine
Evtroutine Handling(#SUBMIT.Click)
Begincheck
Filecheck Field(#DEPTMENT) Using_File(deptab) Msgdta('Department not found')
Endcheck
Clr_List Named(#employs)
Exchange Fields(#DEPTMENT #IIIPERCNT)
If (#srvcon = N)
Call Process(*DIRECT) Function(iiifn21) Pass_Lst(#employs)
Else
Use Builtin(call_server_function) With_Args(*sserver_ssn 'iiifn21' Y *Default #employs) To_Get(#sstatus)
If (#sstatus *NE OK)
Message Msgtxt('Call server function failed')
Endif
Endif
Clr_List Named(#LTVW_1)
#curtot #newtot := *zeroes
Selectlist Named(#employs)
#curtot += #salary
#newtot += #iiinewsal
Add_Entry To_List(#LTVW_1)
Endselect
#IIITOTSAL := (#newtot - #curtot)
Endroutine
End_Com