untitled

Similar documents
untitled

untitled

untitled

untitled

untitled

untitled

untitled

untitled

untitled

Analytics > Log & Crash Search > Unity ios SDK [Deprecated] Log & Crash Unity ios SDK. TOAST SDK. Log & Crash Unity SDK Log & Crash Search. Log & Cras

untitled

3ÆÄÆ®-14

Connection 8 22 UniSQLConnection / / 9 3 UniSQL OID SET

untitled

untitled

untitled

자바-11장N'1-502

untitled

Mobile Service > IAP > Android SDK [ ] IAP SDK TOAST SDK. IAP SDK. Android Studio IDE Android SDK Version (API Level 10). Name Reference V

untitled

rmi_박준용_final.PDF

chapter4

Interstage5 SOAP서비스 설정 가이드

PowerPoint 프레젠테이션

ORANGE FOR ORACLE V4.0 INSTALLATION GUIDE (Online Upgrade) ORANGE CONFIGURATION ADMIN O

12-file.key

API STORE 키발급및 API 사용가이드 Document Information 문서명 : API STORE 언어별 Client 사용가이드작성자 : 작성일 : 업무영역 : 버전 : 1 st Draft. 서브시스템 : 문서번호 : 단계 : Docum

<C0CCBCBCBFB52DC1A4B4EBBFF82DBCAEBBE7B3EDB9AE2D D382E687770>

Orcad Capture 9.x

Remote UI Guide

Hanyang Volunteer Corps volunteer image

JMF2_심빈구.PDF

02 C h a p t e r Java

Multi Channel Analysis. Multi Channel Analytics :!! - (Ad network ) Report! -! -!. Valuepotion Multi Channel Analytics! (1) Install! (2) 3 (4 ~ 6 Page

11 템플릿적용 - Java Program Performance Tuning (김명호기술이사)

Microsoft PowerPoint - web-part03-ch19-node.js기본.pptx

NoSQL

JMF3_심빈구.PDF

ETL_project_best_practice1.ppt

PCServerMgmt7

MasoJava4_Dongbin.PDF

1217 WebTrafMon II

Interstage4 설치가이드

PRO1_04E [읽기 전용]

FileMaker ODBC and JDBC Guide

PowerPoint 프레젠테이션

Dialog Box 실행파일을 Web에 포함시키는 방법


DocsPin_Korean.pages

SRC PLUS 제어기 MANUAL

untitled

06.._ _12...._....

PowerPoint Presentation


PowerPoint 프레젠테이션

untitled

F.

06³â_±â»ÝÀÇ»ù_10¿ùÈ£_À¥Áø


목차 BUG DEQUEUE 의 WAIT TIME 이 1 초미만인경우, 설정한시간만큼대기하지않는문제가있습니다... 3 BUG [qp-select-pvo] group by 표현식에있는컬럼을참조하는집합연산이존재하지않으면결괏값오류가발생할수있습니다... 4

hd1300_k_v1r2_Final_.PDF

chapter1,2.doc

Polly_with_Serverless_HOL_hyouk

14-Servlet

10.ppt

PRO1_09E [읽기 전용]

uFOCS

Network seminar.key

Portal_9iAS.ppt [읽기 전용]

FileMaker 15 ODBC 및 JDBC 설명서

untitled

3ÆÄÆ®-11

I T C o t e n s P r o v i d e r h t t p : / / w w w. h a n b i t b o o k. c o. k r

교육2 ? 그림

Microsoft PowerPoint - 3ÀÏ°_º¯¼ö¿Í »ó¼ö.ppt

歯JavaExceptionHandling.PDF

FileMaker 15 WebDirect 설명서

1

13주-14주proc.PDF

제목을 입력하세요.

개요오라클과티베로에서 JDBC 를통해접속한세션을구분할수있도록 JDBC 접속시 ConnectionProperties 를통해구분자를넣어줄수있다. 하나의 Node 에다수의 WAS 가있을경우 DB 에서 Session Kill 등의동작수행시원하는 Session 을선택할수있다.

품질검증분야 Stack 통합 Test 결과보고서 [ The Bug Genie ]

6강.hwp

비긴쿡-자바 00앞부속

09-interface.key

The Self-Managing Database : Automatic Health Monitoring and Alerting

초보자를 위한 C# 21일 완성

MAX+plus II Getting Started - 무작정따라하기

신림프로그래머_클린코드.key

Week13

Something that can be seen, touched or otherwise sensed

10X56_NWG_KOR.indd

목차 Q-1. 데이터를 통한 음성통화가 되지 않습니다 Q-2. WiFi 연결이 안됩니다 Q-3. 인터넷 또는 네트워크 연결이 안됩니다 Q-4. 표준 부속품을 알려주시기 바랍니다 Q-5. 구입하였습니다만, 배터리는 어떻게 장착하


No Slide Title

5장.key

자바로

기타자료.PDF

(SW3704) Gingerbread Source Build & Working Guide

BEef 사용법.pages

Transcription:

A Leader of Enterprise e-business Solution API... 3 Class Cache... 5 Class ConnectionPool... 9 Class DataBind... 16 Class Log... 19 Class Mail... 22 Class Module... 29 Class Monitor... 40 API... 43 Class Program... 45 Class Publisher... 50 Class Scheduler... 54 Class TaskHolidayInfo... 85 Class TaskHolidayGroupInfo... 88... 91 Interface Repository... 92 Class RepositoryEX... 133... 154 RDB Store DataAction for.net... 158 RDB Store DataAction... 159 RDB Store DataAction... 160 FORCS Co., LTD 1

OZ API Developer's Guide (for.net) User Data Store for.net... 162 UDS for.net... 163 UDS for.net... 165 User Defined Log... 169 UDL... 170 UDL... 171 UDL... 186 2 FORCS Co., LTD

A Leader of Enterprise e-business Solution API Class Cache Class ConnectionPool Class DataBind Class Log Class Mail Class Module Class Monitor FORCS Co., LTD 3

OZ API Developer's Guide (for.net) API. API. Cache Connection Pool DataBind Log Mail Module Monitor.. Pool ADO.NET/ODBC,..,,.... API. OZServer.NET.dll SAP.Connector.dll Interop.MSScriptContr ol.dll. SAP. Jscript COM. 4 FORCS Co., LTD

A Leader of Enterprise e-business Solution Constructor Summary Cache(string ip, int port, string id, string pw, bool autologin, bool useusl) Cache(string url, string id, string pw, bool autologin, bool useusl) Method Summary OZAttributeList GetConfiguration() void SetConfiguration(OZAttributeList attrs) Constructor Detail ASP.NET //TCP/IP public Cache(string ip, int port, string id, string pw, bool autologin, bool useusl) //HTTP public Cache(string url, string id, string pw, bool autologin, bool useusl) url ip port id pw autologin HTTP URL ex) string url = "http://127.0.0.1/oz/server.aspx"; TCP/IP IP ex) string ip = "127.0.0.1"; TCP/IP ex) int port = 8003 ex) string id = "admin"; ex) string pw = "admin"; ex) bool autologin = true; FORCS Co., LTD 5

OZ API Developer's Guide (for.net) useusl USL ex) bool useusl = false; Method Detail getcacheconfiguration public OZAttributeList GetCacheConfiguration () throws OZAPIException.,,,,. setcacheconfiguration public void SetCacheConfiguration (OZAttributeList attrs) throws OZAPIException.,,,, attrs Class OZAPIException(oz.framework.cp.OZAPIException) API Exception. API OZAPIException. - Message public string Message. OZAttributeList (oz.util.ozattributelist.cs) of GetCacheConfiguration, SetCacheConfiguration getcacheconfiguration(), setcacheconfiguration(). 6 FORCS Co., LTD

A Leader of Enterprise e-business Solution - This[string key] get;set; This[string key] get;set; key. Key Property key. Key Value Active CACHE_FILE_ PATH DM_CACHE_FI LE_PATH memorycache ValidTime diskcachevali dtime FreeMemoryPe rcentage "true" "false" (string) (string) (Unit second) (Unit second) (%) ex) p["datamodule.active"] = "false"; ex) p["cache_file_path"] = "%OZ_HOME%/cache"; Data Module ex) p["dm_cache_file_path"] = "%OZ_HOME%/cache_dm/"; (:) ex) p["datamodule.memorycachevalidtime"] = "100"; (:) ex) p["datamodule.diskcachevalidtime"] = "100"; ex) p["datamodule.freememorypercentage"] = "20"; : " -cachemngr.properties". Sample : CacheSample.cs using System; using oz.framework.api; FORCS Co., LTD 7

OZ API Developer's Guide (for.net) namespace sample /// <summary> /// Cache /// </summary> public class CacheTest public static void Main() string url = "http://127.0.0.1/oztest/server.aspx"; string id = "admin"; string password = "admin"; Cache c = new Cache(url, id, password, true, true); oz.util.ozattributelist attrs = c.getconfiguration(); Console.WriteLine(attrs); c.setconfiguration(attrs); 8 FORCS Co., LTD

A Leader of Enterprise e-business Solution Constructor Summary ConnectionPool(string ip, int port, string id, string pw, bool autologin, bool useusl) ConnectionPool(string url, string id, string pw, bool autologin, bool useusl) Method Summary void AddPool(ConnectionPoolInfo pool) void RemovePool(string alias) ConnectionPoolInfo[] GetPoolInfos() ConnectionPoolStatus[] GetPoolStatuses() ConnectionPoolInfo GetPoolInfo(string alias) void Save() Constructor Detail ASP.NET //TCP/IP public ConnectionPool(string ip,int port, string id, string pw, bool autologin, bool useusl) //HTTP public ConnectionPool(string url, string id, string pw, bool autologin, bool useusl) url ip port HTTP URL ex) string url = "http://127.0.0.1/oz/server.aspx"; TCP/IP IP ex) string ip = "127.0.0.1"; TCP/IP ex) int port = 8003; FORCS Co., LTD 9

OZ API Developer's Guide (for.net) id pw autologin useusl ex) string id = "admin"; ex) string pw = "admin"; ex) bool autologin = true; USL ex) bool useusl = false; Method Detail AddPool public void AddPool(ConnectionPoolInfo pool) throws OZAPIException.,,,,, SID, DB, DB,,,,,, URL,,. pool ConnectionPoolInfo RemovePool public void RemovePool(string alias) throws OZAPIException ConnectionPool. alias ConnectionPool GetPoolInfos public ConnectionPoolInfo[] GetPoolInfos() throws OZAPIException ConnectionPool. GetPoolStatuses public ConnectionPooStatus[] GetPoolStatuses() throws OZAPIException ConnectionPool. 10 FORCS Co., LTD

A Leader of Enterprise e-business Solution GetPoolInfo public ConnectionPoolInfo GetPoolInfo(string alias) throws OZAPIException ConnectionPool ConnectionPoolInfo. alias ConnectionPool Save public void Save() throws OZAPIException throws OZAPIException ConnectionPool. Class ConnectionPoolInfo(oz.framework.db.ConnectionPoolInfo). - Alias public string Aliasget;set; ConnectionPool alias - Vendor public string Vendorget;set; ConnectionPool Vendor - InitialConnections public int InitialConnectionsget;set; ConnectionPool - MaxConnections public int MaxConnectionsget;set; ConnectionPool - TimeOut public int TimeOutget;set; timeout FORCS Co., LTD 11

OZ API Developer's Guide (for.net) - InitSQLs public string InitSQLsget;set; ConnectionPool - CloseSQLs public string CloseSQLsget;set; close free - SessionQuery public string SessionQueryget;set; session - DoConnectioncheck public bool DoConnectionCheckget;set; - TestQuery public string TestQueryget;set; - Items public IstringDictionary Itemsget; dbconfig.xml Vendor Items key, Value - Decode public string Decodeget;set; ConnectionPool - Enecode public string Encodeget;set; ConnectionPool ConnectionPoolStatus(oz.framework.db.ConnectionPoolStatus) ConnectionPool. - Status 12 FORCS Co., LTD

A Leader of Enterprise e-business Solution public Status Statusget;set; Status public enum Status OK = 1, DRIVER_ERROR = -1, CONNECTION_ERROR = -2 - Statusstring public string Statusstringget; STATUS 1 "OK", STATUS -1 "Fail to load or register JDBC driver" "Fail to make initial connection" - FreeConnectionCount public int FreeConnectionCountget;set; - CheckedOutConnectionCount public int CheckedOutConnectionCount get; set; Checked out - ErrorMessage public string ErrorMessageget; ConnectionPool Error - Error public Exception Errorset; ConnectionPool Error Sample : ConnectionPoolTest.cs using System; using oz.framework.api; FORCS Co., LTD 13

OZ API Developer's Guide (for.net) using oz.framework.db; namespace sample public class ConnectionPoolTest public static void Main() string url = "http://127.0.0.1/oz/server.aspx"; string id = "admin"; string password = "admin"; ConnectionPool cp = new ConnectionPool(url, id, password, true, true); string alias = "connection_pool_test"; ConnectionPoolInfo poolinfo = new ConnectionPoolInfo(); poolinfo.alias = alias; poolinfo.vendor = "MSSQL"; poolinfo.items["serveraddress"] = "218.36.12.88"; poolinfo.items["portno"] = "1433"; poolinfo.items["dbname"] = "QATEST"; poolinfo.items["user"] = "user1"; poolinfo.items["password"] = "user123"; poolinfo.maxconnections = 20; poolinfo.initialconnections = 5; poolinfo.timeout = 5; //charater set //poolinfo.encode = "ISO-8859-1"; //poolinfo.decode = "ks_c_5601-1987"; cp.addpool(poolinfo); ConnectionPoolInfo addedpoolinfo = cp.getpoolinfo(alias); Console.WriteLine(addedPoolInfo); cp.removepool(alias); ConnectionPoolInfo[] poolinfos = cp.getpoolinfos(); foreach(connectionpoolinfo cpi in poolinfos) Console.WriteLine(cpi); ConnectionPoolStatus[] statuses = cp.getpoolstatuses(); 14 FORCS Co., LTD

A Leader of Enterprise e-business Solution foreach(connectionpoolstatus status in statuses) Console.WriteLine(status); FORCS Co., LTD 15

OZ API Developer's Guide (for.net) Constructor Summary DataBind(string ip, int port, string id, string pw, bool autologin, bool useusl) DataBind(string url, string id, string pw, bool autologin, bool useusl) Method Summary void SetConfigration(OZAttributeList config) OZAttributeList GetConfigration() Constructor Detail ASP.NET //TCP/IP public DataBind(string ip, int port, string id, string pw, bool autologin, bool useusl) //HTTP public DataBind(string url, string id, string pw, bool autologin, bool useusl) url ip port id pw HTTP URL ex) string url = "http://127.0.0.1/oz/server.aspx"; TCP/IP IP ex) string ip = "127.0.0.1"; TCP/IP ex) int port = 8003 ex) string id = "admin"; ex) string pw = "admin"; 16 FORCS Co., LTD

A Leader of Enterprise e-business Solution autologin useusl ex) bool autologin = true; USL ex) bool useusl = false; Method Detail SetConfigration public void SetConfigration(OZAttributeList config) throws OZAPIException DataBind, "databind.properties". config DataBind GetConfigration public OZAttributeList GetConfigration() throws OZAPIException DataBind, "databind.properties". - Key SetConfigration() GetConfigration() key. Key Value ConcurrentFetchSize FetchType "Concurrent" Stream. byte, 4096, 256. :,. FORCS Co., LTD 17

OZ API Developer's Guide (for.net) ConcurrentFirstRow FetchType "Concurrent"., 0. : 0. Sample : DataBindTest.cs using System; using oz.util; using oz.framework.api; namespace sample /// <summary> /// DataBindTest /// </summary> public class DataBindTest public static void Main() string url = "http://127.0.0.1/oz/server.aspx"; string id = "admin"; string password = "admin"; DataBind db = new DataBind(url, id, password, true, true); OZAttributeList attrs = db.getconfiguration(); foreach(stringdictionaryentry attr in attrs) Console.WriteLine(attr.Key + " : " + attr.value); db.setconfiguration(attrs); 18 FORCS Co., LTD

A Leader of Enterprise e-business Solution Constructor Summary Log(string ip, int port, string id, string pw, bool autologin, bool useusl) Log(string url, string id, string pw, bool autologin, bool useusl) Method Summary string GetConfiguration() Stream DownloadLog() Stream DownloadLog(string filename) void SetConfiguration(string config) string[] GetFileNames() Constructor Detail ASP.NET //TCP/IP public Log(string url, string id, string pw, bool autologin, bool useusl) //HTTP public Log(string url, string id, string pw, bool autologin, bool useusl) url ip port id HTTP URL ex) string url = "http://127.0.0.1/oz/server.aspx"; TCP/IP IP ex) string ip = "127.0.0.1"; TCP/IP ex) int port = 8003 ex) string id = "admin"; FORCS Co., LTD 19

OZ API Developer's Guide (for.net) pw autologin useusl ex) string pw = "admin"; ex) bool autologin = true; USL ex) bool useusl = false; Method Detail GetConfiguration public string GetConfiguration() throws OZAPIException. DownloadLog public stream DownloadLog() throws OZAPIException. public stream DownloadLog(string filename) throws OZAPIException. filename SetConfiguration public void SetConfiguration(string logs) throws OZAPIException. logs, "key=value" ex) string logs="priority=debug" ex) string logs="console.layout=%r[%t]%p%c1%x-%m%n GetFileNames public string[] GetFileNames() throws OZAPIException. 20 FORCS Co., LTD

A Leader of Enterprise e-business Solution Sample : LogSample.cs using System; using System.IO; using oz.framework.api; namespace sample /// <summary> /// LogTest /// </summary> public class LogSample public static void Main() string url = "http://127.0.0.1/oz/server.aspx"; string id = "admin"; string password = "admin"; Log log = new Log(url, id, password, true, true); string config = log.getconfiguration(); Console.WriteLine(config); string[] logs = log.getfilenames(); foreach(string s in logs) Console.WriteLine(s); Stream logfile = log.downloadlog(); FORCS Co., LTD 21

OZ API Developer's Guide (for.net) Constructor Summary Mail(string ip, int port, string id, string pw, bool bautologin, bool useusl) Mail(string url, string id, string pw, bool bautologin, bool useusl) Method Summary void AddAlias(string aliasname, NameValueCollection configmap) NameValueCollection GetAliasConfig(string aliasname) string[] GetMailAliasNames() void ModifyAlias(string aliasname, string newaliasname, NameValueCollection configmap) void RemoveAlias(string aliasname) void Send(string aliasname, string from, string fromusername, string to, string cc, string bcc, string subject, string context, bool ishtml, string localfilefullpath, string filename) bool SendSync(string aliasname, string from, string fromusername, string to, string cc, string bcc, string subject, string context, bool ishtml, string localfilefullpath, string filename) Constructor Detail //TCP/IP public Mail(string ip, int port, string id, string pw, bool bautologin, bool useusl) //HTTP public Mail(string url, string id, string pw, bool bautologin, bool useusl) HTTP URL url ex) string url = "http://127.0.0.1/oz/server.aspx"; 22 FORCS Co., LTD

A Leader of Enterprise e-business Solution ip port id pw bautologin useusl TCP/IP IP ex) string ip = "127.0.0.1"; TCP/IP ex) int port = 8003; ex) string id = "admin"; ex) string pw = "admin"; ex) bool bautologin = true; USL ex) bool useusl = false; Method Detail AddAlias public void AddAlias(string aliasname, NameValueCollection configmap). aliasname configmap key "Option". GetAliasConfig public NameValueCollection GetAliasConfig(string aliasname). aliasname GetMailAliasNames public string[] GetMailAliasNames() mail.properties. : active. FORCS Co., LTD 23

OZ API Developer's Guide (for.net) ModifyAlias public void ModifyAlias(string aliasname, string newaliasname, NameValueCollection configmap). aliasname newaliasname configmap key "Option". RemoveAlias public void RemoveAlias(string aliasname). aliasname Send public void Send(string aliasname, string from, string fromusername, string to, string cc, string bcc, string subject, string context, bool ishtml, string localfilefullpath, string filename). aliasname from fromusername to cc bcc subject context ishtml null "" null "", "," ";" null "", "," ";" HTML 24 FORCS Co., LTD

A Leader of Enterprise e-business Solution localfilefullpath filename " " : " ". SendSync public bool SendSync(string aliasname, string from, string fromusername, string to, string cc, string bcc, string subject, string context, bool ishtml, string localfilefullpath, string filename). aliasname from fromusername to cc bcc subject context ishtml localfilefullpath filename null "" null "", "," ";" null "", "," ";" HTML " " : " ". Option FORCS Co., LTD 25

