[OZ Software]

OZ 소프트웨어 기능을 수행하기 위한 필수 API 를 정의

OZ Software API

FORCS OZ 제품에 대한 연동 기능을 제공한다.

Note

FORCS에서 제공하는 OZ VIEWER API 명세서는 아래 링크를 통해, 확인 할 수 있습니다.

status Type

Type

Description

PROCESSING

진행 중

SUCCESS

정상 처리됨

FAIL

처리 중 문제가 발생함

Listener function

Command

내용

OZPostCommand

보고서를 뷰어 창에 미리보기한 후 또는 미리보기 없이 바로 저장하거나 인쇄한 후 발생하는 이벤트입니다.

OZPrintCommand

보고서 인쇄 또는 인쇄 취소 시 발생하는 이벤트입니다.

OZExportCommand

보고서 저장 시 발생하는 이벤트입니다.

OZProgressCommand

보고서 생성 단계별로 발생하는 이벤트입니다.

OZErrorCommand

에러 발생 시 발생하는 이벤트입니다.

OZCommnad

오즈 뷰어 이벤트 실행 시 발생되는 이벤트입니다.

OZExitCommand

오즈 뷰어가 종료된 후 발생하는 이벤트입니다.

OZMailCommand

보고서를 오즈 메일로 전송 시 발생하는 이벤트입니다.

OZUserActionCommand

인쇄, 저장, 컴포넌트 속성 변경 등 사용자가 뷰어의 기능을 실행할 때 발생하는 이벤트입니다.

OZBankBookPrintCommand

통장 프린터 인쇄 아이콘이 클릭된 후 발생하는 이벤트입니다.

OZReportChangeCommand

화면에 표시되는 보고서가 변경된 후 발생하는 이벤트입니다.

OZWillChangeIndex_Paging

미리보기 시 다음 페이지 넘길때 남길지 여부를 확인 체크하는 이벤트

OZPageChangeCommand

화면에 표시되는 페이지가 변경된 후 발생하는 이벤트입니다.

OZPageBindCommand

viewer.pagebindcommandinterval 패러미터에서 설정한 주기별로 페이지가 바인딩된 후 발생하는 이벤트입니다.

OZEFormInputEventCommand

사용자가 입력 컴포넌트를 클릭하거나 값을 변경하여 OnClick/OnFocus/OnKillFocus/OnValueChanged 이벤트가 실행된 경우 발생되는 이벤트입니다.

OZExportMemoryStreamCallBack

Script, ScriptEx 함수의 명령어를 “save_memorystream”로 설정하여 실행한 경우 발생하는 이벤트입니다.

뷰어 생성

M.plugin("ozviewer").createViewer( setting)

Changed in version 2.0.0.

Arguments
  • setting (Object) – 설정 정보

  • setting.param (String) – 바인딩 할 패러미터 정보

  • setting.option (Object) – 옵션 정보

  • setting.option.margin (Object) – 화면 margin

  • setting.option.delimiter (String) – param 의 구분자값

  • setting.option.close (String) – 종료버튼 선언 (Only IOS)

  • setting.listener (Object) – 리스너 정보(Listener function)

  • setting.callback (Function) – 검증 결과 콜백 함수

M.callback(status, result)
Arguments
  • status (String) – 상태 ( status Type )

  • result (Object) – 생성 결과

  • 뷰어 생성 및 보고서 바인딩.

Note

listener command 관련 OZ VIEWER API 명세서는 아래 링크를 통해 확인 할 수 있습니다.

Example 1:

var params = "connection.openfile=http://oz.sample.com/www/oz/param1.ozd";
    M.plugin("ozviewer").createViewer({
       'param': params,
       callback:function(status, result){
           alert(JSON.stringify(result));
       }
    });
