BDC
SAP는 데이터를 DB에 직접 넣는 방식을 선호하지 않고,
프로그램을 통해 INSERT하는 방식을 권장하고 있다.
ERP라는 것이 생산, 유통, 회계 등의 비즈니스 프로세스가 모두 연결되어 있어서 그렇지 않나 싶다.
(갑자기 DB에 데이터가 생성되면 언제 어디서 에러가 발생할 지 모르니까..)
아무튼 이러한 이유로 BDC 라는 프로그램을 통해 데이터를 넣는 작업을 주로 한다.
BDC vs BAPI
BDC와 BAPI 모두 자동으로 SAP 시스템에 전송시켜준다.
그럼 차이점은?
BDC (트랜잭션 지향)
레코딩 작업을 진행 후 개발이 필요하다.
프로그램 과정을 자동으로 처리해주는 것이기 때문에 속도가 느리다.
CBO, 스탠다드 프로그램 모두 사용이 가능하다. (T-CODE로 레코딩을 진행하기 때문)
BAPI
데이터베이스에 직접 업데이트 하는 방식이기에 BDC보다 속도가 빠르다.
적절한 예제를 찾기가 어렵다.
에럼 메시지 찾기가 힘들다.
스탠다드 프로그램에서 사용이 가능하다.
BDC: Batch Data Communication
엑셀의 매크로와 같이 자동으로 프로그램을 BACKGROUND에서 수행할 수 있게 하는 것으로 SM35에서 녹화를 진행한다.
현업에서는 VA01(판매오더), FB01(전표생성프로그램), MM01(자재마스터), XD01(고객마스터), XK01(구매처마스터) 와 같은 마스터 데이터를 생성하는 프로그램을 주로 BDC로 돌린다.
[무료서버에는 스탠다드 프로그램이 없는 이유로 SU01를 통해 BDC를 실습]
1. 어플리케이션 툴바의 'Recording' 아이콘을 선택한다.
2.' New recording'을 누르면 새로운 녹화를 진행할 수 있다.
Recording: 원하는 녹화명
Transaction code: BDC를 돌릴 트랜잭션 코드
3. 'Start recording'을 누르면 입력한 트랜잭션 코드가 실행된다.
4. 프로그램의 녹화가 끝나면 위 사진의 구조가 생성된다.
이 구조의 인터널 테이블을 토대로 데이터를 넣어주는 프로그램을 개발하여 실행하면 해당 작업의 BDC 프로그램을 만들 수 있다.
보통 BDC는 엑셀 데이터를 인터널 테이블에 올리고
올려진 인터널 테이블의 데이터를 통해 BDC 인터널 테이블에 APPEND 하는 방식으로 개발한다