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