OZ API Developer's Guide (for.net) Key Value active fromsend tosend SMTPServer true/false SMTP URL ex) setproperty("active", "true") ex) setproperty("fromsend", "mail@forcs.com") ex) setproperty("tosend", "mail@forcs.com") SMTP URL ex) setproperty("smtpserver", "mail.forcs.com") SMTPServerPort SMTP SMTP ex) setproperty("smtpserverport", "25") SMTPUserID SMTPUserPassword SMTPUserID_encrypted SMTPUserPassword_en crypted EnableSSL SendRetryCount SendRetryPeriodTime PrefixSubjectMessage SMTP ID SMTP ID SMTP ID SMTP ID true/false ( : ) SMTP ID ex) setproperty("smtpuserid", "UserID") SMTP ID ex) setproperty("smtpuserpassword", "Password") SMTP ID ex) setproperty("smtpuserid_encrypted", "ScPdRcRgFgHdEbJaJbPcFc") SMTP ex) setproperty("smtpuserpassword_encrypte d", "ScPdRcRgFgEbGaDbKbFbMaIbPa") SSL ex) setproperty("enablessl", "true") ex) setproperty("sendretrycount", "3") ex) setproperty("sendretryperiodtime", "10") ex) setproperty("prefixsubjectmessage", "[Forcs]") 26 FORCS Co., LTD

A Leader of Enterprise e-business Solution Sample : MailSample.cs using System; using System; using System.Collections.Specialized; using oz.framework.api; namespace sample public class MailSample public static void Main() Mail mail = new Mail("http://127.0.0.1/oz/server.aspx","admin","admin",true,false); NameValueCollection properties = new NameValueCollection(); properties["active"] = "true"; properties["fromsend"] = "gosys@forcs.com"; properties["tosend"] = "oz@forcs.com"; properties["smtpserver"] = "smtp.gmail.com"; properties["smtpserverport"] = "465"; properties["smtpuserid"] = "gosys@forcs.com"; properties["smtpuserpassword"] = "password"; properties["enablessl"] = "true"; mail.addalias("forcs", properties); mail.sendsync("forcs", "oz@forcs.com", "UserName", "oz@gmail.com", null, null, "This is test","content", false, @"d:\parameter_test.ozd", "test.ozd"); NameValueCollection props = mail.getaliasconfig("forcs"); mail.modifyalias("forcs", "forcs2", props); mail.addalias("forcs", props); mail.addalias("forcs3", props); mail.removealias("forcs3"); foreach(string name in mail.getmailaliasnames()) NameValueCollection properties2 = mail.getaliasconfig(name); foreach(string key in properties2.keys) Console.WriteLine(key + "=" + properties2[key]); FORCS Co., LTD 27

OZ API Developer's Guide (for.net) Console.WriteLine(); 28 FORCS Co., LTD

A Leader of Enterprise e-business Solution Constructor Summary Module(string ip, int port, string id, string pw, bool autologin, bool useusl) Module(string url, string id, string pw, bool autologin, bool useusl) Proporty Summary bool MemoAllowed string Password Method Summary void AddApplicationParameter(string key, string value) void AddODIParameter(string odiname, string key, string value) void AddODIParameter(string odiname, string item, string category, IDictionary parameters) public IReportInfo AddReport(string itemname, string categoryname) public IReportInfo AddReport(string itemname, string categoryname, string displayname) void AddParameter(string key, string value) public Stream GetOZD() Stream GetOZD(string item, string category, string[] urls) Stream GetOZD(string itemname, string categoryname) stream GetOZU(string item, string category, string[] urls) void RedirectODIPath(string odiname, string path) public void SaveOZD(string filename) void SaveOZD(string filename, string item, string category, string[] urls) void SaveOZD(string filename, string itemname, string category) void SaveOZU(string filename, string item, string category, string[] urls) FORCS Co., LTD 29

OZ API Developer's Guide (for.net) Constructor Detail ASP.NET //TCP/IP public Module(string ip, int port, string id, string pw, bool autologin, bool useusl) //HTTP public Module(string url, string id, string pw, bool autologin, bool useusl) HTTP URL url ex) string url = "http://127.0.0.1/oz/server.aspx"; ip port id pw autologin useusl TCP/IP IP ex) string ip = "127.0.0.1"; TCP/IP ex) int port = 8003 ex) string id = "admin"; ex) string pw = "admin"; ex) bool autologin = true; USL ex) bool useusl = false; Proporty Detail MemoAllowed public bool MemoAllowedset; Password public string Passwordset; OZD password Method Detail 30 FORCS Co., LTD

A Leader of Enterprise e-business Solution AddApplicationParameter public void AddApplicationParameter(string key, string value) throws OZAPIException SDM. ODI ODI ODI. key ODI value ODI AddODIParameter public void AddODIParameter(string odiname, string key, string value) throws OZAPIException SDM ODI ODI. ODI ODI. odiname key value ODI ODI ODI AddODIParameter public void AddODIParameter(string odiname, string item, string category, IDictionary parameters) throws OZAPIException SDM ODI ODI. ODI ODI. ODI SDM SDM. odiname item category parameters ODI ODI ODI Key, Value Dictionary : OZU parameters OZU addodiparameter() paramhash null addapplicationparameter(key, value) ODI. ex) addapplicationparameter FORCS Co., LTD 31

OZ API Developer's Guide (for.net) module.addapplicationparameter("odi.odinames", "sample"); module.addapplicationparameter("odi.sample.pcount", "1"); module.addapplicationparameter("odi.sample.args1", "deptid=501"); AddParameter public void AddParameter(string key, string value) throws OZAPIException SDM.. key value AddReport public IReportInfo AddReport(string itemname, string categoryname) OZD. itemname categoryname public IReportInfo AddReport(string itemname, string categoryname, string displayname) OZD. itemname categoryname displayname GetOZD public Stream GetOZD() OZD. GetOZD public stream GetOZD(string item, string category, string[] urls) throws OZAPIException 32 FORCS Co., LTD

A Leader of Enterprise e-business Solution SDM OZD. OZD urls. : API DM_TYPE="Memory", FetchType="Batch".. item ( OZR ) category urls OZD URL GetOZD public Stream GetOZD(string itemname, string categoryname) OZD itemname ( OZR ) categoryname GetOZU public Stream GetOZU(string item, string category, string[] urls) throws OZAPIException SDM OZU. : API DM_TYPE="Memory", FetchType="Batch".. : "FetchUnit" "DM_PER_DATAMODULE". item category urls ( OZA ) OZU URL RedirectODIPath public void RedirectODIPath(string odiname, string path) OZD ODI. odiname path ODI ODI SaveOZD FORCS Co., LTD 33

OZ API Developer's Guide (for.net) public void SaveOZD(string filename) OZD OZD. filename SaveOZD public void SaveOZD(string filename, string item, string category, string[] urls) throws OZAPIException OZD. : API DM_TYPE="Momory", FetchType="Batch".. filename item category Urls OZD (.ozr) (.ozr) OZD URL SaveOZD public void SaveOZD(string filename,string itemname, string category) OZD OZD. filename itemname category (.ozr) (.ozr) SaveOZU public void SaveOZU(string filename, string item, string category, string[] urls) throws OZAPIException OZU. : API DM_TYPE="Momory", FetchType="Batch".. : "FetchUnit" "DM_PER_DATAMODULE". filename OZU 34 FORCS Co., LTD

A Leader of Enterprise e-business Solution item category Urls (.oza) (.oza) OZU URL Interface IReportInfo(oz.framework.api.IReportInfo) OZD. ItemName string ItemNameget;. CategoryName string CategoryNameget;. AddURL void AddURL(params string[] urls) URL. urls URL AddParameter void AddParameter(string key, string value). key value AddODIParameter public void AddODIParameter(string odiname, string key, string value) ODI. odiname key ODI ODI FORCS Co., LTD 35

OZ API Developer's Guide (for.net) value ODI AddProperties public void AddProperties(string key, string value). key value key "Option". AddFrameworkURL void AddFrameworkURL(string fxname, string url, string charset) FX URL. fxname url charset FX URL URL null. base64( ), base64/ksc5601 base64/utf-8 ksc5601 utf-8 base64. Sample : ModuleSample.cs using System; using System.IO; using System.Collections; using oz.framework.api; namespace sample /// <summary> /// /// ModuleTest - Before start /// You need to customize parameters to run in your environment /// We don't provide oza, odi file for the test 36 FORCS Co., LTD

A Leader of Enterprise e-business Solution /// </summary> public class ModuleSample public static void Main() string url = "http://127.0.0.1/oz/server.aspx"; string id = "admin"; string password = "admin"; Module m = new Module(url, id, password, true, true); IDictionary parameters = new Hashtable(); string[] urls = new string[0]; m.addodiparameter("test_10m", "test_10m.odi", "/", parameters); m.addapplicationparameter("odi.odinames", "test_10m"); m.addapplicationparameter("odi.test_10m.pcount", "0"); Stream ozufile = m.getozu("test_10m.oza", "/"); m = new Module(url, id, password, true, true); m.addodiparameter("parameter_test.odi", "odiparam1", "this is odi parameter"); m.addodiparameter("parameter_test.odi", "odiparam2", "this is parameter 2"); m.addparameter( "formparam1", "this is form parameter"); Stream s = m.getozd("parameter_test.ozr", "/", "ozp:///img/ozreport.jpg"); Sample : MultiReportSample.cs using System; using oz.framework.api; namespace sample public class MultiReportSample FORCS Co., LTD 37

OZ API Developer's Guide (for.net) public static void Main() Module maker = new Module("http://127.0.0.1/oz/server.aspx", "admin", "admin", true, false); string[] urls = new string[]"file://d:\\pictures\\0.gif", "file://d:\\pictures\\1.gif", "file://d:\\pictures\\2.gif"; maker.addodiparameter("parameter_test.odi", "odiparam", "testvalue"); maker.addparameter("formparam", "testvalue"); IReportInfo reportinfo = maker.addreport("parameter_test.ozr", "/", "Report1"); reportinfo.addurl(urls); reportinfo.addodiparameter("parameter_test.odi", "odiparam1", "form number 1"); reportinfo.addparameter("formparam1", "form parameter 1"); reportinfo = maker.addreport("parameter_test.ozr", "/", "Report2"); reportinfo.addurl(urls); reportinfo.addodiparameter("parameter_test.odi", "odiparam1", "form number 2"); reportinfo.addparameter("formparam2", "form parameter 2"); reportinfo = maker.addreport("parameter_test.ozr", "/", "Report3"); reportinfo.addurl(urls); reportinfo.addodiparameter("parameter_test.odi", "odiparam1", "form number 3"); reportinfo.addparameter("formparam2", "form parameter 3"); maker.saveozd(@"d:\multireport.ozd"); UseOzdParameterSample.cs using System; using oz.framework.api; namespace sample public class UseOzdParameterSample public static void Main() Module maker = new Module("http://127.0.0.1/oz/server.aspx", 38 FORCS Co., LTD

A Leader of Enterprise e-business Solution "admin", "admin", true, false); maker.addodiparameter("parameter_test.odi", "odiparam1", "testvalue"); maker.addparameter("formparam1", "testvalue"); IReportInfo reportinfo = maker.addreport("parameter_test.ozr", "/"); reportinfo.addodiparameter("parameter_test.odi", "odiparam1", "form number 1"); reportinfo.addparameter("formparam1", "form parameter 1"); reportinfo.addproperties("use_ozd_parameter", "false"); reportinfo = maker.addreport("parameter_test.ozr", "/"); reportinfo.addodiparameter("parameter_test.odi", "odiparam1", "form number 2"); reportinfo.addparameter("formparam1", "form parameter 2"); reportinfo.addproperties("use_ozd_parameter", "false"); maker.addreport("parameter_test.ozr", "/"); maker.saveozd(@"d:\sample.ozd"); FORCS Co., LTD 39

OZ API Developer's Guide (for.net) Constructor Summary Monitor(string ip, int port, string id, string pw, bool autologin, bool useusl) Monitor (string url, string id, string pw, bool autologin, bool useusl) Method Summary OZServerInfo GetServerInfo() MemoryStatus GetMemoryInfo() Stream DownloadLog() Constructor Detail ASP.NET //TCP/IP public Monitor(string ip, int port, string id, string pw, bool autologin, bool useusl) //HTTP public Monitor(string url, string id, string pw, bool autologin, bool useusl) url ip port id pw HTTP URL ex) string url = "http://127.0.0.1/oz/server.aspx"; TCP/IP IP ex) String ip = "127.0.0.1"; TCP/IP ex) int port = 8003; ex) string id = "admin"; ex) string pw = "admin"; 40 FORCS Co., LTD

A Leader of Enterprise e-business Solution autologin useusl ex) bool autologin = true; USL ex) bool useusl = false; Method Detail GetServerInfo public OZServerInfo GetServerInfo() throws OZPAIException. GetMemoryInfo public MemoryStatus GetMemoryInfo() throws OZAPIException (,, ). DownloadLog rototype public stream DownloadLog() throws OZAPIException. Class MemoryStatus(oz.server.monitor.MemoryStatus) Server System. - public long TotalMemory : VM public long FreeMemory : VM Free public long UseMemory : VM public long FreeMemoryPercentage : VM FreeMemory/TotalMemory OZServerInfo(oz.server.monitor. OZServerInfo) Server Server System. - FORCS Co., LTD 41

OZ API Developer's Guide (for.net) public string OSName : Server OS public string OSVersion : Server OS public string FrameworkVersion : Server.NET Framework Version public string FrameworkVendor : Server.NET Framework public string ServerVersion : Sample : MonitorSample.cs using System; using oz.util; using oz.framework.api; using oz.framework.monitor; namespace sample /// <summary> /// MonitorTest /// </summary> public class MonitorSample public static void Main() string url = "http://127.0.0.1/oz/server.aspx"; string id = "admin"; string password = "admin"; true); Monitor m = new Monitor(url, id, password, true, OZServerInfo si = m.getserverinfo(); Console.WriteLine(si); MemoryStatus ms = m.getmemoryinfo(); Console.WriteLine(ms); System.IO.Stream monitorlog = m.downloadlog(); 42 FORCS Co., LTD

A Leader of Enterprise e-business Solution API Class Program Class Publisher Class Scheduler Class TaskHolidayInfo Class TaskHolidayGroupInfo FORCS Co., LTD 43

OZ API Developer's Guide (for.net) API. API. Program Publisher Scheduler TaskHolidayInfo TaskHolidayGroupInf o..... API bin. OZServer.NET.dll OZSchedulerAPI.dll. API. 44 FORCS Co., LTD

A Leader of Enterprise e-business Solution Constructor Summary Program(string ip, int port) Method Summary void CreateFolder(ServerInfo s, string folder) Stream DownloadFile(ServerInfo s, string file) FileInfo[] GetExternalProgramInfos(ServerInfo s, string folder) void RemoveFiles(ServerInfo s, string folder, string[] files) void RemoveFolder(ServerInfo s, string folder, bool forciblyremove) void UploadFile(ServerInfo s, string file, Stream inputstream) Constructor Detail public Program(string ip, int port) ip port IP ex) string ip = "127.0.0.1"; ( : 9521) ex) int port = 9521; Method Detail CreateFolder public void CreateFolder(ServerInfo s, string folder). s folder FORCS Co., LTD 45

OZ API Developer's Guide (for.net) DownloadFile public Stream DownloadFile(ServerInfo s, string file). s file GetExternalProgramInfos public FileInfo[] GetExternalProgramInfos(ServerInfo s, string folder). s folder RemoveFiles public void RemoveFiles(ServerInfo s, string folder, string[] files). s folder files RemoveFolder public void RemoveFolder(ServerInfo s, string folder, bool forciblyremove). s folder forciblyremove true : false : UploadFile public void UploadFile(ServerInfo s, string file, Stream inputstream) (). 46 FORCS Co., LTD

A Leader of Enterprise e-business Solution s file inputstream Class ServerInfo(oz.scheduler.ServerInfo). - IsDaemon public bool IsDaemonget;set; true : TCP/IP false : HTTP IP public string IPget;set; IP Server TCP/IP. Port public int Portget;set; Port Server TCP/IP. URL public string URLget;set; URL Server HTTP. ID public string IDget;set; ID Password public string Passwordget;set; FORCS Co., LTD 47

OZ API Developer's Guide (for.net) DirectoryName public string DirectoryNameget;set; UserType public UserType UserTypeget;set; (Administrator,Normal,Everyone) FileInfo(oz.scheduler.FileInfo) (/,,, ). - IsDirectory public bool IsDirectoryget;set; () Name public string Nameget;set; Size public long Sizeget;set; LastModified public DateTime LastModifiedget;set;, 1970 1 1 00:00:00 GMT Sample : ProgramSample.cs using System; 48 FORCS Co., LTD

A Leader of Enterprise e-business Solution namespace sample public class ProgramSample public static void Main() oz.framework.api.program program = new oz.framework.api.program("127.0.0.1", 9521); oz.scheduler.serverinfo serverinfo = new oz.scheduler.serverinfo(); serverinfo.isdaemon = false; serverinfo.ip = "127.0.0.1"; serverinfo.port = 8003; serverinfo.url = "http://127.0.0.1/oz/server.aspx"; serverinfo.id = "admin"; serverinfo.password = "admin"; serverinfo.usertype = oz.scheduler.usertype.administrator; program.createfolder(serverinfo, "/folder"); byte[500]); System.IO.MemoryStream inputstream = new System.IO.MemoryStream(new program.uploadfile(serverinfo, "/folder/file1", inputstream); inputstream.position = 0; program.uploadfile(serverinfo, "/folder/file2", inputstream); System.IO.Stream downloadedfile = program.downloadfile(serverinfo, "/folder/file1"); if(downloadedfile.length!= inputstream.length) throw new InvalidOperationException("Invalid program status. Binary data has modified by outside. "); oz.scheduler.fileinfo[] extproginfos = program.getexternalprograminfos(serverinfo, "folder"); foreach(oz.scheduler.fileinfo extproginfo in extproginfos) Console.WriteLine("IsDirectory : " + extproginfo.isdirectory); Console.WriteLine("LastModified : " + extproginfo.lastmodified); Console.WriteLine("Name : " + extproginfo.name); Console.WriteLine("Size : " + extproginfo.size); program.removefiles(serverinfo, "/folder", "file1", "file2"); program.removefolder(serverinfo, "/folder", true); FORCS Co., LTD 49

OZ API Developer's Guide (for.net) Constructor Summary Publisher(string ip, int port) Method Summary void CreateFolder(ServerInfo s, string folder) Stream DownloadFile(ServerInfo s, string file) FileInfo[] GetPublishedInfos(ServerInfo s, string folder) void RemoveFiles(ServerInfo s, string folder, string[] files) void RemoveFolder(ServerInfo s, string folder, bool forciblyremove) Constructor Detail public Publisher(string ip, int port) ip port IP ex) string ip = "127.0.0.1"; ( : 9521) ex) int port = 9521; Method Detail CreateFolder public void CreateFolder(ServerInfo s, string folder). s folder DownloadFile 50 FORCS Co., LTD

A Leader of Enterprise e-business Solution public Stream DownloadFile(ServerInfo s, string file). s file GetPublishedInfos public FileInfo[] GetPublishedInfos(ServerInfo s, string folder). s folder RemoveFiles public void RemoveFiles(ServerInfo s, string folder, string[] files). s folder fiels RemoveFolder public void RemoveFolder(ServerInfo s, string folder, bool forciblyremove). s folder forciblyremove true : false : Class ServerInfo(oz.scheduler.ServerInfo) Program class " class". FORCS Co., LTD 51

OZ API Developer's Guide (for.net) FileInfo(oz. scheduler.fileinfo) Program class " class". Sample : PublisherSample.cs using System; namespace sample public class PublisherSample public static void Main() oz.framework.api.publisher publisher = new oz.framework.api.publisher("127.0.0.1", 9521); oz.scheduler.serverinfo serverinfo = new oz.scheduler.serverinfo(); serverinfo.isdaemon = false; serverinfo.ip = "127.0.0.1"; serverinfo.port = 8003; serverinfo.url = "http://127.0.0.1/oz/server.aspx"; serverinfo.id = "admin"; serverinfo.password = "admin"; serverinfo.usertype = oz.scheduler.usertype.administrator; publisher.createfolder(serverinfo, "/folder"); oz.scheduler.fileinfo[] pubfileinfos = publisher.getpublishedfileinfos(serverinfo, "/ozd"); foreach(oz.scheduler.fileinfo pubfileinfo in pubfileinfos) Console.WriteLine("IsDirectory : " + pubfileinfo.isdirectory); Console.WriteLine("LastModified : " + pubfileinfo.lastmodified); Console.WriteLine("Name : " + pubfileinfo.name); Console.WriteLine("Size : " + pubfileinfo.size); System.IO.Stream inputstream = publisher.downloadfile(serverinfo, "/ozd/" + pubfileinfo.name); Console.WriteLine(inputStream.Length); try publisher.removefiles(serverinfo, "/folder", "file1", "file2"); catch(exception) 52 FORCS Co., LTD

A Leader of Enterprise e-business Solution // there is no files so error is gonna be occurred. publisher.removefolder(serverinfo, "/folder", true); FORCS Co., LTD 53

OZ API Developer's Guide (for.net) Constructor Summary Scheduler(string ip, int port) Method Summary string CreateTask(ServerInfo s, NameValueCollection configmap, NameValueCollection exportmap) ScheduledTask[] GetTaskInfos(ServerInfo s) TaskResult[] GetTaskResults(ServerInfo s, string from, string to, string taskid) void RemoveTask(ServerInfo s, string taskid) string ModifyTask(ServerInfo s, string taskid, NameValueCollection configmap, NameValueCollection exportmap) void PauseTask(ServerInfo s, string taskid) void ResumeTask(ServerInfo s, string taskid) void Stop(ServerInfo s, bool forciblystop) bool Export(ServerInfo s, NameValueCollection configmap, NameValueCollection exportmap) bool MakePDF(ServerInfo s, NameValueCollection configmap, NameValueCollection exportmap) bool Print(ServerInfo s, NameValueCollection configmap, NameValueCollection printmap) NameValueCollection GetConfiguration(ServerInfo s) void ModifyConfiguration(ServerInfo s, NameValueCollection configmap) bool Ping() string[] GetSchedulingInfos (string path) void ConvertSchedulingInfos(string oldpath, string newpath) bool AddTaskHoliday(TaskHolidayInfo value) bool ModifyTaskHoliday(string old_key, TaskHolidayInfo new_value) bool DeleteTaskHoliday(string[] keys) 54 FORCS Co., LTD

A Leader of Enterprise e-business Solution bool AddTaskHolidayGroup(TaskHolidayGroupInfo value) bool ModifyTaskHolidayGroup(string old_key, TaskHolidayInfo new_value) bool DeleteTaskHolidayGroup(string key) TaskHolidayInfos GetTaskHolidayInfos() TaskHolidayGroupInfos GetTaskHolidayGroupInfos() void SaveTaskHoliday() DirectExportResult DirectExport(ServerInfo s, NameValueCollection configmap, NameValueCollection exportmap) DirectPrintResult DirectPrint(ServerInfo s, NameValueCollection configmap, NameValueCollection printproperties) void GetFile(ServerInfo s, string filename, string targetfile) void GetTaskProperties(ServerInfo s, string tasked,namevaluecollection configmap, NameValueCollection exportmap) Constructor Detail public Scheduler(string ip, int port) ip port IP ex) string ip = "127.0.0.1"; ( : 9521) ex) int port = 9521; Method Detail CreateTask public string CreateTask(ServerInfo s, NameValueCollection configmap, NameValueCollection exportmap) ID. : CreateTask Thread param. s configmap key "Option". FORCS Co., LTD 55