Example 2:
var margin_t = 100;
        if ( M.navigator.device("ios") == true ) {
            margin_t = 150;
        }
        var deli = "\n";
        var params = "connection.openfile=res://mop3.ozd";
        params += deli + "connection.pcount=1";
        params += deli + "connection.args1=FormTitle=Create Test";

        var option = {};
        var margin = {};

        margin.left = 0;
        margin.top = margin_t;
        margin.right = 0;
        margin.bottom = 0;
        option.margin = margin;
        option.delimiter = deli;

        M.plugin("ozviewer").createViewer({
            param: params,
            option: option,
            callback:function(status, result){
                M.pop.instance(JSON.stringify(result));
            },
            listener : {
                OZPostCommand : function(result){
                    console.log("OZPostCommand");
                },
                OZCommand : function(result){
                    console.log("OZCommand");
                },
                OZUserEvent : function(result){
                    console.log("OZUserEvent");
                },
                OZUserActionCommand : function(result){
                    console.log("OZUserActionCommand");
                    alert("OZUserActionCommand");
                },
            }
        });

ReBind

M.plugin('ozviewer').rebind( setting)

Changed in version 2.0.0.

Arguments
  • setting (Object) – 설정 정보

  • setting.docIndex (int) – 보고서 인덱스(0부터시작)

  • setting.type (String) – 보고서의 바인딩 타입

  • setting.param (String) – Rebind할 패러미터 정보

  • setting.option (Object) – option 정보

  • setting.option.delimiter (String) – delimiter

  • setting.option.keepEditing (String) – 미리보기 화면에서 추가/변경한 내용 유지 여부(“TRUE”,”FALSE” / 기본 값 : “TRUE”)

  • setting.callback (Function) – rebind 결과 콜백 함수

M.callback(status, result)
Arguments
  • status (String) – 상태 ( status Type )

  • result (Object) – 처리결과

  • 보고서에 패러미터를 적용하여 다시 바인딩합니다.

Example:

var deli = "\n";
var params = "";
params += deli + "comment.all=true";
params += deli + "eform.imagepicker_camera_show_choose_button=true";
params += deli + "eform.inputeventcommand=true";
params += deli + "eform.show_prev_next_input=true";
params += deli + "eform.radiobutton_type=dialog";
params += deli + "eform.checkbox_type=dialog_at_prev_next";
params += deli + "viewer.useractioncommand=true";
params += deli + "eform.imagepicker_camera_show_choose_button=true";
params += deli + "connection.pcount=1";
params += deli + "connection.args1=FormTitle=Rebind Test";
params += deli + "export.confirmsave=false";
var option = {};
option.delimiter = deli;
option.keepEditing = "TRUE";

M.plugin("ozviewer").rebind({
param: params,
option: option,
docIndex : 0,
type : "data",
callback:function(status, result){
        M.pop.instance(JSON.stringify(result));
}
});

CreateReport

M.plugin('ozviewer').createReport( setting)

Changed in version 2.0.0.

Arguments
  • setting (Object) – 설정 정보

  • setting.param (String) – 바인딩 할 패러미터 정보

  • setting.delimiter (String) – delimiter

  • setting.callback (Function) – 결과 콜백 함수

M.callback(status, result)
Arguments
  • status (String) – 상태 ( status Type )

  • result (Object) – 처리 결과

  • 설정한 뷰어 패러미터를 기준으로 뷰어에 새로운 보고서를 바인딩합니다.

Example:

var deli = "$";
var params = "connection.openfile=res://mop3.ozd";
params += deli + "comment.all=true";
params += deli + "eform.imagepicker_camera_show_choose_button=true";
params += deli + "eform.inputeventcommand=true";
params += deli + "eform.show_prev_next_input=true";
params += deli + "eform.radiobutton_type=dialog";
params += deli + "eform.checkbox_type=dialog_at_prev_next";
params += deli + "viewer.useractioncommand=true";
params += deli + "eform.imagepicker_camera_show_choose_button=true";

M.plugin("ozviewer").createReport({
param: params,
delimiter: deli,
callback:function(status, result){
        M.pop.instance(JSON.stringify(result));
}
});

