오즈리포트 파라미터 - ojeulipoteu palamiteo

프로그램 지식/oz report_오즈레포트

[오즈레포트] 오즈리포트 알림, '조회된 데이터가 없습니다' 에러 해결조언(?)!!

@카이트 2022. 5. 25. 21:00

//oztn.net/kb/

//oztn.net/kb/

oztn.net

먼저 개인적으로 오즈레포트 하시다가 막히실때 위 사이트에 검색하셔서 1차적으로 검색해보시는 걸 추천드립니당~!

 * '조회된 데이터가 없습니다' 에러

원인

해당 에러의 원인은

데이터가 없거나, odi 패러미터의 값 등

조회된 데이터가 없어서 발생하는 에러입니다.

뷰어 실행에 문제가 아니라 데이터 혹은 맵핑의 문제로 보입니다.

> 나의 경우 JSP에서 파라미터 대소문자 오타 >> 이거 은근 잘하는 실수.. ( 사실 내가 한건 아니고 몇개월전 만드신 분이 하셨겠다만, 못찾은 내 실수가 더 크다.! )

이 경우 jsp에서 파라미터 대소문자를 수정했기때문에

odi, ozr에서도 파라미터 대소문자자를 맞춰서 수정해주었음 

>> 중요, 수정한 파라미터와 관련된 부분 빼먹지말고 수정해줘야 잘 작동됩니다.!

이때 odi의 경우 사용자 지정 패러미터와 쿼리 부분 # # 이쪽 수정

ozr의 경우 자바스크립트 부분, 파라미터 부분 대소문자 수정해줄 것.

오즈뷰어에표시된데이터를패러미터를입력하여변경하려면툴바의패러미터입력아이콘() 클릭하여나타나는

패러미터입력다이얼로그에서값을변경할패러미터의 VALUE더블클릭하여변경한 [실행]버튼을클릭하면

보고서데이터가변경됩니다.

패러미터입력아이콘()보고서개발자가패러미터값을입력할있도록보고서를 디자인한경우에만사용할있습니다.

0. 들어가기전에

실무에서 처음으로 오즈 리포트라는 리포팅 툴을 써보았다.

이 글은 오즈에서 제공하는 OZReportTrainingBook7.0.pdf의 내용과 기술지원 받은 내용을 기반으로 구현시에 겪었던 어려움과 해결방법을 기록해 놓고자 작성한다. 

프로젝트에서는 뷰어에 보여줄 데이터를 자바 컨트롤러에서 구성한뒤 JSP 페이지로 넘기고 JSP페이지에서 오즈 뷰어를 실행한뒤 미리보기 후 인쇄하는 간단한 기능을 구현하였다.

>프로젝트 환경 : Spring, mybatis, jsp

>리포팅 툴 : 오즈 디자이너, 오즈 HTML5 사용

>참고 : OZReportTrainingBook7.0.pdf

OZReportTrainingBook7.0.pdf

7.86MB

1. 단순한 파라미터를 HTML 뷰어에 넘기기(ppt 171 참고)

LIst 형식의 데이터가 아닌 단순한 파라미터를 뷰어에 넘기기 위해서는 오즈 디자이너의 데이터셋(데이터트리 DataService)은 필요없다.

단지, 오즈 디자이너의 Ozformparam 항목에 파라미터명을 넣어서 오즈 폼에 바인딩 해주면 된다.

2. List<Map> 형태의 데이터 뷰어에 넘기기(JSON형식)

- spring controller에서 jsp에 데이터를 넘기기 위해 model.addattribute 할때 값은 jsonArr 형태로 만들어 주었다.

- 먼저, List의 각각의 Map을 반복문으로 꺼내온뒤 json객체로 만든다.

- 이렇게 만들어진 jsonObject를 jsonArr에 추가한다.

model.addattribute("jsondata", jsonArr) 이렇게 jsp로 보낸다.

3.  jsp에서 뷰어 실행 및 JSON 파라미터 넘기기

- ppt 157 페이지의 소스를 jsp에 붙여넣으면 오즈 뷰어가 실행된다.

- 이때 json 데이터를 뷰어로 보내서 오즈 디자이너로 만든 폼에 바인딩 시킬수가 있다.

(1) list형태의 json 데이터를 오즈 폼에 바인딩 하기위해서는 우선 오즈 디자이너에 바인딩 시킬 껍데기 JSON 파일이 필요하다. 아무 json 파일을 만든 뒤에 {'jsondata' : [{'NAME':'홍길동', {AGE:20}, {JOB:'학생'}]} 이런 가상의 데이터를 입력해준다. 이때 키는 오즈 폼에서 바인딩할 파라미터의 이름으로 만들어줘야 하며 값은 아무 값이나 넣어준다.(공백X)

(2) ozformparam 항목에 파라미터 이름을 입력해준다. 예) jsondata

(3) 오즈 디자이너에서 DataService 항목에 JSON셋을 추가해준다. 상단 URL에 방금 작성한 가짜 json 파일을 선택해주고, 아래에서 파라미터 버튼을 선택하면 json파일에 입력한 키들이 보인다. 기준 PATH를 정해주고, 각 json 키를 추가해준다.

(4) 만들어 놓은 오즈 폼(ozr)에 파라미터를 바인딩한다.

(5) 오즈디자이너에서 폼을 실행해서 가상json파일에 입력했던 데이터가 잘 나오는지 확인한다.

4. JSP 설정 및 주의사항

- connection.pcount 의 숫자를 오즈 디자이너에 입력한 ozformparam의 갯수를 적는다.

- 파라미터를 설정하는 부분의 connection.args1 의 양 옆을 " " 가 아니라 ' ' 로 감싼다.

- 파라미터 값 부분에도 마찬가지로 ' '로 감싸며, json 데이터는 json.stringify로 json문자열로 바꿔준다.

  예) oz.sendToActionScript('connection.args1','jsondata='+JSON.stringify(jsondata));

- 데이터가 뷰어에 정상적으로 보여지지 않을 경우에는

(1) F12를 눌러 크로스브라우징 문제인 경우에는 크롬 바로가기에서 크로스브라우징을 해제한후 테스트한다.

(2) jsp에 설정한 ozr 파일의 이름이 정확한지, 폼을 호출하는 경로에 ozr 파일이 맞게 들어가 있는지 확인한다.

(3) 컨트롤러에서의 키와 jsp에서 자바스크립트로 받는 이름, 그리고 가상json파일에 들어가 있는 키 이름이 모두 동일한지 확인한다. 기존에 동일한 이름을 쓰고 있는 데이터셋이 있다면 이름을 다른것으로 변경해본다.

Toplist

최신 우편물

태그