CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
WAIT = 'X'.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
두개의 차이점이 궁금합니다...
Performance 차이라고 하는데....
더 자세한 설명 부탁드립니다.
댓글 5
-
SAP폐인
2008.01.28 23:55
-
빠코
2008.01.28 23:56
바피에서 프로세스을 수행하고 디비에 데이터가 들어가는데 걸리는 시간이 있습니다.
wait를 해줄경우 디비에 데이터가 들어가는 시간을 두고 다음 프로세스르 수행하고,
없는경우 디비에 저장되는 시간을 고려하지 않고 다음 프로세스를 진행하게 됩니다.
이렇게 될 경우에 디비에 데이터가 저장이 안되는 경우가 있어서 데이터가 꼬이는 경우가 생기더라구요.
퍼포먼스 차이가 그리 크다고 생각되진 않구요.
가능하다면 wait해주시는게 더 좋을것 같습니다. 제 경험상으로는요..;
-
e-abap
2008.01.28 23:59
두분의 말씀이 맞네요~
wait를 해줄경우 디비에 데이터가 들어가는 시간을 두고 다음 프로세스르 수행하고,
-> 이 말씀이 synchonous update라는 용어로 해석됩니다. work process가 update process가 종료할때까지 대기 합니다.
디비에 저장되는 시간을 고려하지 않고 다음 프로세스를 진행하게 됩니다
-> asynchronous update라고 하죠. 이때는 work process와 update process가 별개로 작동하게 됩니다.
-
icarus
2008.01.29 00:56
여태까진 Wait 옵션을 고려하지 않았는데, 만일 여러개의 BAPI 펑션을 수행해야 하는
로직에서 이전 BAPI가 모두 DB에 반영된 후 실행해야 하는 BAPI 펑션이 있을 경우에
Wait 파라미터에 값을 넘겨주면 되겠네요...
좋은 정보 감사합니다.
-
나도아밥퍼
2008.01.29 03:56
좋은 정보 감사합니다 저희도 무의식중에 wait를 사용해서 써왔는데 이런 차이가 있는지 몰랐네요.
더욱더 좋은 좋보 바랍니다. 큰 도움이 되었습니다.
commit work는 비동기 업데이트
commit work and wait는 동기화 업데이트입니다.
비동기보다는 동기화시킨후 업데이트 하는것이 데이터연결에 있어 좀더 정확하지만 performance면에서는 좀 느립니다.
저도 실전에서 써보지는 않고 공식교재에 나오는 연습문제만 풀어본 정도라 자세히 설명드리기는 힘들것 같습니다. ㅠ.ㅠ
자세히 아시는 고수분께서 답글을 달지 않을까요?