300x250
SAP BDC, BAPI, Update, Delete 등등
SAP 개발을 하면서 알 수 없는 오류들이 발생할 수 있다.
예를 들어
- 로직은 전혀 문제가 없는데 기능이 제대로 실행이 안 돼서
디버깅을 통해서 프로그램을 실행했는데 동작이 되는 경우
- BDC을 통해서 테이블에 업데이트하는데 정상적으로 동작 못 하는 경우
- BAPI을 통해서 무언가를 하는데 동작을 못 하는 경우
이유
대부분 대용량 데이터를 다룰 때 발생하는 경우가 종종 있다.
데이터베이스에 대용량 데이터를 저장하고 있는 도중에 해당하는 테이블을 SQL 하기 때문에 저장했던 데이터들을 가져오지 못하기 때문에 제대로 동작을 안 하는 것이다.
BAPI 또한 비즈니스 로직을 타면서 시간을 줘야 하는데 바로 넘어가버리고 SQL을 타게 되면 동작을 제대로 안 한다.
해결방법( WAIT문 )
그래서 WAIT이라는 구문을 사용해서 SYSTEM 진행을 잠시 멈추게 해줘야 한다.
# 프로그램에 여유 시간을 주는 것이다.
1. WAIT UP TO n SECONDS : 프로그램 실행은 n 초 동안 중단이 되고 이 기간이 지나면 프로그램 처리가 재개된다.
예를 들어)
10초를 기다리게 한다.
이런 식으로 사용하면 된다.
WAIT 로직 말고도 Function Module이 있다.
이런 방법도 있다.
2. WAIT UNTIL logexp. : 조건이 만족될 때까지 Wait 하거나 비동기 호출이 없을 때까지 대기한다.
예를 들어)
X가 될 때까지 기다린다
이런 식으로 사용하면 된다.
SY-SUBRC
SY-SUBRC = 0 : logexp의 조건이 충족되었습니다.(예: 서브루틴 호출).
SY-SUBRC = 4 : 비동기 호출이 없습니다.
SY-SUBRC = 8 : 추가 UP TO 시간 SECONDS에 지정된 시간제한을 초과했습니다.
참고.
도움이 되셨으면 하단에 있는 광고 한번씩 눌러주세유!!
728x90
'.SAP > ..ABAP' 카테고리의 다른 글
SAP GUI Status(상태) 버튼 제거, 분리하기 (2) | 2023.04.23 |
---|---|
SAP Selection-Screen(1000번 화면) Toolbar 버튼 추가 (1) | 2023.04.20 |
SAP E-Mail(이메일) 발송 (0) | 2023.04.14 |
SAP Workarea vs Structure AND Internal Table vs Trasnparent Table 정리 (0) | 2023.04.09 |
SAP Domain Fixed Value(도메인 값) 가져오기 (0) | 2023.03.28 |