BDC 프로그램 개발을 하는 중에 Work Order 를 수정하는 프로그램에서 동일한 Work Order 를 두번 연속 수정을 하면 두번째 Work Order가 수정이 안되는 현상이 발견되었다. 문제는 Background 모드를 사용하면 두번째 실행한 것이 저장이 안 되는 문제이다. 그러나 Foreground 로 실행을 하면 문제 없이 두 건 모두 저장이 되었다.
이 문제는 특별한 오류가 있어서 생기는 것은 아니지만 첫 번째 BDC를 처리하고 나서 완료가 되기 전에(짧은 시간이지만) 두 번째 Work Order를 처리하려고 하기 때문에 발생하는 문제 인 듯하다.
그래서 이 경우를 해결하기 위해서는 첫번째 BDC 를 실행 후 몇초간의 시간 텀을 두거나 아니면 BDC 실행시 Update Mode 를 Asynchronous 에서 Synchronous 로 변경을 하면 된다.
[ 추천방안 ]
1. BDC 수행 이후에 WAIT UP TO XX SECONDS 를 이용하여 시간차를 준다.
2. BDC 수행 옵션에서 CTU_PARAMS-UPDATE_MODE = 'S' 옵션을 사용한다.
반응형
'SAP > ABAP' 카테고리의 다른 글
ABAP 스마트폼 언어별 텍스트가 다르게 나오는 경우 해결방법 (0) | 2015.05.22 |
---|---|
ABAP 개발을 위한 Eclipse 및 플러그인 설치하기 (0) | 2015.04.06 |
ABAP 개발자의 시작 (0) | 2015.04.06 |
ABAP 메모리상의 프로그램 로컬 변수 Local Variable 접근하기 (0) | 2015.02.25 |
ABAP 간단한 결과 내용을 ALV 팝업으로 출력하기 (0) | 2015.02.06 |
ABAP Call Screen 100 실행 후 Write 구문 출력하기 (0) | 2015.01.26 |
ABAP 텍스트 박스 ( Input Box ) Dropdown List 만들기 (0) | 2015.01.20 |
ABAP Stored Procedure 호출방법 (0) | 2015.01.15 |
ABAP 스크린 제목에 & 넣는 방법 (0) | 2014.12.16 |
ABAP Class ALV Checkbox 변경시 Data Changed Event 실행 (0) | 2014.12.15 |