サーバー上のアウトラインを再構築します。これは非同期の呼出しです。
構文
EsbOtlRestructure
(
hCtx, usRestructType
)
ByVal
hCtx
As Long
ByVal
usRestructType
As Integer
| パラメータ | 説明 |
|---|---|
hCtx |
サーバー・ログイン・コンテキスト・ハンドル。ESBOTLNriteOutline()を使用してアウトラインが保存されたサーバーである必要があります。 |
usRestructType |
実行する再構築のタイプ。これは、次のいずれかの値にできます:
|
備考
この関数を呼び出す前に、呼出し元はESBOTLNriteOutline()を使用してアウトラインを保存しておく必要があります。
この関数呼出しは、サーバーに保存されたアウトラインに対してのみ有効です。
これは非同期の呼出しです。この呼出しを行った後、EsbGetProcessState()で再構築操作の完了を示すステータスが戻されるまで、EsbGetProcessState()を呼び出す必要があります。
(データが保存され)データが正しく再構築されるには、fKeepTransフラグをESB_YESに設定してEsbOtlOpenOutline()を使用して、アウトラインを開いておく必要があります。
戻り値
正常終了の場合は0が戻されます。それ以外の場合は、次の値が戻されます:
OTLAPI_BAD_RESTRUCTTYPE
アクセス
この関数を使用するには、呼出し元は指定したアプリケーション、アウトライン・オブジェクトが含まれているデータベースのいずれか、またはその両方に対して、適切なレベルのアクセス権を持っている必要があります。アウトライン・オブジェクトを再構築するには、指定したアプリケーション、またはアウトラインが含まれるデータベースに対して、アプリケーション・デザイナまたはデータベース・デザイナの権限(ESB_PRIV_APPDESIGNまたはESB_PRIV_DBDESIGN)が必要です。
例
Declare Function EsbOtlRestructure Lib
"ESBOTLN.DLL" (ByVal hCtx As Long, ByVal
usRestructType As Integer) As Long
Sub ESB_OtlRestructure()
Dim hCtx As Long
Dim sts As Long
Dim Object As ESB_OBJDEF_T
Dim hOutline As Long
Object.hCtx = hCtx
Object.Type = ESB_OBJTYPE_OUTLINE
Object.AppName = "Sample"
Object.DbName = "Basic"
Object.FileName = "Basic"
sts = EsbOtlOpenOutline(hCtx, Object,
ESB_YES, ESB_YES, hOutline)
'***
'body of code
'write outline to server using
'ESBOTLNriteOutline()
'***
If sts = 0 Then
sts = EsbOtlRestructure(hCtx, ESB_DOR_ALLDATA)
End If
'***
'need to call EsbGetProcessState()
'to check for completion before proceeding
'***
End Sub
関連トピック