SAP ABAP-서브 루틴
서브 루틴은 재사용 가능한 코드 섹션입니다. 함수가 소스 코드 형태로 캡슐화되는 프로그램 내의 모듈화 단위입니다. 프로그램의 일부를 서브 루틴으로 페이징하여 기본 프로그램에 대한 더 나은 개요를 얻고 다음 다이어그램에 설명 된대로 해당 명령문 시퀀스를 여러 번 사용합니다.
세 가지 다른 프로그램 X가 있습니다. source code blocks. 각 블록에는 동일한 ABAP 문이 있습니다. 기본적으로 동일한 코드 블록입니다. 이 코드를보다 쉽게 유지하기 위해 코드를 서브 루틴으로 캡슐화 할 수 있습니다. 프로그램에서 원하는만큼이 서브 루틴을 호출 할 수 있습니다. Form 및 EndForm 문을 사용하여 서브 루틴을 정의 할 수 있습니다.
다음은 서브 루틴 정의의 일반 구문입니다.
FORM <subroutine_name>.
<statements>
ENDFORM.
PERFORM 문을 사용하여 서브 루틴을 호출 할 수 있습니다. 제어는 서브 루틴 <subroutine_name>의 첫 번째 실행 가능 명령문으로 점프합니다. ENDFORM이 발견되면 제어는 PERFORM 문 다음의 문으로 다시 점프합니다.
예
Step 1− 트랜잭션 SE80으로 이동합니다. 기존 프로그램을 열고 프로그램을 마우스 오른쪽 버튼으로 클릭합니다. 이 경우 'ZSUBTEST'입니다.
Step 2− 생성을 선택한 다음 서브 루틴을 선택합니다. 필드에 서브 루틴 이름을 쓰고 계속 버튼을 클릭합니다. 서브 루틴 이름은 다음 스크린 샷과 같이 'Sub_Display'입니다.
Step 3− FORM 및 ENDFORM 문 블록에 코드를 작성합니다. 서브 루틴이 성공적으로 생성되었습니다.
서브 루틴을 호출하려면 PERFORM 문을 포함해야합니다. 코드를 살펴 보겠습니다.
REPORT ZSUBTEST.
PERFORM Sub_Display.
* Form Sub_Display
* --> p1 text
* <-- p2 text
FORM Sub_Display.
Write: 'This is Subroutine'.
Write: / 'Subroutine created successfully'.
ENDFORM. " Sub_Display
Step 4− 프로그램을 저장, 활성화 및 실행합니다. 위의 코드는 다음 출력을 생성합니다.
Subroutine Test:
This is Subroutine
Subroutine created successfully
따라서 서브 루틴을 사용하면 프로그램이 기능 지향적입니다. 프로그램의 작업을 하위 기능으로 분할하여 각 하위 루틴이 하나의 하위 기능을 담당합니다. 함수 변경은 종종 서브 루틴에서만 구현하면되므로 프로그램을 유지하기가 더 쉬워집니다.