🐾 Programming Lang/☕ Java
[OZ report] si 개발자가 알아야 할 오즈 리포트 개발하는 법
yeossi
2024. 11. 5. 14:08
오즈리포트에 대해 이런 저런 정의를 늘여놔봤자 많이들 안 읽는 거 압니다
(나도 그럼ㅋ)
기본적인 구성만 짚고 넘어갑니다
오즈리포트를 설치하면 기본적으로 제공되는 도구가 4가지가 있다.
1. OZ Enterprise Manager : 오즈 서버, 스케줄러 서버에 대한 관리
2. OZ Repository Manager : 오즈 서버에 저장되어 있는 보고서 폼 파일(ozr)과 데이터 파일(odi)를 관리
3. OZ Query Designer : 리포트에서 사용할 데이터 셋 정의 및 관리
4. OZ Report Designer : 보고서 양식을 작성하고 쿼리 디자이너의 데이터 셋과 결합
※ 1, 2는 오즈 리포트의 관리도구이며 3,4는 개발 도구로 사용됨
대체적으로 시작할때 1번을 이용하여 서버와 데이터 베이스를 정의하고 특별한 변경 사항이 없다면 잘 열어보지 않는다.
(참고 : https://dy-note.tistory.com/5 )
si 개발자라면 이 모든 것을 사용하지는 않고, 웹 애플리케이션 서버에서 오즈 리포트에서 제공하는 FX 라이브러리를 이용해 개발하는 방식을 택할 것이다.
final String isSDM = "sdm".equalslgnoreCase(request.getParameter("type");
final boolean isCompressed = "true".equalsignoreCase(request.getParameter("compressed");
final boolean concurrent = "true".equalslgnoreCase(httpRequest.getParameter("concurrent");
if (isSDM) {
if (concurrent) {
// 데이터 모듈 생성 작업과 전송 작업을 동시에 수행하는 형태의 SDM 데이터 모듈 생성
dataModule = FXDataModuleFactory.createConcurrentDataModule();
}else {
// 전체 데이터에 대한 데이터 모듈 생성 작업을 완료한 후 전송되는 SDM데이터 모듈 생성
dataModule = FxDataModuleFactory.createBatchDataModule();
}
} else {
// 전체 데이터에 대한 데이터 모들 생성 작업을 완료한 후 전송되는 형태의 XML 데이터 모듈 생성
dataModule = FXDataModuleFactory.createBatchXmIDataModule();
}
// 데이터 모듈을 기록할 정보를 초기화하며 데이터 압축 여부와 버퍼 크기를 설정할 수 있습니다.
dataModule.initialize(isCompressed, httpResponse.getOutputStream();
dataModule.addParameter("param1", Types.VARCHAR, httpRequest.getParameter("param1")); // 패러미터 추가
dataModule.addDataSet("SET_Maker"); // "SET_Maker 데이터 셋 추가
dataModule.addField("SET_Maker", Types.VARCHAR); // 데이터 셋의 필드 추가
dataModulestartBinding(); // 메타 정보가 모두 등록되었을 때 데이터 모듈 바인딩을 시작하며 메타 정보의 무결성을 검증합니다
dataModulestartset("SET_ Maker"); // 데이터 셋 바인딩을 시작합니다.
dataModulesetvalue(1, "기아자동차"); // 현재 바인딩 중인 데이터 셋에 값을 설정합니다.
dataModule.completeRow(); / 하나의 Row에 대한 데이터 값 설정을 완료합니다.
dataModule.endSet("SET_Maker); // 데이터 셋 바인딩을 종료합니다.
dataModule.endBinding()바인딩을 중료합니다.
dataModule.finish(); // 모든 작업을 증료하며, 데이터 전송 타입이 batch 타입일 경우 데이터 전송 작업이 시작됩니다.
구체적인 사용법은 https://www.forcs.com/kr/file/OZReport%208.0%20trainingbook.pdf 에서 172~173페이지를 참고하면 될 것이다.
* 오즈리포트에 대한 질문은 아래 사이트에서 받고 있다.
http://oztn.net/