petra보고서 개발 open자료

16
Xxx 보보보 보보 보 보보보 Xxx 보보보 보보보 보보보보(BIRT 보보 보보)보 보보 보보보 보보보보. 보보보 : 보보보([email protected] ) 보보보 : 2010-10-29

Upload: cho-hyun-jong

Post on 07-Dec-2014

3.259 views

Category:

Technology


2 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Petra보고서 개발 open자료

Xxx 보고서 개발이 문서는 Xxx 보고서 관련된 프로젝트(BIRT 관련 부분)를 설명 하려고 했습니다.

작성자 : 조현종([email protected])작성일 : 2010-10-29

Page 2: Petra보고서 개발 open자료

차 례1. 보고서 프로젝트 개괄......................................................................................................32. Source 위치 및 설정 방법................................................................................................4

1. 개발환경 설정..........................................................................................................42. 개발관련 문서..........................................................................................................5

3. 프로젝트 설명................................................................................................................64. 보고서...........................................................................................................................8

1. 보고서 기본 형식 설명...............................................................................................82. 템플릿 설명.............................................................................................................9

3. 보고서 작성 팁..............................................................................................................104. 국제화 방법..................................................................................................................135. 이슈............................................................................................................................156. 참고사이트...................................................................................................................16

Page 3: Petra보고서 개발 open자료

1. 보고서 프로젝트 개괄

기존 XXX 를 사용하여 개발된 보고서를 BIRT 로 변경 하는 것이 이 프로젝트의 주된 목적입니다.

모든 보고서의 기준 포멧은 PDF 이며, WORD, EXCEL, PPT, HTML 으로도 출력 됩니다. 차트 이미지는 출력타입은 이미지 질을 위해 SVG 타입으로 하였습니다.출력타입이 HTML 일 경우 브라우저가 SVG(Scalable Vector Graphics)를 지원하는 브라우저이어야 합니다(Explorer 8 의 경우 차트가 보이지 않습니다. Explorer 9 부터는 기본이라고 합니다.) 크롬(7.0.517.41), 파이어 폭스(v3.6.11)는 문제가 없습니다.

워드, 엑셀, 파워포인트는 Window office 2003 이상에서 동작 합니다.

기간 : 2010 년 10 월 1 일부터 30 일까지

사용 기술 : Eclipse BIRT v2.6.1(www.eclipse.org/birt, Business Intelligence and Reporting Tools), Eclipse RCP 3.6(Eclipse Rich Client Platform)

Xxx 보고서 개발 페이지 3

Page 4: Petra보고서 개발 open자료

2. Source 위치 및 설정 방법

보고서 프로젝트는 독립적으로 실행 되지 않습니다. 실행되기 위해서는 com.xxx.access.rcp 혹은 com.xxx.cipher.rcp 프로젝트의 부분으로 실행되어 집니다.

예를 들어 com.xxx.cipher.rcp 프로젝트를 이용해서 보고서를 실행하기 위해서는 최소한 다음 플러그인이 필요 합니다.

실행은 com.xxx.cipher.rcp 프로젝트에 있는 com.xxx.cipher.product 파일을 이용하여 실행해 볼 수 있습니다.

1. 개발환경 설정

새롭게 report 관련 소스를 다운 받은 분은 다음과 같이 작업합니다.1. 현재 자신의 프로젝트 중에 com.xxx.commons.report.core 프로젝트를 삭제합니다.

2. 위에 정의된 최소 플러그인을 svn 에서 다운 받습니다.(새롭게 다운받은 com.xxx.commons.report.core 는 버전 2.0.0 인지 확인합니다. 기존 com.xxx.commons.report.core 프로젝트는 tag/backup 으로 이동 되었습니다)

Xxx 보고서 개발 페이지 4

Page 5: Petra보고서 개발 open자료

