UbiViewer 사용설명서 - · PDF file · 2016-12-27UbiReport v2.5 - 4 2.....

21
UbiViewer 사용설명서 UbiReport v2.5

Transcript of UbiViewer 사용설명서 - · PDF file · 2016-12-27UbiReport v2.5 - 4 2.....

UbiViewer 사용설명서

UbiReport v2.5

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 - 11

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의 충돌 현상은 발생하지 않는다.)