UbiViewer 사용설명서 - · PDF file · 2016-12-27UbiReport v2.5 - 4 2.....
Transcript of UbiViewer 사용설명서 - · PDF file · 2016-12-27UbiReport v2.5 - 4 2.....
UbiReport v2.5 - 2
목 차
11.. 클클라라이이언언트트 준준비비 사사항항 ............................................................................................................................................................................................................................ 33
22.. 서서버버 구구성성 .................................................................................................................................................................................................................................................................... 44
33.. UUbbiiVViieewweerr와와 UUbbiiGGaatteewwaayy간간의의 통통신신 .............................................................................................................................................................................. 55
44.. WWeebb상상에에서서 호호출출 시시 .................................................................................................................................................................................................................................... 66
※ 외부 호출 함수 .......................................................................................................................... 12
55.. BBaattcchh파파일일로로 호호출출 시시............................................................................................................................................................................................................................ 1166
66.. 다다른른 AApppplliiccaattiioonn에에서서 호호출출 시시 ............................................................................................................................................................................................ 1188
Visual Basic ...................................................................................................................................... 18
PowerBuilder ................................................................................................................................... 20
77.. UUbbiiVViieewweerr가가 정정상상적적으으로로 실실행행되되지지 않않는는경경우우 ................................................................................................................................................ 2211
UbiReport v2.5 - 3
11.. 클클라라이이언언트트 준준비비 사사항항
UbiViewer를 사용하기 위해서는 우선 MicroSoft Java Virtual Machine
이 사용자의 컴퓨터에 설치되어 있어야 한다.
(http://www.ubireport.com/files/pds/msjavx86.exe에서 다운로드 받을 수 있
다.)
C/S 환경에서 UbiViewer를 사용하기 위해서는 UbiReport setup.exe을 실행
시 UbiViewer를 선택하여 설치해야 한다.
(ubi.exe, Reportp.dll, UbiAppet.jar 3개의 파일이 설치된다.)
만일 일반 인터넷 사용자가 웹상에서 브라우저를 통해 UbiViewer를 이
용한다면 별도로 UbiViewer를 설치할 필요는 없고 웹 브라우저를 통하여
최초로 접속할 때 자동으로 설치된다.
UbiReport v2.5 - 4
22.. 서서버버 구구성성
UbiViewer는 C/S환경과 Web환경 모두 동일한 인터페이스를 가지고 있고
동일한 방식으로 UbiGateway와 통신한다. 따라서 UbiViewer가 정상적으로
작동되기 위해서는 Web Application 서버상에 UbiGateway가 정상적으로 구
성되어 있어야 한다.
UbiGateway의 구성방법은 별도의 UbiGateway 사용법을 참조하도록 한다.
UbiReport v2.5 - 5
33.. UUbbiiVViieewweerr와와 UUbbiiGGaatteewwaayy간간의의 통통신신
UbiViewer가 실행되면 우선 UbiViewer는 UbiGateway에 실행하게 될 디자
인 파일(JRF 파일)을 요청하게 된다. 이 때 해당 JRF파일은 반드시
UbiGateway가 설치되어있는 서버에 저장되어 있어야 한다. 이것은 사전에
UbiDesigner에서 만들어지는데 UbiDesigner의 자체 FTP모듈에 의해 서버에
직접 저장이 가능하다. 이것에 대한 자세한 내용은 별도의 UbiDesigner 사
용법을 참조하도록 한다.
JRF파일이 성공적으로 전송이 되었다면 UbiViewer는 실시간으로 입력되
는 아규먼트를 JRF파일 속의 SQL문장과 결합하여 완성된 쿼리를 다시
UbiGateway로 보내 필요한 데이터의 전송을 요청하게 된다. 그러면
UbiGateway는 해당 데이터소스로부터 이 쿼리에 대한 데이터를 받아
UbiViewer로 전송한다. 필요한 데이터를 모두 전송 받은 UbiViewer는 이것
을 이용해 페이지를 구성하고 화면에 출력한다.
UbiReport v2.5 - 6
44.. WWeebb상상에에서서 호호출출 시시
Web은 Applet을 호출함으로써 실행이 되므로 그 Applet을 호출하는
HTML페이지가 있어야 한다.
디자이너의 도구메뉴에 HTML생성기가 있는데 이것은 Applet을 호출하
는 기본적인 HTML문장을 자동적으로 생성해주는 내장도구이다.
우선 HTML생성기를 사용하기 전에 HTML/Batch 생성기 설정을 해야한
다.
다음은 HTML/Batch 생성기 설청 창 화면이다.
UbiReport v2.5 - 7
여기서 ServletURL1 항목은 디자인 폼 파일(JRF 파일)을 요청할 서블릿
이 위치한 서버상의 경로이다. 이것은 Web Application Server 에 등록되어
있는 그대로 설정해 주어야 하는데 자세한 내용은 별도의 UbiGateway사용
법을 참조한다.
여기서 리스트에 새로운 경로를 추가할 경우에는 왼쪽의 텍스트박스에
추가할 경로를 입력하고 > 버튼을 누르면 된다. 이미 추가되어 있는 경로
를 수정할 경우에는 오른쪽의 리스트에서 수정할 아이템을 클릭하고 < 버
튼을 클릭하면 해당 경로가 왼쪽의 텍스트박스로 옮겨지는데 이때 텍스트
의 내용을 수정하고 다시 > 버튼을 누르면 된다. 오른쪽의 리스트에서 원
하는 아이템을 클릭하고 < 버튼을 클릭한 다음 다시 추가해 주지 않으면
해당 경로는 삭제된다.
UbiReport v2.5 - 8
ServletURL2 항목은 리포트에 필요한 데이터를 요청하여 이를 전송 받기
위한 서블릿의 서버상의 주소이다. 이것은 Web Application Server 에 등록되
어 있는 그대로 설정해 주어야 하는데 자세한 내용은 별도의 UbiGateway
사용법을 참조한다.
jrf dir 항목은 서버에서 해당 jrf파일이 위치한 디렉토리를 찾기 위한 서
버상의 절대 경로이다. 일반적으로 jrf파일은 UbiGateway가 설치된 디렉토
리 하위의 work 디렉토리에 저장한다.
UbiReport v2.5 - 9
file url 항목은 리포트에 포함되어 있는 이미지 파일을 전송받기 위해서
서버에 전달하는 경로인데, 이것은 일반적으로 서버에서 UbiGateway가 설
치된 컨텍스트 최상위로 지정한다. 이것은 Web으로 실행시킬 경우에는 쓰
이지 않으나 C/S 환경에서는 반드시 필요하다.
모든 설정이 올바르게 되었다면 HTML 생성기를 실행시켜 보자.
UbiReport v2.5 - 10
Title은 Web Browser의 상단 Title bar에 보여지는 제목글이다.
CodeBase 는 Html이 있는 위치에서 Applet을 찾을 수 있는 상대경로이다.
Jrf File Name에는 출력하고자 하는 리포트 파일의 이름을 입력한다.
Html File Name에는 생성되는 Html 파일의 이름을 입력한다.
Title과 Jrf File Name, Html File Name에는 기본적으로 디자이너에서 작업중
인 파일명이 선택된다.
Type은 UbiViewer의 리포트 출력방식을 나타내는데 Type1 에서 Type5까
지 5개의 형태로 출력방식을 정할 수 있다.
Type1(BUTTON APPLET) – 프리뷰와 프린트 버튼이 나타나는 형태, 아규
먼트가 있는 리포트의 경우 아규먼트를 입력 받는 텍스트가 있는 형태로
나타나게 된다.
Type2(PREVIEW FRAME) – 버튼 없이 바로 UbiViewer가 나타난다.
Type3(PRINT WITH SETTING) – 버튼 없이 바로 프린트설정 다이얼로그
가 나타난다.
Type4(EMBEDED APPLET) – UbiViewer가 웹 페이지 내에 삽입된 형태로
나타난다.
Type5(DIRECT PRINT) – 프린트 설정 창 없이 전체 페이지를 한 장씩 프
린트 한다.
정상적으로 HTML파일을 생성하게 되면 위와 같은 창이 뜨면서 HTML
파일의 생성완료를 알리며 html파일은 htmlsample 디렉토리에 생성된다.
확인을 클릭하게 되면 아래와 같은 파일편집기 창이 뜨며 사용자가 직
접 ,생성된 HTML파일을 수정하고 원격서버에 저장도 할 수 있다.
UbiReport v2.5 - 12
※ 외부 호출 함수
- Html의 java script 혹은 UbiReport를 호출하는 어플리케이션 내에서 리
포트의 조작을 위해 호출하는 함수들.
firstPage()
: 리포트의 첫 페이지로 이동
lastPage()
: 리포트의 마지막 페이지로 이동
previousPage()
: 리포트의 현재페이지 이전 페이지로 이동
nextPage()
: 리포트의 현재페이지 다음 페이지로 이동
setPage(int page)
: 임의의 페이지로 이동
loadReport(byte[] fileURL, byte[] servletURL1, byte[] servletURL2,
byte[] jrfFileDir, byte[] jrfFileName, byte[] dataSource, byte[] arg,
byte[] exectype, String charSet)
: 외부에서 새로운 리포트를 호출
unloadReport()
: 로드되어 있던 리포트를 종료
printReport(String arg)
: 새로운 아규먼트를 입력하여 현재 리포트를 출력
printReport(String filename, String arg)
: 현재 리포트와는 다른 리포트에 아규먼트를 설정하여 출력
printReportResizing(String arg, String sizestr)
: 새로운 아규먼트를 입력하여 원하는 용지크기로 리포트를 출력
printReportResizing(String filename, String arg, String sizestr)
UbiReport v2.5 - 13
: 현재 리포트와는 다른 리포트에 아규먼트를 설정하여 원하는 용
지 크기로 출력
refreshFrame(String arg)
: 아규먼트를 바꾸어서 현재 리포트를 새로 고침
refreshFrame(String filename, String arg)
: 현재 리포트와는 다른 리포트에 아규먼트를 설정하여 새로고침
refreshFrame_noarg()
: 현재 리포트를 새로고침
setPreviewMargin(int cnum)
: 미리보기 시 실제 페이지와 애플릿 사이의 간격 설정
1 - show margin
2 - hide margin
setProgressFlag(boolean progressFlag)
: 프로그레스 바의 표시 여부 설정
setScale(int scale)
: 초기 페이지 배율 설정
controlToolbar(int cnum)
: 뷰어 툴바 표시여부 설정
1 - Show Toolbar
2 - Hide Toolbar
UbiReport v2.5 - 14
<<SSccrriipptt 사사용용 예예>>
-------------------------------------------------------------------------------------
<SCRIPT LANGUAGE="JavaScript">
function getArg()
{
var arg = "";
for(i=0; i<2; i++)
{
arg+=document.FORM1["TEXT"+i].id+"#"+document.FORM1["TEXT"+i].value + "#";
}
return arg;
}
function printReport()
{
var arg = "";
for(i=0; i<2; i++)
{
arg+=document.FORM1["TEXT"+i].id+"#"+document.FORM1["TEXT"+i].value + "#";
}
document.UbiViewer.printReportResizing("linkSample.jrf", arg, "A5");
}
function first()
{
document.UbiViewer.firstPage();
}
function last()
{
document.UbiViewer.lastPage();
}
function previous()
{
document.UbiViewer.previousPage();
}
function next()
{
document.UbiViewer.nextPage();
}
</SCRIPT>
UbiReport v2.5 - 15
<FORM NAME="FORM1" METHOD="POST">
<INPUT TYPE="TEXT" NAME="TEXT0" ID="ARG1" SIZE=8 VALUE=1>
<INPUT TYPE="TEXT" NAME="TEXT1" ID="ARG2" SIZE=8 VALUE=2>
</FORM>
<FORM NAME="FORM2" METHOD="POST">
<INPUT TYPE="BUTTON" NAME="BTN" VALUE="출력" ID="BTN" SIZE=8 OnClick="printReport();">
<INPUT TYPE="BUTTON" NAME="BTN1" VALUE="앞으로" ID="BTN1" SIZE=8 OnClick="previous();">
<INPUT TYPE="BUTTON" NAME="BTN2" VALUE="뒤로" ID="BTN2" SIZE=8 OnClick="next();">
<INPUT TYPE="BUTTON" NAME="BTN3" VALUE="맨앞으로" ID="BTN3" SIZE=8 OnClick="first();">
<INPUT TYPE="BUTTON" NAME="BTN4" VALUE="맨뒤로" ID="BTN4" SIZE=8 OnClick="last();">
</FORM>
------------------------------------------------------------------------------------
UbiReport v2.5 - 16
55.. BBaattcchh파파일일로로 호호출출 시시
Batch 생성기는 디자이너에서 생성한 .jrf 파일을 C/S환경에서 호출하는
테스트용 Batch파일을 생성한다.
우선 위에서 설명한 HTML/Batch 생성기 설정을 통해 각 항목을 적절히
설정한다.
(4. Web상에서 호출 시 참조)
모든 설정이 끝났다면 Batch생성기를 실행한다.
UbiReport v2.5 - 17
대부분의 설정은 HTML 생성기와 동일하다.
Batch File Name에는 생성되는 Batch 파일의 이름을 입력한다.
Type은 Type1 에서 Type5까지 5개의 형태중 Type2, Type3, Type5만 사용
가능하다.
(Type에 대한 설명은 4. Web상에서 호출 시 참조)
UbiReport v2.5 - 18
66.. 다다른른 AApppplliiccaattiioonn에에서서 호호출출 시시
실제로 C/S환경에서 사용할 경우 batch파일을 직접 실행하기 보다는
visual Basic이나 Power Builder등 기타 다른 Application에서 호출하는 경우
가 대부분일 것이다.
우선 C/S 프로그램 실행파일과 같은 위치에 ubi.exe, Reportp.dll,
UbiApplet.jar 3개의 파일을 위치시킨다.
Visual Basic
모듈을 추가하고 다음과 같은 코드를 추가시킨다.
Declare Sub report_sp Lib "Reportp" (ByVal rtnFileURL As String,
ByVal rtnServletURL1 As String, _
ByVal rtnServletURL2 As String, _
ByVal rtnJrfFileDir As String, _
ByVal rtnJrfFileName As String, _
ByVal rtnDataSource As String, _
ByVal rtnArgs As String, _
ByVal lsExecType As String, _
ByVal vbHide As String)
rtnFileURL - 서버에서 UbiReport를 사용하기 위하여 설정되어있는 디렉
토리 위치의 url
rtnServletURL1 – 리포트의 폼을 Client로 전달하는 역할을 하는 servlet
에 접근할 수 있는 url
rtnServletURL2 – 데이터베이스와 연결하여 결과를 가져오는 servlet에 실
제 접근할 수 있는 url
UbiReport v2.5 - 19
rtnJrfFileDir – jrf 파일이 저장되는 위치를 입력한다.
rtnJrfFileName – 사용자가 작성하여 서버에 올린 .jrf 파일명
rtnDataSource – 디자이너에서 사용된 데이터베이스 아이디와 서버에 설정
(UbiGateway 사용법 참조)된 데이터소스명과의 연결을 위한
설정이다.
사용예) 데이터베이스아이디1#데이터소스명1#아이디2#소스명2….
rtnArgs – 디자이너에서 아규먼트가 사용 되었을 경우 아규먼트 값을 설정
한다.
사용예) 아규먼트명1#아규먼트값1#명2#값2….
lsExecType – Type1에서 Type5까지 5개의 형태중 Type2, Type3, Type5
만 사용가능하다.(Type에 대한 설명은 4. Web상에서 호출 시
참조)
vbHide – UbiReport 콘솔을 숨기는 옵션. 각 변수들을 적절히 설정하여 다
음과 같이 report_sp를 호출한다.
report_sp rtnFileURL, rtnServletURL1, rtnServletURL2,
rtnJrfFileDir, rtnJrfFileName, rtnDataSource, rtnArgs ,
lsExecType, vbHide
UbiReport v2.5 - 20
PowerBuilder
작업중인 Application에 Global External Fuctions에 아래와 같이 Reportp.dll
의 함수를 추가시킨다.
SUBROUTINE report_sp ( String rtnFileURL,
String rtnServletURL1,
String rtnServletURL2,
String rtnJrfFileDir,
String rtnJrfFileName,
String rtnDataSource,
String rtnArgs,
String lsExecType, String vbHide)
LIBRARY "Reportp.dll"
위의 함수를 출력시에 호출한다.
C#
아래 문장을 추가한다.
[DllImport("reportp.dll")]
public static extern int report_sp ( string rtnFileURL,
string rtnServletURL1,
string rtnServletURL2,
string rtnJrfFileDir,
string rtnJrfFileName,
string rtnDataSource,
string rtnArgs,
string lsExecType, string vbHide)
UbiReport v2.5 - 21
77.. UUbbiiVViieewweerr가가 정정상상적적으으로로 실실행행되되지지 않않는는경경우우
1. Viewer는 MS Virtual Machine 을 필요로 한다. windows/system
폴더 혹은 winnt/system32 폴더 안에서 msjava.dll 이라는 파일을
찾아 오른쪽 클릭을 하면 등록정보를 선택하면 버전을 확인할 수
있다. 이 버전이 5.0.3810.0 이상이 되어야 한다. 만약 그렇지 않을
경우 첨부된 파일(msjavx86.exe)을 다운받아 Microsoft VM을 설치
하시면됩니다.(http://www.ubireport.com/files/VM/msjavx86.exe에서 다운
로드 받을 수 있다.). WindowsXP의 경우는 MicroSoft Java Virtual
Machine 보안 업데이트를 해주어야 한다.
2. Internet Explorer 5.0 이상을 필요로 한다. 만약 버전이 낮다면 익
스플로러 메뉴의 도구 -> Windows Update를 통해 최신 버전으로
업데이트 할 수 있다.
3. 자바 플러그인의 체크를 해제해야 한다.
4. 위의 세 가지 사항을 확인했으나 이상이 없을 경우, 마지막으로 클
래스 패스에서 충돌이 발생했을 수 있다. 윈도우즈 NT 이하의 경우
시작버튼에서 실행을 선택한 다음 "sysedit"라고 입력하시면,
classpath= 이라고 되어있는 부분을 찾을 수 있는데, 여기에 최신
버전 자바가 아닌, 다른 자바 디렉토리가 있을 경우 에러가 발생할
수 있다. 윈도우즈 NT 이상 버전에서는 바탕화면의 내 컴퓨터에서
오른쪽 버튼을 누른 다음 등록 정보에서 [고급] 탭에서 가운데 [환
경변수]를 눌러보면 위의 classpath= 란을 찾을 수 있다.classpath
에는 UbiViewer.jar도 포함되어 있으면 안 되니, 혹시 있다면 항목
을 삭제한다.(일부 컴퓨터에서는 classpath항목이 존재하지 않는 경
우도 있다. 이 경우에는 classpath의 충돌 현상은 발생하지 않는다.)