dadlllink_def

DLL 使用法

このライブラリには、交換リンクと取得予約に関する機能が含まれています。また、取得予約破棄メッセージに使用する関数も含まれています。

DLL プロトタイプ
 function extern
long ldef.activate.current.exchange.link.and.commit()
前 : daxch401 の現在のレコードには、状況が 「有効」 でない既存の交換リンクが格納されています。
後 : 返値が 「OK」 ならば、現在の交換リンクは正常に有効化されています。状況は 「有効」 に設定されています。「OK」 でない場合は、何も行われていません。
状況 : 返値が 「OK」 ならば、再試行ポイントが設定され、コミットされます。
返値: 取りうる返値は、ライブラリ dadlllink_mess 内の関数 lmess.send.subscribe() の返値と同じです。
リスク : この処理中にシステムがダウンした場合、ソースと対象システムとの間で不整合が生じる可能性があります (マルチサイトでは 2 フェーズコミットを利用できないためです)。

function
extern long ldef.activate.exchange.links( domain daxch.link link.f, domain daxch.link link.t )
前 : true
後 : 指定した範囲の、状況が 「有効」 でないすべての交換リンクを、可能ならば、有効化する。
状況 : 再試行ポイントが設定され、コミットされます。
返値: 交換リンクが選択されていない場合、または選択されているすべての交換リンクが正常に有効化された場合に true。指定された範囲内の交換リンクのうちで有効化できないものが 1 つ以上ある場合に false。
リスク : この処理中にシステムがダウンした場合、ソースと対象システムとの間で不整合が生じる可能性があります (マルチサイトでは 2 フェーズコミットを利用できないためです)。

function extern long
ldef.activate.exchange.links.detailed( domain daxch.envi senv.f, domain
daxch.envi senv.t, domain daxch.comp scom.f, domain daxch.comp scom.t, domain
daxch.cxch sxch.f, domain daxch.cxch sxch.t, domain daxch.cbat sbat.f, domain
daxch.cbat sbat.t, domain daxch.cxch txch.f, domain daxch.cxch txch.t, domain
daxch.cbat tbat.f, domain daxch.cbat tbat.t )
前 : true
後 : 指定した範囲の、状況が 「有効」 でないすべての交換リンクを、可能ならば、有効化する。
状況 : 再試行ポイントが設定され、コミットされます。
返値: 交換リンクが選択されていない場合、または選択されているすべての交換リンクが正常に有効化された場合に true。指定された範囲内の交換リンクのうちで有効化できないものが 1 つ以上ある場合に false。
リスク : この処理中にシステムがダウンした場合、ソースと対象システムとの間で不整合が生じる可能性があります (マルチサイトでは 2 フェーズコミットを利用できないためです)。

function extern long
ldef.active.exchange.link.exists.for.batch( domain daxch.cxch txch, domain
daxch.cbat tbat ) 
前 : true
後 : true
返値: 指定されたバッチに 1 つ以上の交換リンクが存在し、それらの状況が 「有効」 である場合にのみ true。
説明 : この関数は、インポート処理で使用できます。標準インポートの実行時にこの関数が true を返した場合、交換ではインポートのバッチを調べて、インポート待機中のデータがあるかどうかを確認する必要があります。この関数の返値が false の場合、標準インポートの処理はインポートするバッチの確認をせずに続行できます。

function extern long ldef.active.or.partly.active.link.exists.for.batch (domain daxch.cxch txch, domain daxch.cbat tbat)
前 : true
後 : true
返値: 指定されたバッチに 1 つ以上の交換リンクが存在し、状況が 「無効 (ソース/対象)」 でない場合に true。
説明 : この関数は、バッチが削除可能かを調べるために使用できます。バッチが交換リンクのリンク先になっているならば、交換リンクが 「有効」 または 「無効 (対象のみ)」 のどちらであっても、バッチを削除しないでください。

