What are the dieffrent ways to pass data from the main ABAP program (actual parameters) to a subroutine or FORM statement(formal parameters) ?
A: Data is passed from a main program to a subroutine using parameters. The data in the main program would be referred to as the actual parameters. The data in the subroutine (FORM statement) would be known as the formal parameters.
There are three different ways to pass parameters to subroutines:
Pass by reference - parameters are listed after the 'USING' or 'CHANGING' keyword without the keyword 'VALUE'. During the call to the subroutine the address of the actual parameter is passed to the formal parameter. The subroutine works with the actual fields from the main program. Changing the formal parameter actually changes the actual parameter.
Example
FORM
USING Parameter1
CHANGING Parameter2
Pass by value - parameters are listed after the 'USING' keywork and include the keywork 'VALUE'. The subroutine works with a copy of the actual parameter. Changes to the formal parameter have no impact on the actual parameter.
Example
FORM
USING VALUE(Parameter1)
Pass by value and result - parameters are listed after the 'CHANGING' keyword and include the keywork 'VALUE'. The subroutine works with a copy of the actual parameter. Upon successful completion of the subroutine, the formal parameter is copied to the actual parameter.
Example:
FORM
CHANGING VALUE(Parameter1)
[@more@]来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/11011430/viewspace-1029885/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/11011430/viewspace-1029885/