• 고객센터
  • 교육
  • 매뉴얼
  • 데모
  • 제품소개
목동삼식이
조회 수 : 1496
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주일 남겨놓고 이런 일이 터져서 문제네요




번호 제목 닉네임 조회 등록일
7449 호환성 보기 설정 이후에도 메뉴 깨짐 현상
kiarakim
8821 2017-02-15
7448 Shift DEMO 사이트 에서 IE11 다운됨
정성호
9052 2017-02-10
7447 엑셀 업로드 속도 문의
jokerrain
9084 2016-12-15
7446 차트 질문 파일
신현철
9008 2016-10-04
7445 java.io.IOException/java.lang.NullPointerException 발생
윤재국
9820 2016-07-13
7444 호환성 보기
kiarakim
8607 2016-07-11
7443 가우스 그리드에 문자입력시 한글/영문 우선순위 변경
hthink
8580 2016-04-21
7442 레포트 DFooter영역 이미지 태그
FKSS
9149 2016-04-20
7441 좌/우측으로 데이터 이동
헐랭이
7731 2016-04-15
7440 가우스 리포트를 PDF로 저장 가능한가요?
안순주
9982 2016-04-12
7439 중간소계 필드 제외 문의
김은영2
7628 2016-04-08
7438 가우스 그리드 범위지정 선택 가능여부 문의 [1]
hthink
9857 2016-03-29
7437 그리드에 이미지표현 파일 [1]
홍혜련
8945 2016-03-23
7436 Internet Explorer의 작동이 중지되었습니다. 파일 [1]
김태성2
8623 2016-03-18
7435 특정 index (row) 삭제 [1]
c1138
8898 2016-03-17
7434 was교체시 업그레이드 재설치 문의 [1]
박서영
7773 2016-03-15
7433 파일 업로드 문의(핸들이 잘못 되었습니다)
임종훈
8699 2016-03-15
7432 개발서버 라이센스 갱신 문의 [1]
정민75
9818 2016-03-07
7431 문의합니다 파일 [1]
c1138
9129 2016-03-07
7430 EnterpriseMode 적용이 되지 않습니다. 파일 [1]
동긔나긔
10304 2016-03-03
Tag List
XE Login