abap break point 디버깅 방법 및 종류(Static, Dynamic)

SAP ABAP 프로그램 오류를 찾고자 디버깅을 할 때 SAP에서는 몇가지 다양한 중단점을 제공합니다. abap break point 디버깅 방법 및 종류(Static, Dynamic)에 대해서 정리해 보았습니다.

SAP ABAP은, 중단점 Break Point는 2가지 종류, Static break point VS Dynamic break point를 제공합니다.

Static Break Point

Static Break Point란, 소스 코드에 직접 코드를 기술하여 코딩(Static) 하는 방식입니다. 자바스크립트에서 debugger; 와 같은 역할을 합니다.

ABAP KEYWORD : BREAK-POINT
Global Macro : BREAK <사용자ID>
----

BREAK :
BREAK-POINT
BREAK-POINT 숫자
------

위의 예시가 소스에 직접 코딩하는 방법이 STATIC BREAK POINT입니다.

  BREAK-POINT.
  BREAK-POINT 1.
  BREAK-POINT 20.
  BREAK : ZTEST_ID.

BREAK-POINT 로 모든 사용자를 대상으로 중단점을 설정할 수 있고, BREAK “사용자 SAP ID” 형태로 특정 SAP ID만을 중단할 수 있습니다.

당연히, 운영서버에 반영시에는 지워주어야 하는 값입니다.

Dynamic Break points

가장 자주 사용하는 방법입니다. 개발자가 직접 BREAK POINT를 SET하거나 DELETE 합니다.

BREAK POINTS - SET

위와 같이 프로그램 실행 전에 혹은 실행 후, 위의 메뉴 Utilities-break point 에서 사용하거나 디버그가 진행되는 도중에 SET/DELETE 할 수 있습니다.

SAP ABAP BREAK POINT - Dynamic

또, Debug가 진행 중인 상황에서는 상단의 디버깅 메뉴를 통해서 SELECTION 조건에 따라 동적으로 BREAK POINT를 지정할 수 있습니다.

Session Break BREAK POINT로 저장하는 방법

Dynamic Break Point 의 하나인, Debugger Breakpoint는 해당 디버깅 세션에서만 사용이 가능한 휘발성 BREAK POINT입니다.

만약 디버깅 도중에 생성한 Debugger Breakpoint를 계속 다음 디버깅 시에도 사용할 수 있는 Session Break point로 만들기 위해서는 ‘저장’ 기능을 활용하시면 됩니다.

Session BPs로 save Debugger

디버깅 도중에 생성을 하면 위의 그림과 같이 초록색의 형태로 Debugging break point가 생성됩니다.

이 때 두가지 방법으로 Session BREAK POINT로 바꿀 수 있습니다.

첫번째 방법으로는, 메뉴를 통해서 Session BREAK POINT로 전환할 수 있습니다.

Session BPS : 로그인=Session 기준으로 유지가 됩니다.
External Bps : USER ID=External 기준으로 유지됩니다.

SESSION BREAK POINT로 전환

두번째 방법으로 단축키를 활용하여 가능한데, 디버깅 도중에 단축키 Ctrl + S를 누르면 Session BREAK POINT로 변경이 가능합니다.

이상으로 SAP abap break point 디버깅 방법 및 종류에 대해서 알아보았습니다. 용도에 맞게 static과 dynamic break point 잘 활용해 보시기 바랍니다.

SAP ABAP에서 제공하는 BREAK POINT의 좀 더 상세한 내용은 SAP 공식 문서 BREAK-POINT 를 참조해 보시기 바랍니다.

함께 보면 좋은 글

ABAP LOOP AT 사용법 및 예제 등
ABAP CONCATENATE 사용법 및 예제 정리
SAP 테이블 데이터 수정 SE16N 사용법(+권한 없을 때 se16n_interface)
SAP 유지보수뷰 텍스트 필드 추가(+예제 설명)