OZ API Developer's Guide (for.net) exportmap key "Option". GetTaskInfos public ScheduledTask[] GetTaskInfos(ServerInfo s). s GetTaskResults public TaskResult[] GetTaskResults(ServerInfo s, string from, string to, string taskid). s from to taskid RemoveTask public void RemoveTask(ServerInfo s, string taskid). s taskid ModifyTask public string ModifyTask(ServerInfo s, string taskid, NameValueCollection configmap, NameValueCollection exportmap). s taskid configmap exportmap key "Option". key "Option". 56 FORCS Co., LTD

A Leader of Enterprise e-business Solution PauseTask public void PauseTask(ServerInfo s, string taskid). s taskid ResumeTask public void ResumeTask(ServerInfo s, string taskid). s taskid Stop public void Stop(ServerInfo s, bool forciblystop). s forciblystop Export public bool Export(ServerInfo s, NameValueCollection configmap, NameValueCollection exportmap). : "ViewType=None". :.pdf,.ozd,.html,.jpg,.xls,.doc,.svg,.txt,.ppt,.tif, csv. s configmap exportmap key "Option". key "Option". MakePDF FORCS Co., LTD 57

OZ API Developer's Guide (for.net) public bool MakePDF(ServerInfo s, NameValueCollection configmap, NameValueCollection exportmap) PDF. : "ViewType=None". s configmap exportmap key "Option". CreatTask() PDF. PDF key "Option". CreatTask() PDF. Print public bool Print(ServerInfo s, NameValueCollection configmap, NameValueCollection printmap). ( ) : "task_type=viewertag". "ViewType=None". s configmap printmap key "Option". key "Option"., print.mode = silent. print API, print API. print API. 58 FORCS Co., LTD

A Leader of Enterprise e-business Solution viewer.allowmultiframe=true viewer.mode=print viewer.printcommand=true viewer.showerrormessage=false viewer.useprogressbar=false print.ingnoreerror=false print.mode=silent export.confirmsave=false export.format="" information.debug=debug GetConfiguration public NameValueCollection GetConfiguration(ServerInfo s). s ModifyConfiguration public void ModifyConfiguration(ServerInfo s, NameValueCollection configmap). s configmap key "Option". Ping public bool Ping(). GetSchedulingInfos public string[]getschedulinginfos(string path) OZS. (path OZS, path OZS..) FORCS Co., LTD 59

OZ API Developer's Guide (for.net) path OZS : OZS /%SCH_HOME%/[path]/. path sample /%SCH_HOME%/sample/ OZS. ConvertSchedulingInfos public void ConvertSchedulingInfos(string oldpath, string newpath) 2.5 OZS. oldpath newpath OZS : /%SCH_HOME%/[oldPath]/. OZS : /%SCH_HOME%/[newPath]/ newpath oldpath. AddTaskHoliday public bool AddTaskHoliday(TaskHolidayInfo value). value ModifyTaskHoliday public bool ModifyTaskHoliday(string old_key, TaskHolidayInfo new_value). old_key new_value DeleteTaskHoliday public bool DeleteTaskHoliday(string[] keys). keys AddTaskHolidayGroup 60 FORCS Co., LTD

A Leader of Enterprise e-business Solution public bool AddTaskHolidayGroup(TaskHolidayGroupInfo value). value ModifyTaskHolidayGroup public bool ModifyTaskHolidayGroup(string old_key, TaskHolidayGroupInfo new_value). old_key new_value DeleteTaskHolidayGroup public bool DeleteTaskHolidayGroup(string key). key GetTaskHolidayInfos public TaskHolidayInfos GetTaskHolidayInfos(). GetTaskHolidayGroupInfos public TaskHolidayGroupInfos GetTaskHolidayGroupInfos(). SaveTaskHoliday public void SaveTaskHoliday() xml. DirectExport public DirectExportResult DirectExport(ServerInfo s, NameValueCollection configmap, NameValuecollection exportmap) FORCS Co., LTD 61

OZ API Developer's Guide (for.net). : "ViewType=None". :.pdf,.ozd,.html,.jpg,.xls,.doc,.svg,.txt,.ppt,.tif, csv. s configmap exportmap key "Option". key "Option". DirectPrint public DirectPrintResult DirectPrint(ServerInfo s, NameValueCollection configmap, NameValuecollection printmap). : "task_type=viewertag". "ViewType=None". s configmap printmap key "Option". key "Option"., print.mode = silent. GetFile public void GetFile(ServerInfo s, string filename, string targetfile). s filename targetfile 62 FORCS Co., LTD

A Leader of Enterprise e-business Solution GetTaskProperties public void GetTaskProperites(ServerInfo s, string TaskID, NameValueCollection configmap, NameValueCollection exportmap) (configmap) (exportmap). s taskid configmap exportmap key "Option". CreatTask() PDF. PDF key "Option". CreatTask() PDF. Class TaskResult(oz.scheduler.TaskResult). - TaskID public string TaskIDget;set; ID CompletedTime public string CompletedTimeget;set; IsSuccessful public bool IsSuccessfulget;set; FormFileName FORCS Co., LTD 63

OZ API Developer's Guide (for.net) public string FormFileNameget;set; ParamInfo public string ParamInfoget;set; SchedulingType public string SchedulingTypeget;set; ExportedFiles public string ExportedFilesget;set; ErrorMessage public string ErrorMessageget;set; DirectTaskResult(oz.scheduler.DirectTaskResult). - public string TaskID: ID public string CompletedTime : public string ExecuteTime: ( : ) public bool IsSuccessful: public string FormName: oz.scheduler.directexportresult extends DirectTaskResult. - public string ExportFileList: public int PageCount : 64 FORCS Co., LTD

A Leader of Enterprise e-business Solution., 4 xls, doc PageCount 8. "viewer.largebundle=true" PageCount 1. oz.scheduler.directprintresult extends DirectTaskResult. - public int PageCount: public int PageCopy: public string PageRange: public string PrinterName : public string PrinterDriverName : Option - "ViewType" "None", API, OZD. -,. viewer.mode viewer.useprogressbar viewer.allowmultiframe export.mode export.confirmsave information.debug viewer.showerrormessage export false true silent false debug false - FORCS Co., LTD 65

OZ API Developer's Guide (for.net) Key Value report_name category_name - Key Value dm_server_check "check" "null" dm_server_name SDM (Repository odi category SDM ) odi_name ODI ODI odi_category_name ODI ( "/" ) - Key Value task_type "viewertag",. "SchedulerViewerTagSample.cs". - Key Value external_program_che ck external_program_co mmand "check" "null" ("SCH_HOME/External" Key Value mail_check "check" "null" 66 FORCS Co., LTD

A Leader of Enterprise e-business Solution mail_notify_error_ch eck mail_recipient_to mail_recipient_cc mail_recipient_bcc "check" "null" mail_subject mail_text_message mail_html_comment html_mail_content mail_attach_list "check" "null" "check" "null" HTML HTML ( '/' ) Key Value file_export_list ( '/' ) Key Value parameter_count parameter_name_1... parameter_name_n (n : ) parameter_value_1... parameter_value_n (n : ) FORCS Co., LTD 67

OZ API Developer's Guide (for.net) : ODI,. "[FORM].". empno "[FORM].empNo". ODI ODI. ODI "testodi" "id" "testodi.id". ODI Key Value odi_parameter_count odi_parameter_name_1... odi_parameter_name_n (n : ) odi_parameter_value_1... odi_parameter_value_n (n : ) : ODI, ODI ODI. Key Value use_ozd_parameter true/false OZD OZD - Key Value 68 FORCS Co., LTD

A Leader of Enterprise e-business Solution launch_type "once" "immediately" "periodically" once : immediately : periodically : launch_type = once Key Value execution_year execution_month execution_day execution_hour execution_min launch_type = periodically Key Value start_year start_month start_day periodically_executi on_day_type "daily" "weekly" "monthly" periodically_execution_day_type = daily Key Value daily_type weekday daily_every_days () periodically_execution_day_type = weekly Key Value weekly_every_week s weekly_monday_che ck weekly_tuesday_che ck "check" "null" "check" "null" FORCS Co., LTD 69

OZ API Developer's Guide (for.net) weekly_wednesday_ check weekly_thursday_ch eck weekly_friday_check weekly_saturday_ch eck weekly_sunday_che ck "check" "null" "check" "null" "check" "null" "check" "null" "check" "null" periodically_execution_day_type = monthly Key Value monthly_every_m onths ( ) monthly_type "specific_day", "day_of_week", "user_defined" monthly_days monthly_which_w eek "T1" "T2" "T3"" T4" "T5" T1 : T2 : T3 : T4 : T5 : monthly_which_w eek_day monthly_user_defi ned_days "sunday" "monday" "tuesday" "wednesday" "thursday" "friday" "saturday" (,) - Key Value 70 FORCS Co., LTD

A Leader of Enterprise e-business Solution periodically_exec ution_time_type "once" "repeat" "user_defined" (,, ) periodically_execution_time_type = once Key Value once_hour once_min periodically_execution_time_type = repeat Key Value repeat_every_hours repeat_every_minutes repeat_start_hour repeat_start_minute repeat_end_hour repeat_end_minute : 6 2 5 9 35 1 4. periodically_execution_time_type = user_defined Key Value user_defined_time (:) (,) ".mailattach". true, false. ex) setproperty("hdm.mailattach", "true") key " ". FORCS Co., LTD 71

OZ API Developer's Guide (for.net) : Value "/." "%%\Repository/"., "FORCS" CSV setproperty("csv.filename", "FORCS/test.csv"), "%%\Repository/FORCS" "test.csv". modifyconfiguration ConfigMap Key Value SchedulerPort ( : "9521") SchedulingInfoFil epath SMTPServer SMTP SMTPServerProt SMTP MailFrom TempRepositoryF ilepath RepositoryFileRo otpath ExternalProgram FilePath ErrorNotifyToSen der "true" "false" true : false : Sample : SchedulerSample.cs using System; using System.Collections.Specialized; using oz.scheduler.holiday; using oz.framework.api; namespace sample public class SchedulerSample 72 FORCS Co., LTD

A Leader of Enterprise e-business Solution public static void Main() oz.framework.api.scheduler scheduler = new oz.framework.api.scheduler("127.0.0.1", 9521); if(scheduler.ping()) Console.WriteLine("Scheduler is alive. "); else Console.WriteLine("Scheduler is not being run. "); oz.scheduler.serverinfo serverinfo = new oz.scheduler.serverinfo(); serverinfo.isdaemon = false; serverinfo.ip = "127.0.0.1"; serverinfo.port = 8003; serverinfo.url = "http://127.0.0.1/oz/server.aspx"; serverinfo.id = "admin"; serverinfo.password = "admin"; serverinfo.usertype = oz.scheduler.usertype.administrator; NameValueCollection properties = new NameValueCollection(); properties["report_name"] = "parameter_test.ozr"; properties["category_name"] = "/"; properties["cfg.type"] = "new"; properties["odi_name"] = "parameter_test.odi"; properties["odi_category_name"] = "/"; properties["dm_server_check"] = "check"; properties["dm_server_name"] = "test1.sdm"; properties["odi_name"] = "parameter_test.odi"; properties["odi_category_name"] = "/"; properties["external_program_check"] = "check"; properties["external_program_command"] = "notepad.bat"; properties["parameter_count"] = "2"; properties["parameter_name_1"] = "[FORM].formparam1"; properties["parameter_value_1"] = "form param 1"; properties["parameter_name_2"] = "[FORM].formparam2"; properties["parameter_value_2"] = "form param 1"; properties["odi_parameter_count"] = "2"; properties["odi_parameter_name_1"] = "odiparam1"; properties["odi_parameter_value_1"] = "odi param 1"; properties["odi_parameter_name_2"] = "odiparam2"; properties["odi_parameter_value_2"] = "odi param 1"; properties["launch_type"] = "periodically"; FORCS Co., LTD 73

OZ API Developer's Guide (for.net) properties["start_year"] = DateTime.Now.Year.ToString(); properties["start_month"] = DateTime.Now.Month.ToString(); properties["start_day"] = DateTime.Now.Day.ToString(); properties["execution_year"] = DateTime.Now.Year.ToString(); properties["execution_month"] = DateTime.Now.Month.ToString(); properties["execution_day"] = DateTime.Now.Day.ToString(); properties["execution_hour"] = DateTime.Now.Hour.ToString(); properties["execution_min"] = DateTime.Now.Minute.ToString(); properties["periodically_execution_day_type"] = "daily"; properties["daily_type"] = "weekday"; properties["periodically_execution_time_type"] = "once"; properties["once_hour"] = DateTime.Now.Hour.ToString(); properties["once_min"] = DateTime.Now.Minute.ToString(); properties["mail_check"] = "check"; properties["html_mail_content"] = "check"; properties["mail_notify_error_check"] = "null"; properties["mail_recipient_to"] = "gosys@forcs.com"; //properties["mail_recipient_cc"] = "abc@forcs.com"; //properties["mail_recipient_bcc"] = "lan@forcs.com"; properties["mail_subject"] = "mail subject"; properties["mail_text_message"] = "mail content"; properties["mail_attach_list"] = "csv/excel/html/ozd/pdf/text/tiff/word/ppt/jpg/svg"; properties["file_export_list"] = "csv/xls/html/ozd/pdf/txt/tif/doc/ppt/jpg/svg"; NameValueCollection exportproperties = new NameValueCollection(); exportproperties["csv.filename "] = "schedulersample.csv"; exportproperties["csv.pagetitle "] = "page"; exportproperties["csv.pageline "] = "7"; exportproperties["csv.pagestyle"] = "none"; exportproperties["csv.separator "] = "Tab"; exportproperties["csv.removerange "] = "1,3"; exportproperties["csv.exceptfirstpage "] = "true"; exportproperties["csv.savetointeger "] = "true"; exportproperties["excel.filename "] = "schedulersample.xls"; exportproperties["excel.numberformat "] = "#,##0.00"; exportproperties["excel.savefont"] = "Arial"; exportproperties["excel.matchmode"] = "columnpersheet"; exportproperties["excel.matchsubmode"] = "rowfirst"; exportproperties["excel.removerange"] = "1,3"; exportproperties["excel.removeoption "] = " firstpageonly"; 74 FORCS Co., LTD

A Leader of Enterprise e-business Solution exportproperties["excel.removeblank "] = " true"; exportproperties["html.filename "] = "schedulersample.html"; exportproperties["html.imagepath "] = "file://c:/image"; exportproperties["html.vertical "] = "1"; exportproperties["html.horizontal "] = "1"; exportproperties["html.savebypage "] = "true"; exportproperties["html.offsetx "] = "1"; exportproperties["html.offsety "] = "1"; exportproperties["ozd.filename "] = "schedulersample.ozd"; exportproperties["ozd.memoallowed "] = "true"; exportproperties["ozd.password"] = "admin"; exportproperties["pdf.filename "] = "schedulersample.pdf"; //exportproperties["pdf.saverange "] = "1.3"; exportproperties["pdf.title "] = "Report"; exportproperties["pdf.subject "] = "OZ"; exportproperties["pdf.creator "] = "hong"; exportproperties["pdf.author "] = "hong"; exportproperties["pdf.keyword "] = "oz"; exportproperties["pdf.userpassword"] = "user"; exportproperties["pdf.masterpassword "] = "admin"; exportproperties["pdf.printprotected "] = "true"; exportproperties["text.filename "] = "schedulersample.txt"; exportproperties["text.pagetitle "] = "page"; exportproperties["text.pageline "] = "7"; exportproperties["text.pagestyle"] = "none"; exportproperties["text.separator "] = "Tab"; exportproperties["text.removerange "] = "1,3"; exportproperties["text.exceptfirstpage "] = "true"; exportproperties["text.savetointeger "] = "true"; exportproperties["tiff.filename "] = "schedulersample.tif"; exportproperties["tiff.encode "] = "G3"; exportproperties["word.filename "] = "schedulersample.doc"; exportproperties["ppt.filename "] = "schedulersample.ppt "; exportproperties["jpg.filename "] = "schedulersample.jpg "; exportproperties["svg.filename "] = "schedulersample.svg"; exportproperties); string taskid = scheduler.createtask(serverinfo, properties, Console.WriteLine("taskID : " + taskid); FORCS Co., LTD 75

OZ API Developer's Guide (for.net) exportproperties); scheduler.makepdf(serverinfo, properties, exportproperties); scheduler.makepdfbypooling(serverinfo, properties, NameValueCollection schedulerproperties = new NameValueCollection(); schedulerproperties["schedulerport"] = "9521"; schedulerproperties["errornotifytosender"] = "false"; schedulerproperties["externalprogramfilepath"] = "%SCH_HOME%/External"; schedulerproperties["mailfrom"] = "gosys@forcs.com"; schedulerproperties["repositoryfilerootpath"] = "%SCH_HOME%/Repository"; schedulerproperties["smtpserver"] = "mail.forcs.com"; schedulerproperties["smtpserverport"] = "465"; schedulerproperties["smtpuserid"] = "gosys@forcs.com"; schedulerproperties["smtpuserpassword"] = "password"; schedulerproperties["schedulinginfofilepath"] = "%SCH_HOME%/ScheduledTask"; schedulerproperties["temprepositoryfilepath"] = "%SCH_HOME%/TempRepository"; schedulerproperties["viewtype"] = "ActiveX"; schedulerproperties["viewconcurrentcount"] = "10"; schedulerproperties["viewertimeout"] = "0"; schedulerproperties["mailsendretrycount"] = "0"; schedulerproperties["mailsendretryperiodtime"] = "30"; schedulerproperties["taskholiday"] = "true"; schedulerproperties["prefixsubjectmessage"] = ""; schedulerproperties["enablessl"] = "false"; scheduler.modifyconfiguration(serverinfo, schedulerproperties); foreach(oz.scheduler.scheduledtask taskinfo in scheduler.gettaskinfos(serverinfo)) Console.WriteLine("CategoryName : " + taskinfo.categoryname); Console.WriteLine("LastExecutionTime : " + taskinfo.lastexecutiontime); Console.WriteLine("NextExecutionTime : " + taskinfo.nextexecutiontime); Console.WriteLine("ReportName : " + taskinfo.reportname); Console.WriteLine("Status : " + taskinfo.status); Console.WriteLine("TaskID : " + taskinfo.taskid); Console.WriteLine("Type : " + taskinfo.type); 76 FORCS Co., LTD

