What is the difference between macro and subroutine?
Answers were Sorted based on User's Feedback
Answer / suman
1.macro doesn't have any return statement...but a subroutine
can have ..
2.execution time needed for a macro is much lesser than
subroutine
3.memory requirement for a macro is generally heigher..
4.subroutine can be classified as stated in Previous
answers..but no such classification is available with macro
although macro can have different types of nested form
5.generally no of instructions in macro are smaller than
subroutine
6.macro is always local to the program that defines it..
subroutine may or may not be local..
Is This Answer Correct ? | 241 Yes | 20 No |
Answer / maya patil
1.macro doesn't have any return statement...but a subroutine
can have ..
2.execution time needed for a macro is much lesser than
subroutine
3.memory requirement for a macro is generally heigher..
4.subroutine can be classified as stated in Previous
answers..but no such classification is available with macro
although macro can have different types of nested form
5.generally no of instructions in macro are smaller than
subroutine
6.macro is always local to the program that defines it..
subroutine may or may not be local..
Is This Answer Correct ? | 82 Yes | 12 No |
Answer / sai
APART FROM THE ABOVE DIFFERENCES MACROS USE MORE MEMORY
THAN SUBROUTINES.
Is This Answer Correct ? | 59 Yes | 23 No |
Answer / paramjeet
Macros can only be used in the program the are defined in
and only after the definition are expanded at compilation /
generation. Subroutines (FORM) can be called from both the
program the are defined in and other programs . A MACRO is
more or less an abbreviation for some lines of code that are
used more than once or twice. A FORM is a local subroutine
(which can be called external). A FUNCTION is (more or less)
a subroutine that is called external. Since debugging a
MACRO is not really possible, prevent the use of them (I?ve
never used them, but seen them in action). If the subroutine
is used only local (called internal) use a FORM. If the
subroutine is called external (used by more than one
program) use a FUNCTION.
Is This Answer Correct ? | 61 Yes | 36 No |
Answer / digant mehta
Subroutine: When a task is to be done repeatedly then it is written as subroutine and this subroutine will be called each time to perform that task.Subroutine program will be stored in some memory location and program control will be transfered to that location each time.where as in macro the number of instructions will be less than subroutine.Here each time u call a macro that set of instructions will be inserted in that location.It is faster than subroutine.But memory requirement is more than subroutine.
Read more: http://wiki.answers.com/Q/Difference_between_macro_and_subroutine#ixzz1JBBfwedM
Is This Answer Correct ? | 18 Yes | 12 No |
Answer / nandy2
1. In a program it is often necessary to repeat the block of code many times.In this situation a macro facility may be useful . Macro instruction are singal line abbreviations for a block of instruction.
We can say that the function which is used in c,c++ and java is macro.
On the other hand subroutine is called whenever necessary i.e, the control of execution is transferred to the subroutine appears only once in the complete progaram.
We can say that the Header files attached in c and c++ and libraries are are subroutine.
2.Macro not utilize the service of stack.But the subroutine utilize the service of stack.
3. Subroutine requires less memory space for execution than that using macro.
4.Macro requires less time for execution than that using subroutine.
Is This Answer Correct ? | 3 Yes | 1 No |
Answer / pawan.k&
1.BOTH R REUSABLE CONCEPTS
2.DEBUGGING IS NOT POSSIBLE IN MACROS
3.SUBROUTINES R TWO TYPES
a)INTERNAL b)EXTERNAL.
Is This Answer Correct ? | 16 Yes | 25 No |
Does SAP handle multiple currencies? Multiple languages?
What are the screen elements.
layout conversion?
How to find Kernal badi ?
What is the difference between select statement and provide statement ? : abap hr
how top handle error in LSMW?
how to design checkbox on the o/p of the list ,not on the selection screen.
what will happen if you don't give occurs clause while creating an internal table ?
difference between step loop and table control?Plz urgent..
3 Answers Accenture, CSD Bangladesh,
Give an example of interface from your project explaining why you used it?
where we do UTP(unit test planing)?and how to write UTP?and who writes UTP?
How to add background picture/graphics in alv report?