SAP ABAP BDC(일괄 데이터 통신) 튜토리얼

일괄 입력 소개

일괄 입력은 일반적으로 비R/3 시스템에서 R/3 시스템으로 데이터를 전송하거나 R/3 시스템 간에 데이터를 전송하는 데 사용됩니다.

데이터 세트를 트랜잭션에 속한 화면으로 자동으로 전송할 수 있는 데이터 전송 기술입니다. SAP 체계. 일괄 입력은 일괄 입력 세션에 의해 제어됩니다.

일괄 입력 세션

일련의 트랜잭션 호출을 입력 데이터 및 사용자 작업과 함께 그룹화합니다. 일괄 입력 세션을 사용하여 일괄 입력에서 대화 상자 트랜잭션을 실행할 수 있습니다. 여기서 일부 또는 모든 화면이 세션에 의해 처리됩니다. 일괄 입력 세션은 데이터베이스 테이블로 데이터베이스에 저장되며 트랜잭션에 액세스할 때 프로그램 내에서 내부 테이블로 사용할 수 있습니다.

주목할 점

  • BDI는 정상적인 작업을 수행하여 작동합니다. SAP 사용자와 마찬가지로 트랜잭션을 수행하지만 자동으로 트랜잭션을 실행합니다.일괄 데이터 입력을 사용하는 동안 모든 화면 유효성 검사와 비즈니스 로직 유효성 검사가 수행됩니다.
  • 많은 양의 데이터를 입력하는데 적합합니다.
  • 수동 상호작용이 필요하지 않습니다.

일괄 입력 방법

SAP 레거시 데이터를 R/3 시스템으로 전송하기 위한 두 가지 기본 방법을 제공합니다.

  1. 전통적인 일괄 입력 방법.
  2. 통화 거래 방법.

기존 일괄 입력 방법

이 방법에서는 ABAP/4 프로그램이 외부 데이터를 읽어옵니다. SAP 일괄 입력 세션의 시스템 및 저장입니다.

세션을 생성한 후 세션을 실행하여 다음을 실행할 수 있습니다. SAP 그 안에서 거래.

이 방법은 함수 모듈 BDC_ OPEN, BDC_INSERT 및 BDC_CLOSE를 사용합니다.

일괄 입력 세션은 3가지 방식으로 처리될 수 있습니다.

  1. 전경에서
  2. 백그라운드에서
  3. 처리 중 오류 표시 있음

데이터 전송을 테스트하려면 포그라운드에서 일괄 입력 세션을 처리하거나 오류 표시를 사용해야 합니다.

데이터 전송을 실행하거나 성능을 테스트하려면 백그라운드에서 세션을 처리해야 합니다.

기존 일괄 입력 방법에 대한 참고 사항

  • Sync시간적 처리
  • 여러 거래에 대한 데이터를 전송합니다.
  • Synchronous 데이터베이스 업데이트.
  • 각 세션마다 일괄 입력 프로세스 로그가 생성됩니다.
  • 세션을 병렬로 생성할 수 없습니다.

통화 거래 방법.

이 방법에서 ABAP/4 프로그램은 CALL TRANSACTION USING 문을 사용하여 SAP 트랜잭션.

전체 일괄 입력 프로세스는 프로그램에서 온라인으로 이루어집니다.

통화 거래 방법

참고 사항 :

  • 더 빠른 데이터 처리
  • 비동기 처리
  • 단일 거래에 대한 데이터를 전송합니다.
  • 일괄 입력 처리 로그가 생성되지 않습니다.

일괄 입력 절차

일괄 입력 절차

일반적으로 조직의 일괄 입력을 개발하기 위해 다음 단계 순서를 따르게 됩니다.

  1. 레거시 데이터 분석. 전송할 데이터를 매핑하는 방법을 결정합니다. SAP 구조. 또한 필요한 데이터 유형이나 데이터 길이 변환에 유의하세요.
  2. 생성 SAP 수출 프로그램에 사용하기 위한 데이터 구조.
  3. 데이터를 순차 파일로 내보냅니다. 사전 정의된 문자 형식이 필요합니다. SAP 일괄 입력 프로그램.
  4. 경우 SAP 제공된 BDC 프로그램을 사용하지 않으면 배치 입력 프로그램을 직접 코딩하십시오. 상황에 따라 적절한 일괄입력 방식을 선택하세요.
  5. 데이터를 처리하여 SAP 시스템.
  6. 프로세스 로그를 분석합니다. 적절한 로그가 생성되지 않는 CALL TRANSACTION 방법의 경우 프로그램에서 수집한 메시지를 사용하십시오.
  7. 프로세스 분석 결과에서 오류가 있는 데이터를 수정하고 다시 처리합니다.

