1. BDC 프로그램 개요.
우리가 시스템을 운영하다 보면 대량의 데이터를 제어하거나 Standard Table의 데이터에 관여해야
할 필요가 생긴다. 이런한 경우 SAP에서는 Standard Table을 직접 제어하는 것을 권장하지 않으며,
Data 제어는 Transaction을 통하도록 권장하고 있다.
BDC는 Batch Data Communication의 약자로, Standard Process를 대량으로 처리하여 많은 Master성
테이터를 생성/변경/삭제할 때 필요한 Programming이라 할 수 있다.
2. BDC 실행 단계.
1단계는 Transaction Recording의 단계로서 Standard Process에 대하여 실제적으로 Transaciton 처리를
하면서 필수 적인 정보를 입력하는 과정이다.
2단계:BDC Source Creation
2단계는 Recording 된 Transaction이 자동으로 BDC 소스화되는 과정이다.
3단계:원시 Data 생성.
3
단계는 원시 Data를 생성하는 방법으로 2가지 방법이 있다. 첫째는 외부에서 Excel과 같은 형태로 데이터를 저장하였다가
프로그램이 실행되면 Upload방법을 통하여 데이터를 얻는 방법이고, 둘쨰는 내부에서 Dataset을가져오는 방법이다.
4단계:BDC 실행.
3단계에서 얻어진 Dataset이 Looping을 돌면서 BDC Program을 통해 Standard Data로 만들어지는 단계이다.
3. 구문에서 사용되는 옵션.
예제:
CALL TRANSACTION <tcode>
USING <bdc_tab>
OPTION FROM <ctu_params>
MODE <mode>
UPDATE <update>
MESSAGES INTO MESSTAB.
IF SY-SUBRC <> 0.
<Error_handling>.
ENDIF.
tcode: 트랙잭션 코드
bdc_tab: BDCDATA 구조의 인터널 테이블을 트랜잭션에 전달한다.
ctu_params: Rel4.6B 이상에서 사용할 수 있으며, CALL TRANSACTION문의 옵션을 설정한다.
ctu_params 속성.
DISMODE: MODE 옵션과 동일
UPDMODE: UPDATE 옵션과 동일
CATTMODE: CATT 모드설정
' ' CATT 사용 안 함
'N' single-screen control이 없는 CATT
'A' single-screen control이 있는 CATT
DEFSIZE: 기본 윈도우 사이즈 설정
RACOMMIT:COMMIT WORK에서 트랜잭션 종료하지 않음.
NOBINPT:Batch Input Mode 사용 안 함.
NOBIEND:DISMODE가 'E' 상태일 때만 설정이 가능하며, 시스템 에레가 발생하면 Background에서
수행 중인 BDC가 Foreground로 전환되고 스크린이 조회 된다.
ctu_params의 옵션이 DISMODE와 CALL TRANSACTION의 <mode> 는 같은 기능을 수행하며,
중복해서 사용할 수 없다. UPDMODE 속성도 동일하다.
<mode> : 조회 모드 설정.
A 화면을 조회하면서 트랜잭션 수행
E 에러가 발생할 경우에만 화면 조회
N 화면을 표시하지 않음
<update> : update mode
S Synchronous Update
A Asynchronous Update
L Local Update
Messtab: BDC 수행시 트랜잭션에서 수행된 메세지들이 저장되는 BDCMSG-COLL 타입의 인터널 테이블.
SY-MSGID = Message ID
SY-MSGTY = Message type(E,I,W,S,A,X)
SY-MSGNO = Message number
SY-MSGV1 = Message variable 1
SY-MSGV2 = Message variable 2
SY-MSGV3 = Message variable 3
SY-MSGV4 = Message variable 4
Return code: BDC 수행후 시스템 변수 sy-subrc 에 성공 여부를 반환한다.
0 Success
<=1000 Dialog Program Error
>1000 Batch input Error
4. BDC 레코딩 및 프로그램에서의 구현.
4.1 Transaction Recorder 수행.
1)T-CODE: SHDB 실행
2)<New Recording>버튼을 클릭하면 새로운 트랜잭션 레코드 편집기가 실행된다.
3)Transaction code에 실행해야 할 트랜잭션 이름을 입력.
5) 트랜잭션을 수행하고 난 후에 레코딩 데이터들 조회할수 있고 레코딩을 의미에 맞게 수정할 수 있다.
4.2 프로그램에서의 소스 구현.
**********************************************************************************************
'업무 > ABAP' 카테고리의 다른 글
모듈풀 라디오 버튼 그룹화 시키기 (0) | 2016.04.08 |
---|---|
ALV 데이터 변경 시점 (0) | 2016.03.24 |
SAP CLASS. CLASS 종류와 유형 (0) | 2016.01.25 |
SAP ALV. ALV에서 DATA 변경시 PBO 타게하기 (0) | 2016.01.25 |
SAP ABAP. DBLINK와 RFC의 차이 (1) | 2016.01.25 |