function extern long ldef.can.delete.all.batches.in.range( domain
daxch.cxch cxch.f, domain daxch.cxch cxch.t, domain daxch.cbat cbat.f, domain
daxch.cbat cbat.t ) 
前 : true 
後 : true 
返値: どのバッチも、状況が 「有効」 または 「無効 (対象のみ)」 の交換リンクの対象バッチとして使用されていない場合に true
説明 : この関数が false を返す場合は、指定した範囲のバッチの中に削除できないものがあります。

function extern long ldef.create.subscription( domain daxch.link subs, domain daxch.cxch sxch,
domain daxch.cbat sbat, domain daxch.envi tenv, domain daxch.comp tcom, domain
daxch.cxch txch, domain daxch.cbat tbat )
前 : すべての関数パラメータに値が格納されています (ただし、tcom は 0 の場合があります)。tenv は、既存の環境と対応します。
後 : 返値が true (<> 0) である場合、関数パラメータで定義された取得予約が作成されています。
- すでに取得予約が存在する場合 (不整合が原因)、それは 「再初期化」 されます。取得予約に関するエクスポート完了メッセージは削除されます。
状況 : この関数を呼び出す前に、再試行ポイントを設定する必要があります。この関数を呼び出した後でコミットしてください。この関数では、コミットしません。
返値: 処理が正常に完了したら true。false の場合は、交換スキームまたはバッチが存在しないために取得予約を作成できなかったことを示します。

function extern long ldef.deactivate.current.exchange.link.and.commit()
前 : daxch401 の現行レコードに、状況が 「無効 (ソース/対象)」 でない既存の交換リンクが格納されます。
後 : 返値が OK ならば、現行の交換リンクは正常に無効化され、状況は 「無効 (ソース/対象)」 に設定されています。インポート用バッチおよび拒否されたインポート終了メッセージは削除されます。返値が OK 以外の場合、現行の交換リンクを 「無効」 にはできていません。状況は 「無効 (対象のみ)」 に設定されています。
状況 : 再試行ポイントが設定され、コミットされます。
返値: 取りうる返値は、ライブラリ dadlllink_mess にある関数 lmess.send.unsubscribe() への返値と同じです。
リスク : この処理中にシステムがダウンした場合、ソースと対象システムとの間で不整合が生じる可能性があります (マルチサイトでは 2 フェーズコミットを利用できないためです)。

function extern long ldef.deactivate.exchange.links( domain daxch.link link.f, domain daxch.link link.t, long only.inactive )
前 : true 
後 : only.inactive が true (<> 0) である場合、指定された範囲にあるすべての交換リンクのうち、状況が 「無効 (ソース/対象)」 でないものが、可能ならば無効化されます。only.inactive が false である場合、指定された範囲にあるすべての交換リンクのうち、状況が 「無効 (対象のみ)」 のものが、可能ならば無効化されます。
状況 : 再試行ポイントが設定され、コミットされます。
返値:.交換リンクが 1 つも選択されていないか、選択されている交換リンクがすべて正常に無効化されている場合に true。選択した範囲の交換リンクのうち 1 つ以上を無効化できなかった場合に false。
リスク :この処理中にシステムがダウンした場合、ソースと対象システムとの間で不整合が生じる可能性があります (マルチサイトでは 2 フェーズコミットを利用できないためです)。

function extern long
ldef.deactivate.exchange.links.detailed( domain daxch.envi senv.f, domain
daxch.envi senv.t, domain daxch.comp scom.f, domain daxch.comp scom.t, domain
daxch.cxch sxch.f, domain daxch.cxch sxch.t, domain daxch.cbat sbat.f, domain
daxch.cbat sbat.t, domain daxch.cxch txch.f, domain daxch.cxch txch.t, domain
daxch.cbat tbat.f, domain daxch.cbat tbat.t, long only.inactive ) 
前 : true
後 : only.inactive が true (<> 0) である場合、指定された範囲にあるすべての交換リンクのうち、状況が 「無効 (ソース/対象)」 でないものが、可能ならば無効化されます。only.inactive が false である場合、指定された範囲にあるすべての交換リンクのうち、状況が 「無効 (対象のみ)」 のものが、可能ならば無効化されます。
状況 : 再試行ポイントが設定され、コミットされます。
返値:.交換リンクが 1 つも選択されていないか、選択されている交換リンクがすべて正常に無効化されている場合に true。選択した範囲の交換リンクのうち 1 つ以上を無効化できなかった場合に false。
リスク :この処理中にシステムがダウンした場合、ソースと対象システムとの間で不整合が生じる可能性があります (マルチサイトでは 2 フェーズコミットを利用できないためです)。

