바라기의 이야기

에이전트 개발 표준 본문

Develop/Domino

에이전트 개발 표준

baragi76 2010. 3. 16. 09:45

(Options)
Option Declare

--------------------------------

(Declarations)
Dim ss As NotesSession
Dim curDb As NotesDatabase                                '// 현재 Database
Dim curAgent As NotesAgent                                '// 현재 Agent
Dim curLog As NotesLog                                                '// Log 기록

Const LOG_PROGRAM                                                        = "에이전트 프로그램(프로세스) 이름-로그 기록명"                '★

Const DBPATH_LOG                                                        = "Application\log.nsf"                                                                        '★

---------------------------------
Sub Initialize
'★ 에이전트명은 언제나 -> (에이전트명)|agAgentName        
%REM
함수명 :         Initialize
인자        :        -
반환        :        -
목적        :        -
작성정보        :         v1.0 / 이동완 / 2006-04-07                '★
%END REM
        On Error Goto ErrorHandle
       
        Set ss = New NotesSession
        Set curDb = ss.CurrentDatabase
        Set curAgent = ss.CurrentAgent
       
        '// Log Object 생성 및 Open
        Set curLog = New NotesLog( curAgent.Name & | Log(| & curDb.FilePath & |)| )
        Call curLog.OpenNotesLog( curDb.Server, DBPATH_LOG )
       
        '// Start Log
        Call WriteLog( Err(), LOG_PROGRAM & " 시작" )
       
        '// ------------------------------------------------------------------------------------------------------------------
        '// 실제 코드 (여기에 작성하세요~)
        '// ------------------------------------------------------------------------------------------------------------------
        '★
        '// ------------------------------------------------------------------------------------------------------------------
       
        '// End Log
        Call WriteLog( Err(), LOG_PROGRAM & " 종료" )
        Call curLog.Close()
       
        Exit Sub
ErrorHandle:
        Call WriteLog( Err(), curAgent.Name & |::Initialize ERROR[| & Cstr( Erl() ) & |] : | & Error() )
        Call curLog.Close()
        Exit Sub
End Sub

----------------------------------
Function WriteLog( ErrorOption As Integer, LogMessage As String )
%REM
함수명 :         WriteLog
인자        :        ErrorOption        - 오류코드 ( 0 : 정상로그, 이외 오류코드 )
반환        :        -
목적        :        로그 DB에 결과 기록
작성정보        :         v1.0 / 이동완 / 2006-04-07
%END REM
        On Error Goto ErrorHandle
        If( ErrorOption = 0 ) Then
                Call curLog.LogAction( |[| & curDb.FilePath & |] | & LogMessage )
        Else
                Call curLog.LogError( ErrorOption, |[| & curDb.FilePath & |] | & LogMessage )
        End If
        Exit Function
ErrorHandle:
        Print |[| & curDb.FilePath & |] | & curAgent.Name & |::WriteLog ERROR[| & Cstr( Erl() ) & |] : | & Error()
        Msgbox |[| & curDb.FilePath & |] | & curAgent.Name & |::WriteLog ERROR[| & Cstr( Erl() ) & |] : | & Error()
        Exit Function
End Function

--------------------------------
Function UserFunctionTemplate( x As Integer ) As Boolean
%REM
함수명 :         함수명(UserFunctionTemplate)                                                        '★
인자        :        인자명(x)                - 인자설명                                                                                '★
반환        :        반환값형식(Boolean)                - 반환값에 대한 설명                        '★
                                - True         : 존재함.                                                                                '★
                                - False         : 없음.                                                                                        '★
목적        :        함수 목적 기록                                                                                                '★
작성정보        :         v1.0 / 이동완 / (작성일/최근 수정일)2006-04-07                '★
%END REM
        On Error Goto ErrorHandle
       
        '// ------------------------------------------------------------------------------------------------------------------
        '// 실제 코드 (여기에 작성하세요~)
        '// ------------------------------------------------------------------------------------------------------------------
        '★
        '// ------------------------------------------------------------------------------------------------------------------
       
        Exit Function
ErrorHandle:
        Call WriteLog( Err(), curAgent.Name & |::함수이름 ERROR[| & Cstr( Erl() ) & |] : | & Error() ) '// 아래코드 형식으로 '★
        'Call WriteLog( Err(), curAgent.Name & |::UserFunctionTemplate ERROR[| & Cstr( Erl() ) & |] : | & Error() )
        Exit Function
End Function