• 고객센터
  • 교육
  • 매뉴얼
  • 데모
  • 제품소개
목동삼식이
조회 수 : 1490
2006.07.06 (03:25:48)
게시판을 이용해 주셔서 감사합니다.
다음양식에 맞게 입력해주세요.

* 고객시스템명 : 철도유통
* GAUCE 버전 :  
* WAS 종류(WebLogic 등등) :
* DB 종류 : oracle
* 문의 유형(질문/요청/참조) :
* 내용 :




더운 날씨에 고생하십니다. 현재 철도유통에 가우스로 환경을 구성하고 있습니다.



대략



[후지쯔 가우스 Struts프레임워크 사용] gauce class 를 거의 오버라이딩 하는 수준입니다.

html(jsp)(화면)  <-> action <-> dao <-> xml.query

                           |

                   xml.setdataheader



html 에서 dataset 을 생성 하고 action 에서는 미리 정의된 xml에서 datasetheader와 dao 에서

생성 된 list type 의 data를 매칭 시켜 줍니다.



현재 고민중인 사항은 dataheader가 동적으로 변환 해야되는데 문제입니다



1. 한 화면에 조건이 120개 정도되며 조건에 따라 쿼리문(header)가 바꿔야 됩니다. 그러므로

   crosstab 형태의 자료가 아닙니다



2. 가우스 메뉴얼의 setdataheader 의 예제에서 보면 엑셀의 헤더가 없이 html 단에서 header를

   생성하여 data를 매칭시키고 있지만 사실 엑셀의 header가 없어지면 매칭이 안됩니다.

  

3. html 단에서 setdataheader 를 조건에 따라 동적으로 구성하고 SQL역시 동적으로 구현하여

   실행하지만 action 에서는 html에서 보낸 dataset 이름을 받아오지만 지정한 header 정보는

  받아오지  못하는것 같습니다.



  - jsp start ---------------------------------------------------------------------

           - ..중략 ..-

           - ..setheader.. -

          DS_List.SetDataHeader("HQ:STRING(20):KEYVALUETYPE, DEPT_UPPER:STRING(20), SALE_QTY:DECIMAL(15.0), SALE_SUP:DECIMAL(15.0), GU:STRING(20),MDATE:STRING(8)");

             ..중략...

          TR_Search.Action="<%=webapp%>/EIS.do?goTo="+goTo+parameters;
          TR_Search.KeyValue="SERVLET("+action+":DSPOST=DS_List)";//조회는 O
          TR_Search.Post();  



            ..하단에 DS_List obj 지정..

  - jsp end---------------------------------------------------------------------







- action start-------------------------------------------------------------------