function extern ldef.delete.exchange.links.of.target.batch( domain
daxch.cxch txch, domain daxch.cbat tbat ) 
前 : 状況が 「有効」 または 「無効 (対象のみ)」 の対象バッチ txch/tbat に関して、交換リンクが存在しない。後 :対象バッチ txch/tbat に関するすべての交換リンクが削除されている。
状況 : この関数を呼び出す前に、再試行ポイントを設定する必要があります。この関数を呼び出した後でコミットしてください。この関数では、コミットしません。

function extern long
ldef.delete.subscription( domain daxch.link subs, domain daxch.envi tenv,
domain daxch.comp tcom ) 
前 : true 
後 : 返値が true (<> 0) である場合、関数パラメータにより指定された取得予約が削除されているか (あわせて、エクスポート終了メッセージも削除されています)、取得予約が存在しなかった場合には、拒否された取得予約破棄メッセージが削除されています。
状況 : この関数を呼び出す前に、再試行ポイントを設定する必要があります。この関数を呼び出した後でコミットしてください。この関数では、コミットしません。
返値: 処理が正常に完了した場合に true。取得予約が存在せず、拒否された取得予約破棄メッセージも存在しない場合に false。

function extern long ldef.delete.subscription.destroyed.message( domain daxch.link subs,
domain daxch.envi tenv, domain daxch.comp tcom ) 
前 : true 
後 : 返値が true (<> 0) である場合、関数パラメータによって定義された取得予約破棄メッセージが削除されています。
状況 : この関数を呼び出す前に、再試行ポイントを設定する必要があります。この関数を呼び出した後でコミットしてください。この関数では、コミットしません。
返値: 処理が正常に完了した場合に true。取得予約破棄メッセージが存在しない場合に false。

function extern long ldef.delete.subscriptions.of.source.batch( domain daxch.cxch sxch, domain
daxch.cbat sbat ) 
前 : true 
後 : ソース交換スキーム/バッチの取得予約がすべて削除されます。返値が true (<> 0) である場合は、すべての取得予約破棄メッセージが対象サイトに正常に配信されています。返値が false の場合は、拒否された取得予約破棄メッセージが 1 つ以上作成されています 
状況 : この関数を呼び出す前に、再試行ポイントを設定する必要があります。この関数を呼び出した後でコミットしてください。この関数では、コミットしません。
返値: 1 つ以上の取得予約破棄メッセージを配信できなかった場合にのみ false。

function extern long ldef.environment.is.used.in.exchange.links( domain daxch.envi senv
) 
前 : true 
後 : true 
返値: 環境が 1 つ以上の交換リンクで使用されている場合にのみ true。

function extern long ldef.environment.is.used.in.subscriptions( domain daxch.envi tenv ) 
前 : true
後 : true 
返値: 環境が 1 つ以上の取得予約で使用されている場合にのみ true。

function extern long ldef.exchange.link.exists( domain
daxch.link link ) 
前 : true 
後 : true 
返値: 交換リンクが存在する場合にのみ true。

function extern long ldef.exchange.link.exists.and.is.not.inactive(
domain daxch.link link ) 
前 : true 
後 : true 
返値: 交換リンクが存在し、その状況が 「無効 (ソース/対象)」 でない場合にのみ true。

function extern long ldef.exchange.link.is.local( domain daxch.link link ) 
前 : true 
後 : true 
返値: 交換リンクが存在し、ソース環境が現行環境と同等の場合にのみ true 

