MiPlatfrom Transaction

MiPlatform 2019. 2. 20. 16:46

function deBug(obj)

{

Transaction("trName","http://localhost:9090/com/list","","Dataset0=Dataset0","","callback");

}


function callback(){

alert("도착");

}


------------------------------------------------------------------
Transaction("트랙잭션ID" ("trName")
,"서버 전체주소+매핑" ("http://localhost:9090/com/list")
,"서버로보내는 데이타셋" (" java데이타셋=mipl데이타셋 ")//데이타셋이 여러개라면 공백으로 구분
,"마이플랫폼에서 받을 데이타셋" ("mipl데이타셋=java데이타셋")//데이타셋이 여러개라면 공백으로 구분
,"데이타셋을 안쓰고 param으로 보내기" ("seq=1 name='aaa'") //파람과 파람은 공백으로 구분
,"콜벡함수명" ("callback")
);

쓰지않는것은 공백  ""으로 채워줌

파람으로 보내는 자리에 데이터 넣어서 보냈는데 움직임이 이상함
Transaction 주소매핑하는 자리에 ?param으로 보냄!!!!!!!!!!!!


@"서버로보내는 데이타셋" (" java데이타셋=mipl데이타셋 :u ")
:u 변경된 사항(입력,추가,삭제,업데이트? 된 내용만 추려서 보낸다) 지운다고 디폴트로 :u 쓴 것처럼 되지않는다.
:a 현재 조회된 데이터까지 모두 서버로 보낸다

@디폴트가 비동기통신 통신보내고 기다리지않고 계속 수행
@Dataset엔 rowType이라는 숨겨진 컬럼이 존재한는데 defalut는 normal
추가시 insert, 변경시 update로 상태변환 삭제는 dataset이 가지고 있는 deletebuffer로 이동된다.

서버로 데이터 보낼때 :u 가 rowType normal을 제외한 컬럼과   databuffer를 가져간다!! 
-- 본인의 상태변화가 서버에 도착할떄 type이 된다.

데이터를 꺼낼때 반복문 시작시
String row_status = ds.getRowStatus();  //Type을 먼저 가져온다.
if(row_status.equals("insert")로 Type 비교

@Dataset은 상태변화를 구분하기위해 OrgBuffer도 가지고 있다
rowType이 update라면 변경되값과 같이 OrgBuffer가 가지고 있는 원본 데이타도 같이 보내진다.

---------------------------------------------------------

function deBug(obj)

{

Transaction("trName","http://localhost:9090/com/list?ename=KING","","Dataset0=Dataset0","","callback");

//기본이 비동기 (async) 방식으로 움직인다.

}


function callback(trid, ErrorCode, ErrorMsg){//arg 세개로 고정!! 자리도 고정!!!! a, b, c 라면 순서대로 다 넣어줌!!!

//trid에 callback함수를 호출한 Transaction의 이름이 들어온다 trName 여러개의 Transaction이 하나의 callback함수를 공유한다면 trid로 구분할 수 있다.

alert("비동기로 작동하는 Transation함수가 완료되면 호출하는 함수");

alert(global.http.SendHttpStr);//반드시 callback함수에서 사용해야한다. 현재 서버와 주고받는 상태를 확인한다.

}


function complete(obj,nErrorCode,strErrorMsg,nReason)

{ //이 함수를 Load 함수가 응답을 받았을때 써야하는 이벤트

if(nReason == 0){//서버에서 데이터가 날라오는 상황(0)만고르기 평소에는 서버와 연결된것이 아니아도 현재 이벤트가 불릴수 있기 때문

if(nErrorCode){

alert(strErrorMsg);

}

}

}