GetInformation

M.plugin('ozviewer').getInformation( setting)

Changed in version 2.0.0.

Arguments
  • setting (Object) – 설정 정보

  • setting.command (String) – 오즈 뷰어의 정보를 가져오는 명령어

  • setting.callback (Function) – 결과 콜백 함수

M.callback(status, result)
Arguments
  • status (String) – 상태 ( status Type )

  • result (Object) – 처리 결과

  • 오즈 뷰어의 정보를 가져옵니다.

Example:

M.plugin("ozviewer").getInformation({
   'command': "INPUT_JSON",
   callback:function(status, result){
    alert(JSON.stringify(result));
   }
});

Script

M.plugin('ozviewer').script( setting)

Changed in version 2.0.0.

Arguments
  • setting (Object) – 설정 정보

  • setting.command (String) – 오즈 뷰어 툴바 아이콘의 기능을 제어하는 명령어

  • setting.callback (Function) – 결과 콜백 함수

M.callback(status, result)
Arguments
  • status (String) – 상태 ( status Type )

  • result (Object) – 처리결과

  • 오즈 뷰어 툴바 아이콘의 기능을 제어합니다.

Example:

M.plugin("ozviewer").script({
command: "close",
callback:function(status, result){
        M.pop.instance(JSON.stringify(result));
}
});

ScriptEx

M.plugin('ozviewer').scriptEx( setting)

Changed in version 2.0.0.

Arguments
  • setting (Object) – 설정 정보

  • setting.command (String) – 오즈 뷰어 툴바 아이콘의 기능을 제어하는 명령어

  • setting.param (String) – 툴바 기능의 패러미터 정보

  • setting.delimiter (String) – delimiter 정보

  • setting.callback (Function) – 결과 콜백 함수

M.callback(status, result)
Arguments
  • status (String) – 상태 ( status Type )

  • result (Object) – 처리결과

  • Script 함수가 명령어만 설정하는 것과 달리 이 함수는 명령어뿐만 아니라 패러미터와 패러미터 구분자도 설정할 수 있습니다.

오즈 뷰어 툴바 아이콘의 기능을 제어하는 명령어는 Script 함수를 참고하시기 바랍니다.

Example:

var deli = "#";
var params = "";
params += deli + "export.format=pdf";
params += deli + "export.filename=mypdf";
if ( M.navigator.device("ios") != true ) {
    params += deli + "export.path=/sdcard";
}
params += deli + "export.mode=silent";
params += deli + "export.confirmsave=false";

M.plugin("ozviewer").scriptEx({
command: "save_memorystream",
param : params,
delimiter : deli,
callback:function(status, result){
        M.pop.instance(JSON.stringify(result));
}
});

SetHelpURL

M.plugin('ozviewer').setHelpURL( setting)

Changed in version 2.0.0.

Arguments
  • setting (Object) – 설정 정보

  • setting.url (String) – 도움말 url 설정

  • setting.callback (Function) – 결과 콜백 함수

M.callback(status, result)
Arguments
  • status (String) – 상태 ( status Type )

  • result (Object) – 처리결과

  • 도움말 url 설정

Example:

M.plugin("ozviewer").setHelpURL({
url: "https://www.google.com",
callback:function(status, result){
        M.pop.instance(JSON.stringify(result));
        console.log(JSON.stringify(result));
}
});

PingOZServer

M.plugin('ozviewer').pingOZServer( setting)

Changed in version 2.0.0.

Arguments
  • setting (Object) – 설정 정보

  • setting.url (String) – 서블릿 타입 서버의 URL or 데몬 타입 서버의 IP

  • setting.option (Object) – option 정보 객체

  • setting.option.port (int) – 데몬 타입 서버의 포트 번호 (포트를 기입하면 데몬서버로 동작)

  • setting.callback (Function) – 결과 콜백 함수

