Programming/ABAP
Modularization - Subroutine
_syd
2023. 7. 27. 00:37
Subroutine
모든 ABAP 프로그램에서 정의할 수 있고 모든 프로그램에서 호출할 수 있는 프로시저다.
서브루틴은 일반적으로 내부적으로 호출되며, local 에서 자주 사용되는 코드에 주로 사용된다. (global 하게 재사용하고 싶은 경우 Function module을 사용한다.)
Syntax
FORM <subroutine name> [<parameter>].
<Statement block>.
ENDFORM.
유형
- Internal
- 호출되는 프로그램과 동일한 프로그램에 정의된 subroutine
- 메인 ABAP 프로그램에서 선언된 모든 데이터 객체에 접근할 수 있다.
- External
- 호출되는 동일한 프로그램에 정의된 서브루틴.
- parameter 를 사용하거나 메모리의 공통 부분에 객체(data object)를 선언해야한다.
호출
Internal Subroutines
PERFORM <subroutine name> [<paramter>]
메인 프로그램에서 선언된 데이터를 사용 할 수 있다.
External Subroutines
PERFORM <subroutine>(<Program>) [<parameter>].
PERFORM <subroutine> (<Program>) [<parameter>] [IF FOUND].
PERFORM (<subroutine>) IN PROGRAM (<Program>) [<parameter>] [IF FOUND].
PERFORM <index> OF <subroutine1> <subroutine2> <subroutine3> [<parameter>].
특징
- 중첩 호출도 가능하다. ex) FORM ... ENDFORM 내의 PERFORM
- 재귀 호출이 가능하다.
728x90