function extern long ldef.get.exchange.link(
domain daxch.envi senv, domain daxch.comp scom, domain daxch.cxch sxch, domain
daxch.cbat sbat, domain daxch.cxch txch, domain daxch.cbat tbat, ref domain
daxch.link link ) 
前 : true 
後 : 返値が true (<> 0) である場合は、link = 見つかった交換リンクです。
返値: senv、scom、sxch、sbat、txch および tbat を含む交換リンクがある場合にのみ true。

function extern long ldef.get.exchange.scheme.and.batch.of.subscription
(domain daxch.link subs, domain daxch.envi tenv, domain daxch.comp tcom, ref
domain daxch.cxch sxch, ref domain daxch.cbat sbat) 
前 : true 
後 : 返値が true (<> 0) である場合は、sxch = subs/tenv/tcom で定義されている取得予約のソース交換スキーム
sbat = subs/tenv/tcom で定義されている取得予約のソースバッチ。
返値: 取得予約 subs/tenv/tcom が存在している場合にのみ true。

function extern long ldef.get.source.environment.of.exchange.link( domain daxch.link link, ref
domain daxch.envi senv, ref domain daxch.comp scom ) 
前 : true 
後 : 返値が true (<> 0) である場合、senv および scom には交換リンクのソース環境および会社名がそれぞれ格納されます。
返値: 交換リンクが存在する場合にのみ true。

function extern long ldef.get.source.information.of.exchange.link( domain daxch.link link, ref
domain daxch.envi senv, ref domain daxch.comp scom, ref domain daxch.cxch sxch,
ref domain daxch.cbat sbat ) 
前 : true 
後 : 返値が true (<> 0) である場合、senv、scom、sxch および sbat には、交換リンクのソース環境、会社名、交換スキーム、およびバッチがそれぞれ格納されます。
返値: 交換リンクが存在する場合にのみ true。

function extern long ldef.get.subscription( domain daxch.cxch sxch, domain daxch.cbat
sbat, domain daxch.envi tenv, domain daxch.comp tcom, domain daxch.cxch txch,
domain daxch.cbat tbat, ref domain daxch.link subs ) 
前 : true 
前 : 返値が true (<> 0) である場合、subs = 見つかった取得予約。
返値: sxch、sbat、tenv、tcom、txch および tbat を含んでいる取得予約が存在する場合にのみ true。

function extern long ldef.prepare.batch.to.be.deleted( domain daxch.cxch cxch, domain daxch.cbat
cbat ) 
前 : true 
後 : 返値が true (<> 0) である場合、状況が 「無効 (ソース/対象)」 のバッチへの交換リンク、およびそうしたバッチに関する取得予約がすべて削除されています。このため、該当するバッチは交換リンクや取得予約がすべてなくなります。
返値が false である場合は、何も行われていません。
状況 : この関数を呼び出す前に、再試行ポイントを設定する必要があります。この関数を呼び出した後でコミットしてください。この関数では、コミットしません。
返値: このバッチに関して、状況が 「有効」 または 「無効 (対象のみ)」 の交換リンクがない場合にのみ true。説明 : バッチを削除する前に、この処理が可能かを確認する必要があります。状況が 「有効」 または 「無効 (対象のみ)」 の交換リンクがないバッチは削除可能です。バッチが削除可能ならば、先に取得予約および状況が 「無効 (ソース/対象)」 の交換リンクを削除します。バッチは、この関数の返値が true の場合にのみ削除してください。

function extern long ldef.resend.current.subscription.destroyed.message and.commit( )
前 : daxch407 の現行レコードに、既存の拒否された取得予約破棄メッセージが格納されています。
後 : 現行の取得予約破棄メッセージが再送信されます。メッセージは、正常に再送信されると削除されます。
状況 : 再試行ポイントが設定され、コミットされます (返値 = OK の場合)。
返値: dadlllink_mess の関数 lmess.send.subscription.destroyed の返値。
リスク : この処理中にシステムがダウンした場合、ソースと対象システムとの間で不整合が生じる可能性があります (マルチサイトでは 2 フェーズコミットを利用できないためです)。

