Difference between Action and Function

Difference between Action and Function?

♦  Action is a collection of Vb statements in QTP. It does not return any values.Function collection of Vb statements in QTP.
    It returns single value.

♦  We can call functions within actions but we can't call actions within functions

♦  Generally functions are saved with ".vbs" extention where as actions will save with ".mts".

♦  Every Action will have its own Datatable where as function does not.

♦  Action can have a object repository associated with it while a function can't. A function is just lines of code with
    some/none parameters and a single return value while an action can have more than one output parameters.

♦  Action can contains Object Repository, Data table, Active screen etc. whereas function do not have these features.

♦  Action is internal to QTP whereas Function is just lines of code with some/none parameters and a single return value.

♦  Action can/can not be resuable whereas functions are always reusable.

♦  Action Parameter have default values whereas VB script function do not have any default values.

♦  Action parameter type are byvalue only where vbscript functions can be passed byref.

♦  Action can have multiple output(returning) values whereas function can return only single value.