M.callback(status, result)
Arguments
  • status (String) – 상태 ( status Type )

  • result (Object) – 처리결과

  • 오즈 서버의 동작 여부를 확인합니다.

Example:

M.plugin("ozviewer").pingOZServer({
   'url': "192.168.0.12",
   callback:function(status, result){
    alert(JSON.stringify(result));
   }
});
var option = {};
option.port = 8082;
M.plugin("ozviewer").pingOZServer({
   'url': "192.168.0.12",
   'option': option,
   callback:function(status, result){
    alert(JSON.stringify(result));
   }
});

GetGlobal

M.plugin('ozviewer').getGlobal( setting)

Changed in version 2.0.0.

Arguments
  • setting (Object) – 설정 정보

  • setting.key (String) – 전역 변수 Key

  • setting.option (Object) – option 정보 객체

  • setting.option.docIndex (int) – 보고서 인덱스. Zero-based index. 생략 가능 (기본 값 : 0)

  • setting.callback (Function) – 결과 콜백 함수

M.callback(status, result)
Arguments
  • status (String) – 상태 ( status Type )

  • result (Object) – 처리결과

  • 전역 변수 값을 가져옵니다.

Example:

M.plugin("ozviewer").getGlobal({
   'key': "id_03",
   callback:function(status, result){
    alert(JSON.stringify(result));
   }
});
var key = "data";
var option = {};
option.docIndex = 0
M.plugin("ozviewer").getGlobal({
key: key,
option: option,
callback:function(status, result){
        M.pop.instance(JSON.stringify(result));
}
});

SetGlobal

M.plugin('ozviewer').setGlobal( setting)

Changed in version 2.0.0.

Arguments
  • setting (Object) – 설정 정보

  • setting.key (String) – 전역 변수 Key

  • setting.value (String) – 전역 변수 값

  • setting.option (Object) – option 정보 객체

  • setting.option.docIndex (int) – 보고서 인덱스. Zero-based index. 생략 가능 (기본 값 : 0)

  • setting.callback (Function) – 결과 콜백 함수

M.callback(status, result)
Arguments
  • status (String) – 상태 ( status Type )

  • result (Object) – 처리결과

  • 전역 변수 값을 설정합니다.

Example:

M.plugin("ozviewer").setGlobal({
   'key': "id_03",
   'value': "이미지 입력",
   callback:function(status, result){
    alert(JSON.stringify(result));
   }
});
var option = {};
option.docIndex = 0;
M.plugin("ozviewer").setGlobal({
key: "data",
value : "value01",
option : option,
callback:function(status, result){
        M.pop.instance(JSON.stringify(result));
}
});

SetChartStyle

M.plugin('ozviewer').setChartStyle( setting)

Changed in version 2.0.0.

Arguments
  • setting (Object) – 설정 정보

  • setting.style (String) – 차트 타입

  • setting.callback (Function) – 결과 콜백 함수

M.callback(status, result)
Arguments
  • status (String) – 상태 ( status Type )

  • result (Object) – 처리결과

  • 차트 타입을 변경합니다.

Example:

M.plugin("ozviewer").setChartStyle({
style: "Pie",
callback:function(status, result){
        M.pop.instance(JSON.stringify(result));
}
});

GetTitle

M.plugin('ozviewer').getTitle( setting)

Changed in version 2.0.0.

Arguments
  • setting (Object) – 설정 정보

  • setting.callback (Function) – 결과 콜백 함수

M.callback(status, result)
Arguments
  • status (String) – 상태 ( status Type )

  • result (Object) – 처리결과

  • 리포트 템플릿의 제목 즉, 보고서의 제목을 가져옵니다.

Example:

M.plugin("ozviewer").getTitle({
   callback:function(status, result){
    alert(JSON.stringify(result));
   }
});

GetPaperWidth

M.plugin('ozviewer').getPaperWidth( setting)

Changed in version 2.0.0.

Arguments
  • setting (Object) – 설정 정보

  • setting.callback (Function) – 결과 콜백 함수

