SAP ABAP BDC(일괄 데이터 통신) 튜토리얼
일괄 입력 소개
일괄 입력은 일반적으로 비R/3 시스템에서 R/3 시스템으로 데이터를 전송하거나 R/3 시스템 간에 데이터를 전송하는 데 사용됩니다.
데이터 세트를 트랜잭션에 속한 화면으로 자동으로 전송할 수 있는 데이터 전송 기술입니다. SAP 체계. 일괄 입력은 일괄 입력 세션에 의해 제어됩니다.
일괄 입력 세션
일련의 트랜잭션 호출을 입력 데이터 및 사용자 작업과 함께 그룹화합니다. 일괄 입력 세션을 사용하여 일괄 입력에서 대화 상자 트랜잭션을 실행할 수 있습니다. 여기서 일부 또는 모든 화면이 세션에 의해 처리됩니다. 일괄 입력 세션은 데이터베이스 테이블로 데이터베이스에 저장되며 트랜잭션에 액세스할 때 프로그램 내에서 내부 테이블로 사용할 수 있습니다.
주목할 점
- BDI는 정상적인 작업을 수행하여 작동합니다. SAP 사용자와 마찬가지로 트랜잭션을 수행하지만 자동으로 트랜잭션을 실행합니다.일괄 데이터 입력을 사용하는 동안 모든 화면 유효성 검사와 비즈니스 로직 유효성 검사가 수행됩니다.
- 많은 양의 데이터를 입력하는데 적합합니다.
- 수동 상호작용이 필요하지 않습니다.
일괄 입력 방법
SAP 레거시 데이터를 R/3 시스템으로 전송하기 위한 두 가지 기본 방법을 제공합니다.
- 전통적인 일괄 입력 방법.
- 통화 거래 방법.
기존 일괄 입력 방법
이 방법에서는 ABAP/4 프로그램이 외부 데이터를 읽어옵니다. SAP 일괄 입력 세션의 시스템 및 저장입니다.
세션을 생성한 후 세션을 실행하여 다음을 실행할 수 있습니다. SAP 그 안에서 거래.
이 방법은 함수 모듈 BDC_ OPEN, BDC_INSERT 및 BDC_CLOSE를 사용합니다.
일괄 입력 세션은 3가지 방식으로 처리될 수 있습니다.
- 전경에서
- 백그라운드에서
- 처리 중 오류 표시 있음
데이터 전송을 테스트하려면 포그라운드에서 일괄 입력 세션을 처리하거나 오류 표시를 사용해야 합니다.
데이터 전송을 실행하거나 성능을 테스트하려면 백그라운드에서 세션을 처리해야 합니다.
기존 일괄 입력 방법에 대한 참고 사항
- Sync시간적 처리
- 여러 거래에 대한 데이터를 전송합니다.
- Synchronous 데이터베이스 업데이트.
- 각 세션마다 일괄 입력 프로세스 로그가 생성됩니다.
- 세션을 병렬로 생성할 수 없습니다.
통화 거래 방법.
이 방법에서 ABAP/4 프로그램은 CALL TRANSACTION USING 문을 사용하여 SAP 트랜잭션.
전체 일괄 입력 프로세스는 프로그램에서 온라인으로 이루어집니다.
참고 사항 :
- 더 빠른 데이터 처리
- 비동기 처리
- 단일 거래에 대한 데이터를 전송합니다.
- 일괄 입력 처리 로그가 생성되지 않습니다.
일괄 입력 절차
일반적으로 조직의 일괄 입력을 개발하기 위해 다음 단계 순서를 따르게 됩니다.
- 레거시 데이터 분석. 전송할 데이터를 매핑하는 방법을 결정합니다. SAP 구조. 또한 필요한 데이터 유형이나 데이터 길이 변환에 유의하세요.
- 생성 SAP 수출 프로그램에 사용하기 위한 데이터 구조.
- 데이터를 순차 파일로 내보냅니다. 사전 정의된 문자 형식이 필요합니다. SAP 일괄 입력 프로그램.
- 경우 SAP 제공된 BDC 프로그램을 사용하지 않으면 배치 입력 프로그램을 직접 코딩하십시오. 상황에 따라 적절한 일괄입력 방식을 선택하세요.
- 데이터를 처리하여 SAP 시스템.
- 프로세스 로그를 분석합니다. 적절한 로그가 생성되지 않는 CALL TRANSACTION 방법의 경우 프로그램에서 수집한 메시지를 사용하십시오.
- 프로세스 분석 결과에서 오류가 있는 데이터를 수정하고 다시 처리합니다.
BDC 프로그램 작성
BDC 프로그램을 작성하려면 다음 프로세스를 따르세요.
- 일괄 입력 데이터를 처리하기 위해 트랜잭션을 분석합니다.
- 사용할 일괄 입력 방법을 결정합니다.
- 순차 파일에서 데이터 읽기
- 데이터 변환 또는 오류 검사를 수행합니다.
- 일괄 입력 구조인 BDCDATA에 데이터를 저장합니다.
- 클래식 일괄 입력을 위한 일괄 입력 세션을 생성하거나 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가 항상 표준 화면 크기에서 작동하도록 만드세요.
일괄 입력 세션 생성
- 함수 모듈 BDC_OPEN_GROUP을 사용하여 일괄 입력 세션 세션을 엽니다.
- 세션의 각 거래에 대해 다음을 수행합니다.
- 트랜잭션에서 처리되는 모든 화면과 필드에 대한 값으로 BDCDATA를 채웁니다.
- BDC_INSERT를 사용하여 트랜잭션을 세션으로 전송합니다.
- BDC_CLOSE_GROUP을 사용하여 일괄 입력 세션을 닫습니다.
일괄 입력 레코더
일괄 입력 레코더(시스템 > 서비스 > 일괄 입력 > 레코더)는 수동으로 입력된 거래를 기록하고 나중에 SM35를 사용하여 실행할 수 있는 일괄 입력 세션을 생성합니다.
- 일괄 입력 초기 화면에서 녹음 푸시버튼을 선택하여 일괄 입력 레코더를 시작합니다.
- 녹음 이름은 사용자 정의 이름이며 녹음에서 생성할 수 있는 일괄 입력 세션 이름과 일치할 수 있습니다.
- 입력 SAP 거래를 클릭하고 거래 게시를 시작합니다.
- 포스팅을 완료하신 후 SAP 트랜잭션 가져오기 및 저장을 선택하여 기록을 종료하거나 다음 트랜잭션을 선택하고 다른 트랜잭션을 게시합니다.
- 녹음을 저장한 후에는 녹음에서 일괄 입력 세션을 생성하거나 녹음에서 일괄 입력 프로그램을 생성할 수 있습니다.
- 이제 생성한 일괄 입력 세션을 다른 일괄 입력 세션과 마찬가지로 분석할 수 있습니다.
- 배치 입력 레코더의 기능으로 생성된 프로그램은 데이터 인터페이스 프로그래머를 위한 강력한 도구입니다. 이는 고객 요구 사항에 따라 변경될 수 있는 견고한 기반을 제공합니다.