3. svn 에서 com.xxx.targetPlatform 을 다운 받도록 합니다. 자신의 target platform 을 eclipse-3.6 으로 설정합니다.(Target Platform 설정할 때 Target platform 에 지정된 패스를 자신의 로컬 컴퓨터 패스로 수정해 줍니다) 또한 BIRT-EXCEL 에 정의된 plug-in또한 target platform 에 추가하도록 합니다.

BIRT-EXCEL 에 정의된 plug-insorg.uguess.birt.report.engine.emitter.xls_2.5.1.201001221050.jar(http://sourceforge.net/projects/tribix/files/)등은 다음과 같은 기능을 합니다. BIRT EXCEL emitter 기능을 합니다. 기존 BIRT 의 excel emitter 는 chart 를 내보내지 못하는 버그(?)를 가지고 있습니다. 향후에 BIRT 의 버그가 패치 되면 위의 플러그 인을 대체해야(?) 합니다.

4. Eclipse 환경 설정 개발자 및 국제화 작업자는 Eclipse 환경을 다음과 같이 설정해야 합니다.

Window->Preference->Report Designer->Resource 의 Resource folder 의 디렉토리를 com.xxx.commons.report.engine 프로젝트의 xxx 폴더를 지정해 주어야합니다. 지정해주지 않으면 국제화 작업과 템플릿 작업등 Resource 가져다 쓰는 부분에 문제가 됩니다.

2. 개발관련 문서

개발관련문서는 com.xxx.commons.report.engine/xxx/dev 아래에 존재합니다. 편의를 위해 임시로 놔둔것이고, 이후에는 컨플런스로 옮겨 관리 되도록 합니다.지금 현재 사용자에게 배포할때는 없애거나 개발시스템으로 옮겨서 관리 합니다.

전체 보고서 목록은 ‘작업보고서 현황.xlsx’ 를 참조합니다. 템플릿은 ‘XXXX’ 폴더를 참조하여 작업하였습니다.

Xxx 보고서 개발 페이지 5

Page 6: Petra보고서 개발 open자료

3. 프로젝트 설명

보고서는 두 개의 프로젝트로 나뉩니다. com.xxx.commons.report.core : UI 및 보고서 데이터 생성com.xxx.commons.report.engine : BIRT 엔진 및 보고서 템플릿

을 가지고 있습니다.

엔진 및 템플릿 프로젝트는 다음과 같은 구조를 가지고 있습니다.

이름 내용engine BIRT 엔진을 가지고 있습니다.(원본은

http://download.eclipse.org/birt/downloads/ 의 Runtime 을 가져와서 구성한 것입니다. v2.6.1)

엔진 홈은 프리퍼런스를 통해 사용자가 지정 할 수 있습니다.log 보고서 관련 로그 폴더 입니다.output output 폴더는 실행시 프리퍼런스를 통해 사용자가 지정할 수 있습니다.xxx/dev 보고서 개발 관련 사항(보고서 리스트 및 기존 Designer 소스)xxx/driver 보고서 엔진에서 사용하는 jdbc 드라이버(UI 에서 jdbc 드라이버가 변경되면

함께 변경해 주어야 합니다)xxx/image 보고서에서 사용하는 이미지 디렉토리 입니다.(고객의 로고 변경될 때(현재는

Xxx 로고) companyLogo.jpg 의 이미지를 바꾸어 주면 됩니다)xxx/resource 보고서에서 사용하는 기본 함수 와 국제화 파일들을 가지고 있습니다.

기본 함수 js/ 디렉토리 안에는 보고서 값을 디버깅 해보기위한 debugger.js, 보고서에서 기본으로 사용하려는 xxxCommons.js 파일 가지고 있습니다.

국제화 파일은 XXX_COMMON 는 국제화 관련 공통 내용을 가지고 있습니다.국제화는 보고서 그룹마다 국제화 파일을 하나씩 가지고 있습니다.

xxx/template 보고서 관련 템플릿 파일을 지정하고 있습니다.

Xxx 보고서 프로젝트의 템플릿의 템플릿 파일은 xxx_horizontal_template.rpttemplate, xxx_vertical_template.rpttemplate 입니다. 템플릿 파일의 등록은 Report Design 퍼스팩티브에서 템플릿 파일을 선택하고 Register Template with New Report Wizard 를 클릭하여 등록합니다.

Xxx 보고서 개발 페이지 6

Page 7: Petra보고서 개발 open자료

Xxx 보고서 개발 페이지 7

Page 8: Petra보고서 개발 open자료

4. 보고서

1. 보고서 기본 형식 설명

사이즈의 단위는 point 입니다. 헤드 타이틀 및 대상서버, 검색기간과 하단의 일자, 페이지번호, 회사로고는 공통 템플릿으로 제공됩니다. 작성시 템플릿으로 시작하여야 하며, 템플릿은 관리 되어야 합니다.

Xxx 보고서 개발 페이지 8

Page 9: Petra보고서 개발 open자료

2. 템플릿 설명 xxx_horizontal_template.rpttemplate 설명

기본 변수 정의 이름 설명

start_time UI 에서 입력한 검색 시작 일시end_time UI 에서 입력한 검색 종료 일시xxxIP UI 에서 선택한 보고서 서버 리스트date_format UI 에서 입력한 보고서 타입(더 이상 사용하지 않음)gen_id 보고서 생성시 자동으로 생성되는 ID

데이터를 생성하기 위한 select 날리는 id 가 존재합니다.reportTitle UI 에서 생성하여 넘겨주는 보고서 타이틀

상단

기본변수에서 넘겨 받아서 출력합니다.

하단

오른쪽 하단의 XXX 이미지는 고객의 요청으로 수정 될 수 있습니다. xxx/image 디렉토리의 companyLogo.jpg 파일을 고객의 파일로 수정해 주면 됩니다. 이미지 사이즈는 가로 135 pixels * 세로 21pixels 입니다.

Resources텝에 국제화를 위해 다음과 같이 설정했습니다. 기본언어 파일 추가되면 템플릿 파일에 추가하여 후속 작업을 할 수 있도록 합니다.

주의) 언어파일의 순서는 영어 한국어 순서로 위치합니다.

Resources 에는 국제화 관련 파일과 공통 함수 등을 지정하여 사용합니다.Properties Files 항목에는 국제화 관련 파일을 넣습니다.(지역화에 대한 좀더 자세한 사항은 지역화 편을 참조하세요)

Xxx 보고서 개발 페이지 9

Page 10: Petra보고서 개발 open자료

3. 보고서 작성 팁

1. 동적인 쿼리의 경우 (해당 DataSet 의 beforeOpen 메소드에)다음과 같이 작성하여 줍니다.

this.queryText = " select                                                                                       " +" sum(decode(a.fail_code, 0, 0, 1)) login_fail_count " from atetostr(s.start_time, '" + params["param_startDate"] + “’”;

  

2. 데이터가 3454.323423423 이런 수가 나오고 소수점 이하 첫 번째 자리에서 없애주고 싶을 때는 숫자 포멧(객체의 OnRender 에 포멧팅 해줍니다)을 해줍니다.onRender 메소드에 this.setDisplayValue(addCommasPoint(this.getValue()))); 을 사용하여 포멧팅 해줍니다.

혹은 UI 에서 지원해준

Format String 을 통해서 지정 할 수도 있습니다.

3. 대 그룹 서브 그룹이 있을 경우 서브 그룹의 그룹 명을 넣기 위해 머지 할 경우 대 그룹은 merge에서 빼야 합니다. merge 할 경우 텍스트가 출력되지 않습니다. (벤더합계 텍스트)

 

Xxx 보고서 개발 페이지 10

Page 11: Petra보고서 개발 open자료

4. 서버그룹의 출력은 아래 라인이 있어야 그룹의 아래 선이 출력됩니다.

 5. 그룹이름이나 서브 그룹 이름이 같을 경우 이름이 같은 것으로 머지 할 경우 약간의(PDF)의

경우 약간의 공백이 표시됩니다. 이 경우 그룹들의 간격을 최대한으로 줄이면 공백을 작게 보이게 됩니다.

 

다음과 같이 그룹들의 간격을 최대한 작게 줄여 주어야 합니다.

6. 보고서 테이블에 라인 수를 정해줄 수 있습니다. Page Break Interval 의 값이 40 이므로 테이블 상단에 내용이 존재 할 경우 40 개의 로우를 작성하고 끝내므로 중간에 공백이 생길 수 있습니다. 이 경우 Page Break Interval 값을 0 으로 만들면 페이지 중간에 공백이 생기지 않고 출력됩니다.

7. PDF 에서 위와 같이 디자인 하면 중간 그룹 합계의 아랫 라인 선이 나오지 않는 경우가 존재 하는데, 다음과 같이 하도록 합니다.

중간 그룹 합계까지 블록을 선택하고, border 의 선을 검은 색인 상태로 아랫 선과 윗 선을 선택하여 줍니다. 선택하면 보통 선이 그려져야 하지만 중간 선은 삭제 된 것을 확인할 수 있습니다.

Xxx 보고서 개발 페이지 11

Page 12: Petra보고서 개발 open자료

이것은 PDF 를 중심으로 만든 것이고 다른 포멧은 지원되지 않을 수 있습니다. 하지만 기준 문서가 PDF 이므로 PDF 를 우선해서 작업합니다.

Xxx 보고서 개발 페이지 12

Page 13: Petra보고서 개발 open자료

4. 국제화 방법

보고서 국제화는 resource/nl1/XXX_COMMON 으로 시작하는 파일을 사용합니다. 지역화를 고려하여 작업하지 않았습니다. 한국은 ko, 일본은 jp, 중국은 zh 식으로 붙여 사용하게 됩니다. 현재는 영어, 한국어 작업이 진행되고 있습니다.

국제화는 Resource Bundle plug-in(http://sourceforge.net/projects/eclipse-rbe/)을 사용하면 쉽습니다.

국제화 이름을 지정하는 규칙은 ColumnCommon 로 시작하는 것에는 공통 요소를 정의합니다. 각 보고서의 특성에 맞는 것은 보고서 그룹 예를 들어 로그인 보고서 일 경우 DG_LOGN 을 앞 문자로 시작하는 문자를 붙이고 규격화 해 나갑니다.

자세한 이름은 xxx/dev/작업보고서현황.xlsx 파일을 참고하여 생성하여야 합니다.

1. 지정보고서에서 어느 파일을 기준으로 국제화 할지 파일을 지정해 줍니다.

주의) 파일의 순서가 영어가 제일 먼저 있어야 합니다.

2. 국제화 하려는 Object 를 선택합니다.

Xxx 보고서 개발 페이지 13

Page 14: Petra보고서 개발 open자료

Property Editor- Label 에서 Localization 의 Text key 를 이용해서 원하는 국제화 설명을 추가할 수 있습니다

작업 후에 작업자가 현재 실행하고 있는 이클립스가 영문일 경우 영문으로 보여야 합니다.

Xxx 보고서 개발 페이지 14

Page 15: Petra보고서 개발 open자료

5. 이슈

1. 아래 한글로 출력이 지원 되지 않습니다.

Xxx 보고서 개발 페이지 15

Page 16: Petra보고서 개발 open자료

6. 참고사이트

1. Reporting with Eclipse BIRT and Java Objects(POJO’s) – Tutorial http://www.vogella.de/articles/EclipseBIRT/article.html

2. Integrating BIRT into RAP applicationshttp://blog.tim-pietrusky.de/2009/rich-ajax-platform-rap/integrating-birt-into-rap-applications/

3. Eclipse Community Forumshttp://www.eclipse.org/forums/index.php?t=thread&S=7489fc0088e6c5fdbb89c997882c36bc&SQ=0&frm_id=2&frm_goto=Go

4. Integrating and Extending BIRT Second Edition(http://www.amazon.com/Integrating-Extending-BIRT-Jason-Weathersby/dp/0321580303) – Addison-Wesley,

Xxx 보고서 개발 페이지 16