* 개요
리포트 디자이너에서 odi를 추가할 때 '카테고리 주소'와 'ODI 이름'이 잘못 입력되어 에러가 발생하는 경우가 있습니다.
아래 설명을 보시고 조치를 하시기 바랍니다.
* 상세 설명
서버의 리파지토리 하위 구조와 로컬 작업 폴더의 하위 구조는 아래와 같이 동일해야 합니다.
리포트 디자이너에서 ozr에 odi를 추가했을 때
위의 리파지토리/작업폴더 구조일 때 '데이터 정보'창에 아래와 같이 'ODI 이름'과 '카테고리 주소'가 들어가면 정상적으로 동작합니다.
카테고리 주소란 리파지토리 하위의 폴더 경로를 의미합니다.
Case1. '카테고리 주소'가 잘못 들어갔을 때
ozr 파일을 리포트 디자이너로 드래그할 때, 기존 작업 폴더와 다른 위치의 ozr을 열려고 하면
작업 폴더 위치를 ozr이 있는 위치로 변경해야 하기 때문에 아래와 같이 메시지가 나옵니다.
이 때 그냥 '확인' 버튼을 클릭하면 ozr 파일 바로 상위 폴더가 작업폴더로 설정됩니다.
그럼 아래와 같이 리파지토리 서버와 로컬 작업 폴더의 하위 폴더(카테고리) 구조가 안맞게 됩니다.
'재 설정...' 버튼을 클릭한 후 카테고리 상위 경로로 작업 폴더를 설정해 주셔야 합니다.
작업 폴더의 하위 폴더(카테고리) 구조가 안맞는 상태에서 odi를 추가하게되면 카테고리 주소는 잘못들어갑니다.
예를 들어, 리파지토리 서버에는 /category1/Item1.odi (실제 파일 위치 : oz80/WEB-INF/repository_files/category1/Item1.odi) 경로로 업로드했는데
로컬 작업 폴더는 category1 폴더 자체를 작업폴더로 잡고 Item1.odi를 추가한 경우,
'카테고리 주소'에 'category1'이 들어가야 하는데 '/'로 잘못 들어갑니다.
이렇게 저장한 ozr을 서버에 업로드하면, 아래의 에러 메시지가 발생합니다.
[에러코드] 1020030014 [일반메시지] 리포트 로더 : 데이터를 로딩하면서 예외가 발생 했습니다. [상세메시지] data response error : ERROR : Item file name is not exists :/Item1.odi
> 에러가 발생하면 리포트 디자이너에서 다음 순서로 작업하시면 됩니다.
1. 기존 추가된 odi 삭제 |
2. 작업 폴더를 올바로 다시 설정
'작업 폴더 매니저'에 경로를 저장해 놓고 사용하시면 편리합니다.
3. odi 추가 |
4. ozr 저장 후 서버 리파지토리로 업로드 |
Case2. 'ODI 이름' 속성 값이 실제 ODI 파일명과 다르게 들어갔을 때
odi가 이미 ozr에 추가되어 있는데 모르고 다시 추가하게 되면 'ODI 이름' 속성값에 1,2,3 이 더 붙게 됩니다.
test.odi 처음 추가 -> 'ODI 이름' = 'test'
test.odi 또 추가 -> 'ODI 이름' = 'test1'
test.odi 또 추가 -> 'ODI 이름' = 'test2'
또는 개발자가 임의로 'ODI 이름'을 변경할 수도 있습니다.
데이터밴드나 라벨 등의 'ODI 이름' 속성값은 데이터 정보탭에 설정한 'ODI 이름'으로 입력됩니다. |
리포트 디자이너에서 'ODI 이름'은 'Item11'로 설정했는데
뷰어 실행할 때 odi.odinames에는 파일이름인 'Item1'로 다르게 설정하게 되면 패러미터값이 전달되지 않게 됩니다.
|
<script type="text/javascript" > function SetOZParamters_OZViewer(){ var oz; oz = document.getElementById("OZViewer"); oz.sendToActionScript("connection.servlet","http://127.0.0.1/oz80/server"); // 오즈서버 URL oz.sendToActionScript("connection.reportname","category1/Item1.ozr"); // 오즈보고서(.ozr) 경로 oz.sendToActionScript("information.debug","true"); // 뷰어콘솔 (Ctrl+Z) 정보 보기
// ODI 파라미터 설정 oz.sendToActionScript("odi.odinames", "Item1"); // odi이름. 여러개인 경우 콤마로 구분 oz.sendToActionScript("odi.Item1.pcount", "2"); // odi 패러미터 개수 oz.sendToActionScript("odi.Item1.args1", "year=2022"); // 첫번째 odi패러미터의 이름=값 oz.sendToActionScript("odi.Item1.args2", "month=7"); // 두번째 odi패러미터의 이름=값
return true; } start_ozjs("OZViewer","/oz80/ozhviewer/"); </script> |
뷰어 콘솔(Ctrl+Z) 의 문제 탭이나 전체 탭에 실제 설정된 'ODI 이름'이 ERROR에 보여집니다.
이와 같이 문제가 발생하게 되면 다음 두가지 방법중에서 선택하여 수정합니다.
방법1. 리포트 디자이너의 데이터 정보탭에서 'ODI 이름' 속성값을 odi 파일명과 동일하게 변경하고 odi.odinames 뷰어패러미터값도 odi 파일명으로 넘김
* Item11 -> Item1로 변경 |
|
* 데이터밴드, 라벨에 설정된 이름도 다시 변경해주어야 합니다.
바꾸기 창을 Ctrl+R 로 띄운 후 'ODI 이름', '패러미터 셋 이름' 위치에 있는 값을 찾아 변경합니다.

|
방법2. 파일명과 다른 'ODI 이름'을 그대로 사용하고자 한다면 뷰어 패러미터값도 변경된 이름으로 수정
|
oz.sendToActionScript("odi.odinames", "Item11"); // odi이름. 여러개인 경우 콤마로 구분 oz.sendToActionScript("odi.Item11.pcount", "2"); // odi 패러미터 개수 oz.sendToActionScript("odi.Item11.args1", "year=2022"); // 첫번째 odi패러미터의 이름=값 oz.sendToActionScript("odi.Item11.args2", "month=7"); // 두번째 odi패러미터의 이름=값 |
|