93 lines
2.8 KiB
XML
93 lines
2.8 KiB
XML
<?xml version='1.0' encoding='UTF-8'?>
|
|
<Root>
|
|
<!--发送成功响应处理-->
|
|
<!--
|
|
必需输入域:Receiver|MSG_NO|
|
|
选择输入域:
|
|
正常输出域:MSG_TYP|RSP_CD|
|
|
出错输出域:RSP_CD|
|
|
-->
|
|
|
|
<Transaction code="SuccReply">
|
|
<DynSentence name="upd2"><!--成功-->
|
|
<Sentence>
|
|
UPDATE pubsndjnl SET STS='2' WHERE MSG_NO='%s' and receiver='%s'
|
|
</Sentence>
|
|
<Fields>MSG_NO|receiver|</Fields>
|
|
</DynSentence>
|
|
<DynSentence name="GetPUBLISHER"><!--查询发布者和消息-->
|
|
<Sentence>
|
|
SELECT MESSAGE, PUBLISHER FROM pubmsgjnl WHERE MSG_NO='%s'
|
|
</Sentence>
|
|
<Fields>MSG_NO|</Fields>
|
|
</DynSentence>
|
|
<DynSentence name="GetRESPONSE"><!--查询发布者是否需要回应-->
|
|
<Sentence>
|
|
SELECT TYPE, RESPONSE, RSP_TYP, ADDR, PARA FROM pubpuber WHERE
|
|
NAME='%s'
|
|
</Sentence>
|
|
<Fields>PUBLISHER|</Fields>
|
|
</DynSentence>
|
|
<FlowCtrl>
|
|
<Exec func="PUB:ExecSql" error="IGNORE">
|
|
<Arg name="SqlCmd" value="upd2" />
|
|
</Exec>
|
|
<If condition="~RetCod=2">
|
|
<Set>RSP_CD=980005</Set>
|
|
<Return />
|
|
</If>
|
|
|
|
<Exec func="PUB:ReadRecord" error="IGNORE">
|
|
<Arg name="SqlCmd" value="GetPUBLISHER" />
|
|
</Exec>
|
|
<If condition="~RetCod=2">
|
|
<Set>RSP_CD=980005</Set>
|
|
<Return />
|
|
</If>
|
|
|
|
<Exec func="PUB:ReadRecord" error="IGNORE">
|
|
<Arg name="SqlCmd" value="GetRESPONSE" />
|
|
</Exec>
|
|
<If condition="~RetCod=2">
|
|
<Set>RSP_CD=980005</Set>
|
|
<Return />
|
|
</If>
|
|
|
|
<If condition="INTCMP($RESPONSE,3,1)=1">
|
|
<If condition="INTCMP($RSP_TYP,3,0)=1">
|
|
<Set>Service=$Addr</Set>
|
|
</If>
|
|
<Else>
|
|
<Exec func="PUB:CodeSwitching">
|
|
<Arg name="DatSrc" value="TRACSW" />
|
|
<Arg name="SourNam" value="RCV_TYP" />
|
|
<Arg name="DestNam" value="Service" />
|
|
<Arg name="TblNam" value="RcvTyp2Service" />
|
|
</Exec>
|
|
<If condition="~RetCod!=0">
|
|
<Set>RSP_CD=980006</Set>
|
|
<Return />
|
|
</If>
|
|
</Else>
|
|
|
|
<If condition="INTCMP($RSP_TYP,3,3)=1">
|
|
<Set>@MSG.OIP=GETWORDDELIMITER($Addr,|,1)</Set>
|
|
<Set>@MSG.OPT=GETWORDDELIMITER($Addr,|,2)</Set>
|
|
</If>
|
|
|
|
<Set>REMARK=STRCAT(消息 [,$MESSAGE,] 成功发送至 [,$Receiver,])</Set>
|
|
|
|
<Exec func="PUB:InvokeService" error="IGNORE">
|
|
<Arg name="ServiceName" value="$Service" />
|
|
<Arg name='Mode' value='ASYNC' />
|
|
<Arg name="LogID" value="S.TRASVR" />
|
|
</Exec>
|
|
|
|
</If>
|
|
|
|
<Set>MSG_TYP=N</Set>
|
|
<Set>RSP_CD=000000</Set>
|
|
</FlowCtrl>
|
|
</Transaction>
|
|
</Root>
|