A Leader of Enterprise e-business Solution foreach(oz.scheduler.taskresult taskresult in scheduler.gettaskresults(serverinfo, string.empty, string.empty, string.empty)) Console.WriteLine("CompletedTime : " + taskresult.completedtime); Console.WriteLine("ErrorMessage : " + taskresult.errormessage); Console.WriteLine("ExportedFiles : " + taskresult.exportedfiles); Console.WriteLine("FormFileName : " + taskresult.formfilename); Console.WriteLine("IsSuccessful : " + taskresult.issuccessful); Console.WriteLine("ParamInfo : " + taskresult.paraminfo); Console.WriteLine("SchedulingType : " + taskresult.schedulingtype); Console.WriteLine("TaskID : " + taskresult.taskid); foreach(oz.scheduler.scheduledtask taskinfo in scheduler.gettaskinfos(serverinfo)) if(taskinfo.taskid==taskid) if(taskinfo.status!=oz.scheduler.taskstatus.running) scheduler.pausetask(serverinfo, taskid); scheduler.resumetask(serverinfo, taskid); scheduler.removetask(serverinfo, taskid); scheduler.stop(serverinfo, true); Sample : SchedulerViewerTagSample.cs using System; using System.Collections.Specialized; using oz.scheduler.holiday; using oz.framework.api; namespace sample FORCS Co., LTD 77

OZ API Developer's Guide (for.net) /// <summary> /// SchedulerViewerTag /// </summary> public class SchedulerViewerTagSample public static void Main() oz.framework.api.scheduler scheduler = new oz.framework.api.scheduler("127.0.0.1", 9521); if(scheduler.ping()) Console.WriteLine("Scheduler is alive. "); else Console.WriteLine("Scheduler is not being run. "); oz.scheduler.serverinfo serverinfo = new oz.scheduler.serverinfo(); serverinfo.isdaemon = false; serverinfo.ip = "127.0.0.1"; serverinfo.port = 8003; serverinfo.url = "http://127.0.0.1/oz/server.aspx"; serverinfo.id = "admin"; serverinfo.password = "admin"; serverinfo.usertype = oz.scheduler.usertype.administrator; NameValueCollection properties = new NameValueCollection(); properties["task_type"] = "viewertag"; properties["cfg.type"] = "new"; properties["launch_type"] = "immediately"; NameValueCollection exportproperties = new NameValueCollection(); if(serverinfo.isdaemon) exportproperties["connection.server"] = serverinfo.ip; exportproperties["connection.port"] = serverinfo.port.tostring(); else exportproperties["connection.servlet"] = serverinfo.url; // exportproperties["connection.reportname"] = "/parameter_test.ozr"; exportproperties["applet.mode"] = "export"; exportproperties["applet.useprogressbar"] = "false"; exportproperties["applet.allowmultiframe"] = "true"; exportproperties["connection.pcount"] = "2"; 78 FORCS Co., LTD

A Leader of Enterprise e-business Solution exportproperties["connection.args1"] = "formparam1=form param 1"; exportproperties["connection.args2"] = "formparam2=form param 2"; exportproperties["export.mode"] = "silent"; exportproperties["export.saveonefile"] = "true"; exportproperties["connection.fetchtype"] = "BATCH"; exportproperties["export.confirmsave"] = "false"; exportproperties["information.debug"] = "debug"; exportproperties["applet.showerrormessage"] = "false"; exportproperties["odi.parameter_test.pcount"] = "2"; exportproperties["odi.parameter_test.args1"] = "odiparam1=odi param 1"; exportproperties["odi.parameter_test.args2"] = "odiparam2=odi param 2"; exportproperties["odi.odinames"] = "parameter_test"; exportproperties["export.format"] = "csv/xls/html/ozd/pdf/txt/tif/doc/ppt/jpg/svg/mht"; exportproperties["csv.filename"] = "1.csv"; exportproperties["excel.filename"] = "1.xls"; exportproperties["html.filename"] = "1.html"; exportproperties["ozd.filename"] = "1.ozd"; exportproperti es["pdf.filename"] = "1.pdf"; exportproperties["text.filename"] = "1.txt"; exportproperties["tiff.filename"] = "1.tif"; exportproperties["word.filename"] = "1.doc"; exportproperties["ppt.filename"] = "1.ppt"; exportproperties["jpg.filename"] = "1.jpg"; exportproperties["svg.filename"] = "1.svg"; exportproperties["mht.filename"] = "1.mht"; exportproperties["hdm.filename"] = "1.hdm"; exportproperties["viewer.childcount"] = "1"; if(serverinfo.isdaemon) exportproperties["child1.connection.server"] = serverinfo.ip; exportproperties["child1.connection.port"] = serverinfo.port.tostring(); else exportproperties["child1.connection.servlet"] = serverinfo.url; exportproperties["child1.connection.reportname"] = "/parameter_test.ozr"; exportproperties["child1.applet.mode"] = "export"; exportproperties["child1.applet.useprogressbar"] = "false"; exportproperties["child1.applet.allowmultiframe"] = "true"; exportproperties["child1.export.mode"] = "silent"; exportproperties["child1.connection.fetchtype"] = "BATCH"; exportproperties["child1.export.confirmsave"] = "false"; exportproperties["child1.information.debug"] = "debug"; exportproperties["child1.applet.showerrormessage"] = "false"; FORCS Co., LTD 79

OZ API Developer's Guide (for.net) exportproperties["child1.connection.pcount"] = "2"; exportproperties["child1.connection.args1"] = "formparam1=form param 1"; exportproperties["child1.connection.args2"] = "formparam2=form param 2"; exportproperties["child1.odi.odinames"] = "parameter_test"; exportproperties["child1.odi.parameter_test.pcount"] = "2"; exportproperties["child1.odi.parameter_test.args1"] = "odiparam1=odi param 1"; exportproperties["child1.odi.parameter_test.args2"] = "odiparam2=odi param 2"; exportproperties["child1.export.format"] = "csv/xls/html/ozd/pdf/txt/tif/doc/ppt/jpg/svg/mht"; exportproperties["child1.csv.filename"] = "child_1.csv"; exportproperties["child1.excel.filename"] = "child_1.xls"; exportproperties["child1.html.filename"] = "child_1.html"; exportproperties["child1.ozd.filename"] = "child_1.ozd"; exportproperties["child1.pdf.filename"] = "child_1.pdf"; exportproperties["child1.text.filename"] = "child_1.txt"; exportproperties["child1.tiff.filename"] = "child_1.tif"; exportproperties["child1.word.filename"] = "child_1.doc"; exportproperties["child1.ppt.filename"] = "child_1.ppt"; exportproperties["child1.jpg.filename"] = "child_1.jpg"; exportproperties["child1.svg.filename"] = "child_1.svg"; exportproperties["child1.mht.filename"] = "child_1.mht"; exportproperties["child1.hdm.filename"] = "child_1.hdm"; string taskid = scheduler.createtask(serverinfo, properties, exportproperties); Sample : DirectExportResultSample.cs using System; using System.Collections.Specialized; using oz.framework.api; using oz.scheduler; namespace sample /// <summary> /// DirectExportResultSample /// </summary> public class DirectExportResultSample public DirectExportResultSample() 80 FORCS Co., LTD

A Leader of Enterprise e-business Solution public static void Main() oz.framework.api.scheduler scheduler = new oz.framework.api.scheduler("127.0.0.1", 9521); oz.scheduler.serverinfo serverinfo = new oz.scheduler.serverinfo(); serverinfo.isdaemon = false; serverinfo.ip = "127.0.0.1"; serverinfo.port = 8003; serverinfo.id = "admin"; serverinfo.url = "http://127.0.0.1/oz/server.aspx"; serverinfo.password = "admin"; serverinfo.usertype = oz.scheduler.usertype.administrator; NameValueCollection properties = new NameValueCollection(); properties["task_type"] = "viewertag"; properties["cfg.type"] = "new"; properties["launch_type"] = "immediately"; NameValueCollection exportproperties = new NameValueCollection(); // viewer tag if(serverinfo.isdaemon) exportproperties["connection.server"] = serverinfo.ip; exportproperties["connection.port"] = serverinfo.port.tostring(); else exportproperties["connection.servlet"] = serverinfo.url; exportproperties["connection.reportname"] = "/parameter_test.ozr"; exportproperties["viewer.mode"] = "export"; exportproperties["export.mode"] = "silent"; exportproperties["export.confirmsave"] = "false"; exportproperties["export.format"] = "xls"; exportproperties["xls.filename"] = "sample.xls"; DirectExportResult result = scheduler.directexport(serverinfo, properties, exportproperties); Console.WriteLine("TaskID : " + result.taskid); Console.WriteLine("CompletedTime : " + result.completedtime); Console.WriteLine("ExecuteTime ; " + result.executetime); FORCS Co., LTD 81

OZ API Developer's Guide (for.net) Console.WriteLine("Success : " + result.issuccessful); Console.WriteLine("FormName : " + result.formname); Console.WriteLine("ExportFileList " + result.exportfilelist); Console.WriteLine("PageCount " + result.pagecount); Sample : DirectPrintResultSample.cs using System; using System.Collections.Specialized; using oz.framework.api; using oz.scheduler; namespace sample /// <summary> /// DirectPrintResultSample /// </summary> public class DirectPrintResultSample public DirectPrintResultSample() public static void Main() oz.framework.api.scheduler scheduler = new oz.framework.api.scheduler("127.0.0.1", 9521); oz.scheduler.serverinfo serverinfo = new oz.scheduler.serverinfo(); serverinfo.isdaemon = false; serverinfo.ip = "127.0.0.1"; serverinfo.port = 8003; serverinfo.url = "http://127.0.0.1/oz/server.aspx"; serverinfo.id = "admin"; serverinfo.password = "admin"; serverinfo.usertype = oz.scheduler.usertype.administrator; NameValueCollection properties = new NameValueCollection(); properties["task_type"] = "viewertag"; properties["cfg.type"] = "new"; 82 FORCS Co., LTD

A Leader of Enterprise e-business Solution properties["launch_type"] = "immediately"; NameValueCollection printproperties = new NameValueCollection(); // Viewer tag if(serverinfo.isdaemon) printproperties["connection.server"] = serverinfo.ip; printproperties["connection.port"] = serverinfo.port.tostring(); else printproperties["connection.servlet"] = serverinfo.url; 1"; 2"; printproperties["connection.reportname"] = "/parameter_test.ozr"; printproperties["applet.mode"] = "export"; printproperties["connection.pcount"] = "2"; printproperties["connection.args1"] = "formparam1=formparam 1"; printproperties["connection.args2"] = "formparam2=formparam 1"; printproperties["export.mode"] = "silent"; printproperties["export.saveonefile"] = "true"; printproperties["connection.fetchtype"] = "BATCH"; printproperties["export.confirmsave"] = "false"; printproperties["information.debug"] = "debug"; printproperties["applet.showerrormessage"] = "false"; printproperties["odi.parameter_test.pcount"] = "2"; printproperties["odi.parameter_test.args1"] = "odiparam1=odiparam printproperties["odi.parameter_test.args2"] = "odiparam2=odiparam printproperties["odi.odinames"] = "parameter_test"; printproperties["viewer.mode"] = "print"; printproperties["print.mode"] = "silent"; printproperties["viewer.printcommand"] = "true"; DirectPrintResult result = scheduler.directprint(serverinfo, properties, printproperties); Console.WriteLine("TaskID : " + result.taskid); Console.WriteLine("CompletedTime : " + result.completedtime); Console.WriteLine("ExecuteTime ; " + result.executetime); Console.WriteLine("FormName : " + result.formname); Console.WriteLine("PageCount : " + result.pagecount); Console.WriteLine("PageCopy : " + result.pagecopy); Console.WriteLine("PageRange : " + result.pagerange); Console.WriteLine("PrinterName : " + result.printername); Console.WriteLine("PrinterDriverName : " + result.printerdrivername); FORCS Co., LTD 83

OZ API Developer's Guide (for.net) 84 FORCS Co., LTD

A Leader of Enterprise e-business Solution Constructor Summary TaskHolidayInfo(string name) Property Summary string Nameget;set; string BaseDayget;set; HolidayType Typeget;set; int Startget;set; int Endget;set; Constructor Detail public TaskHolidayInfo(string name) name : ";". Property Detail Name public string Nameget;set; BaseDay public string BaseDayget;set; FORCS Co., LTD 85

OZ API Developer's Guide (for.net) pattern : yyyy-mm-dd : yyyy-mm-01 : 1 yyyy-01-01 : 1 1 2007-01-01 : 2007 1 1 Type public string Typeget;set; (, ) solar : lunar : Start public int Startget;set; "baseday" End public int Endget;set; "baseday" Sample : SchedulerTaskHoliday.cs using System; namespace sample public class SchedulerTaskHoliday public static void Main() oz.framework.api.scheduler scheduler = new oz.framework.api.scheduler("127.0.0.1", 9521); oz.scheduler.holiday.taskholidayinfos holidayinfos = scheduler.gettaskholidayinfos(); foreach(oz.scheduler.holiday.taskholidayinfo holidayinfo in holidayinfos.values) Console.WriteLine("Name : " + holidayinfo.name); Console.WriteLine("Type : " + holidayinfo.type); 86 FORCS Co., LTD

A Leader of Enterprise e-business Solution Console.WriteLine("BaseDay : " + holidayinfo.baseday); Console.WriteLine("Start : " + holidayinfo.start); Console.WriteLine("End : " + holidayinfo.end); Console.WriteLine(); oz.scheduler.holiday.taskholidayinfo anniversary = new oz.scheduler.holiday.taskholidayinfo("a foundation day"); anniversary.baseday = "yyyy-07-25"; anniversary.type = oz.scheduler.holiday.holidaytype.solar; anniversary.start = 0; anniversary.end = 0; scheduler.addtaskholiday(anniversary); scheduler.savetaskholiday(); FORCS Co., LTD 87

OZ API Developer's Guide (for.net) Constructor Summary TaskHolidayGroupInfo(string name) Proporty Summary string Nameget; string[] Referenceget; Method Summary void AddReference(params string[] names) void RemoveReferences(string[] names) void ClearReferences() Constructor Detail public TaskHolidayGroupInfo(string name) name : ";". Proporty Detail Name public string Nameget; References public string[] Referencesget; 88 FORCS Co., LTD

A Leader of Enterprise e-business Solution Reference Method Detail AddReference public void AddReference(string[] names).. names ( ) RemoveReferences public void RemoveReferences(string[] names). names ClearReferences public void ClearReferences(). Sample : SchedulerTaskHolidayGroup.cs using System; namespace sample /// <summary> /// TaskHolidayGroup /// </summary> public class SchedulerTaskHolidayGroup public static void Main() oz.framework.api.scheduler scheduler = new oz.framework.api.scheduler("127.0.0.1", 9521); oz.scheduler.holiday.taskholidaygroupinfo groupinfo = new oz.scheduler.holiday.taskholidaygroupinfo("group3"); FORCS Co., LTD 89

OZ API Developer's Guide (for.net) groupinfo.addreference("new Year s Day", "Lunar New Year's Day", "Independence Movement Day"); scheduler.addtaskholidaygroup(groupinfo); groupinfo.addreference("labor Day"); scheduler.modifytaskholidaygroup(groupinfo.name, groupinfo); oz.scheduler.holiday.taskholidaygroupinfos holidaygroupinfos = scheduler.gettaskholidaygroupinfos(); foreach(oz.scheduler.holiday.taskholidaygroupinfo holidaygroupinfo in holidaygroupinfos.values) Console.WriteLine("Name : " + holidaygroupinfo.name); foreach(string reference in holidaygroupinfo.references) Console.Write(reference + "\t"); Console.WriteLine(); scheduler.deletetaskholidaygroup(groupinfo.name); scheduler.savetaskholiday(); 90 FORCS Co., LTD

A Leader of Enterprise e-business Solution Interface Repository Class RepositoryEx FORCS Co., LTD 91

OZ API Developer's Guide (for.net). Interface Summary // NameSpace : oz.framework.repositoryex - public interface IRepository - public interface IRepositoryCategory - public interface IRepositoryItem - public interface IRepositoryHistory - public interface IRepositoryArchive - public interface IRepositoryGroup - public interface IRepositoryUser - public interface IRepositoryMultiLoginUser Exception - public class OZRepositoryException extends Exception // : oz.framework.repositoryex.auth - public interface IRepositoryAuthorityToGroupCategory - public interface IRepositoryGroupAuthorityToItem - public interface IRepositoryUserAuthorityToCategory - public interface IRepositoryUserAuthorityToItem // : oz.framework.repositoryex.info (bean) 92 FORCS Co., LTD

A Leader of Enterprise e-business Solution - public interface ICategoryInfo - public interface IItemInfo - public interface IHistoryInfo - public interface IGroupInfo - public interface IUserInfo - public interface ILoginInfo - public interface ISearchResult Interface Method Summary // IRepository IStringDictionary Propertyset; int Versionget; void Open () void Close() object Login(string username, string password, ILoginInfo logininfo, HttpContext ctx) void UpdateSesssionState(object session, SessionState state) bool Logout(object session, string username, ILoginInfo logininfo, HttpContext ctx) IRepositoryCategory Categoryget; IRepositoryItem Itemget; IRepositoryHistory Historyget; IRepositoryGroup Groupget; IRepositoryUser Userget; IRepositoryMultiLoginUser MultiLoginUserget; IRepositoryGroupAuthorityToCategory GroupAuthorityToCategoryget; IRepositoryGroupAuthorityToItem GroupAuthorityToItemget; IRepositoryUserAuthorityToCategory UserAuthorityToCategoryget; IRepositoryUserAuthorityToItem UserAuthorityToItemget; // IRepositoryCategory IRepository Repositoryget;set; CategoryAccess AccessTypeget; string[] CreateItems(object session, string[] itemnames, string[] FORCS Co., LTD 93

OZ API Developer's Guide (for.net) descriptions, string[] categoryids, Stream[] items, string comment, OZErrorCode[] errcodes, string[] errmsgs) string[] CreateCategories(object session, string[] categorynames, string[] parentcategoryids, string comment, OZErrorCode[] errcodes, string[] errmsgs) string ModifyCategoryName(object session, string categoryid, string newcategoryname, string comment) bool[] DeleteCategories(object session, string[] categoryids, bool[] tobedestroyed, string comment, OZErrorCode[] errcodes, string[] errmsgs) bool[] UndeleteCategories(object session, string[] categoryids, string comment, OZErrorCode[] errcodes, string[] errmsgs) int GetItemCount(object session, string categoryid) IItemInfo[] GetItemInfos(object session, string categoryid) string GetCategoryID(object session, string itemid) ICategoryInfo GetCategoryInfo(object session, string categoryid) IItemInfo[] GetDeletedItemInfos(object session, string categoryid) ICategoryInfo[] GetCategoryInfos(object session, string categoryid) bool TransferItems(object session, string[] itemids, string categoryid) bool TransferCategory(object session, string categoryid, string targetcategoryid) // IRepositoryItem IRepository Repositoryget;set; ItemAccess AccessTypeget; string[] CreateItems(object session, string[] itemnames, string[] descriptions, Stream[] items, string comment, OZErrorCode[] errcodes, string[] errmsgs) string ModifyItemName(object session, string itemid, string newitemname, string comment) bool[] DeleteItems(object session, string[] itemids, bool[] tobedestroyed, string comment, OZErrorCode[] errcodes, string[] errmsgs) bool[] UndeleteItems(object session, string[] itemids, string comment, OZErrorCode[] errcodes, string[] errmsgs) bool ModifyItemDescription(object session, string itemid, string description) IItemInfo GetItemInfo(object session, string itemid) 94 FORCS Co., LTD

A Leader of Enterprise e-business Solution bool HasItem(object session, string itemid) Stream[] GetItems(object session, string[] itemids, OZErrorCode[] errcodes, string[] errmsgs) Stream[] GetItems(object session, string[] itemids, long[] modifiedtimes, ItemOptions[] options, OZErrorCode[] errcodes, string[] errmsgs) Stream[] CheckOut(object session, string[] itemids, string[] localcheckoutfolders, long[] localfiletimes, ItemOptions[] options, OZErrorCode[] errcodes, string[] errmsgs) bool[] CheckIn(object session, string[] itemids, Stream[] items, string comment, bool[] keepcheckout, OZErrorCode[] errcodes, string[] errmsgs) Stream[] UndoCheckOut(object session, string[] itemids, ItemOptions[] options, OZErrorCode[] errcodes, string[] errmsgs) bool[] IsCheckOutUser(object session, string[] itemids) // IRepositoryHistory IRepository Repositoryget;set; HistoryAccess AccessTypeget; bool RollBack(object session, string itemid, int version, string comment) Stream GetItem(object session, string itemid, int version) IHistoryInfo[] GetHistoryInfos(object session, string itemid) IHistoryInfo[] GetDeletedItemHistoryInfos(object session, string itemid) bool RemoveHistory(object session, string itemid, int version) // IRepositoryGroup IRepository Repositoryget;set; GroupAccess AccessTypeget; string CreateGroup(object session, string groupname, string parentgroupid, string description) string ModifyGroupName(object session, string groupid, string groupname) bool ModifyGroupDescription(object session, string groupid, string description) bool DeleteGroup(object session, string groupid) string CreateUser(object session, string username, string password, string groupid, string description) IUserInfo[] GetUserInfos(object session, string groupid) FORCS Co., LTD 95

