OZ 소프트웨어 기능을 수행하기 위한 필수 API 를 정의
FORCS OZ 제품에 대한 연동 기능을 제공한다.
Note
FORCS에서 제공하는 OZ VIEWER API 명세서는 아래 링크를 통해, 확인 할 수 있습니다.
| Type | Description | 
|---|---|
| PROCESSING | 진행 중 | 
| SUCCESS | 정상 처리됨 | 
| FAIL | 처리 중 문제가 발생함 | 
| 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"로 설정하여 실행한 경우 발생하는 이벤트입니다. | 
Changed in version 2.0.0
Arguments
Arguments
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");
        },
    }
});
Changed in version 2.0.0
Arguments
Arguments
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));
    }
});
Changed in version 2.0.0
Arguments
Arguments
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));
    }
});
Changed in version 2.0.0
Arguments
Arguments
Example:
M.plugin("ozviewer").getInformation({
   'command': "INPUT_JSON",
   callback:function(status, result){
    alert(JSON.stringify(result));
   }
});
Changed in version 2.0.0
Arguments
Arguments
Example:
M.plugin("ozviewer").script({
    command: "close",
    callback:function(status, result){
        M.pop.instance(JSON.stringify(result));
    }
});
Changed in version 2.0.0
Arguments
Arguments
* 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));
    }
});
Changed in version 2.0.0
Arguments
Arguments
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));
    }
});
Changed in version 2.0.0
Arguments
Arguments
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));
   }
});
Changed in version 2.0.0
Arguments
Arguments
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));
    }
});
Changed in version 2.0.0
Arguments
Arguments
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));
    }
});
Changed in version 2.0.0
Arguments
Arguments
Example:
M.plugin("ozviewer").setChartStyle({
    style: "Pie",
    callback:function(status, result){
        M.pop.instance(JSON.stringify(result));
    }
});
Changed in version 2.0.0
Arguments
Arguments
Example:
M.plugin("ozviewer").getTitle({
   callback:function(status, result){
    alert(JSON.stringify(result));
   }
});
Changed in version 2.0.0
Arguments
Arguments
Example:
M.plugin("ozviewer").getPaperWidth({
   callback:function(status, result){
    alert(JSON.stringify(result));
   }
});
Changed in version 2.0.0
Arguments
Arguments
Example:
M.plugin("ozviewer").getPaperHeight({
   callback:function(status, result){
    alert(JSON.stringify(result));
   }
});
Changed in version 2.0.0
Arguments
Arguments
Example:
M.plugin("ozviewer").show({
   callback:function(status, result){
    alert(JSON.stringify(result));
   }
});
Changed in version 2.0.0
Arguments
Arguments
Example:
M.plugin("ozviewer").show({
   callback:function(status, result){
    alert(JSON.stringify(result));
   }
});
Changed in version 2.0.0
Arguments
Arguments
Example:
M.plugin("ozviewer").dispose({
   callback:function(status, result){
      alert(JSON.stringify(result));
   }
});
Changed in version 2.0.0
Arguments
Arguments
Example:
var option = ["test1", "test2", "", ""];
M.plugin("ozviewer").triggerExternalEvent({
        option: option,
        callback:function(status, result){
           M.pop.instance(JSON.stringify(result));
    }
});
Changed in version 2.0.0
Arguments
Arguments
Example:
var option = ["test1", "test2", "", ""];
M.plugin("ozviewer").triggerExternalEventByDocIndex({
    docIndex: 1,
    option: option,
    callback:function(status, result){
        M.pop.instance(JSON.stringify(result));
    }
});
| Key | Data Type | Description | 
|---|---|---|
| accuracy | double | 위치 추적 정확도 | 
| latitude | double | 위도 | 
| longitude | double | 경도 | 
| altitude | double | 고도 | 
| heading | double | 방위각, 방향 | 
| speed | double | 속도 | 
| timestamp | double | 위치 정보를 가져온 시간 | 
| Key | Data Type | Description | 
|---|---|---|
| fullAddress | String | 주소 | 
| country | String | 국가 이름 | 
| countryCode | String | 국가 코드 | 
| adminArea | String | 관리 지역 | 
| locality | String | 소재지 | 
| sublocality | String | 하위 소재지 | 
| street | String | 도로 | 
| streetNumber | String | 도로 번호 또는 번지 | 
Changed in version 2.0.0
Arguments
Arguments
Example:
var locationInfo = {};
var addressInfo = {};
M.plugin("ozviewer").triggerLocationUpdated({
    location: locationInfo,
    address: addressInfo,
    callback:function(status, result){
        M.pop.instance(JSON.stringify(result));
    }
});
Changed in version 2.0.0
Arguments
Arguments
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));
    }
});
Changed in version 2.0.0 / Android ONLY
Arguments
Arguments
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