When you perform an action on a component in Visual LANSA, the program executes the individual event routine associated with that action for the component. When the event routine has completed, the program waits for you to decide which event to perform next. The event routines are independent and need not be executed in any predefined order. This makes it possible for you to freely decide what actions to take and in which order.
A LANSA function is less flexible. This is partly because the program executes from beginning to the end in a predefined order. What input you can provide and what options are available depend on what has been specified in the program at that point in the execution. In addition, accomplishing a task usually requires several steps because only one type of action can be performed per screen (for example select, add, change or delete). The order of these screens is predefined.