OZ API Developer's Guide (for.net) IGroupInfo GetGroupInfo(object session, string groupid) IGroupInfo[] GetSubGroupInfos(object session, string groupid) IGroupInfo GetParentGroupInfo(object session, string groupid) string GetGroupID(object session, string userid) bool AddGroupAdministrator(object session, string userid, string groupid) bool RemoveGroupAdministrator(object session, string userid, string groupid) bool IsGroupAdministrator(object session, string userid, string groupid) IUserInfo[] GetAdministrators(object session, string groupid) bool TransferUser(object session, string userid, string newgroupid) bool TransferGroup(object session, string groupid, string targetgroupid) // IRepositoryUser IRepository Repositoryget;set; UserAccess AccessTypeget; string CreateUser(object session, string username, string password, string description) string ModifyName(object session, string userid, string newusername) bool ModifyPassword(object session, string userid, string oldpassword, string newpassword) bool ModifyDescription(object session, string userid, string description) bool DeleteUser(object session, string userid) IUserInfo GetUserInfo(object session, string userid) bool CheckPassword(object session, string userid, string password) IUserInfo[] GetUserInfos(object session) bool IsAdministrator(object session, string userid) // IRepositoryMultiLoginUser IRepository Repositoryget;set; MultiLoginAccess AccessTypeget; void DisableLogin(object session, string userid) void EnableLogin(object session, string userid) bool IsLoginEnabled(object session, string userid) // IRepositoryArchive ArchiveAcess Acesstypeget; 96 FORCS Co., LTD

A Leader of Enterprise e-business Solution Stream Distribute(object session, string categoryid, bool isrecursive); Stream Distribute(object session, string[] itemids); Bool Upload(object session, string categoryid, Stream @in) Stream DistributeGroupUser(object session, string groupid, bool isrecursive); // IRepositoryGroupAuthorityToCategory IRepository Repositoryget;set; AuthorityAccess AccessTypeget; bool Modify(object session, string categoryid, string groupid, Authority permission) Authority GetAuthority(object session, string groupid, string categoryid) ICategoryInfo[] GetCategoryInfos(object session, string groupid, string categoryid, Authority permission) IGroupInfo[] GetGroupInfos(object session, string categoryid, Authority permission) IItemInfo[] GetItemInfos(object session, string groupid, string categoryid, Authority permission) // IRepositoryGroupAuthorityToItem IRepository Repositoryget;set; AuthorityAccess AccessTypeget; bool Modify(object session, string groupid, string itemid, Authority permission) Authority GetAuthority(object session, string groupid, string itemid) IGroupInfo[] GetGroupInfos(object session, string itemid, Authority permission) IItemInfo[] GetItemInfos(object session, string groupid, Authority permission) // IRepositoryUserAuthorityToCategory IRepository Repositoryget;set; AuthorityAccess AccessTypeget; bool Modify(object session, string userid, string categoryid, Authority permission) Authority GetAuthority(object session, string userid, string categoryid) FORCS Co., LTD 97

OZ API Developer's Guide (for.net) ICategoryInfo[] GetCategoryInfos(object session, string userid, string categoryid, Authority permission) IUserInfo[] GetUserInfos(object session, string categoryid, Authority permission) IItemInfo[] GetItemInfos(object session, string userid, string categoryid, Authority permission) // IRepositoryUserAuthorityToItem IRepository Repositoryget;set; AuthorityAccess AccessTypeget; bool Modify(object session, string userid, string itemid, Authority permission) Authority GetAuthorigy(object session, string userid, string itemid) IUserInfo[] GetUserInfos(object session, string itemid, Authority permission) IItemInfo[] GetItemInfos(object session, string userid, Authority permission) Interface Method Detail // IRepository Interface Method Summary Property oz.util.istringdictionary Propertyset;. "repository.properties", Key. IStringDictionary Version int Versionget;. Open void Open(). 98 FORCS Co., LTD

A Leader of Enterprise e-business Solution Close void Close(). Login object Login(string username, string password, ILoginInfo logininfo, HttpContext ctx). UserName password logininfo ctx : ILoginInfo. HTTP : null.. UpdateSesssionState void UpdateSesssionState(object session, SessionState state). session ID state None BareServer FromServer Logout bool Logout(object session, string username, ILoginInfo logininfo, HttpContext ctx) ID,. session ID username logininfo ctx ( ) HTTP : null.. FORCS Co., LTD 99

OZ API Developer's Guide (for.net) Category IRepositoryCategory Categoryget;. Item IRepositoryItem Itemget;. ItemHistory IRepositoryHistory ItemHistoryget;. Group IRepositoryGroup Groupget;. User IRepositoryUser Userget;. MultiLoginUser IRepositoryMultiLoginUser MultiLoginUserget; GroupAuthorityToCategory IRepositoryGroupAuthorityToCategory GroupAuthorityToCategoryget; GruopAuthorityToItem IRepositoryGroupAuthorityToItem GruopAuthorityToItemget; UserAuthorityToCtegory 100 FORCS Co., LTD

A Leader of Enterprise e-business Solution IRepositoryUserAuthorityToCategory UserAuthorityToCtegoryget; UserAuthorityToItem IRepositoryUserAuthorityToItem UserAuthorityToItem // IRepositoryCategory Interface Method Summary AccessType CategoryAccess AccessTypeget;. None = 0x00000000 All = 0x7FFFFFFF CreateCategories = 0x00000002 ModifyCategoryName = 0x00000004 DeleteCategories = 0x00000008 UndeleteCategories = 0x00000010 HasItem = 0x00000020 GetItemCount = 0x00000040 GetItemInfos = 0x00000080 GetCategoryID = 0x00000100 GetCategoryInfo = 0x00000200 GetDeletedItemInfos = 0x00000400 SearchItem = 0x00000800, GetCategoryInfos = 0x00001000 TransferItems = 0x00002000 TransferCategory = 0x00004000 Repository IRepository Repositoryget;set; IRepostiroy. CreateItems string[] CreateItems(object session, string[] itemnames, string[] descriptions, string[] categoryids, Stream[] items, string comment, OZErrorCode[] errcodes, string[] errmsgs) ID. FORCS Co., LTD 101

OZ API Developer's Guide (for.net) session itemnames ID ID descriptions categoryids items comment errcodes errmsgs ID CreateCategories string[] CreateCategories(object session, string[] categorynames, string[] parentcategoryids, string comment, OZErrorCode[] errcodes, string[] errmsgs) ID. session categorynames ID parentcategoryids ID comment errcodes errmsgs ModifyCategoryName string ModifyCategoryName(object session, string categoryid, string newcategoryname, string comment) ID. session categoryid newcategoryname comment ID ID DeleteCategories bool[] DeleteCategories(object session, string[] categoryids, bool[] tobedestroyed, string comment, OZErrorCode[] errcodes, string[] errmsgs) ID. session ID 102 FORCS Co., LTD

A Leader of Enterprise e-business Solution categoryids tobedestroyed comment errorcodes errormsgs ID UndeleteCategories bool[] UndeleteCategories(object session, string[] categoryids, string comment, OZErrorCode[] errcodes, string[] errmsgs). : 2007 09 01. : "isdestroys=false". session ID CategoryIDs comment errorcode errormsg ID GetItemCount int GetItemCount(object session, string categoryid). session categoryid ID ID GetItemInfos IItemInfo[] GetItemInfos(object session, string categoryid). session categoryid ID ID GetCategoryInfos ICategoryInfo[] GetCategoryInfos(object session, string categoryid). FORCS Co., LTD 103

OZ API Developer's Guide (for.net) session categoryid ID ID GetCategoryID string GetCategoryID(object session, string itemid) ID. session itemid ID ID ID GetCategoryInfo ICategoryInfo GetCategoryInfo(object session, string categoryid). session categoryid ID ID GetDeletedItemInfos IItemInfo[] GetDeletedItemInfos(object session, string categoryid). : "tobedestroyed =false". session ID categoryid ID TransferItems bool TransferItems(object session, string[] itemids, string targetcategoryid). session itemids ID ID targetcategoryid ID TransferCategory bool TransferCategory(object session, string categoryid, string targetcategoryid) 104 FORCS Co., LTD

A Leader of Enterprise e-business Solution. session ID categoryid ID targetcategoryid ID // IOZRepositoryItem AccessType CategoryAccess AccessTypeget;. None = 0x00000000 All = 0x7FFFFFFF CreateItems = 0x00000001 ModifyItemName = 0x00000002 DeleteItems = 0x00000004 UndeleteItems = 0x00000008 ModifyItemDescription = 0x00000010 GetItemInfo = 0x00000040 HasItem = 0x00000020 GetItemsUnconditionally = 0x00000080, GetItems = 0x00000100 CheckOut = 0x00000200, CheckIn = 0x00000400 UndoCheckOut = 0x00000800 IsCheckOutUser = 0x00001000 Repository IRepository Repositoryget;set; IRepostiroy. CreateItems string[] CreateItems(object session, string[] itemnames, string[] descriptions, Stream[] items, string comment, OZErrorCode[] errcodes, string[] errmsgs) ID. session itemnames ID ID descriptions items FORCS Co., LTD 105

OZ API Developer's Guide (for.net) comment errcodes errmsgs ModifyItemName string ModifyItemName(object session, string itemid, string newitemname, string comment) ID ID. session ID itemid newitemname comment ID DeleteItems bool[] DeleteItems(object session, string[] itemids, bool[] tobedestroyed, string comment, OZErrorCode[] errcodes, string[] errmsgs). session ID itemids ID tobedestroyed comment errcodes errmsgs UnDeleteItems bool[] UndeleteItems(object session, string[] itemids, string comment, OZErrorCode[] errcodes, string[] errmsgs). : "tobedestroyed =false". session ID itemids comment errcodes ID 106 FORCS Co., LTD

A Leader of Enterprise e-business Solution errmsgs ModifyItemDescription bool ModifyItemDescription(object session, string itemid, string description) ID. session ID itemid description ID GetItemInfo IItemInfo GetItemInfo(object session, string itemid) ID. session itemid ID ID HasTheItem bool HasItem(object session, string itemid). session itemid ID ID GetItems Stream[] GetItems(object session, string[] itemids, OZErrorCode[] errcodes, string[] errmsgs) Stream[] GetItems(object session, string[] itemids, long[] modifiedtimes, ItemOptions[] options, OZErrorCode[] errcodes, string[] errmsgs). session itemids modifiedtimes options errcodes errmsgs ID ID FORCS Co., LTD 107

OZ API Developer's Guide (for.net) CheckOut Stream[] CheckOut(object session, string[] itemids, string[] localcheckoutfolders, long[] localfiletimes, OZErrorCode[] errcodes, string[] errmsgs) ID. session ID itemids localcheckoutfolders localfiletimes errcodes errmsgs ID CheckIn bool[] CheckIn(object session, string[] itemids, Stream[] items, string comment, bool[] keepcheckout, OZErrorCode[] errcodes, string[] errmsgs) ID. session ID itemids items comment keepcheckout errcodes errmsgs ID UndoCheckOut Stream[] UndoCheckOut(object session, string[] itemids, bool[] replace, OZErrorCode[] errcodes, string[] errmsgs). session itemids replaces errcodes errmsgs ID ID 108 FORCS Co., LTD

A Leader of Enterprise e-business Solution IsCheckOutUser bool[] IsCheckOutUser(object session, string[] itemids) session ID itemids ID // IRepositoryHistory AccessType HistoryAccess AccessTypeget;. None = 0x00000000 All = 0x7FFFFFFF RollBack = 0x00000001 GetItem = 0x00000002 GetHistoryInfos = 0x00000004 GetDeletedItemHistoryInfos = 0x00000008 RemoveHistory = 0x00000010 Repository IRepository Repositoryget;set; IRepostiroy. RollBack bool RollBack(object session, string itemid, int version, string comment). session iitemid version comment ID ID GetItem Stream GetItem(object session, string itemid, int version) ID. session ID itemid ID FORCS Co., LTD 109

OZ API Developer's Guide (for.net) version GetHistoryInfos IHistoryInfo[] GetHistoryInfos(object session, string itemid).. session ID itemid ID GetDeleteHistoryItemInfo IHistoryInfo[] GetDeletedItemHistoryInfos(object session, string itemid). : "tobedestroyed =false". session ID itemids ID RemoveHistory bool RemoveHistory(object session, string itemid, int version). session itemid version ID ID // IRepositoryGroup AccessType GroupAccess AccessTypeget;. None = 0x00000000 All = 0x7FFFFFFF CreateGroup = 0x00000001 ModifyGroupName = 0x00000002 ModifyGroupDescription = 0x00000004 DeleteGroup = 0x00000008, CreateUser = 0x00000010 TransferUser = 0x00000020 110 FORCS Co., LTD

A Leader of Enterprise e-business Solution GetUserInfos = 0x00000040 GetGroupInfo = 0x00000080 GetSubGroupInfos = 0x00000100 GetParentGroupInfo = 0x00000200 GetGroupID = 0x00000400 AddGroupAdministrator = 0x00000800 RemoveGroupAdministrator = 0x00001000 IsGroupAdministrator = 0x00002000 GetAdministrators = 0x00004000 TransferGroup = 0x00008000 Repository IRepository Repositoryget;set; IRepostiroy. CreateGroup string CreateGroup(object session, string groupname, string parentgroupid, string description) ID. session ID groupname parentgroupid description ID ModifyGroupName string ModifyGroupName(object session, string groupid, string groupname) ID ID. session groupid groupname ID ID ModifyGroupDescription bool ModifyGroupDescription(object session, string groupid, string description) ID. FORCS Co., LTD 111

OZ API Developer's Guide (for.net) session groupid description ID ID DeleteGroup bool DeleteGroup(object session, string groupid) ID. session groupid ID ID CreateUser string CreateUser(object session, string username, string password, string groupid, string description) ID ID. session username password groupid description ID ID GetUserInfos IUserInfo[] GetUserInfos(object session, string groupid) ID. session groupid ID ID GetGroupInfo IGroupInfo GetGroupInfo(object session, string groupid) ID. session groupid ID ID GetSubGroupInfos IGroupInfo[] GetSubGroupInfos(object session, string groupid) 112 FORCS Co., LTD

A Leader of Enterprise e-business Solution. session groupid ID ID GetParentGroupInfo IGroupInfo GetParentGroupInfo(object session, string groupid). session ID groupid ID GetGroupID string GetGroupID(object session, string userid). session ID userid ID AddGroupAdministrator bool AddGroupAdministrator(object session, string userid, string groupid). session userid groupid ID ID ID RemoveGroupAdministrator bool RemoveGroupAdministrator(object session, string userid, string groupid). session userid groupid ID ID ID IsGroupAdministrator FORCS Co., LTD 113

OZ API Developer's Guide (for.net) bool IsGroupAdministrator(object session, string userid, string groupid) ID. session ID userid groupid ID ID GetAdministrators IUserInfo[] GetAdministrators(object session, string groupid). session ID groupid ID TransferUser bool TransferUser(object session, string userid, string newgroupid). session userid newgroupid ID ID ID TransferGroup bool TransferGroup(object session, string groupid, string targetgroupid). session userid targetgroupid ID ID ID // IRepositoryUser AccessType UserAccess AccessTypeget; 114 FORCS Co., LTD

A Leader of Enterprise e-business Solution. None = 0x00000000 All = 0x7FFFFFFF CreateUser = 0x00000001 ModifyName = 0x00000002 ModifyPassword = 0x00000004 ModifyDescription = 0x00000008 DeleteUser = 0x00000010 GetUserInfo = 0x00000020 CheckPassword = 0x00000040 GetUserInfos = 0x00000080 IsAdministrator = 0x00000100 Repository IRepository Repositoryget;set; IRepostiroy. CreateUser string CreateUser(object session, string username, string password, string description) ID. session username password description ID ModifyName string ModifyName(object session, string userid, string newusername) ID ID. session ID userid newusername ID ModifyPassword bool ModifyPassword(object session, string userid, string oldpassword, string newpassword) FORCS Co., LTD 115

OZ API Developer's Guide (for.net). session userid oldpassword newppassword ID ID ModifyUserDescription bool ModifyDescription(object session, string userid, string description) ID. session ID userid description ID DeleteUser bool DeleteUser(object session, string userid) ID. session ID userid ID GetUserInfo IUserInfo GetUserInfo(object session, string userid) ID. session userid ID ID CheckPassword bool CheckPassword(object session, string userid, string password). session userid password ID ID 116 FORCS Co., LTD

A Leader of Enterprise e-business Solution GetUserInfos IUserInfo[] GetUserInfos(object session). session ID IsAdministrator bool IsAdministrator(object session, string userid) ID. session ID userid ID // IRepositoryMultiLoginUser AccessType MultiLoginAccess AccessTypeget;. int ACCESS_MULTILOGINUSER_NOT = 0x00000000 int ACCESS_DISABLE_USER_LOGIN = 0x00000001 int ACCESS_ENABLE_USER_LOGIN = 0x00000002 int ACCESS_IS_LOGIN_ENABLED = 0x00000004 Repository IRepository Repositoryget;set; IRepostiroy. DisableLogin void DisableLogin(object session, string userid) ID. session userid ID ID EnableUserLogin void EnableLogin(object session, string userid) ID. session userid ID ID FORCS Co., LTD 117

OZ API Developer's Guide (for.net) isloginenabled bool IsLoginEnabled(object session, string userid) ID. session userid ID ID // IRepositoryGroupAuthorityToCategory AccessType AuthorityAccess AccessTypeget;. None = 0x00000000 All = 0x7FFFFFFF ModifyGroupAuthToCategory = 0x00000001 GetGroupAuthToCategory = 0x00000002 GetGroupInfosOfCategory = 0x00000004 GetItemInfosInCategoryOfGroup = 0x00000008 GetCategoryInfosOfGroup = 0x00010000 Repository IRepository Repositoryget;set; IRepostiroy. Modify bool Modify(object session, string categoryid, string groupid, Authority permission). session ID categoryid groupid permission ID ID 1 : VIEW 2 : READ 4 : WRITE : OR. 118 FORCS Co., LTD

A Leader of Enterprise e-business Solution GetAuthority Authority GetAuthority(object session, string groupid, string categoryid). session groupid categoryid ID ID ID GetGroupInfos IGroupInfo[] GetGroupInfos(object session, string categoryid, Authority permission) ID permission. session ID categoryid permission ID GetItemInfos IItemInfo[] GetItemInfos(object session, string groupid, string categoryid, Authority permission) permission. session ID groupid categoryid permission ID ID GetCategoryInfos ICategoryInfo[] GetCategoryInfos(object session, string groupid, string categoryid, Authority permission) permission. session ID groupid categoryid permission ID ID FORCS Co., LTD 119

OZ API Developer's Guide (for.net) // IRepositoryGroupAuthorityToItem AccessType AuthorityAccess AccessTypeget;. None = 0x00000000 All = 0x7FFFFFFF ModifyGroupAuthToItem = 0x00000010 GetGroupAuthToItem = 0x00000020 GetGroupInfosOfItem = 0x00000040 GetItemInfosOfGroup = 0x00000080 Repository IRepository Repositoryget;set; IRepostiroy. Modify bool Modify(object session, string groupid, string itemid, Authority permission) ID ID. session ID groupid itemid permission ID ID GetAuthority Authority GetAuthority(object session, string groupid, string itemid) ID ID. session groupid itemid ID ID ID GetGroupInfos IGroupInfo[] GetGroupInfos(object session, string itemid, Authority permission) 120 FORCS Co., LTD

A Leader of Enterprise e-business Solution ID permission. session ID itemid permission ID GetItemInfos IItemInfo[] GetItemInfos(object session, string groupid, Authority permission) ID permission. session ID groupid permission ID // IRepositoryUserAuthorityToCategory AccessType AuthorityAccess AccessTypeget;. None = 0x00000000 All = 0x7FFFFFFF ModifyUserAuthToCategory = 0x00000100 GetUserAuthToCategory = 0x00000200, GetUserInfosOfCategory = 0x00000400 GetItemInfosInCategoryOfUser = 0x00000800 GetCategoryInfosOfUser = 0x00020000 Repository IRepository Repositoryget;set; OZRepostiroy. Modify bool Modify(object session, string userid, string categoryid, Authority permission) ID ID. session ID FORCS Co., LTD 121

