BADI(Business Add-In)

j_wisdom_h·2025년 6월 9일
post-thumbnail

SAP 개발에서 BADI는 표준 프로그램의 구조를 유지하면서 사용자 정의 기능을 삽입할 수 있도록 설계된 확장 기술입니다.


1. BADI란 무엇인가?

BADI (Business Add-In)는 SAP 표준 프로그램의 특정 위치에 개발자가 자체 로직을 삽입할 수 있도록 허용한 확장 지점입니다.

✅ 주요 특징

  • 표준 소스를 직접 수정하지 않고도 로직 확장 가능
  • 객체지향(OOP) 기반 확장 방식
  • 다중 구현, 필터 조건 등 다양한 방식 제공

✅ 주요 활용 예

  • 메시지 출력 로직 추가
  • 사용자 조건에 따른 필드 변경
  • 특정 이벤트 전후로 유효성 검사, 데이터 처리 삽입

2. BADI 구현에 사용하는 주요 트랜잭션 코드

트랜잭션 코드설명
SE18BADI 정의(Definition) 조회 및 분석
SE19BADI 구현(Implementation) 생성 및 활성화
SE24클래스 정의 및 구현 확인 (인터페이스 기반)
SE80전체 흐름 분석에 사용 (클래스, BADI 등 구조 트리로 확인 가능)
SE37Exit 관련 펑션 모듈 검색에 활용 가능

일반적인 작업 순서: SE18 → 정의 확인 → SE19 → 구현 등록 → 클래스 구현


3. BADI 구현 단계별 설명

① BADI 정의 확인 (SE18)

  • 정의 이름으로 검색 (예: VENDOR_ADD_DATA)
  • 사용 가능한 인터페이스, 메서드, 필터 확인

② BADI 구현 생성 (SE19)

  • "New BADI" 선택
  • 구현명 입력 및 클래스 자동 생성
  • 인터페이스 메서드 구현

③ 로직 작성 및 활성화

IF SY-UNAME = 'TESTUSER'.
  MESSAGE '테스트 BADI 호출됨' TYPE 'I'.
ENDIF.

저장 후 활성화 필수

예시

method IF_EX_VENDOR_ADD_DATA~CHECK_ALL_DATA.
  if sy-uname = 'EDU-08'.
    MESSAGE I000(ZMCO) DISPLAY LIKE 'S'
      WITH 'TEST_BADI1'.
  endif.
endmethod.

XK02 트랜잭션(구매처 수정)에서 "저장(SAVE)" 버튼을 눌렀을 때 자동으로 호출되는 BADI 메서드

profile
뚜잇뚜잇

0개의 댓글