일단 기본적으로 데이터셋은 Post 이전 시점까지는 상태값(RowStatus)과 변경전 값과 변경후 값을 모두 갖고 있습니다.
Post가 호출되면 변경된 데이터의 상태값과 변경값을 서버 쪽으로 넘겨줍니다.
데이터셋의 상태값은 Post 이후에 무조건 Reset되는 게 아니라 서버 쪽으로 정상적으로 넘겨줬는지 성공/실패만 체크한 후 성공하면 Normal로 변경합니다.
Post 후에 데이터가 서버 쪽으로 정상적으로 넘어갔다면 TR의 OnSuccess 이벤트를 타고 DataSet의 상태값을 Normal 상태로 Reset됩니다.
Post 후에 데이터가 서버 쪽으로 넘어가지 않을 경우 TR의 OnError 이벤트를 타고 Dataset의 상태값은 계속 갖고 있습니다.
즉 데이터셋의 RowStatus가 Normal로 변경되지 않는다면, 데이터가 서버 쪽으로 넘어가지 않고 OnError이벤트를 탔을 것입니다.
일단 POST 앞뒤로 해당 데이터셋의 변경된 로우의 RowStatus와 Text를 찍어서 데이터셋의 상태값 변경 여부를 확인해 보세요.
OnSuccess이벤트와 OnError이벤트 등을 탔는지 여부와 해당 데이터셋의 헤더 정보도 확인해 보세요.
TR이벤트에서 ErrorCode와 ErrorMsg 등을 찍어보시거나 서버 쪽 로그도 함께 확인해보시기 바랍니다.
참고로 몇가지 더 추가 답변을 드리자면,
만약 여러 건의 데이터를 한번에 Post로 넘겨줄 때 Commit되는 데이터와 Rollback되는 데이터가 있는 경우에는 컴포넌트 쪽에서 체크할 수 있는 방법은 없습니다.
TR이벤트에서는 데이터의 전송 여부만 체크하기 때문에 실제로 화면쪽에서 넘겨준 데이터가 서버 쪽에서 처리되었는지 여부는 컴포넌트는 알 수가 없습니다.
따라서 서버 쪽에서 제대로 처리되지 않은 데이터에 대해서는 DB쪽에서 Rollback처리를 따로 해주어야 합니다.
테스트 해보시고 만약 이해가 안되는 부분이 있으면 다시 질문해주세요.
근데... 길 가다 돈 떨어뜨리셨나요?^^
>게시판을 이용해 주셔서 감사합니다.
>다음양식에 맞게 입력해주세요.
>
>* 고객시스템명 : PT-PAM LG CNS
>* 문의할 Component명 및 버전 : 4.0
>* DataSet 버전 : 4.0
>* Tr 버전 : 4.0
>* 문의 유형(질문/요청/참조) :
>* 내용 :
>바쁘신업무에 수고가 많으세요.
>질문하나줌 할께요
>
>TR생성후 POST방식으로 IN:DATASET1을 날렸을때
>이TR이 실패할경우
>IN으로 사용한 데이터셋의 상태가 어떻게 되는지 궁금하네요
>전부 RESETSTATUS 가 되는건지
>아니면 POST날릴 시점을 기억하고 있는지요.
>
>질문 요지는 이전 기억으로 POST를 일단 타면
>화면단에 사용하던 모든 데이터셋이 초기화가 되었던 기억이 있습니다.
>그때문에 "POST==DATASET상태 초기화" 라는 공식이 머릿속에 존재하고있는데
>이번에 테스트를 해보니 POST후에 기존 ROWSTATUS가지고 있더라구요.
>둘중 어느게 맞느건지 헷갈리기 시작하네요..
>시원한 답 부탁드릴께요.
>
>혼란스러운 사람 글읽는 아무나 도와주십시오!
>
>글읽은 분들 오늘 길가다 돈주움!