OZ API Developer's Guide (for.net) userid categoryid permission ID ID GetAuthority Authority GetAuthority(object session, string userid, string categoryid) ID ID. session userid categoryid ID ID ID GetUserInfos IUserInfo[] GetUserInfos(object session, string categoryid, Authority permission) ID permission. session ID categoryid permission ID GetItemInfos IItemInfo[] GetItemInfos(object session, string userid, string categoryid, Authority permission) permission. session ID userid categoryid permission ID ID GetCategoryInfos ICategoryInfo[] GetCategoryInfos(object session, string userid, string categoryid, Authority permission) permission. 122 FORCS Co., LTD

A Leader of Enterprise e-business Solution session userid categoryid permission ID ID ID // IRepositoryUserAuthorityItem AccessType AuthorityAccess AccessTypeget;. None = 0x00000000 All = 0x7FFFFFFF ModifyUserAuthToItem = 0x00001000 GetUserAuthToItem = 0x00002000 GetUserInfosOfItem = 0x00004000 GetItemInfosOfUser = 0x00008000 Repository IRepository Repositoryget;set; IRepostiroy. Modify bool Modify(object session, string userid, string itemid, Authority permission). session ID userid iitemid permission ID ID GetAuthority Authority GetAuthority(object session, string userid, string itemid). session userid ID ID FORCS Co., LTD 123

OZ API Developer's Guide (for.net) itemid GetUserInfos IUserInfo[] GetUserInfos(object session, string itemid, Authority permission) permission. session ID itemid permission ID GetItemInfos IItemInfo[] GetItemInfos(object session, string userid, Authority permission) permission. session userid permission ID ID //ICategoryInfo ID string IDget; ID. Name string Nameget;. ParentID string ParentIDget; ID. ParentName string ParentNameget;. 124 FORCS Co., LTD

A Leader of Enterprise e-business Solution Comment string Commentget;. Description string Descriptionget;. UpdateTime long UpdateTimeget;. CreatedUserID string CreatedUserIDget; ID. CreatedUserName string CreatedUserNameget;. Permission Authority Permissionget;. // IItemInfo IsCheckedOut bool IsCheckedOutget; IsDeletable bool IsDeletableget;. : "tobedestroyed =false". FORCS Co., LTD 125

OZ API Developer's Guide (for.net) ID string IDget; ID. Name string Nameget;. CategoryID string CategoryIDget; ID. CategoryName string CategoryNameget;. UpdateTime long UpdateTimeget;. Description string Descriptionget;. Comment string Commentget;. CreatedUserID string CreatedUserIDget; ID. CreatedUserName string CreatedUserNameget; 126 FORCS Co., LTD

A Leader of Enterprise e-business Solution. CheckOutUser string CheckOutUserget;. CheckOutLocalPath string CheckOutLocalPathget;. Permission Authority Permissionget;. // IHistoryInfo ItemID string ItemIDget; ID. ItemName string ItemNameget;. Version int Versionget;. CheckInTime long CheckInTimeget;. CheckInUser string CheckInUserget; ID. FORCS Co., LTD 127

OZ API Developer's Guide (for.net) CheckInComment string CheckInCommentget;. // IGroupInfo Administrators IDictionary Administratorsget;. : "key=id, value= " HashMap. ID string IDget; ID. Name string Nameget;. ParentID string ParentIDget; ID. ParentName string ParentNameget;. Description string Descriptionget;. UpdateTime long UpdateTimeget;. 128 FORCS Co., LTD

A Leader of Enterprise e-business Solution Permission Authority Permissionget;. // IUserInfo ID string IDget; ID. Name string Nameget;. GroupID string GroupIDget; ID. GroupName string GroupNameget;. Description string Descriptionget;. UpdateTime long UpdateTimeget;. IsLoggedIn bool IsLoggedInget;. SessionID FORCS Co., LTD 129

OZ API Developer's Guide (for.net) string SessionIDget; ID. IsLoginEnabled bool IsLoginEnabledget;. LoginIP string LoginIPget; PC IP. LastLoginTime long LastLoginTimeget;. Permission Authority Permissionget;. //ILoginInfo ClientType ClientType ClientTypeget;. MACAddress string MACAddressget; MAC Address. IPAddress string IPAddressget; IP Address. HDDSerialNo string HDDSerialNOget; 130 FORCS Co., LTD

A Leader of Enterprise e-business Solution HDD Serial. ProtocolVersion int ProtocolVersionget;. UserID string UserIDget; ID. UserName string UserNameget;. SessionID string SessionIDget; ID //. ClientIP string ClientIPget; IP. Class OZRepositoryException // : oz.framework.repositoryex public class OZRepositoryException extends Exception Method Summary - public OZRepositoryException(string _msg) - public OZRepositoryException(int code,string _msg) - public OZErrorCode ErrorCodeget; - public string Messageget; Method Detail FORCS Co., LTD 131

OZ API Developer's Guide (for.net) - OZRepositoryException public OZRepositoryException(string _msg) public OZRepositoryException(int code,string _msg) OZRepositoryException code _msg - ErrorCode public OZErrorCode ErrorCodeget; - Message public string Messageget; 132 FORCS Co., LTD

A Leader of Enterprise e-business Solution oz.framework.api.repositoryex Constructor. Constructor Summary public RepositoryEx(string ip, int port, string id, string pw, bool useusl) throws OZCPException public RepositoryEx(string iurl, string id, string pw, bool useusl) throws OZCPException Method Summary public OZErrorCode GetLastErrorCode(int index) public string GetLastErrorMessage(int index) public void SetConfiguration(NameValueCollection conf) public NameValueCollection GetConfiguration() public void Reload() public string[] CreateItems(string[] itemnames, string[] descriptions, string[] categoryids, bool[] arecompressed, Stream[] items, string comment) public string ModifyItemName(string itemid, string newitemname, string comment) public bool[] DeleteItems(string[] itemids, bool[] tobedestroyed, string comment) public bool[] UndeleteItems(string[] itemids, string comment) public bool ModifyItemDescription(string itemid, string description) public IItemInfo GetItemInfo(string itemid) public bool HasItem(string itemid) public Stream[] GetItems(string[] itemids, bool[] arecompressed, bool[] needobjstreams) public Stream[] GetItems(string[] itemids, long[] modifiedtimes, bool[] FORCS Co., LTD 133

OZ API Developer's Guide (for.net) arecompressed, bool[] needobjstreams) public Stream[] CheckOut(string[] itemids, string[] checkoutfolders, long[] localfiletimes, bool[] arecompressed) public bool[] CheckIn(string[] itemids, bool[] arecompressed, Stream[] items, string comment, bool[] keepcheckout) public Stream[] UndoCheckOut(string[] itemids, bool[] replaceitems, bool[] arecompressed) public bool[] IsCheckOutUser(string[] itemids) public bool RollBack(string itemid, int version, string comment) public Stream GetItem(string itemid, int version, bool iscompressed) public IHistoryInfo[] GetHistoryInfos(string itemid) public IHistoryInfo[] GetDeletedItemHistoryInfos(string itemid) public bool RemoveHistory(string itemid, int version) public bool TransferItems(string[] itemids, string targetcategoryid) public bool TransferCategory(string categoryid, string targetcategoryid) public string[] CreateCategories(string[] categorynames, string[] parentcategoryids, string comment) public string ModifyCategoryName(string categoryid, string newcategoryname, string comment) public bool[] DeleteCategories(string[] categoryids, bool[] tobedestroyed, string comment) public bool[] UndeleteCategories(string[] categoryids, string comment) public int GetItemCount(string categoryid) public IItemInfo[] GetItemInfos(string categoryid) public ICategoryInfo[] GetCategoryInfos(string categoryid) public string GetCategoryID(string itemid) public ICategoryInfo GetCategoryInfo(string categoryid) public IItemInfo[] GetDeletedItemInfos(string categoryid) public ISearchResult[] SearchItem(string categoryid, string checkoutuser, string startdate, string enddate, SearchOptions options, string filefilter, string criteria) public string CreateUser(string username, string password, string description) public string ModifyUserName(string userid, string username) public bool ModifyUserPassword(string userid, string oldpwd, string newpwd) 134 FORCS Co., LTD

A Leader of Enterprise e-business Solution public bool ModifyUserDescription(string userid, string description) public bool DeleteUser(string userid) public IUserInfo GetUserInfo(string userid) public bool CheckPassword(string userid, string password) public IUserInfo[] GetUserInfos() public void DisableLogin(string userid) public void EnableLogin(string userid) public bool IsLoginEnabled(string userid) public string CreateGroup(string groupname, string parentgroupid, string description) public string ModifyGroupName(string groupid, string groupname) public bool ModifyGroupDescription(string groupid, string description) public bool DeleteGroup(string groupid) public string CreateUser(string username, string password, string groupid, string description) public bool TransferUser(string userid, string newgroupid) public bool TransferGroup(string groupid, string targetgroupid) public IUserInfo[] GetUserInfos(string groupid) public IGroupInfo GetGroupInfo(string groupid) public IGroupInfo[] GetSubGroupInfos(string groupid) public IGroupInfo GetParentGroupInfo(string groupid) public string GetGroupID(string userid) public bool AddGroupAdministrator(string userid, string groupid) public bool RemoveGroupAdministrator(string userid, string groupid) public bool IsGroupAdministrator(string userid, string groupid) public IUserInfo[] GetGroupAdministrators(string groupid) public bool IsAdministrator(string userid) public Stream Distribute(string categoryid, bool isrecursive) public bool Upload(string categoryid, Stream in) public bool ModifyUserAuthorityToItem(string userid, string itemid, Authority permission) public bool ModifyUserAuthorityToCategory(string userid, string categoryid, Authority permission) public bool ModifyGroupAuthorityToItem(string groupid, string itemid, Authority permission) public bool ModifyGroupAuthorityToCategory(string groupid, string FORCS Co., LTD 135

OZ API Developer's Guide (for.net) categoryid, Authority permission) public Authority GetUserAuthorityToItem(string userid, string itemid) public Authority GetUserAuthorityToCategory(string userid, string categoryid) public Authority GetGroupAuthorityToItem(string groupid, string itemid) public Authority GetGroupAuthorityToCategory(string groupid, string categoryid) public IGroupInfo[] GetGroupInfosOfItem(string itemid, Authority permission) public IGroupInfo[] GetGroupInfosOfCategory(string categoryid, Authority permission) public IUserInfo[] GetUserInfosOfItem(string itemid, Authority permission) public IUserInfo[] GetUserInfosOfCategory(string categoryid, Authority permission) public ICategoryInfo[] GetCategoryInfosOfUser(string userid, string categoryid, Authority permission) public ICategoryInfo[] GetCategoryInfosOfGroup(string groupid, string categoryid, Authority permission) public IItemInfo[] GetItemInfosOfUser(string userid, string categoryid, Authority permission) public IItemInfo[] GetItemInfosOfGroup(string groupid, string categoryid, Authority permission) Constructor Detail RepositoryEx //TCP/IP public RepositoryEx(string ip, int port, string id, string pw, bool useusl) throws OZCPException //HTTP public RepositoryEx(string iurl, string id, string pw, bool useusl) throws OZCPException HTTP URL ip ex) string url = "http://127.0.0.1/oz/server"; port TCP/IP IP 136 FORCS Co., LTD

A Leader of Enterprise e-business Solution id pw useusl ex) string ip = "127.0.0.1"; TCP/IP ex) int port = 8003; ex) string id = "admin"; USL ex) bool useusl = false; Method Detail GetLastErrorCode public OZErrorCode GetLastErrorCode(int index). index GetLastErrorMessage public OZErrorCode GetLastErrorMessage(int index). index SetConfiguration public void SetConfiguration(NameValueCollection conf). conf GetConfiguration public NameValueCollection GetConfiguration(). Reload public void Reload(). CreateItems FORCS Co., LTD 137

OZ API Developer's Guide (for.net) public string[] CreateItems(string[] itemnames, string[] descriptions, string[] categoryids, bool[] arecompressed, Stream[] items, string comment) ID. itemnames descriptions categoryids arecompressed items comment ModifyItemName public string ModifyItemName(string itemid, string newitemname, string comment) ID. itemid newitemname comment ID DeleteItems public bool[] DeleteItems(string[] itemids, bool[] tobedestroyed, string comment). itemids ID tobedestroyed comment UnDeleteItems public bool[] UndeleteItems(string[] itemids, string comment). : "tobedestroyed=false". itemids ID comment 138 FORCS Co., LTD

A Leader of Enterprise e-business Solution ModifyItemDescription public bool ModifyItemDescription(string itemid, string description) ID. itemid ID description GetItemInfo public IItemInfo GetItemInfo(string itemid) ID. itemid ID HasItem public bool HasItem(string itemid). itemid GetItems public Stream[] GetItems(string[] itemids, bool[] arecompressed, bool[] needobjstreams) ID. itemids arecompressed needobjstreams ID ODI GetItems public Stream[] GetItems(string[] itemids, long[] modifiedtimes, bool[] arecompressed, bool[] needobjstreams) ID. itemids modifiedtimes arecompressed needobjstreams ID ODI CheckOut FORCS Co., LTD 139

OZ API Developer's Guide (for.net) public Stream[] CheckOut(string[] itemids, string[] checkoutfolders, long[] localfiletimes, bool[] arecompressed). itemids ID checkoutfolders localfiletimes arecompressed CheckIn public bool[] CheckIn(string[] itemids, bool[] arecompressed, Stream[] items, string comment, bool[] keepcheckout). itemids arecompressed items comment keepcheckout ID UndoCheckOut public Stream[] UndoCheckOut(string[] itemids, bool[] replaceitems, bool[] arecompressed). itemids replaceitems arecompressed ID IsCheckOutUser public bool[] ischeckoutuser(string[] ItemIDs) throws OZCPException. itemids ID RollBack public bool RollBack(string itemid, int version, string comment) 140 FORCS Co., LTD

A Leader of Enterprise e-business Solution. itemid version comment ID GetItem public Stream GetItem(string itemid, int version, bool iscompressed) ID. itemid version iscompressed ID GetHistoryItems public IHistoryInfo[] GetHistoryInfos(string itemid). itemid ID GetDeletedItemHistoryInfos public IHistoryInfo[] GetDeletedItemHistoryInfos(string itemid). : "tobedestroyed=false". itemid ID RemoveHistory public bool RemoveHistory(string itemid, int version). itemid version ID CreateCategories public string[] CreateCategories(string[] categorynames, string[] parentcategoryids, string comment) ID. FORCS Co., LTD 141

OZ API Developer's Guide (for.net) categoryname parentcategoryids comment ID ModifyCategoryName public string ModifyCategoryName(string categoryid, string newcategoryname, string comment) ID. categoryid ID newcategoryname comment DeleteCategories public bool[] DeleteCategories(string[] categoryids, bool[] tobedestroyed, string comment) ID. categoryids tobedestroyed comment ID UnDeleteCategories public bool[] UndeleteCategories(string[] categoryids, string comment). : "tobedestroyed=false". categoryids ID comment GetItemCount public int GetItemCount(string categoryid). categoryid ID GetItemInfos public IItemInfo[] GetItemInfos(string categoryid) 142 FORCS Co., LTD

A Leader of Enterprise e-business Solution. categoryid ID GetCategoryInfos public ICategoryInfo[] GetCategoryInfos(string categoryid). categoryid ID GetCategoryID public string GetCategoryID(string itemid) ID. itemid ID ID GetCategoryInfo public ICategoryInfo GetCategoryInfo(string categoryid).. categoryid ID GetDeletedItemInfos public IItemInfo[] GetDeletedItemInfos(string categoryid). : "tobedestroyed=false". categoryid ID TransferCategory public bool TransferCategory(string categoryid, string targetcategoryid). categoryid ID targetcategoryid ID TransferItems public bool TransferItems(string[] itemids, string targetcategoryid) FORCS Co., LTD 143

OZ API Developer's Guide (for.net) itemids ID targetcategoryid ID SearchItem public ISearchResult[] SearchItem(string categoryid, string checkoutuser, string startdate, string enddate, SearchOptions options, string filefilter, string criteria) categoryid ID checkoutuser startdate enddate options filefilter criteria CreateUser public string CreateUser(string username, string password, string description) ID. username password description ModifyUserName public string ModifyUserName(string userid, string username) ID. userid ID username ModifyUserPassword public bool ModifyUserPassword(string userid, string oldpwd, string newpwd) ID 144 FORCS Co., LTD

A Leader of Enterprise e-business Solution. userid oldpwd newpwd ID ModifyUserDescription public bool ModifyUserDescription(string userid, string description) ID. userid ID description DeleteUser public bool DeleteUser(string userid) ID. userid ID GetUserInfo public IUserInfo GetUserInfo(string userid) ID. userid ID CheckPassword public bool CheckPassword(string userid, string password). userid password ID GetUserInfos public IUserInfo[] GetUserInfos(). DisableLogin public void DisableLogin(string userid) FORCS Co., LTD 145

OZ API Developer's Guide (for.net) ID. userid ID EnableLogin public void EnableLogin(string userid) ID userid ID IsLoginEnabled public bool IsLoginEnabled(string userid) ID. userid ID CreateGroup public string CreateGroup(string groupname, string parentgroupid, string description) ID.. groupname parentgroupid description ID ModifyGroupName public string ModifyGroupName(string groupid, string groupname) ID. groupid ID groupname ModifyGroupDescription public bool ModifyGroupDescription(string groupid, string description) ID. groupid ID description 146 FORCS Co., LTD

A Leader of Enterprise e-business Solution DeleteGroup public bool DeleteGroup(string groupid) ID. groupid ID CreateUserInGroup public string CreateUserInGroup(string uname, string pwd, string gid, string desc) throws OZCPException ID.. uname Pwd gid desc ID TransferUser public bool TransferUser(string userid, string newgroupid) userid newgroupid ID ID TransferGroup public bool TransferGroup(string groupid, string targetgroupid). groupid ID targetgroupid ID GetUserInfo public IUserInfo[] GetUserInfos(string groupid) ID. groupid ID GetGroupInfo public IGroupInfo GetGroupInfo(string groupid) ID. FORCS Co., LTD 147

OZ API Developer's Guide (for.net) groupid ID GetSubGroupInfos public IGroupInfo[] GetSubGroupInfos(string groupid). groupid ID GetParentGroupInfo public IGroupInfo GetParentGroupInfo(string groupid). groupid ID GetGroupId public string GetGroupID(string userid). userid ID AddGroupAdministrator public bool AddGroupAdministrator(string userid, string groupid). userid ID groupid ID RemoveGroupAdministrator public bool RemoveGroupAdministrator(string userid, string groupid). userid ID groupid ID IsGroupAdministrator public bool IsGroupAdministrator(string userid, string groupid) ID 148 FORCS Co., LTD

A Leader of Enterprise e-business Solution. userid groupid ID ID GetGroupAdministrators public IUserInfo[] GetGroupAdministrators(string groupid). groupid ID Distribute public Stream Distribute(string categoryid, bool isrecursive). categoryid ID isrecursive Upload public bool Upload(string categoryid, Stream in). categoryid ID in ModifyUserAuthorityToItem public bool ModifyUserAuthorityToItem(string userid, string itemid, Authority permission). userid ID itemid permission ID ModifyUserAuthorityToCategory public bool ModifyUserAuthorityToCategory(string userid, string categoryid, Authority permission) ID ID FORCS Co., LTD 149

OZ API Developer's Guide (for.net). userid ID categoryid permission ID ModifyGroupAuthorityToItem public bool ModifyGroupAuthorityToItem(string groupid, string itemid, Authority permission) ID. groupid ID itemid permission ID ModifyGroupAuthorityToCategory public bool ModifyGroupAuthorityToCategory(string groupid, string categoryid, Authority permission) ID ID. groupid ID categoryid permission ID GetUserAuthorityToItem public Authority GetUserAuthorityToItem(string userid, string itemid) ID. userid itemid ID ID GetUserAuthorityToCategory public Authority GetUserAuthorityToCategory(string userid, string categoryid) ID. userid categoryid ID ID 150 FORCS Co., LTD

A Leader of Enterprise e-business Solution GetGroupAuthorityToItem public Authority GetGroupAuthorityToItem(string groupid, string itemid) ID. groupid itemid ID ID GetGroupAuthorityToCategory public Authority GetGroupAuthorityToCategory(string groupid, string categoryid) ID ID. groupid categoryid ID ID GetGroupInfosOfItem public IGroupInfo[] GetGroupInfosOfItem(string itemid, Authority permission) ID permission. itemid ID permission GetGroupInfosOfCategory public IGroupInfo[] GetGroupInfosOfCategory(string categoryid, Authority permission) ID permission. categoryid ID permission GetUserInfosOfItem public IUserInfo[] GetUserInfosOfItem(string itemid, Authority permission) ID permission. itemid ID permission FORCS Co., LTD 151

