%@ page contentType="text/html;charset=UTF-8" %>
<%@ page import="java.util.*" %>
<%@ page import="java.io.*" %>
<%!
/**
* @File Name : tranmap_demo.jsp
* @Description : xFrame TranMap 검색 서비스 JSP
* @Modification Information
* @
* @ 수정일 수정내용
* @ --------- --------- -------------------------------
* @ 2018.09.03 최초생성
* @ 2020.10.06 수정배포
*
* @author 소프트베이스 솔루션 개발팀
* @since 2018. 09. 03
* @version 1.0
* @see
*
* Copyright (C) by Softbase All right reserved.
*/
%>
<%!
//Dev@Studio에서 데이터 처리 시 사용하는 구분자
final String STARTEND_DEL = String.valueOf((char)0x03); // 데이터 시작, 끝
final String FIELD_DEL = String.valueOf((char)0x01); // 필드
final String RECORD_DEL = String.valueOf((char)0x02); // 레코드
final String ITEM_DEL = String.valueOf((char)0x04);
//결과 리턴 코드
final String RESULT_SUCCESS = "1";
final String RESULT_FAIL = "0";
public String getFieldInfo(String fldName, String fldDesc, String index, String maxLength) {
return "F" + ITEM_DEL + "" + ITEM_DEL + fldName + ITEM_DEL + fldDesc + ITEM_DEL + index + ITEM_DEL + maxLength + ITEM_DEL + FIELD_DEL;
}
public String getGridInfo(String grdName, String grdDesc, String index, String maxLength) {
return "G" + ITEM_DEL + "" + ITEM_DEL + grdName + ITEM_DEL + grdName + ITEM_DEL + index + ITEM_DEL + maxLength + ITEM_DEL + FIELD_DEL;
}
public String getColumnInfo(String grdName, String colName, String colDesc, String index, String maxLength) {
return "C" + ITEM_DEL + grdName + ITEM_DEL + colName + ITEM_DEL + colDesc + ITEM_DEL + index + ITEM_DEL + maxLength + ITEM_DEL + FIELD_DEL;
}
public String getErrorInfo(String errorMsg) {
return STARTEND_DEL + RESULT_FAIL + errorMsg + STARTEND_DEL;
}
%>
<%
StringBuffer buffer = new StringBuffer();
//검색 조건 데이터
String tranMapId = request.getParameter("code");
String projectId = request.getParameter("projectid");
try {
// [전체 데이터 구성]
// 데이터 시작/끝 구분자
// 성공/실패 여부값 ("1"/"0")
// 거래코드 정보 + 0x02 + 입력인덱스 정보 + 0x02 + 출력인덱스 정보 + 0x02
// 데이터 시작/끝 구분자
System.out.println("조회 기준 정보 : tranMapId = [" + tranMapId + "] projectId = [" + projectId + "]");
if(tranMapId.equals("")) {
out.println(getErrorInfo("MapID 검색어를 입력하지 않으셨습니다.\nMapID는 필수 항목입니다."));
return;
}
buffer.append(STARTEND_DEL); // 데이터 시작/끝 구분자
buffer.append(RESULT_SUCCESS); // 성공/실패 여부
// 거래 코드 정보부 ------------------------------------------
buffer.append(tranMapId + FIELD_DEL); // 거래코드 ID
buffer.append("거래코드 설명이다~" + FIELD_DEL); // 거래코드설명
buffer.append("홍길동" + FIELD_DEL); // 작업자
buffer.append("2016-11-20 09:05:11" + FIELD_DEL); // 작업일시
buffer.append("ver1.0" + FIELD_DEL); // 버전
buffer.append(RECORD_DEL); // 레코드 구분자 (거래코드 정보 끝)
// 입력 정보부 --------------------------------------------
buffer.append(getFieldInfo("IN_FLD_A", "입력필드 A", "1", "10")); // 입력 전용 필드
buffer.append(getFieldInfo("IO_FLD_B", "입출력필드 B", "2", "20")); // 입출력 필드
buffer.append(getGridInfo("IN_GRD_A", "입력그리드 A", "10", "254")); // 입력 전용 그리드
buffer.append(getColumnInfo("IN_GRD_A", "IN_GRD_A_COL_A", "입력칼럼 A_A", "10.1", "10")); // 입력 전용 그리드 칼럼
buffer.append(getColumnInfo("IN_GRD_A", "IN_GRD_A_COL_B", "입력칼럼 A_B", "10.2", "20")); // 입력 전용 그리드 칼럼
buffer.append(getGridInfo("IO_GRD_B", "입출력그리드 B", "20", "254")); // 입출력 그리드
buffer.append(getColumnInfo("IO_GRD_B", "IO_GRD_B_COL_A", "입력칼럼 B_A", "20.1", "10")); // 입력 그리드 칼럼
buffer.append(getColumnInfo("IO_GRD_B", "IO_GRD_B_COL_B", "입출력칼럼 B_B", "20.2", "20")); // 입출력 그리드 칼럼
buffer.append(RECORD_DEL); // 레코드 구분자 (입력 인덱스 정보 끝)
// 출력 정보부 --------------------------------------------
buffer.append(getFieldInfo("OUT_FLD_C", "출력필드 C", "1", "10")); // 출력 전용 필드
buffer.append(getFieldInfo("IO_FLD_B", "입출력필드 B", "2", "20")); // 입출력 필드
buffer.append(getGridInfo("OUT_GRD_C", "출력그리드 C", "10", "254")); // 출력 전용 그리드
buffer.append(getColumnInfo("OUT_GRD_C", "OUT_GRD_C_COL_A", "출력칼럼 A_A", "10.1", "10")); // 출력 전용 그리드 칼럼
buffer.append(getColumnInfo("OUT_GRD_C", "OUT_GRD_C_COL_B", "출력칼럼 A_B", "10.2", "20")); // 출력 전용 그리드 칼럼
buffer.append(getGridInfo("IO_GRD_B", "입출력그리드 B", "20", "254")); // 입출력 그리드
buffer.append(getColumnInfo("IO_GRD_B", "IO_GRD_B_COL_B", "입출력칼럼 B_B", "20.2", "20")); // 입출력 그리드 칼럼
buffer.append(getColumnInfo("IO_GRD_B", "IO_GRD_B_COL_C", "입력칼럼 B_C", "20.3", "20")); // 출력 그리드 칼럼
buffer.append(RECORD_DEL); // 레코드 구분자 (출력 인덱스 정보 끝)
buffer.append(STARTEND_DEL); // 데이터 시작/끝 구분자
out.print(buffer.toString());
}
catch(Exception e) {
// 에러 발생 시 처리
out.print(getErrorInfo("Error Message: " + e.getMessage()));
}
%>