sap abap 소스 검색 방법 2가지(+텍스트 스캔)

SAP ABAP 소스에서 특정 글자 텍스트를 찾고자 하는 경우에는 RS_ABAP_SOURCE_SCAN과 AFX_CODE_SCANNER 가 유용한데, 이 2가지의 SAP ABAP 소스 검색 방법에 대해서 정리해 보고자 합니다.

두 프로그램 모두 SAP Standard에서 제공하는 프로그램이며, 모두 조건을 지정하여 해당 조건에 맞는 텍스트를 일괄로 찾을 수 있습니다.

RS_ABAP_SOURCE_SCAN 으로 ABAP Source scan 하기

SE38 : RS_ABAP_SOURCE_SCAN

만약 프로그램을 개발하며 static break point를 사용했다면 프로그램 개발이 완료된 이후에는 모두 찾아서 삭제해 주어야 합니다. 아래 break point 설명 글에서 하드코딩된 break-point 구문을 찾아보도록 하겠습니다.

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

특정 키워드를 찾아 삭제해 주기

일괄로 찾아 없앨 때에는 다음과 같이 입력 후 조회하면 위치를 찾을 수 있습니다.

String searched for : 'BREAK'
Program Name : 찾고자 하는 프로그램 명칭

라인과 String을 확인할 수 있으며 더블클릭을 통해 해당 위치로 점프하여 수정해 주면 됩니다.

BREAK-POINT 키워드가 코딩된 소스를 찾는 RS_ABAP_SOURCE_SCAN

하드 코딩된 Company Code 소스에서 찾기

회사코드 ‘1000’을 사용하는 회사의 프로그램에서, 하드코딩된 Company Code 가 프로그램상에 있는지 확인하고 싶을 때 다음과 같이 찾으면 금방 찾을 수 있습니다.

만약 내 모듈 전체 프로그램에서 하드코딩된 내용을 찾고자 한다면 다음과 같이 조건에 패키지를 넣어주고 소스 스캔을 실행해 볼 수 있습니다.

1000 하드 코딩이 되어 있는 소스 파일 검색

이런 식으로 활용해서, 전체 소스에서 특정 글자 찾아야 하는 상황에서 매우 요긴하게 사용할 수 있습니다.

AFX_CODE_SCANNER 프로그램으로 abap 소스 검색 활용하기

AFX_CODE_SCANNER 역시 조건에 맞는 텍스트를 소스상에서 검색할 수 있는 프로그램으로서 사용하는 t-code는 code_scanner 입니다.

SE38 : AFX_CODE_SCANNER
T-CODE : CODE_SCANNER

사용법은 RS_ABAP_SOURCE_SCAN 보다 심플합니다. 패키지 및 검색 문자열을 입력한 후 사용하면 됩니다.

AFX_CODE_SCANNER 프로그램으로 소스 코드 내 특정 텍스트 검색하기

CODE_SCANNER의 경우에는 검색 문자열을 복수로 넣을 수 있어 좀 더 세밀하게 검색이 가능하며, 반면 RS_ABAP_SOURCE_SCAN의 경우 정규식(Regular-express)를 지원하여 검색 조건을 정규식 형태로 검색이 가능합니다.

정규식을 지원하는 RS_ABAP_SOURCE_SCAN

과거에는 RS_ABAP_SOURCE_SCAN 프로그램이 클래스 기반 검색에 오류가 있었으나 최근 노츠 적용으로 해당 오류도 수정되어 보완되었다고 하니 전전후로 사용이 가능할 듯 합니다.

패키지내에 별 조건 없이 여러 검색어의 조합이 필요한 경우에는 CODE_SCANNER를, 좀 더 다양한 조건 검색 등으로 상세 검색이 필요한 경우에는 RS_ABAP_SOURCE_SCAN를 사용하면 유용할 것으로 보입니다.

이상으로 sap abap 소스 검색 방법 2가지를 정리해 보았습니다. 각 프로그램의 장단점이 있는 만큼 상황에 맞게 잘 활용해 보시기 바랍니다.

함께 보면 좋은 글

SAP 테이블 데이터 수정 SE16N 사용법(+권한 없을 때 se16n_interface)
SAP 유지보수뷰 텍스트 필드 추가(+예제 설명)
abap break point 디버깅 방법 및 종류(Static, Dynamic)