OZ API Developer's Guide (for.net) GetUserInfosOfCategory public IUserInfo[] GetUserInfosOfCategory(string categoryid, Authority permission) ID permission. categoryid ID permission GetCategoryInfosOfUser public ICategoryInfo[] GetCategoryInfosOfUser(string userid, string categoryid, Authority permission) permission. userid ID categoryid permission ID GetCategoryInfosOfGroup public ICategoryInfo[] GetCategoryInfosOfGroup(string groupid, string categoryid, Authority permission) ID permission. groupid ID categoryid permission ID GetItemInfosOfUser public IItemInfo[] GetItemInfosOfUser(string userid, string categoryid, Authority permission) permission. userid ID categoryid permission ID GetItemInfosOfGroup 152 FORCS Co., LTD

A Leader of Enterprise e-business Solution public IItemInfo[] GetItemInfosOfGroup(string groupid, string categoryid, Authority permission) ID permission. groupid ID categoryid permission ID FORCS Co., LTD 153

OZ API Developer's Guide (for.net) API(oz.framework.cp.client.OZFrameworkAPI) API API. CP. CP CP API. CP API. : API RepositoryEx API. Adapter IOZRepository. Adapter Category Item Group User..,.. Sample : RepositoryExSample.cs using System; using System.IO; using System.Reflection; using System.Collections.Specialized; using RepositoryEx = oz.framework.api.repositoryex; using oz.framework.repositoryex.info; 154 FORCS Co., LTD

A Leader of Enterprise e-business Solution namespace sample /// <summary> /// ID Repository API /// </summary> public class RepositoryExTest public static void Main() const string URL = "http://127.0.0.1/oz/server.aspx"; // URL const string ID = "admin"; // default const string PASSWORD = "admin"; // default false)) using(repositoryex repository = new RepositoryEx(URL, ID, PASSWORD, // NameValueCollection prevconf = repository.getconfiguration(); NameValueCollection tempconf = new NameValueCollection(); tempconf["repository_type"] = "BUILTIN"; tempconf["repository_file_path"] = Path.GetTempPath(); tempconf["repository_item_number_per_directory"] = "100"; tempconf["repository_history_item_valid_days"] = "20"; repository.setconfiguration(tempconf); repository.reload(); string itemid = null; string categoryid = repository.createcategories(new string[]"test", new string[]"/", "comment")[0]; //, /,, using(stream @in = Assembly.GetExecutingAssembly().GetManifestResourceStream("sample.parameter_tes t.odi")) // itemid = repository.createitems(new string[]"parameter_test.odi", new string[]"repository API test", new string[]"/test", new bool[1], new Stream[]@in, "comment")[0]; if(null == itemid 0 == itemid.length) throw new Exception("Failed to create item; " + repository.getlasterrormessage(0)); FORCS Co., LTD 155

OZ API Developer's Guide (for.net) // Stream checkedoutitem = repository.checkout(new string[]itemid, new string[]@"d:\", new long[1], new bool[1])[0]; // repository.checkin(new string[]itemid, new bool[1], new Stream[]checkedOutItem, null, new bool[1]); "comment"); // itemid = repository.modifyitemname(itemid, "modified_item.odi", string tempcategoryid = repository.createcategories(new string[]"newcategory", new string[]categoryid, null)[0]; Console.WriteLine(repository.GetItemInfo(itemID).ToString()); repository.transferitems(new string[]itemid, tempcategoryid); foreach(iiteminfo iteminfo in repository.getiteminfos(tempcategoryid)) Console.WriteLine(itemInfo.ToString()); itemid = iteminfo.id; // repository.deleteitems(new string[]itemid, null, null); null); // repository.deletecategories(new string[]categoryid, new bool[1], "description"); //,, string userid = repository.createuser("username", "password", "/", userid = repository.modifyusername("username", "brandnewname"); repository.modifyuserdescription(userid, "new description"); repository.deleteuser(userid); "description"); //,, string groupid = repository.creategroup("newgroupname", "/", userid = repository.createuser("newusername", "password", groupid, 156 FORCS Co., LTD

A Leader of Enterprise e-business Solution "description"); groupid = repository.modifygroupname(groupid, "newgroupname2"); repository.deletegroup(groupid); repository.setconfiguration(prevconf); repository.reload(); FORCS Co., LTD 157

OZ API Developer's Guide (for.net) RDB Store DataAction for.net RDB Store DataAction RDB Store DataAction 158 FORCS Co., LTD

A Leader of Enterprise e-business Solution RDB DataAction. public interface IRDBDelegate : IDelegate System.Data.IDbConnection Connection set; void Init(string @param); void Close(); string Insert(oz.framework.dac.OZDACItem dac, System.Collections.IDictionary parameters); string Update(oz.framework.dac.OZDACItem dac, System.Collections.IDictionary parameters); string Delete(oz.framework.dac.OZDACItem dac, System.Collections.IDictionary parameters); string Commit(); void Rollback(); : DataAction. 1. Connection() 2. Init() 3. Insert(), Update(), Delete() 4. Commit(), Rollback() 5. Close() - RDBDelegateAttribute [AttributeUsage(AttributeTargets.Class, AllowMultiple=false)] public sealed class RDBDelegateAttribute : Attribute FORCS Co., LTD 159

OZ API Developer's Guide (for.net) DataAction DataAction. using System; using System.Data; using System.Collections; namespace com.forcs.sample.dataaction.rdb /// <summary> ///. /// ILoggerRef /// IRDBDelegate.Connection set; /// IRDBDelegate.Init() /// IRDBDelegate.Insert() or Delete() or Update() /// IRDBDelegate.Commit() or Rollback() /// IRDBDelegate.Close() /// </summary> public class DelegateSample : oz.udd.irdbdelegate, oz.udd.iloggerref private oz.framework.log.ozlog log; private IDbConnection _con; public DelegateSample() #region IRDBDelegate public System.Data.IDbConnection Connection set //DB. _con = value; #endregion #region IDelegate public void Rollback() //Rollback. 160 FORCS Co., LTD

A Leader of Enterprise e-business Solution public string Commit() //Commit. public void Init(string param) // TODO: DelegateSample.Init. log.debug("initialization called. Parameter is '" + param + "'"); public void Close() //Close. public string Insert(oz.framework.dac.OZDACItem dac, System.Collections.IDictionary parameters) //Insert. public string Delete(oz.framework.dac.OZDACItem dac, System.Collections.IDictionary parameters) //Delete. public string Update(oz.framework.dac.OZDACItem dac, System.Collections.IDictionary parameters) //Update. #endregion #region ILoggerRef public oz.framework.log.ozlog Log set //log. log = value; #endregion FORCS Co., LTD 161

OZ API Developer's Guide (for.net) User Data Store for.net UDS for.net UDS for.net 162 FORCS Co., LTD

A Leader of Enterprise e-business Solution UDS(User Data Store) ADO.NET Interface,, CSV, XML ASP. 1 ----------------- DataReader OZ User Data Source Interface ADO.NET DBMS Provider (ASP, ) UDS DataReader.. UDS SQL.. FORCS Co., LTD 163

OZ API Developer's Guide (for.net) ADO.NET UDS. OZ Server ADO.NET OZ Designer DataReader DBMS Provider DBMS ADO.NET DBMS Provider DBMS ADO.NET DBMS Provider DBMS DataReader.NET. DataReader ADO.NET System.Data.IDataReader Interface (implement)., DBMS DBMS ADO.NET DBMS Provider System.Data.IDataReader Interface Concrete DataReader. ADO.NET DBMS Provider System.Data.IDataReader Interface. OZ Server OZ Designer () Custom DataReader Custom ADO.NET DBMS Provider UDS(User Data Store) ADO.NET DBMS Provider Custom ADO.NET DBMS Provider System.Data.IDataReader interface DataReader. 164 FORCS Co., LTD

A Leader of Enterprise e-business Solution UDS. : UDS. : postfix Visual Studio. UDS oz.uds.datastoreattribute Target UDS. Class datasourcetype Sample [oz.uds.datastore(typeof(idatareader))] public class UDS oz.uds.initattribute Target Sample UDS Method [oz.uds.init] public void Initialize() oz.uds.closeattribute Target Sample UDS. Method [oz.uds.close] public void Destruct() FORCS Co., LTD 165

OZ API Developer's Guide (for.net) oz.uds.getdataattribute Target Sample. Method [oz.uds.getdata] public IDataReader RetrieveData(string command) oz.uds.releasedataattribute Target Sample DataStoreAttribute datasourcetype. Method [oz.uds.releasedata] public void FinalizeData(IDataReader reader) oz.uds.insertattribute Target Sample. Method [oz.uds.insert] public string InsertData(string command, OZDACData[] data, string extraargs, Hashtable parameters) oz.uds.deleteattribute Target Sample. Method [oz.uds.delete] public string DeleteData(string command, OZDACData[] data, string extraargs, Hashtable parameters) oz.uds.updateattribute Target. Method 166 FORCS Co., LTD

A Leader of Enterprise e-business Solution Sample [oz.uds.update] public string UpdateAttribute(string command, OZDACData[] data1, OZDACData[] data2, string extraargs, Hashtable parameters) oz.uds.commitattribute Target Sample queue queue. Method [oz.uds.commit] public string CommitChanges() oz.uds.rollbackattribute Target Sample. Method public string DropChanges() oz.uds.sethttpcontextattribute Target HttpContext. Method, Property Sample [oz.uds.sethttpcontext] public void SetContext(HttpContext context) [oz.uds.sethttpcontext] public HttpContextContextset_ctx = value; oz.uds.setloggerattribute Target. Method, Property Sample [oz.uds.setlogger] public void SetLogger(oz.framework.log.OZLog log) [oz.uds.setlogger] public OZLog Loggersetlog = value; FORCS Co., LTD 167

OZ API Developer's Guide (for.net) oz.uds.setparameterattribute Target. Method, Property Sample [oz.uds.setparameter] public void SetParameter(Hashtable parameters) [oz.uds.setparameter] public Hashtableset_parameters = value; oz.uds.getaliasesattribute Target Sample DB DB. Method, Property [oz.uds.getaliases] public string[] GetAliases() [oz.uds.getaliases] public string[] Aliasesgetreturn new string[]"alias",... oz.uds.setconnections Target Sample GetAliasesAttribute DB DB. Method, Property [oz.uds.setconnections] public void SetConnections(IDictionary connections) [oz.uds.setconnections] public IDictionary Connectionsset_connections = value; : UDS for.net API UDS (.NET). 168 FORCS Co., LTD

A Leader of Enterprise e-business Solution User Defined Log UDL UDL UDL FORCS Co., LTD 169

OZ API Developer's Guide (for.net) UDL(User Defined Log) DB. UDL. OZ Server OZ UDL 2. DB Alias Search Interface OZ DB POOL 3. OZLog, Connection 1. DB Alias Name OZ UDL 1. OZServer init 2. tracelog 170 FORCS Co., LTD

A Leader of Enterprise e-business Solution UDL. oz.udl.ozuserdefinedlogger OZ UDL oz.udl.ozuserdefinedlogger. oz.udl.ozuserdefinedlogger init, tracelog, getozdbalias. init public void init(oz.framework.db.ozconnection ozconn, com.forcs.log4oz.ozlog log). ozconn log DB DB Trace public void Trace(oz.udl.IUserDefinedLogTarget target, oz.framework.db.ozconnection ozconn, oz.framework.log.ozlog log). target ozconn IUserDefinedLogTarget. DB DB log getozdbalias FORCS Co., LTD 171

OZ API Developer's Guide (for.net) return public java.lang.string DBAlias() throws OZUserDefinedLogException DB. DB : (ex. [OSUDLInitialize]). public class UserDefinedLogger : IUserDefinedLogger public void Init(OZConnection con, OZLog log) public void Trace(IUserDefinedLogTarget target, OZConnection con, OZLog log) public string DbAlias get;. public class UserDefinedLogger [OZUDLInitialize] public void Init(OZConnection con, OZLog log) [OZUDLTrace] public void Trace(IUserDefinedLogTarget target, OZConnection con, OZLog log) [OZUDLDbAlias] public string DbAlias get; IUserDefinedLogTarget oz.udl.iuserdefinedlogtarget oz.udl.idmlogtarget oz.udl.irdblogtarget oz.udl.iprocedurelogtarget oz.udl.iudslogtarget oz.udl.ifilestorelogtarget 172 FORCS Co., LTD

A Leader of Enterprise e-business Solution oz.udl.ihttpstorelogtarget oz.udl.ixmllogtarget oz.udl.isoaplogtarget oz.udl.isaplogtarget oz.udl.iclearquestlogtarget oz.udl.iuserdefinedlogtarget oz.udl.imonitorlogtarget IUserDefinedLogTarget OZ UDL. IPAddress return public string IPAddress()get; IP IP HttpRequest return public HttpRequest HttpRequest()get; HttpRequest. HttpRequest HttpContext return public HttpContext HttpContext()get; HttpContext. HttpContext UserID return public string UserID()get; ID ID IDMLogTarget OZ UDL. ODIName FORCS Co., LTD 173

OZ API Developer's Guide (for.net) return public string ODIName()get; ODI. ODI DataSetName return public string DataSetName()get;. DataStoreName return public string DataStoreName()get;. Parameters return public System.Connection.IDictionary Parametersget; IRDBLogTarget OZ UDL RDB. DBAlias return public string Aliasget; ODI DB. DB :. Query return public string Queryget;. PreparedQueryValue 174 FORCS Co., LTD

A Leader of Enterprise e-business Solution return public IList PreparedQueryValueget;. ( ) QueryState return public string QueryStateget;. true flase QueryExecuteTime return public long QueryExecuteTimeget;. ( : mesc) isprepared public bool ispreparedget;. return true flase QueryType public QueryType QueryTypeget;. return select insert update delete Select Insert Update Delete IProcedureLogTarget OZ UDL. Alias public string Aliasget; FORCS Co., LTD 175

OZ API Developer's Guide (for.net) return ODI DB. DB :. ProcedureName return public string ProcedureNameget;. ParameterList return public IList ParameterListget; IList. ProcedureExecuteTime return public long ProcedureExecuteTimeget;. ( : mesc) ProcedureState return public string ProcedureStateget;. true false:errmsg "false: " IUDSLogTarget OZ UDL. ExecuteCommand return public string ExecuteCommandget;. 176 FORCS Co., LTD

A Leader of Enterprise e-business Solution QueryType publicquerytype QueryTypeget;. return select insert update delete Select Insert Update Delete CommandExecuteTime return public long CommandExecuteTimeget;. ( : mesc) CommandState return public string CommandStateget;. true false:errmsg "false: " IFileStoreLogTarget OZ UDL. FilePath return public string FilePathget;. FileAccessTime return public long FileAccessTimeget;. ( : mesc) FileAccessState public string FileAccessStateget; FORCS Co., LTD 177

OZ API Developer's Guide (for.net). return true false:errmsg "false: " IHTTPStoreLogTarget OZ UDL HTTP HTTP. URL return public string URLget; URL. URL HTTPAccessTime return public long HTTPAccessTimeget; HTTP. ( : mesc) HTTPAccessState return public string HTTPAccessStateget; HTTP. true false:errmsg "false: " IXMLLogTarget OZ UDL XML XML. URL return public string URLget; URL. URL URLAccessTime public long URLAccessTimeget; 178 FORCS Co., LTD

A Leader of Enterprise e-business Solution return URL. ( : mesc) URLAccessState return public string URLAccessStateget; URL. true false:errmsg "false: " ISOAPLogTarget OZ UDL SOAP Service Response. ServiceName return public string ServiceNameget;. Port return public string Portget;. Operation return public string Operationget;. EndPoint return public string EndPointget; EndPoint. EndPoint RequestXML public string RequestXMLget; FORCS Co., LTD 179

OZ API Developer's Guide (for.net) return XML. XML ServiceExecuteTime return public long ServiceExecuteTimeget;. ( : mesc) ServiceState return public string ServiceStateget; SOAP. true false:errmsg "false: " ISAPLogTarget OZ UDL SAP. FunctionName return public string FunctionNameget;. FunctionType return public string FunctionTypeget;. InputParameters return public IDictionary InputParametersget; IDictionary. key value ResultSetTypes public string ResultSetTypesget; 180 FORCS Co., LTD

A Leader of Enterprise e-business Solution ResultSet. return Structure Table SimpleFields Structure Table SimpleFields FunctionExecuteTime return public long FunctionExecuteTimeget;. ( : mesc) FunctionState public string FunctionStateget;. return true false:errmsg "false: " IClearQuestLogTarget OZ UDL Clear Quest Clear Quest. ExecuteType public string ExecuteTypeget; Clear Quest. return ExecuteSQL ExecuteQuery ExecuteDynamicQuery SQL QuerySubType public string QuerySubTypeget; QuerySub. return Query Chart Query Chart Query public string Queryget; FORCS Co., LTD 181

OZ API Developer's Guide (for.net) return. QueryExecuteTime return public long QueryExecuteTimeget;. ( : mesc) QueryState return public string QueryStateget;. true false:errmsg "false: " IMonitorLogTarget OZ UDL. ThreadID return public int ThreadID()get;. Mark public string Mark()get;. return start end ThreadName return public string ThreadName()get;. ServiceTime 182 FORCS Co., LTD

A Leader of Enterprise e-business Solution return public long ServiceTime()get;. ( : ms) : 1970 1 1 Millisecond. FreeMemory return public long FreeMemory()get;. ( : byte) TotalMemory return public long TotalMemory()get; JVM. ( : byte) ServiceCode return public int ServiceCode()get;. MARK "end" "start" -1. ". ". ServiceStatus return public int ServiceStatus()get;. MARK "end" "start" -1. "9001", "9002". 9001 9002 ServiceParameter FORCS Co., LTD 183

OZ API Developer's Guide (for.net) return public string ServiceParameter()get;. : MARK "end" "start" -1. DBSessionID return public string DBSessionID()get; DBMS ID. : MARK "end" "start" -1. DBMS ID ExecuteTime return public string ExecuteTime()get;. ( : ms) : MARK "end" "start" -1. ErrorCode return public string ErrorCode()get;. : conf/server_error_msg.xml.. ErrorMsg return public string ErrorMsg()get;. ErrorStackTrace return public string ErrorStackTrace()get; Stack Trace. Stack Trace DBConns 184 FORCS Co., LTD

A Leader of Enterprise e-business Solution return public string DBConns()get; Alias DB Alias DB string FORCS Co., LTD 185

OZ API Developer's Guide (for.net) UDL. - UDL : OZ_HOME/bin/ozudl.dll - Lof4j : OZ_HOME/bin/log4net.dll - UDL : OZ_HOME/conf/ozudl.properties - udlmngr.properties UDL. #--------------------------------- # configuration of OZ User Defined log #--------------------------------- OZ_USER_DEFINED_LOG.Active=true OZ_USER_DEFINED_LOG.Class=oz.udl.UDL OZ_UDL_MONITOR.Active= true OZ_UDL_MONITOR.Class=oz.udl.UDL ozudl.properties UDL. OZ_USER_DEFINED_LOG.Active=true OZ_UDL_MONITOR.Active= true UDL. OZ_USER_DEFINED_LOG.Class=oz.udl.UDL OZ_UDL_MONITOR.Class=oz.udl.UDL ex) 186 FORCS Co., LTD

A Leader of Enterprise e-business Solution OZ_USER_DEFINED_LOG.Class=oz.udl.file.OZUserDefinedLogger OZ_UDL_MONITOR.Class=oz.udl.db.OZMonitorLogForDB - OZ_HOME/Web.config.Net Framework. <?xml version="1.0" encoding="utf-8"?> <configuration> <configsections> <!--.Net Framework 2.0.Net Framework.--> <sectiongroup name="udl"> <section name="file" type="system.configuration.namevaluesectionhandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> <section name="db" type="system.configuration.namevaluesectionhandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> </sectiongroup> </configsections> <system.web> <httpruntime maxrequestlength="100000" /> </system.web> <udl> <file> <add key="path" value="c:/program Files/Forcs/50/OZ Server.NET 5.0/logs/UDL.Log" /> <add key="layout" value="%dyyyy-mm-dd HH:mm:ss.fff [%-5p] %C1.%M - %m%n" /> <add key="daily" value="false" /> <add key="size" value="100kb" /> <add key="maxbackup" value="5" /> <!--add key="daily" value="true" /> <add key="pattern" value="yyyy-mm-dd" /--> </file> <db> <add key="alias" value="qa_ms" /> </db> </udl> </configuration> - <configsections>. -.Net Framework 2.0 sectiongroup.net Framework. - ODI ODBC ODBC MDB FORCS Co., LTD 187

OZ API Developer's Guide (for.net). MDB [ ]. [] ASP.NET ASP.NET UDL 1 - UDL. UDL. java oz.udl.file.ozuserdefinedloggerforfile "ozudl.dll". #region Using Statements using System; using System.Web; using System.Text; using System.Globalization; using System.Configuration; using System.Collections; 188 FORCS Co., LTD

