SAP BDC(Batch Data Communication, Batch Input) 이해하기


SAP ABAP의 BDCBatch Data Communication의 약자 입니다. 지금은 Batch Input이라는 이름으로 많이 사용합니다.

레거시 시스템의 비 SAP 데이터를 SAP 시스템의 데이터로 대량으로 가져오기 위한 Data 마이그레이션 도구로 BDC를 주로 사용 됩니다. 하지만 데이터 마이그레이션 작업은 SAP 도입 초기에 1회성 작업으로 끝나는게 보통입니다.

SAP BDC(Batch Data Communication, Batch Input)의 주 목적이 데이터 마이그레이션 도구로써의 사용이지만 실제 사용에서는 변경 트랜잭션을 통한 데이터 일괄 변경이나 프로그램 안에서 다른 트랜잭션을 실행하여 처리하기 위한 용도로 더 많이 사용하게 됩니다.

앞서 말한 두 가지 용도를 BDC 프로그램 두 가지 유형으로 간략히 설명해 보겠습니다.

SAP BDC(Batch Data Communication, Batch Input) 이해하기

CALL TRANSACTION 처리에 의한 온라인(실시간) 처리 방법의 BDC

– 사용 형식 : CALL TRANSACTION ‘MM02’ USING bdc_tab UPDATE ‘S’ MODE ‘N’.

– 프로그램(트랜잭션)이 실행(온라인) 중인 상태에서 BDC가 실시간 바로 처리 됩니다.
– 주로 단건 또는 소량의 트랜잭션 처리에 많이 사용합니다. 

  예) 영업오더생성(VA01), 구매오더생성(ME21N), 생산오더생성(CO01), 자재변경(MM02), 영업오더변경(VA02) 등….

– 장점

  • 트랜잭션 실행중에 다른 트랜잭션을 처리할 수 있습니다.
  • SM35라는 별도의 트랜잭션 화면에서 BDC를 처리할 필요가 없습니다.
  • MODE에 따라 BDC 처리 단계를 화면으로 표시하는 포그라운드 방식이나 표시하지 않는 백그라운드 방식으로 실행 할 수 있습니다.

– 단점

  • 여러건을 동시 처리시 중간에 오류가 발생하면 이후 작업은 처리되지 않고 BDC 트랜잭션은 종료 됩니다.
  • 오류에 대한 확인이 어렵습니다. 

세션 처리에 의한 배치(Batch) 실행 방법의 BDC

– 트랜잭션코드 SM35에서 세션처리를 통해 BDC 작업이 돌아가게 됩니다.

– 세션 생성 : CALL FUNCTION BDC_OPEN_GROUP
– BDC 데이터 만들기 : CALL FUNCTION BDC_INSERT
– 세션 닫기 : CALL FUNCTION BDC_CLOSE_GROUP

-장점

  • 데이터 마이그레이션 작업 또는 대량의 데이터를 처리하기 위한 트랜잭션 처리에 많이 사용합니다.
  • 처리 도중 개별 건에서 오류가 발생하면 해당 건만 오류 정보를 남기고 계속 다음 건으로 처리가 진행 됩니다.
  • SM35 화면에서 오류에 대한 정보 확인이 가능합니다.
  • 포그라운드로 세션을 돌리다 중지시키고 백그라운드로 새션을 이어서 진행시킬 수 있습니다.

 – 단점

  • SM35 트랜잭션에 대한 별도의 사용방법을 알고 있어야 합니다.

마무리

SAP BDC에 대한 설명을 간략히 해 보았습니다.

두 가지 유형의 BDC 프로그램에 대해 상황에 맞도록 프로그래밍 해서 사용하면 됩니다.
개별 트랜잭션을 처리할 때는 CALL TRANSACTION 처리에 의한 온라인(실시간) 처리 방법의 BDC를 사용하면 되고, 일괄로 데이터를 변경하거나 생성하는 경우에는 세션 처리에 의한 배치(Batch) 실행 방법의 BDC를 사용하면 됩니다.





이 글이 도움이 되었기를 바랍니다. ^-^


답글 남기기