XTranMap을 정의하지 않고 동적으로 requestsubmit을 수행한다.
Parameters | Type | Description |
---|---|---|
objSubmitOption | class | 옵션 오브젝트 (Remark 참조) |
Type | Description |
---|---|
short | 전송 성공/실패 여부 (Remark 참조) |
var submit_option = { // [옵션] XTranMap ID (기본값: "") // 특수문자, 한글, 공백 문자열은 지원하지 않는다. // xtranmap_id 속성에 대한 XTRANMAP이 있는 경우, // xtran_async, url_encode, http_header, // xtran_timeout 속성을 제외한 속상값은 무시된다. // xtranmap_id 속성에 대한 XTRANMAP이 없는 경우, // 내부적으로 XTRANMAP이 동적으로 생성되고, 거래 완료시 삭제된다. // xtranmap_id 속성에 공백문자열 또는 값을 지정하지 않은 경우, // 자동으로 생성된 XTRANMAP_ID가 사용된다. xtranmap_id: "", // [옵션] 동기/비동기 통신 여부 (기본값: true) // false로 지정한 경우, getsubmitresult API를 이용해 결과를 확인한다. xtran_async: true, // [옵션] url 인코딩 처리 여부 (기본값: true) url_encode: true, // [옵션] HTTP 헤더 문자열 (기본값: 공백문자열) // (http_header 지정 방식은 requestsubmitex API 도움말을 참조한다.) http_header: "", // [옵션] 타임아웃 (단위: ms), (기본값: -1) // (-1인 경우, XTRAN_TIMEOUT 실행 파라미터 값이 적용된다.) xtran_timeout: -1, // [옵션] xtranmap_id 속성에 대한 XTRANMAP이 없는 경우, 반드시 지정해야 한다. // 상대 URL을 지정하는 경우, XDATASET_BASEURL 정보를 이용하여 실제 URL이 정의된다. xtran_url: "", // [필수] 입력용 데이터셋 정보 오브젝트 배열을 지정함 (기본값: null) input_arr: [{ // [필수] XDataSet ID (글로벌 데이터셋 ID 지정 가능) xdataset_id: "", // [옵션] 입력 데이터셋 데이터 유형 (기본값: XFD_XDATASET_TRAN_ALL) // (XFD_XDATASET_TRAN_ALL/XFD_XDATASET_TRAN_UPDATE/XFD_XDATASET_TRAN_CHECK) io_type: XFD_XDATASET_TRAN_ALL, // [옵션] 송신 대상 XDataSet 컬럼 ID 배열 또는 null (기본값: null) // null이거나 빈 배열인 경우, 전체 컬럼 ID가 처리됨 column_id_arr: null }], // [필수] 출력용 데이터셋 정보 오브젝트 배열을 지정함 (기본값: null) output_arr: [{ // [필수] XDataSet ID (글로벌 데이터셋 ID 지정 가능) xdataset_id: "DS_EMP_LIST", // [옵션] 출력 데이터셋 데이터 유형 (기본값: XFD_XDATASET_TRAN_DELETE) // (XFD_XDATASET_TRAN_DELETE/XFD_XDATASET_TRAN_UPDATE/XFD_XDATASET_TRAN_APPEND) io_type: XFD_XDATASET_TRAN_DELETE, // [옵션] 출력 데이터셋 컬럼 ID 배열 또는 null (기본값: null) // null이거나 빈 배열인 경우, 전체 컬럼 ID가 처리됨 column_id_arr: null }] };
* strHttpHeader 파라미터 설정 방법 헤더 키와 헤더 값은 ':' 문자로 구분 여러 항목을 지정할 경우 \x0A 값 또는 개행문자로 구분
* Return Value
// Async 방식 데이터 통신 버튼 클릭 이벤트 처리
function btnAsync_on_mouseup()
{
var ret, objSyncTranResult;
// xtranmap_id 자동 생성 방식,
// DS_INPUT의 모든 컬럼을 XFD_XDATASET_TRAN_ALL 방식으로 송신
// DS_OUTPUT의 모든 컬럼을 XFD_XDATASET_TRAN_DELETE 방식으로 수신
ret = screen.requestsubmitdirect({
xtran_url: "demo/aaa.jsp",
input_arr: [{ xdataset_id: "DS_INPUT" }],
output_arr: [{ xdataset_id: "DS_OUTPUT" }]
});
// 동기 방식으로 통신 및 결과 확인
ret = screen.requestsubmitdirect({
xtran_url: "demo/aaa.jsp",
xtran_async: false,
input_arr: [{ xdataset_id: "DS_INPUT" }],
output_arr: [{ xdataset_id: "DS_OUTPUT" }]
});
if (ret == 1) {
// 데이터 통신 결과 정보 오브젝트를 구함
// 오브젝트에는 on_submitcomplete 이벤트의 파라미터로 전달되는
// 데이터를 포함하고 있음.
var instResult = screen.getsubmitresult();
if(instResult == null) {
screen.alert("데이터 처리 결과를 얻을 수 없습니다.");
return;
}
// 처리 결과를 콘솔에 출력
factory.consoleprint("mapid = " + instResult.mapid);
factory.consoleprint("result = " + instResult.result);
factory.consoleprint("recvuserheader = " + instResult.recvuserheader);
factory.consoleprint("recvcode = " + instResult.recvcode);
factory.consoleprint("recvmsg = " + instResult.recvmsg);
}
// 입력 데이터 셋을 멀티로 지정
ret = screen.requestsubmitdirect({
xtranmap_id: "TR_DIRECT",
xtran_url: "demo/bbb.jsp",
input_arr: [
{ xdataset_id: "DS_INPUT_A" },
{ xdataset_id: "DS_INPUT_B", io_type: XFD_XDATASET_TRAN_UPDATE }
],
output_arr: [{ xdataset_id: "DS_OUTPUT" }]
});
// 입력/출력 데이터 셋을 멀티로 지정, 컬럼 정보 지정 및 FULL URL 지정
ret = screen.requestsubmitdirect({
xtranmap_id: "TR_DIRECT_URL",
xtran_url: "http://127.0.0.1:8080/xframe5/demo/ccc.jsp",
input_arr: [{
xdataset_id: "DS_INPUT_A",
io_type: XFD_XDATASET_TRAN_ALL,
column_id_arr: ["emp_name", "emp_no", "emp_age", "emp_dept", "emp_title"]
}, {
xdataset_id: "DS_INPUT_B",
io_type: XFD_XDATASET_TRAN_UPDATE,
column_id_arr: ["emp_age"]
}],
output_arr: [{
xdataset_id: "DS_OUTPUT_A",
io_type: XFD_XDATASET_TRAN_APPEND,
column_id_arr: ["emp_name", "emp_no", "emp_age", "emp_dept", "emp_title"]
}, {
xdataset_id: "DS_OUTPUT_B",
io_type: XFD_XDATASET_TRAN_DELETE,
column_id_arr: ["emp_age"]
}]
});
}
// Async 데이터 통신 방식일때 데이터 수신 완료 이벤트
// 자세한 내용은 on_submitcomplete 도움말 참조
function screen_on_submitcomplete(mapid, result, recv_userheader, recv_code, recv_msg)
{
// 처리 결과를 콘솔에 출력
factory.consoleprint("mapid = " + mapid);
factory.consoleprint("result = " + result);
factory.consoleprint("recv_userheader = " + recv_userheader);
factory.consoleprint("recv_code = " + recv_code);
factory.consoleprint("recv_msg = " + recv_msg);
return;
}