classic badi 2

[ABAP] 11. SAP Classic BADI -2

MM01에서 생성된 자재코드를 MM02에서 변경하고자 할 때, Exit을 구현시켜 변경이 불가능하도록 강제로 구현해보자.​우선 MM01에서 자재코드를 생성한 뒤 MM02에서 자재의 단위를 변경시킬 때(재고만없다면) 워닝과 함께 변경이 가능하다. 그렇다면, 자재단위를 변경하고 저장 할 때 어떤 Exit이 수행될 지 확인하여 Exit이 구현될 수 있도록 Badi Implementation를 찾아야 한다.* Badi Implementation = Exit name​​다시 MM02에서 자재 단위를 변경 후 디버깅을 걸고 저장해보자.디버깅 화면으로 전환되면 브레이크포인트에 다음 옵션을 줘서 해당 로직에 걸리게 세팅한다.​그리고 디버깅을 쭉 돌리면(F8) 위 브레이킹포인트 조건에 따라 BADI exit이 수행되는 ..

SAP/Enhancement 2024.11.06

[ABAP] 10. SAP Classic BADI -1

BADI(Business ADD In)란 OOP 기반의 Enhancement다. Customer Exit이 Function module 기반의 Enhancement라면 BADI는 class를 이용한 Enhancement인 셈이다.​OOP와 Function 모두 모듈화를 위한 프로그래밍 방법이지만 Function은 재사용이 불가능(상황에 따라) 한 반면 OOP는 상속, 인터페이스 등 여러가지 방법을 통해 재사용이 가능하다는 점이다.​즉, 이번에 해볼 BADI 는 재사용이 가능하다는 것이다.Enhancement에서 재사용이 가능하다는 의미는 다음과 같다.​Customer Exit은 Function으로 구동된다. 즉 재사용이 불가능하다.따라서 Function Exit이 A프로젝트에 할당되어 있다면 A프로젝트가..

SAP/Enhancement 2024.11.06