Difference Between Subroutines and Function Modules

  • Subroutines cannot have exceptions where as function modules have exceptions.
  • Subroutine cannot be remote enabled where as FM can be remote enabled.
  • If the module is a general purpose, then its recommended to create FM instead of subroutines
  • Function module documentation is possible not possible in case of subroutines
  • Many related functions are clubbed in a function group / function pool where as many related subroutines are clubbed in a subroutine pool program.