Files
2021-01-12 22:04:24 +08:00

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>