SAP Debugger Diff Tool – ABAP 오브젝트 다른 점 비교

SAP 디버거에는 디버깅 도중 ABAP 오브젝트를 비교할 수 있는 Debugger Diff Tool 을 제공합니다.

이름 그대로 Data 대 Data를 비교하여 차이점을 리스팅 해주는 역할을 하며, 비교 가능한 오브젝트는 인터널 테이블, 스트럭처, 단일 변수, Class 변수 등 ABAP에서 사용 가능한 모든 변수가 대상이 됩니다.

일반적으로는 갯수가 여러 개인 인터널 테이블의 데이터 비교나 컬럼이 많은 스트럭처 변수 비교에 유용하게 사용할 수 있습니다.

ABAP New Debugger의 Diff 툴

Diff 툴 사용법

사용법은 Variable1, Variable2에 비교하고자 하는 오브젝트를 넣고 바로 하단의 Start Comparison을 입력하면 됩니다.

디버거 Diff 툴로 비교하는 결과

인터널 테이블 비교 – Sorting 등

비교 대상 2개의 오브젝트가 동일한 데이터로 구성되어 있다면 다음과 같이 차이점이 없다는 결과를 보여주게 됩니다.

비교 대상에 대한 Max. No. of Hits가 있으니 주의해야 하는데, 아래의 경우 100라인 넘어서는 비교하지 않으므로 전체 비교를 하려면 공백으로 비워두고 수행해야 합니다.

최대 조회 수를 해제해야는지 확인이 필요

참고로, 인터널 테이블의 경우, 두 테이블의 데이터 구성은 동일하나, 서로 정렬 SORT가 다르다면 다른 오브젝트로 결과를 보여주게 됩니다.

서로 오브젝트가 다르다면 각 라인별로 아래와 같이 보여줍니다.

인터널 테이블의 sort가 다르다면 서로 다른 오브젝트로 결과 리턴

클래스 오브젝트 비교 – ALV 예시

전역 변수 ALV CL_GUI_ALV_GRID 전역 GO_ALV2와 파라메터로 넘어온 변수 PV_ALV_GRID를 비교해 보았으며, CLASS에 대해서도 비교가 가능하다.

클래스 오브젝트 역시 비교가 가능

참고로, ABAP 디버그에 대한 좀 더 상세한 사항은 아래의 링크 포스팅에서 확인 할 수 있습니다.

ABAP 디버거 BREAK POINTS 메뉴 사용법 및 예제
ABAP 백그라운즈잡 디버깅 방법(SM37)
SAP RFC External 디버깅 방법
SAP Debugger Call Stack Tool 사용법
SAP ABAP Dynamic Break Point 종류 3가지


이상으로 ABAP 디버거에서 제공하는 Diff 툴의 사용법을 알아보았습니다. 디버깅 과정에서 두개의 오브젝트 비교시 유용하게 활용해 보시기 바랍니다.

SAP 디버거 Diff 툴의 좀 더 상세한 사항은 SAP 공식 문서에서 확인할 수 있습니다.

ABAP Debugger Diff Tool

함께 보면 좋은 글

SAP ABAP SY 시스템 변수 정리, SY-SUBRC 등

SAP Predefined ABAP Type 고정 길이 자주 쓰는 형 정리

SAP ABAP FIND 사용법 String 패턴 검색 예제 모음