function extern long ldef.resend.subscription.destroyed.messages( domain daxch.link subs.f, domain
daxch.link subs.t, domain daxch.envi tenv.f, domain daxch.envi tenv.t, domain
daxch.comp tcom.f, domain daxch.comp tcom.t ) 
前 : true 
後 : 指定範囲にある拒否された取得予約破棄メッセージがすべて再送信されます。正常に再送信されたメッセージは削除されます。
状況 : 再試行ポイントが設定され、コミットされます。
返値: メッセージが 1 つも選択されていないか、選択されているメッセージがすべて正常に送信された場合に true。指定範囲にあるメッセージが 1 つ以上配信されなかった場合に false。
リスク : この処理中にシステムがダウンした場合、ソースと対象システムとの間で不整合が生じる可能性があります (マルチサイトでは 2 フェーズコミットを利用できないためです)。

function extern long ldef.resend.subscription.destroyed.messages .detailed(domain daxch.cxch
sxch.f, domain daxch.cxch sxch.t, domain daxch.cbat sbat.f, domain daxch.cbat
sbat.t, domain daxch.envi tenv.f, domain daxch.envi tenv.t, domain daxch.comp
tcom.f, domain daxch.comp tcom.t, domain daxch.cxch txch.f, domain daxch.cxch
txch.t, domain daxch.cbat tbat.f, domain daxch.cbat tbat.t ) 
前 : true 
後 : 指定範囲にある拒否された取得予約破棄メッセージがすべて再送信されます。
正常に再送信されたメッセージは削除されます。
状況 : 再試行ポイントが設定され、コミットされます。
返値: メッセージが 1 つも選択されていないか、選択されているメッセージがすべて正常に送信された場合に true。指定範囲にあるメッセージが 1 つ以上配信されなかった場合に false。
リスク : この処理中にシステムがダウンした場合、ソースと対象システムとの間で不整合が生じる可能性があります (マルチサイトでは 2 フェーズコミットを利用できないためです)。

function extern long ldef.send.subscription.destroyed.for.current
.subscription( ) 
前 : daxch402 の現行レコードに、削除対象の既存の取得予約が格納されています。
後 : この関数を呼び出した後で、取得予約を削除できます (削除する必要があります)。返値が OK 以外ならば、拒否された取得予約破棄メッセージが作成されています。
状況 : この関数を呼び出す前に、再試行ポイントを設定する必要があります。この関数を呼び出した後でコミットしてください。この関数では、コミットしません。
返値: dadlllink_mess の関数 lmess.send.subscription.destroyed() の返値。

function extern long ldef.set.status.of.link.to.inactive( domain daxch.link link ) 
前 : true 
後 : 返値が true (<> 0) である場合、交換リンクの状況は 「無効 (ソース/対象)」 です。そうでない場合は、何も行われません。
状況 : この関数を呼び出す前に、再試行ポイントを設定する必要があります。この関数を呼び出した後でコミットしてください。この関数では、コミットしません。
返値: 交換リンクが更新されているか、交換がすでに 「無効 (ソース/対象)」 な場合にのみ true。(false の場合は、交換リンクが存在しないために状況を更新できないことを示します)。
注 : この関数では、ソースサイトにある取得予約は削除されません。
このため、取得予約がすでに削除済か、まさに削除中の場合にのみ使用してください。

function extern long ldef.subscription.exists(
domain daxch.link subs, domain daxch.envi tenv, domain daxch.comp tcom ) 
前 : true 
後 : true 
返値: subs、tenv および tcom により定義された取得予約が存在する場合にのみ true。

function extern long ldef.subscription.exists.for.batch( domain
daxch.cxch sxch, domain daxch.cbat sbat, domain daxch.comp startup.company )
前 : true 
後 : true 
返値: ソース交換スキーム sxch および ソースバッチ sbat を含む取得予約が存在する場合にのみ true。

関連トピック