M.callback(status, result)
Arguments
  • status (String) – 상태 ( status Type )

  • result (Object) – 처리 결과

  • 리포트의 페이지 너비를 가져옵니다.

Example:

M.plugin("ozviewer").getPaperWidth({
   callback:function(status, result){
    alert(JSON.stringify(result));
   }
});

GetPaperHeight

M.plugin('ozviewer').getPaperHeight( setting)

Changed in version 2.0.0.

Arguments
  • setting (Object) – 설정 정보

  • setting.callback (Function) – 결과 콜백 함수

M.callback(status, result)
Arguments
  • status (String) – 상태 ( status Type )

  • result (Object) – 처리 결과

  • 리포트의 페이지 높이를 가져옵니다.

Example:

M.plugin("ozviewer").getPaperHeight({
   callback:function(status, result){
    alert(JSON.stringify(result));
   }
});

Show

M.plugin('ozviewer').show( setting)

Changed in version 2.0.0.

Arguments
  • setting (Object) – 설정 정보

  • setting.callback (Function) – 결과 콜백 함수

M.callback(status, result)
Arguments
  • status (String) – 상태 ( status Type )

  • result (Object) – 처리 결과

  • 문서 보이기.

Example:

M.plugin("ozviewer").show({
   callback:function(status, result){
    alert(JSON.stringify(result));
   }
});

Hide

M.plugin('ozviewer').hide( setting)

Changed in version 2.0.0.

Arguments
  • setting (Object) – 설정 정보

  • setting.callback (Function) – 결과 콜백 함수

M.callback(status, result)
Arguments
  • status (String) – 상태 ( status Type )

  • result (Object) – 처리 결과

  • 문서 감추기.

Example:

M.plugin("ozviewer").show({
   callback:function(status, result){
    alert(JSON.stringify(result));
   }
});

Dispose

M.plugin('ozviewer').dispose( setting)

Changed in version 2.0.0.

Arguments
  • setting (Object) – 설정 정보

  • setting.callback (Function) – 결과 콜백 함수

M.callback(status, result)
Arguments
  • status (String) – 상태 ( status Type )

  • result (Object) – 처리 결과

  • 열려있는 보고서를 모두 닫고, 뷰어를 제거합니다.

Example:

M.plugin("ozviewer").dispose({
   callback:function(status, result){
      alert(JSON.stringify(result));
   }
});

TriggerExternalEvent

M.plugin('ozviewer').triggerExternalEvent( setting)

Changed in version 2.0.0.

Arguments
  • setting (Object) – 설정 정보

  • setting.option (Object) – OnExternalEvent로 전달할 값이며, array 로 4개까지 가능, 각 index에 해당하는 값은 생략 가능 (기본 값 : “”)

  • setting.callback (Function) – 결과 콜백 함수

M.callback(status, result)
Arguments
  • status (String) – 상태 ( status Type )

  • result (Object) – 처리 결과

  • 현재 보고서의 OnExternalEvent 이벤트를 실행.

Example:

var option = ["test1", "test2", "", ""];
M.plugin("ozviewer").triggerExternalEvent({
        option: option,
        callback:function(status, result){
           M.pop.instance(JSON.stringify(result));
    }
});

TriggerExternalEventByDocIndex

M.plugin('ozviewer').triggerExternalEventByDocIndex( setting)

Changed in version 2.0.0.

Arguments
  • setting (Object) – 설정 정보

  • setting.option (Object) – OnExternalEvent로 전달할 값이며, array 로 4개까지 가능, 각 index에 해당하는 값은 생략 가능 (기본 값 : “”)

  • setting.docIndex (int) – 보고서 index (zero base)

  • setting.callback (Function) – 결과 콜백 함수

M.callback(status, result)
Arguments
  • status (String) – 상태 ( status Type )

  • result (Object) – 처리 결과

  • 지정한 보고서의 OnExternalEvent 이벤트를 실행.

