• 고객센터
  • 교육
  • 매뉴얼
  • 데모
  • 제품소개
조회 수 : 2002
2011.08.11 (16:56:47)
게시판을 이용해 주셔서 감사합니다.
다음양식에 맞게 입력해주세요.

* 고객시스템명 : 한국수자원공사
* GAUCE 버전 : 4.0
* WAS 종류(WebLogic 등등) : Jeus
* DB 종류 : Oracle10g
* 문의 유형(질문/요청/참조) :
* 내용 :

붙임과 같이 [총사업비]라는 시트가 사업기간을 입력하면 년도별로 컬럼이 증가됩니다.

사업기간을 입력하지 않고 전송하면 제대로 전송이 되는데, 사업기간을 입력하여 컬럼을 가변적으로

늘리고 전송하려고 하면 String index out of range: -1 오류가 발생합니다.

이 부분을 어떻게 처리해야 할지 문의드립니다.


===(.. 소스  ==========================================
        public void service(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
  {
    String nextUrl = "";
    String cmdStr  = req.getParameter("cmd") == null ? "" : req.getParameter("cmd");

    ParameterHelper   param = new ParameterHelper();
    ServletContext        sc  = this.getServletContext();
    RequestDispatcher  rd  = null;
    PrintWriter              out = res.getWriter();
    HttpSession           hs  = req.getSession();

    GauceInputStream   gis  = ((HttpGauceRequest) req).getGauceInputStream();     <<<====== 58 line
    GauceOutputStream gos = ((HttpGauceResponse) res).getGauceOutputStream();

    boolean result  = false;
    String  empcode = hs.getAttribute("empcode") == null ? "" : (String)hs.getAttribute("empcode");
    String  userId  = hs.getAttribute("userid")  == null ? "" : (String)hs.getAttribute("userid");

    System.out.println("[CostCS-service] cmd ==> [" + cmdStr + "]");

    try
    {
       .....

=== (.. 오류내용   =============================================================
[2011.08.11 14:57:15][1][0_481] [container1-65] fail to execute servlet : CostCS
<<__Exception__>>
java.lang.StringIndexOutOfBoundsException: String index out of range: -1
        at java.lang.String.checkBounds(String.java:368)
        at java.lang.String.<init>(String.java:404)
        at com.gauce.io.bin.A.A(Unknown Source)
        at com.gauce.io.bin.A.A(Unknown Source)
        at com.gauce.filter.HttpGauceRequestWrapper.getGauceInputStream(Unknown Source)
        at promate.cost.CostComp.servlet.CostCS.service(CostCS.java:58)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
        at jeus.servlet.engine.ServletWrapper.executeServlet(ServletWrapper.java:313)
        at jeus.servlet.filter2.FilterChainImpl.internalDoFilter(FilterChainImpl.java:139)
        at jeus.servlet.filter2.FilterChainImpl.doFilter(FilterChainImpl.java:91)
        at com.gauce.filter.GauceFilter.doFilter(Unknown Source)
        at jeus.servlet.filter2.FilterChainImpl.internalDoFilter(FilterChainImpl.java:122)
        at jeus.servlet.filter2.FilterChainImpl.doFilter(FilterChainImpl.java:91)
        at jeus.servlet.engine.ServletWrapper.execute(ServletWrapper.java:195)
        at jeus.servlet.engine.WebtobRequestProcessor.run(WebtobRequestProcessor.java:181)


===========================================
  //Grid를 재정의 하고 속성을 지정해 준다.
  var strGridFormat = "";  //Grid Format용 변수
  var strGridHeader = "";  //Grid Header 재설정용 변수

  //고정 Grid Column 정의(앞부분)
  strGridFormat = strGridFormat + "<C> id=TERM_FR        name=시작년도    width=80   sort=true  show=false  HeadBgColor=#ACD7ED  edit={IF(Left(L_PROC_CD, 2)='00','false','false')}</C>";
  strGridFormat = strGridFormat + "<C> id=TERM_TO        name=종료년도    width=80   sort=true  show=false  HeadBgColor=#ACD7ED  edit={IF(Left(L_PROC_CD, 2)='00','false','false')}</C>";
  strGridFormat = strGridFormat + "<FG>                  name=구분        width=240  sort=true  show=true   HeadBgColor=#ACD7ED";
  strGridFormat = strGridFormat + "    <C> id=L_PROC_CD  name=대공정코드  width=80   sort=true  show=false  HeadBgColor=#ACD7ED  edit={IF(Left(L_PROC_CD, 2)='00','false','false')}</C>";
  strGridFormat = strGridFormat + "    <C> id=L_PROC_NM  name=대공정      width=120  sort=true  show=true   HeadBgColor=#ACD7ED  edit={IF(Left(L_PROC_CD, 2)='00','false','true')}  align={IF(Left(L_PROC_CD, 2)='00','center','left')}  EditStyle=Combo Data='<총사업비>,공사비,보상비,조사설계비,관리비 및 기타,운영관리비,시설개량비,EPC비용,개발비용,기타(총사업비),<재원분담>,국고(대행),국고(출자),국고(보조),자체자금,지자체,기타(재원분담)'</C>";
  strGridFormat = strGridFormat + "    <C> id=S_PROC_CD  name=소공정코드  width=80   sort=true  show=false  HeadBgColor=#ACD7ED  edit={IF(Left(L_PROC_CD, 2)='00','false','false')}</C>";
  strGridFormat = strGridFormat + "    <C> id=S_PROC_NM  name=소공정      width=120  sort=true  show=true   HeadBgColor=#ACD7ED  edit={IF(Len(L_PROC_NM)>0,'false','true')}  HeadColor=#000000  align=left  bgcolor={decode(currow-(currow/2)*2,0,'#F1F1F1',1,'#FFFFFF')}  sumbgcolor='#f0f0f0'  color=#002759 </C>";
  strGridFormat = strGridFormat + "</FG>";
  strGridFormat = strGridFormat + "<FG>                  name=총사업비    width=100  sort=true  show=true  HeadBgColor=#ACD7ED";
  strGridFormat = strGridFormat + "    <C> id=PROC_AMT   name=현행기준    width=100  sort=true  show=true  HeadBgColor=#ACD7ED  edit={IF(Len(S_PROC_NM)>0,'true','false')}  HeadColor=#000000  align=right bgcolor={decode(currow-(currow/2)*2,0,'#F1F1F1',1,'#FFFFFF')}  sumbgcolor='#f0f0f0'  color=#002759 </C>";
  strGridFormat = strGridFormat + "</FG>";

  //고정 Grid Column Header정의(앞부분)
  strGridHeader = strGridHeader + ",TERM_FR:STRING(4):NORMALKEY";
  strGridHeader = strGridHeader + ",TERM_TO:STRING(4):NORMALKEY";
  strGridHeader = strGridHeader + ",L_PROC_CD:STRING(4):NORMALKEY";
  strGridHeader = strGridHeader + ",L_PROC_NM:STRING(40):NORMALKEY";
  strGridHeader = strGridHeader + ",S_PROC_CD:STRING(4):NORMALKEY";
  strGridHeader = strGridHeader + ",S_PROC_NM:STRING(40)";
  strGridHeader = strGridHeader + ",PROC_AMT:INT(16):NORMALKEY";

  //동적 Grid Column 정의(사업기간별 예/결산 부분)
  for ( var i = sStartYear; i <= sEndYear; i++ ) {
    //Grid 정의
    strGridFormat = strGridFormat + "<R>";
    strGridFormat = strGridFormat + "    <G>                   name="+ i +"년도  width=200  sort=true  show=true  HeadBgColor=#ACD7ED";
    strGridFormat = strGridFormat + "        <C> id="+ i +"_BUDG_AMT   name=예산금액  edit=numeric  width=100  sort=true  show=true  edit={IF(Len(S_PROC_NM)>0,'true','false')}  HeadBgColor=#ACD7ED  HeadColor=#000000  align=right  bgcolor={decode(currow-(currow/2)*2,0,'#F1F1F1',1,'#FFFFFF')}  sumbgcolor='#f0f0f0'  color=#002759 </C>";
    strGridFormat = strGridFormat + "        <C> id="+ i +"_CLAC_AMT   name=결산금액  edit=numeric  width=100  sort=true  show=true  edit={IF(Len(S_PROC_NM)>0,'true','false')}  HeadBgColor=#ACD7ED  HeadColor=#000000  align=right  bgcolor={decode(currow-(currow/2)*2,0,'#F1F1F1',1,'#FFFFFF')}  sumbgcolor='#f0f0f0'  color=#002759 </C>";
    strGridFormat = strGridFormat + "    </G>";
    strGridFormat = strGridFormat + "</R>";
    //Header 정의
    strGridHeader = strGridHeader + "," + i + "_BUDG_AMT:INT(16)";
    strGridHeader = strGridHeader + "," + i + "_CLAC_AMT:INT(16)";
  }

  //고정 Grid Column 정의(뒷부분)
  strGridFormat = strGridFormat + "<C> id=RMD_BUDG_AMT  name=이후예산    width=100  sort=true  show=true  HeadBgColor=#ACD7ED  edit={IF(Left(L_PROC_CD, 2)='00','false','false')}  HeadColor=#000000  align=right  bgcolor={decode(currow-(currow/2)*2,0,'#F1F1F1',1,'#FFFFFF')}  sumbgcolor='#f0f0f0'  color=#002759 </C>";
  strGridHeader = strGridHeader + ",RMD_BUDG_AMT:INT(16):NORMALKEY";
번호 제목 닉네임 조회 등록일
7449 호환성 보기 설정 이후에도 메뉴 깨짐 현상
kiarakim
9357 2017-02-15
7448 Shift DEMO 사이트 에서 IE11 다운됨
정성호
9586 2017-02-10
7447 엑셀 업로드 속도 문의
jokerrain
9653 2016-12-15
7446 차트 질문 파일
신현철
9618 2016-10-04
7445 java.io.IOException/java.lang.NullPointerException 발생
윤재국
10582 2016-07-13
7444 호환성 보기
kiarakim
9301 2016-07-11
7443 가우스 그리드에 문자입력시 한글/영문 우선순위 변경
hthink
9018 2016-04-21
7442 레포트 DFooter영역 이미지 태그
FKSS
9782 2016-04-20
7441 좌/우측으로 데이터 이동
헐랭이
8166 2016-04-15
7440 가우스 리포트를 PDF로 저장 가능한가요?
안순주
10650 2016-04-12
7439 중간소계 필드 제외 문의
김은영2
8064 2016-04-08
7438 가우스 그리드 범위지정 선택 가능여부 문의 [1]
hthink
10437 2016-03-29
7437 그리드에 이미지표현 파일 [1]
홍혜련
9527 2016-03-23
7436 Internet Explorer의 작동이 중지되었습니다. 파일 [1]
김태성2
9176 2016-03-18
7435 특정 index (row) 삭제 [1]
c1138
9512 2016-03-17
7434 was교체시 업그레이드 재설치 문의 [1]
박서영
8223 2016-03-15
7433 파일 업로드 문의(핸들이 잘못 되었습니다)
임종훈
9335 2016-03-15
7432 개발서버 라이센스 갱신 문의 [1]
정민75
10256 2016-03-07
7431 문의합니다 파일 [1]
c1138
9654 2016-03-07
7430 EnterpriseMode 적용이 되지 않습니다. 파일 [1]
동긔나긔
10896 2016-03-03
Tag List
XE Login