Question: what is the difference between function module and subroutine?
Answer: Subroutine is used to hold a reusable section of codes in your program(locally). Function Modules is modularization unit with unique name that can be called by any other program in the entire SAP R/3 System.. If u want to perform any operation more than once locally in your program then u can use subroutine.