[COBOLによるMixedモデルのグローバルトランザクションのサプライヤ]
01 COPY NOTIFYEVENTCHANNEL IN COSEVENTCOMM REPLACING COSNOTIFYCHANNELADMIN-EVENTCHA BY EVENT-CHNL.
01 COPY NOTIFYSUPPLIERADMIN IN COSEVENTCOMM REPLACING COSNOTIFYCHANNELADMIN-SUPPLIER BY ADMIN-SUPP.
01 COPY NOTIFYCHNLADMIN-PROXYID IN COSEVENTCOMM REPLACING COSNOTIFYCHANNELADMIN-PROXYID BY PROXYID.
01 COPY NOTIFYSTRUCTUREDPROXYPUSHCON IN COSEVENTCOMM REPLACING COSNOTIFYCHANNELADMIN-STRUCTUR BY STRPROXYPUSHCON.
01 COPY CURRENT IN COSTRANSACTIONS REPLACING COSTRANSACTIONS-CURRENT BY CURRENT-OBJ.
01 COPY CLIENTTYPE IN COSEVENTCOMM REPLACING COSNOTIFYCHANNELADMIN-CLIENTTY BY CLTYPE.
01 COPY BOOLEAN IN CORBA REPLACING CORBA-BOOLEAN BY REPORT-HEURISTICS.
01 COPY ENVIRONMENT IN CORBA REPLACING CORBA-ENVIRONMENT BY ENV.
CALL "COSNOTIFYCHANNELADMIN-EVENTCHANNEL--GET-DEFAULT-SUPPLIER-ADMIN" USING
EVENT-CHNL
ENV
ADMIN-SUPP. /* 1 */
SET COSNOTIFYCHANNELADMIN-STRUCTUR OF CLTYPE TO TRUE.
CALL "COSNOTIFYCHANNELADMIN-SUPPLIERADMIN-OBTAIN-NOTIFICATION-PUSH-CONSUMER" USING
ADMIN-SUPP
CLTYPE
PROXYID
ENV
STRPROXYPUSHCON. /* 2 */
CALL "COSNOTIFYCHANNELADMIN-STRUCTUREDPROXYPUSHCONSUMER-CONNECT-STRUCTURED-PUSH-SUPPLIER" USING
STRPROXYPUSHCON
CORBA-OBJECT-NIL
ENV. /* 3 */
CALL "COSTRANSACTIONS-CURRENT-BEGIN" USING
CURRENT-OBJ
ENV. /* 4 */
CALL "COSNOTIFYCHANNELADMIN-STRUCTUREDPROXYPUSHCONSUMER-PUSH-STRUCTURED-EVENT" USING
STRPROXYPUSHCON
STREVENT
ENV. /* 5 */
MOVE CORBA-TRUE TO REPORT-HEURISTICS.
CALL "COSTRANSACTIONS-CURRENT-COMMIT" USING
CURRENT-OBJ
REPORT-HEURISTICS
ENV. /* 6 */
CALL "COSNOTIFYCHANNELADMIN-STRUCTUREDPROXYPUSHCONSUMER-DISCONNECT-STRUCTURED-PUSH-CONSUMER" USING
STRPROXYPUSHCON
ENV. /* 7 */イベントチャネル管理オブジェクトのオブジェクトリファレンスを獲得します。
イベントチャネルのオブジェクトリファレンスを獲得します。
イベントチャネルと接続します。
グローバルトランザクションを開始します。
イベントチャネルにイベントデータを送信します。
グローバルトランザクションを完了します。
イベントチャネルと切断します。
接続するイベントチャネルのオブジェクトリファレンスを不揮発媒体に保存している場合、1、2、3、7の処理は不要となります。
[COBOLによるMixedモデルのグローバルトランザクションのコンシューマ]
01 COPY NOTIFYEVENTCHANNEL IN COSEVENTCOMM REPLACING COSNOTIFYCHANNELADMIN-EVENTCHA BY EVENT-CHNL.
01 COPY NOTIFYCONSUMERADMIN IN COSEVENTCOMM REPLACING COSNOTIFYCHANNELADMIN-CONSUMER BY ADMIN-CON.
01 COPY NOTIFYCHNLADMIN-PROXYID IN COSEVENTCOMM REPLACING COSNOTIFYCHANNELADMIN-PROXYID BY PROXYID.
01 COPY NOTIFYSTRUCTUREDPROXYPULLSUP IN COSEVENTCOMM REPLACING COSNOTIFYCHANNELADMIN-STRUC001 BY STRPROXYPULLSUP.
01 COPY CURRENT IN COSTRANSACTIONS REPLACING COSTRANSACTIONS-CURRENT BY CURRENT-OBJ.
01 COPY CLIENTTYPE IN COSEVENTCOMM REPLACING COSNOTIFYCHANNELADMIN-CLIENTTY BY CLTYPE.
01 COPY BOOLEAN IN CORBA REPLACING CORBA-BOOLEAN BY REPORT-HEURISTICS.
01 COPY ENVIRONMENT IN CORBA REPLACING CORBA-ENVIRONMENT BY ENV.
CALL "COSNOTIFYCHANNELADMIN-EVENTCHANNEL--GET-DEFAULT-CONSUMER-ADMIN" USING
EVENT-CHNL
ENV
ADMIN-CON. /* 1 */
SET COSNOTIFYCHANNELADMIN-STRUCTUR OF CLTYPE TO TRUE.
CALL "COSNOTIFYCHANNELADMIN-CONSUMERADMIN-OBTAIN-NOTIFICATION-PULL-SUPPLIER" USING
ADMIN-CON
CLTYPE
PROXYID
ENV
STRPROXYPULLSUP. /* 2 */
CALL "COSNOTIFYCHANNELADMIN-STRUCTUREDPROXYPULLSUPPLIER-CONNECT-STRUCTURED-PULL-CONSUMER" USING
STRPROXYPULLSUP
CORBA-OBJECT-NIL
ENV. /* 3 */
CALL "COSTRANSACTIONS-CURRENT-BEGIN" USING
CURRENT-OBJ
ENV. /* 4 */
CALL "COSNOTIFYCHANNELADMIN-STRUCTUREDPROXYPULLSUPPLIER-PULL-STRUCTURED-EVENT" USING
STRPROXYPULLSUP
ENV
RECV. /* 5 */
MOVE CORBA-TRUE TO REPORT-HEURISTICS.
CALL "COSTRANSACTIONS-CURRENT-COMMIT" USING
CURRENT-OBJ
REPORT-HEURISTICS
ENV. /* 6 */
CALL "COSNOTIFYCHANNELADMIN-STRUCTUREDPROXYPULLSUPPLIER-DISCONNECT-STRUCTURED-PULL-SUPPLIER" USING
STRPROXYPULLSUP
ENV. /* 7 */イベントチャネル管理オブジェクトのオブジェクトリファレンスを獲得します。
イベントチャネルのオブジェクトリファレンスを獲得します。
イベントチャネルと接続します。
グローバルトランザクションを開始します。
イベントチャネルにイベントデータを受信します。
グローバルトランザクションを完了します。
イベントチャネルと切断します。
接続するイベントチャネルのオブジェクトリファレンスを不揮発媒体に保存している場合、1、2、3、7の処理は不要となります。