Example:

var option = ["test1", "test2", "", ""];
M.plugin("ozviewer").triggerExternalEventByDocIndex({
    docIndex: 1,
    option: option,
    callback:function(status, result){
        M.pop.instance(JSON.stringify(result));
    }
});

Location Info

Key

Data Type

Description

accuracy

double

위치 추적 정확도

latitude

double

위도

longitude

double

경도

altitude

double

고도

heading

double

방위각, 방향

speed

double

속도

timestamp

double

위치 정보를 가져온 시간

Address Info

Key

Data Type

Description

fullAddress

String

주소

country

String

국가 이름

countryCode

String

국가 코드

adminArea

String

관리 지역

locality

String

소재지

sublocality

String

하위 소재지

street

String

도로

streetNumber

String

도로 번호 또는 번지

TriggerLocationUpdated

M.plugin('ozviewer').triggerLocationUpdated( setting)

Changed in version 2.0.0.

Arguments
  • setting (Object) – 설정 정보

  • setting.location (Object) – Location 객체에 전달할 위치 정보 ( Location Info )

  • setting.address (Object) – Address 객체에 전달할 주소 정보 ( Address Info )

  • setting.callback (Function) – 결과 콜백 함수

M.callback(status, result)
Arguments
  • status (String) – 상태 ( status Type )

  • result (Object) – 처리 결과

  • 현재 보고서의 OnLocationUpdated 이벤트를 실행하고, OnLocationUpdated 이벤트에서 전달한 값을 리턴받음.

Example:

var locationInfo = {};
var addressInfo = {};
M.plugin("ozviewer").triggerLocationUpdated({
    location: locationInfo,
    address: addressInfo,
    callback:function(status, result){
        M.pop.instance(JSON.stringify(result));
    }
});

TriggerLocationUpdatedByDocIndex

M.plugin('ozviewer').triggerLocationUpdatedIndex( setting)

Changed in version 2.0.0.

Arguments
  • setting (Object) – 설정 정보

  • setting.location (Object) – Location 객체에 전달할 위치 정보 ( Location Info )

  • setting.address (Object) – Address 객체에 전달할 주소 정보 ( Address Info )

  • setting.index (int) – 보고서 index (zero base)

  • setting.callback (Function) – 결과 콜백 함수

M.callback(status, result)
Arguments
  • status (String) – 상태 ( status Type )

  • result (Object) – 처리 결과

  • 지정한 보고서의 OnLocationUpdated 이벤트를 실행하고, OnLocationUpdated 이벤트에서 전달한 값을 리턴받음.

Example:

var locationInfo = {};
var addressInfo = {};
M.plugin("ozviewer").triggerLocationUpdatedIndex({
    location: locationInfo,
    address: addressInfo,
    index: 0,
    callback:function(status, result){
        M.pop.instance(JSON.stringify(result));
    }
});

디바이스 권한 획득

M.plugin('ozviewer').permission( setting)

Changed in version 2.0.0: / Android ONLY

param Object setting

설정 정보

param Object setting.permission

획득할 권한을 StringArry로 선언

param Function setting.callback

결과 콜백 함수

M.callback(status, result)
Arguments
  • status (String) – 상태 ( status Type )

  • result (Object) – 처리 결과

  • 문서에 필요한 권한을 획득한다.

Example:

M.plugin("ozviewer").permission({
  permissions : ["android.permission.WRITE_EXTERNAL_STORAGE","android.permission.CAMERA", "android.permission.RECORD_AUDIO"],
  callback : function(status, result){
    alert(JSON.stringify(result));
  }
});

Warning

Android 전용이며, AndroidManifest.xml 에 획득하고자 하는 권한이 선언되어 있어야 함 permission 에 사용되는 값들은 아래 url 을 참고(카메라 권한 획득)하여, Constant Value 값을 적용 (예시 : 카메라) https://developer.android.com/reference/android/Manifest.permission.html#CAMERA