public ActionForward EisSaleReportQuery(ActionMapping mapping,
   ActionForm form, HttpServletRequest request,
   HttpServletResponse response) throws ServletException {

  String goTo = "";
  String formGoTo = form.getParam("goTo"); // 분기할곳
  String formAction = String2.nvl(form.getParam("action")); // 이벤트 특성(O:저장, I:저장)
  String formFlg = String2.nvl(form.getParam("flg")); // 조회 종류
  List list = null;

  if (formAction.equals("")) {
   goTo = formGoTo;

  } else if (formAction.equals("O")) {
   goTo = "blank";
   GauceHelper helper = null;
   EisSaleReportQueryDAO dao = null;
   List header = null;
   if (formFlg.equals("1")) {
    GauceDataSet dSet = new GauceDataSet();

    try {

    
     dao = new EisSaleReportQueryDAO();
     helper = new GauceHelper(request, response);



     ###########################################
     dSet = helper.getDataSet("DSPOST"); <-- jsp 단에서 dataset 받아오는 구문





     ###########################################

     /* 기존에 사용방식 */

     //xml 미리 지정된 header 를 jsp 넘겨 받아온 dSet 과 매칭 */

     //helper.setDataSetHeader(dSet, form, "EisSaleReportQueryDAO.DS_List");





     ###########################################

     /* 아래와 같은 경우로 하면 list data와 매칭이 됩니다

      jsp생성된  header 로는 왜 안되는 지 의문입니다 ..

     단, 이렇게 하면 데이타 매칭은 잘되고 하단에 logger 가 잘찍히나

     jsp 단에 그리드에서 화면에 안보여집니다. flush()를 하는데 불구하구요
    

     dSet.addDataColumn(new GauceDataColumn("HQ", GauceDataColumn.TB_STRING, 20));
     dSet.addDataColumn(new GauceDataColumn("DEPT_UPPER", GauceDataColumn.TB_STRING, 20));
     dSet.addDataColumn(new GauceDataColumn("SALE_QTY", GauceDataColumn.TB_DECIMAL, 15, 2));
     dSet.addDataColumn(new GauceDataColumn("SALE_SUP", GauceDataColumn.TB_DECIMAL, 15, 2));
     dSet.addDataColumn(new GauceDataColumn("GU", GauceDataColumn.TB_STRING, 20));
     dSet.addDataColumn(new GauceDataColumn("MDATE", GauceDataColumn.TB_STRING, 20));
     */  
     ###########################################









      

    
     list = dao.query((Service) form.getService(), form);  //DAO 데이타 받아옴

     helper.setDataSet(dSet, list);                                   // dataset , list 를 매칭
    





    
     logger.info("_________dSet.getDataRowCnt() :" + dSet.getDataColCnt());
     logger.info("_________dSet.getDataRowCnt() :" + dSet.getDataRowCnt());
     logger.info("_________dSet.getDataColCnt() :" + dSet.getDataColCnt());
     logger.info("_________dSet.indexOfColumn(1):" + dSet.indexOfColumn("1"));
     logger.info("_________dSet.getName():" + dSet.getName());
     logger.info("_________dSet.getDataColumns():" + dSet.getDataColumns());






    } catch (GauceHelperException e) {
     e.printStackTrace();
     helper.writeException("GAUCE", "001", "가우스처리를 못했습니다.");
    } catch (Exception e) {
     e.printStackTrace();
     helper.writeException("GAUCE", "002", e.getMessage());
    } finally {
     helper.close(dSet); <-- flush() 사용

    }
   }
  }
  return mapping.findForward(goTo);
}



- action end-------------------------------------------------------------------







이런식으로 구성되 있습니다.



무엇이 문제인지 궁금합니다... html 단에서 동적 header 를 사용할수 없다면

dSet.addDataColumn(new GauceDataColumn("HQ", GauceDataColumn.TB_STRING, 20));


이런식으로 사용했을시 html 그리드 단에서 자료가 외 flush()가 안되는지요??? 궁금합니다.



그럼 수고 하세요~~~~~~~~~~~~~마무리 1주일 남겨놓고 이런 일이 터져서 문제네요




번호 제목 닉네임 조회 등록일
1949 년도별 파이그래프...??
남원균
1061 2006-07-11
1948 그리드에서 소수점보이기
김영조
1224 2006-07-11
1947 그리드에서 소수점보이기
기술지원37
1480 2006-07-12
1946 Grid 조회시 정렬방법
윤정호
1155 2006-07-10
1945 Grid 조회시 정렬방법
기술지원
1414 2006-07-12
1944 가우스 그리드에서 한글모드 또는 영문모드 지정 옵션이 있습니까?
정대호
1163 2006-07-10
1943 가우스 그리드에서 한글모드 또는 영문모드 지정 옵션이 있습니까?
기술지원
1428 2006-07-12
1942 xchart에 pointer 에 관한 질문입니다.
김원종
1182 2006-07-10
1941 엑셀다운에서 그림을 타이틀로....가능할지요.
이기락
1144 2006-07-07
1940 엑셀다운에서 그림을 타이틀로....가능할지요.
관리자
1124 2006-07-10
1939 Textarea Bind
정연배
1220 2006-07-07
1938 Textarea Bind
기술지원
1384 2006-07-12
1937 레포트 용지 설정 질문 합니다. ^^
정혜련
1138 2006-07-07
1936 레포트 용지 설정 질문 합니다. ^^
기술지원
1096 2006-07-12
1935 emedit 문의
김수형
1109 2006-07-06
1934 emedit 문의
기술지원
1176 2006-07-12
1933 웹로직에서 웹빌더를 사용하려고 하는데 서비스정보설정 어떻게 해야 하는지 도와주세요
최선이
1583 2006-07-06
Selected 동적 header 생성 문의
목동삼식이
1490 2006-07-06
1931 동적 header 생성 문의
기술지원
1345 2006-07-11
1930 한글깨짐 현상
최명진
1419 2006-07-06
Tag List
XE Login