Interstage Application Server リファレンスマニュアル(API編) |
目次
索引
![]() ![]() |
第4章 COBOLインタフェース | > 4.20 ノーティフィケーションサービスインタフェース | > 4.20.2 COSNOTIFYCOMMインタフェース |
COSNOTIFYCOMM-STRUCTUREDPULLSUPPLIER-TRY-PULL-STRUCTURED-EVENT
ENVIRONMENT DIVISION. CONFIGURATION SECTION. SPECIAL-NAMES. SYMBOLIC CONSTANT COPY SYMBOL-CONST IN CORBA. . DATA DIVISION. WORKING-STORAGE SECTION. COPY CONST IN COSEVENTCOMM. COPY CONST IN CORBA. 01 COPY NOTIFYSTRUCTUREDPROXYPULLSUP IN COSEVENTCOMM REPLACING COSNOTIFYCHANNELADMIN-STRUC001 BY OBJ. 01 COPY BOOLEAN IN CORBA REPLACING CORBA-BOOLEAN BY HAS-EVENT. 01 COPY ENVIRONMENT IN CORBA REPLACING CORBA-ENVIRONMENT BY ENV. 01 RECV USAGE IS POINTER. PROCEDURE DIVISION. CALL "COSNOTIFYCOMM-STRUCTUREDPULLSUPPLIER-TRY-PULL-STRUCTURED-EVENT" USING OBJ HAS-EVENT ENV RECV.
サプライヤにSTRUCTUREDEVENT型のイベントデータを要求します。サプライヤからイベントデータを取り出せない場合は、即座に復帰します。なお、イベントデータを取り出せるまでブロックしたい場合には、COSNOTIFYCOMM-STRUCTUREDPULLSUPPLIER-PULL-STRUCTURED-EVENT関数を使用してください。
取り出したSTRUCTUREDEVENT型のイベントデータは、この領域が不要になった時点で、CORBA-FREE関数を使用して領域を解放する必要があります。
正常終了した場合は、ENV構造体のMAJORにCORBA-NO-EXCEPTIONが設定されます。イベントデータを取り出せた場合は、HAS-EVENTにCORBA-TRUEが設定され、サプライヤからのイベントデータが復帰します。イベントデータを取り出せなかった場合には、HAS-EVENTにCORBA-FALSEが設定されます。この場合も空のSTRUCTUREDEVENT型のイベントデータの領域が獲得されるので、取り出したSTRUCTUREDEVENT型のイベントデータの領域は、CORBA-FREE関数を使用して領域を解放する必要があります。
異常終了した場合は、ENV構造体のMAJORにCORBA-SYSTEM-EXCEPTIONまたはCORBA-USER-EXCEPTIONが設定され、ENV構造体のIDに詳細情報が設定されます。
ユーザ例外の場合は、以下の詳細情報が設定されます。
システム例外の場合は、“メッセージ集”の“イベントサービスから通知される例外情報/マイナーコード”および“CORBAサービスから通知される例外情報/マイナーコード”を参照し、設定されたシステム例外およびマイナーコードに対する対処を行ってください。
ローカルトランザクション運用中に、HAS-EVENTにCORBA-FALSEが設定された場合は、ES-CHANNELUTIL-LOCAL-ROLLBACK関数によりキャンセルを通知する必要はありません。ES-CHANNELUTIL-LOCAL-COMMIT関数により完了を通知してください。
グローバルトランザクション運用中に、HAS-EVENTにCORBA-FALSEが設定された場合は、COSTRANSACTIONS-CURRENT-ROLLBACK関数によりキャンセルを通知する必要はありません。COSTRANSACTIONS-CURRENT-COMMIT関数により完了を通知してください。
目次
索引
![]() ![]() |