BDC 프로그램 작성

BDC 프로그램을 작성하려면 다음 프로세스를 따르세요.

  1. 일괄 입력 데이터를 처리하기 위해 트랜잭션을 분석합니다.
  2. 사용할 일괄 입력 방법을 결정합니다.
  3. 순차 파일에서 데이터 읽기
  4. 데이터 변환 또는 오류 검사를 수행합니다.
  5. 일괄 입력 구조인 BDCDATA에 데이터를 저장합니다.
  6. 클래식 일괄 입력을 위한 일괄 입력 세션을 생성하거나 CALL TRANSACTION USING 문을 사용하여 직접 데이터를 처리합니다.

일괄 입력 데이터 구조

일괄 입력 데이터 구조 선언

DATA : BEGIN OF < bdc table>

OCCURS <occurs parameters>.

INCLUDE STRUCTURE BDCDATA.

DATA:END OF <bdc table>.
분야 명 타입 길이 상품 설명
프로그램 8 모듈 풀
딘프로 NUMC 4 딘프로 번호
다인비긴 1 딘프로 시작하기
프남 35 분야 명
FVAL 80 필드 값

특정 화면의 데이터 내 필드 순서는 중요하지 않습니다.

참고 사항

  • BDC 데이터를 채우는 동안 사용자 설정을 고려해야 합니다. 이는 특히 숫자(예: 수량, 금액)가 포함된 필드를 채우는 경우에 중요합니다. 숫자의 그룹화 문자는 사용자 설정에 따라 결정됩니다. 예: 숫자 50,000.00만은 사용자 설정에 따라 50.000,00 또는 XNUMX으로 쓸 수 있습니다.
  • 금액 및 수량 필드에 대한 FVAL 필드를 압축하여 왼쪽 정렬되도록 합니다.
  • BDC를 통해 채우는 모든 필드는 BDC 데이터 테이블을 채우는 동안 문자 유형 필드로 처리되어야 합니다.
  • 일부 화면에서는 BDC를 사용하여 테이블 컨트롤에 값을 채울 때 화면의 기본 크기에 존재하는 행 수와 동일한 행에 대한 코드를 기록해야 합니다. 더 많은 행을 채워야 하는 경우 테이블 컨트롤을 수동으로 채울 때와 마찬가지로 "페이지 아래로" 기능을 코딩해야 합니다.
  • 위 시나리오에서 나타나는 줄 수는 사용자가 사용하는 화면 크기에 따라 다릅니다. 따라서 항상 표준 화면 크기에 맞게 코딩하고 사용자가 화면 크기를 유지하는 것과 관계없이 BDC가 항상 표준 화면 크기에서 작동하도록 만드세요.

일괄 입력 세션 생성

  1. 함수 모듈 BDC_OPEN_GROUP을 사용하여 일괄 입력 세션 세션을 엽니다.
  2. 세션의 각 거래에 대해 다음을 수행합니다.
  3. 트랜잭션에서 처리되는 모든 화면과 필드에 대한 값으로 BDCDATA를 채웁니다.
  4. BDC_INSERT를 사용하여 트랜잭션을 세션으로 전송합니다.
  5. BDC_CLOSE_GROUP을 사용하여 일괄 입력 세션을 닫습니다.

일괄 입력 레코더

일괄 입력 레코더(시스템 > 서비스 > 일괄 입력 > 레코더)는 수동으로 입력된 거래를 기록하고 나중에 SM35를 사용하여 실행할 수 있는 일괄 입력 세션을 생성합니다.

일괄 입력 레코더

  • 일괄 입력 초기 화면에서 녹음 푸시버튼을 선택하여 일괄 입력 레코더를 시작합니다.
  • 녹음 이름은 사용자 정의 이름이며 녹음에서 생성할 수 있는 일괄 입력 세션 이름과 일치할 수 있습니다.
  • 입력 SAP 거래를 클릭하고 거래 게시를 시작합니다.
  • 포스팅을 완료하신 후 SAP 트랜잭션 가져오기 및 저장을 선택하여 기록을 종료하거나 다음 트랜잭션을 선택하고 다른 트랜잭션을 게시합니다.
  • 녹음을 저장한 후에는 녹음에서 일괄 입력 세션을 생성하거나 녹음에서 일괄 입력 프로그램을 생성할 수 있습니다.
  • 이제 생성한 일괄 입력 세션을 다른 일괄 입력 세션과 마찬가지로 분석할 수 있습니다.
  • 배치 입력 레코더의 기능으로 생성된 프로그램은 데이터 인터페이스 프로그래머를 위한 강력한 도구입니다. 이는 고객 요구 사항에 따라 변경될 수 있는 견고한 기반을 제공합니다.