A Leader of Enterprise e-business Solution using System.Collections.Specialized; using oz.udl; using oz.dm.meta; using log4net; using log4net.appender; #endregion namespace oz.udl.file public class OZUserDefinedLogger : oz.udl.iuserdefinedlogger private string _name = "File UDL"; private ILog log; public OZUserDefinedLogger() log) public void Init(oz.framework.db.OZConnection con, oz.framework.log.ozlog log.debug(_name, "Called init"); NameValueCollection values = (NameValueCollection)ConfigurationSettings.GetConfig("udl/file"); if(null == values) throw new Exception("Cannot find udl file configuration"); // configure appender programmatically RollingFileAppender appender = new RollingFileAppender(); log4net.layout.patternlayout layout = new log4net.layout.patternlayout(); layout.conversionpattern = values["layout"]; layout.activateoptions(); appender.layout = layout; appender.file = values["path"]; appender.appendtofile = true; appender.maximumfilesize = values["size"]; appender.immediateflush = true; if(0 == string.compare(values["type"], "daily", true)) appender.rollingstyle = RollingFileAppender.RollingMode.Date; appender.datepattern = values["pattern"]; else FORCS Co., LTD 189

OZ API Developer's Guide (for.net) appender.rollingstyle = RollingFileAppender.RollingMode.Size; appender.maxsizerollbackups = int.parse(values["maxbackup"]); appender.activateoptions(); this.log = LogManager.GetLogger(_name); log4net.repository.hierarchy.logger core = (log4net.repository.hierarchy.logger)this.log.logger; ((log4net.repository.ibasicrepositoryconfigurator)core.repository).configure(ap pender); public string DbAlias get return null; public void Trace(IUserDefinedLogTarget target, oz.framework.db.ozconnection con, oz.framework.log.ozlog log) if(log.isdebugenabled) log.debug(_name, "Called trace"); StringBuilder sb = new StringBuilder(4096); IRDBLogTarget rdbstore = target as IRDBLogTarget; if(null!= rdbstore) sb.appendformat("[db Alias=0][IP Address=1][User ID=2][QueryType=3][Query=4][IsPrepared=5]", rdbstore.alias, rdbstore.ipaddress, rdbstore.userid, rdbstore.querytype, rdbstore.query, rdbstore.isprepared); if(rdbstore.isprepared) sb.append("[preparedvalues="); foreach(object o in rdbstore.preparedqueryvalues) sb.append(null == o? "null" : o is byte[]? "binary" : o.tostring()); sb.append(";"); sb.append("]"); 190 FORCS Co., LTD

A Leader of Enterprise e-business Solution sb.appendformat("[queryexetime=0][querystate=1]", rdbstore.queryexecutiontime, rdbstore.querystate); IProcedureLogTarget procestore = target as IProcedureLogTarget; if(procestore!= null) sb.appendformat("[dbalias=0][procedurename=1][procedureexecutetime=2][pro cedurestate=3]", procestore.alias,procestore.procedurename,procestore.procedureexecutetime,proce Store.ProcedureState); sb.append("[parameterlist="); IList list = procestore.parameterlist; foreach(ozprocedureparameter param in list) string paramname = param.name; string paramvalue = param.value; sb.append("name="); sb.append(paramname); sb.append(",value="); sb.append(paramvalue); sb.append(";"); sb.append("]"); IUDSLogTarget udsstore = target as IUDSLogTarget; if(udsstore!=null) sb.appendformat("[executecommand=0][querytype=1][commandexecutetime=2][co mmandstate=3]", udsstore.executecommand,udsstore.querytype,udsstore.commandexecutetime,udsstore.commandstate); IFileStoreLogTarget filestore = target as IFileStoreLogTarget; if(filestore!=null) sb.appendformat("[filepath=0][fileaccesstime=1][fileaccessstate=2]]", filestore.filepath,filestore.fileaccesstime,filestore.fileaccesstime); FORCS Co., LTD 191

OZ API Developer's Guide (for.net) IHTTPStoreLogTarget httpstore = target as IHTTPStoreLogTarget; if(httpstore!=null) sb.appendformat("[url=0][httpaccesstime=1][httpaccessstate=2]]", httpstore.url,httpstore.httpaccesstime,httpstore.httpaccessstate); IXMLLogTarget xmlstore = target as IXMLLogTarget; if(xmlstore!=null) sb.appendformat("[url=0][urlaccesstime=1][urlaccessstate=2]]", xmlstore.url,xmlstore.urlaccesstime,xmlstore.urlaccessstate); ISOAPLogTarget soapstore = target as ISOAPLogTarget; if(soapstore!=null) sb.appendformat("[servicename=0][port=1][endpoint=2][serviceexecutetime= 3][ServiceState=4][RequestXML=5]]", soapstore.servicename,soapstore.port,soapstore.endpoint,soapstore.serviceexecut etime,soapstore.servicestate,soapstore.requestxml); ISAPLogTarget sapstore = target as ISAPLogTarget; if(sapstore!=null) sb.appendformat("[functionname=0][functiontype=1][resultsettypes=2][funct ionexecutetime=3][functionstate=4]", sapstore.functionname,sapstore.functionstate,sapstore.resultsettypes,sapstore.f unctionexecutetime,sapstore.functionstate); IDictionary id = sapstore.inputparameters; IDictionaryEnumerator param = id.getenumerator(); sb.append("[inputparameters="); while(param.movenext()) sb.append("key="); sb.append(param.key); sb.append(",value="); sb.append(param.value); sb.append(";"); sb.append("]"); 192 FORCS Co., LTD

A Leader of Enterprise e-business Solution IClearQuestLogTarget clearstore = target as IClearQuestLogTarget; if(clearstore!=null) sb.appendformat("[executetype=0][querysubtype=1][query=2][queryexecutetim e=3][querystate=4]", clearstore.executetype,clearstore.querysubtype,clearstore.query,clearstore.quer yexecutetime,clearstore.querystate); IDMLogTarget datamodule = target as IDMLogTarget; if(null!= datamodule) sb.appendformat("[odiname=0][datasetname=1][datastorename=2]", datamodule.odiname, datamodule.datasetname, datamodule.datastorename); NameValueCollection parameters = null!= target.httprequest? target.httprequest.params : null; if(null!= parameters) sb.append("[requestparams="); foreach(string key in parameters.allkeys) sb.appendformat("(0,1)", key, parameters[key]); sb.append("]"); System.Web.SessionState.HttpSessionState session = null!= target.httpcontext? target.httpcontext.session : null; if(null!= session) sb.append("[sessionattrs="); foreach(string key in session.keys) sb.appendformat("(0,1)", key, session[key]); this.log.debug(sb.tostring()); FORCS Co., LTD 193

OZ API Developer's Guide (for.net) public class OZUserDefinedLogger2 private OZUserDefinedLogger _logger; public OZUserDefinedLogger2() _logger = new OZUserDefinedLogger(); log) [OZUDLInitialize] public void Init(oz.framework.db.OZConnection con, oz.framework.log.ozlog _logger.init(con, log); [OZUDLTrace] public void Trace(IUserDefinedLogTarget target, oz.framework.db.ozconnection con, oz.framework.log.ozlog log) _logger.trace(target, con, log); UDL OZ_HOME/conf/ozudl.properties. #--------------------------------- # configuraion of OZ User Defined log #--------------------------------- OZ_USER_DEFINED_LOG.Active=true OZ_USER_DEFINED_LOG.Class=oz.udl.file.OZUserDefinedLoggerForFile Web.config. <?xml version="1.0" encoding="utf-8"?> <configuration> <configsections> <!--.Net Framework 2.0.Net Framework.--> <sectiongroup name="udl"> <section name="file" type="system.configuration.namevaluesectionhandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> 194 FORCS Co., LTD

A Leader of Enterprise e-business Solution <section name="db" type="system.configuration.namevaluesectionhandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> </sectiongroup> </configsections> <system.web> <httpruntime maxrequestlength="100000" /> </system.web> <udl> <file> <add key="path" value="c:/program Files/Forcs/50/OZ Server.NET 5.0/logs/UDL.Log" /> <add key="layout" value="%dyyyy-mm-dd HH:mm:ss.fff [%-5p] %C1.%M - %m%n" /> <add key="daily" value="false" /> <add key="size" value="100kb" /> <add key="maxbackup" value="5" /> <!--add key="daily" value="true" /> <add key="pattern" value="yyyy-mm-dd" /--> </file> <db> <add key="alias" value="qa_ms" /> </db> </udl> </configuration>.. FORCS Co., LTD 195

OZ API Developer's Guide (for.net) [Data Action]. /log "UDL.log". UDL.log ODI. [DEBUG] OZUserDefinedLogger.Trace - [DB Alias=odbc^^ozcar][IP Address=127.0.0.1][User ID=admin][QueryType=Select][Query=select * from REQ397] [IsPrepared=False][QueryExeTime=156250][QueryState=True][ODIName=/DataAct ion.odi][datasetname=sample_][datastorename=db_] [RequestParams=(ASP.NET_SessionId,45qruu55wds3w1451vibhs55)(ALL_HTTP,HTTP... [DEBUG] OZUserDefinedLogger.Trace - [DB Alias=odbc^^ozcar][IP Address=127.0.0.1][User ID=admin][QueryType=Insert][Query=insert into REQ397 (id,name,address) values (?,?,?)] [IsPrepared=True][PreparedValues=3;3;3;][QueryExeTime=156250][QueryState= True][ODIName=/DataAction.odi][DataSetName=Sample][DataStoreName=DB_] [RequestParams=(ASP.NET_SessionId,45qruu55wds3w1451vibhs55)(ALL_HTTP,HTTP... UDL 2 - UDL. UDL. java oz.udl.db.ozuserdefinedlogger "ozudl.dll". 196 FORCS Co., LTD

A Leader of Enterprise e-business Solution ( Web.config "OZDBHISTORY".) #region Using Statements using System; using System.Data; using System.Text; using System.Globalization; using System.Configuration; using System.Collections.Specialized; using System.Collections; using oz.dm.meta; using oz.udl; #endregion namespace oz.udl.db public class OZUserDefinedLogger : oz.udl.iuserdefinedlogger private string _name = "DB UDL"; private const string TableName = "OZDBHISTORY_NET"; private static readonly string[] FieldNames = "Time","Property", "SessionInfo", "IP", "UserID", "OdiName", "DataSetName", "DataStoreName"; private static readonly int[] FieldSizes = 0,int.MaxValue, int.maxvalue, 27, 255, 255, 255, 255 ; private static readonly bool[] Nullable = false,true, true, true, true, true, true, true ; // varchar's size must be specified private static readonly string[] FieldTypes = "date","text", "text", "varchar(27)", "varchar(255)", "varchar(255)", "varchar(255)", "varchar(255)"; private static readonly DbType[] FieldDbTypes = DbType.DateTime,DbType.String, DbType.String, DbType.String, DbType.String, DbType.String, DbType.String, DbType.String ; private IDbCommand _cmd; private string _cmdtext; FORCS Co., LTD 197

OZ API Developer's Guide (for.net) public OZUserDefinedLogger() log) public void Init(oz.framework.db.OZConnection con, oz.framework.log.ozlog log.debug(_name, "Called init"); _cmd = con.connection.createcommand(); _cmd.commandtext = "select * from " + TableName; IDataReader reader = null; bool tableexists = true; try reader = _cmd.executereader(commandbehavior.schemaonly); catch(exception) tableexists = false; finally if(null!= reader) reader.close(); StringBuilder sb = new StringBuilder(); if(!!!tableexists) sb.append("create TABLE ").Append(TableName); sb.append('('); for(int i = 0; i < FieldNames.Length; i++) sb.append(fieldnames[i]).append(' '); sb.append(con.vendor.getfieldtype(fieldtypes[i])).append(' '); if(!!!nullable[i]) sb.append("not NULL"); if(i!= FieldNames.Length - 1) sb.append(','); sb.append(')'); _cmd.commandtext = sb.tostring(); _cmd.executenonquery(); log.debug(_name, "Success to create log table"); 198 FORCS Co., LTD

A Leader of Enterprise e-business Solution sb.remove(0, sb.length); sb.append("insert INTO ").Append(TableName).Append(" VALUES("); for(int i = 0; i < FieldNames.Length; i++) sb.append(con.vendor.makeparametername(i)); if(i!= FieldNames.Length - 1) sb.append(','); sb.append(')'); _cmdtext = sb.tostring(); public string DbAlias get NameValueCollection values = (NameValueCollection)ConfigurationSettings.GetConfig("udl/db"); if(null == values) throw new Exception("Cannot find udl db configuration"); return values["alias"]; public void Trace(IUserDefinedLogTarget target, oz.framework.db.ozconnection con, oz.framework.log.ozlog log) log.debug(_name, "Called trace"); IDbCommand cmd = con.connection.createcommand(); for(int i = 0; i < FieldNames.Length; i++) IDbDataParameter param = cmd.createparameter(); param.parametername = con.vendor.makeparametername(i); param.dbtype = FieldDbTypes[i]; if(dbtype.string == param.dbtype) param.size = FieldSizes[i]; cmd.parameters.add(param); cmd.commandtext = _cmdtext; cmd.prepare(); StringBuilder sb = new StringBuilder(); foreach(idbdataparameter param in cmd.parameters) param.value = DBNull.Value; FORCS Co., LTD 199

OZ API Developer's Guide (for.net) ((IDbDataParameter)cmd.Parameters[0]).Value = DateTime.Now; IRDBLogTarget rdbstore = target as IRDBLogTarget; if(null!= rdbstore) sb.appendformat("[db Alias=0][IP Address=1][User ID=2][QueryType=3][Query=4][IsPrepared=5]", rdbstore.alias, rdbstore.ipaddress, rdbstore.userid, rdbstore.querytype, rdbstore.query, rdbstore.isprepared); if(rdbstore.isprepared) sb.append("[preparedvalues="); foreach(object o in rdbstore.preparedqueryvalues) sb.append(null == o? "null" : o is byte[]? "binary" : o.tostring()); sb.append(";"); sb.append("]"); sb.appendformat("[queryexetime=0][querystate=1]", rdbstore.queryexecutiontime, rdbstore.querystate); IProcedureLogTarget procestore = target as IProcedureLogTarget; if(procestore!= null) sb.appendformat("[dbalias=0][procedurename=1][procedureexecutetime=2][pro cedurestate=3]", procestore.alias,procestore.procedurename,procestore.procedureexecutetime,proce Store.ProcedureState); sb.append("[parameterlist="); IList list = procestore.parameterlist; foreach(ozprocedureparameter param in list) string paramname = param.name; string paramvalue = param.value; sb.append("name="); sb.append(paramname); sb.append(",value="); sb.append(paramvalue); sb.append(";"); 200 FORCS Co., LTD

A Leader of Enterprise e-business Solution sb.append("]"); IUDSLogTarget udsstore = target as IUDSLogTarget; if(udsstore!=null) sb.appendformat("[executecommand=0][querytype=1][commandexecutetime=2][co mmandstate=3]", udsstore.executecommand,udsstore.querytype,udsstore.commandexecutetime,udsstore.commandstate); IFileStoreLogTarget filestore = target as IFileStoreLogTarget; if(filestore!=null) sb.appendformat("[filepath=0][fileaccesstime=1][fileaccessstate=2]]", filestore.filepath,filestore.fileaccesstime,filestore.fileaccesstime); IHTTPStoreLogTarget httpstore = target as IHTTPStoreLogTarget; if(httpstore!=null) sb.appendformat("[url=0][httpaccesstime=1][httpaccessstate=2]]", httpstore.url,httpstore.httpaccesstime,httpstore.httpaccessstate); IXMLLogTarget xmlstore = target as IXMLLogTarget; if(xmlstore!=null) sb.appendformat("[url=0][urlaccesstime=1][urlaccessstate=2]]", xmlstore.url,xmlstore.urlaccesstime,xmlstore.urlaccessstate); ISOAPLogTarget soapstore = target as ISOAPLogTarget; if(soapstore!=null) sb.appendformat("[servicename=0][port=1][endpoint=2][serviceexecutetime= 3][ServiceState=4][RequestXML=5]]", soapstore.servicename,soapstore.port,soapstore.endpoint,soapstore.serviceexecut FORCS Co., LTD 201

OZ API Developer's Guide (for.net) etime,soapstore.servicestate,soapstore.requestxml); ISAPLogTarget sapstore = target as ISAPLogTarget; if(sapstore!=null) sb.appendformat("[functionname=0][functiontype=1][resultsettypes=2][funct ionexecutetime=3][functionstate=4]", sapstore.functionname,sapstore.functionstate,sapstore.resultsettypes,sapstore.f unctionexecutetime,sapstore.functionstate); IDictionary id = sapstore.inputparameters; IDictionaryEnumerator param = id.getenumerator(); sb.append("[inputparameters="); while(param.movenext()) sb.append("key="); sb.append(param.key); sb.append(",value="); sb.append(param.value); sb.append(";"); sb.append("]"); IClearQuestLogTarget clearstore = target as IClearQuestLogTarget; if(clearstore!=null) sb.appendformat("[executetype=0][querysubtype=1][query=2][queryexecutetim e=3][querystate=4]", clearstore.executetype,clearstore.querysubtype,clearstore.query,clearstore.quer yexecutetime,clearstore.querystate); ((IDbDataParameter)cmd.Parameters[1]).Value = sb.tostring(); IDMLogTarget datamodule = target as IDMLogTarget; if(null!= datamodule) ((IDbDataParameter)cmd.Parameters[3]).Value = datamodule.userid; ((IDbDataParameter)cmd.Parameters[4]).Value = datamodule.ipaddress; ((IDbDataParameter)cmd.Parameters[5]).Value = datamodule.odiname; ((IDbDataParameter)cmd.Parameters[6]).Value = datamodule.datasetname; ((IDbDataParameter)cmd.Parameters[7]).Value = 202 FORCS Co., LTD

A Leader of Enterprise e-business Solution datamodule.datastorename; sb.remove(0, sb.length); NameValueCollection parameters = null!= target.httprequest? target.httprequest.params : null; if(null!= parameters) sb.append("[requestparams="); foreach(string key in parameters.allkeys) sb.appendformat("(0,1)", key, parameters[key]); sb.append("]"); System.Web.SessionState.HttpSessionState session = null!= target.httpcontext? target.httpcontext.session : null; if(null!= session) sb.append("[sessionattrs="); foreach(string key in session.keys) sb.appendformat("(0,1)", key, session[key]); ((IDbDataParameter)cmd.Parameters[2]).Value = sb.tostring(); log.debug(sb.tostring()); cmd.executenonquery(); log.debug("success to insert log information"); public class OZUserDefinedLogger2 private OZUserDefinedLogger _logger; public OZUserDefinedLogger2() _logger = new OZUserDefinedLogger(); log) [OZUDLInitialize] public void Init(oz.framework.db.OZConnection con, oz.framework.log.ozlog _logger.init(con, log); FORCS Co., LTD 203

OZ API Developer's Guide (for.net) [OZUDLTrace] public void Trace(IUserDefinedLogTarget target, oz.framework.db.ozconnection con, oz.framework.log.ozlog log) _logger.trace(target, con, log); UDL OZ_HOME/conf/uslmngr.properties. #--------------------------------- # configuraion of OZ User Defined log #--------------------------------- OZ_USER_DEFINED_LOG.Active=true OZ_USER_DEFINED_LOG.Class=oz.udl.db.OZUserDefinedLogger Web.config. ( db.properties DB "Sample ".) <?xml version="1.0" encoding="utf-8"?> <configuration> <configsections> <!--.Net Framework 2.0.Net Framework.--> <sectiongroup name="udl"> <section name="file" type="system.configuration.namevaluesectionhandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> <section name="db" type="system.configuration.namevaluesectionhandler, System, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/> </sectiongroup> </configsections> <system.web> <httpruntime maxrequestlength="100000" /> </system.web> <udl> <file> <add key="path" value="c:/program Files/Forcs/50/OZ Server.NET 5.0/logs/UDL.Log" /> 204 FORCS Co., LTD

A Leader of Enterprise e-business Solution <add key="layout" value="%dyyyy-mm-dd HH:mm:ss.fff [%-5p] %C1.%M - %m%n" /> <add key="daily" value="false" /> <add key="size" value="100kb" /> <add key="maxbackup" value="5" /> <!--add key="daily" value="true" /> <add key="pattern" value="yyyy-mm-dd" /--> </file> <db> <add key="alias" value="sample" /> </db> </udl> </configuration> OZ_HOME/conf/db.properties oz.udl.db.ozuserdefinedlogger. # # Sample # Sample.vendor=MSSQL Sample.serverAddress=127.0.0.1 Sample.user=user Sample.password=userpw Sample.portNo=1433 Sample.dbName=DBName Sample.maxconns=20 Sample.initconns=5 Sample.timeout=5 Sample.doConnectionCheck=false.. FORCS Co., LTD 205

OZ API Developer's Guide (for.net) [Data Action]. ODI. UDL 3 - OZ UDL monitor.log. UDL monitor.log. java 206 FORCS Co., LTD