110 lines
4.0 KiB
XML
110 lines
4.0 KiB
XML
<?xml version='1.0' encoding='UTF-8'?>
|
|
<Application name="SMS" code="403" trace="yes">
|
|
|
|
<!-- STK存储转发短信下发 -->
|
|
<Transaction code="2130003" log_switch="1" >
|
|
|
|
<!--DynSentence name="QRY_LPSTSFIF_INF">
|
|
<Sentence>
|
|
SELECT MBL_NO,CMD_CD,SUB_CMD_CD,TXN_DAT BK_TXN_DAT,SUB_AC
|
|
FROM LPSTSFIF
|
|
WHERE SF_STS='U'
|
|
AND RPT_CNT < MAX_RPT_CNT
|
|
AND CAST(RPT_DLY_TM AS NUMBER(20)) < (CAST(to_char(SYSDATE,'yyyymmddhhmiss') AS NUMBER(20))-CAST(TM_SMP AS NUMBER(20)))
|
|
</Sentence>
|
|
<Fields>|</Fields>
|
|
</DynSentence-->
|
|
|
|
<DynSentence name="QRY_LPSTSFIF_INF"> <!--筛选未处理的存储转发记录-->
|
|
<Sentence>
|
|
SELECT MBL_NO,CMD_CD,SUB_CMD_CD,TXN_DAT BK_TXN_DAT,SUB_AC,RPT_DLY_TM,TM_SMP
|
|
FROM LPSTSFIF
|
|
WHERE SF_STS='U'
|
|
AND RPT_CNT < MAX_RPT_CNT
|
|
</Sentence>
|
|
<Fields>|</Fields>
|
|
</DynSentence>
|
|
|
|
<DynSentence name="UPD_LPSTSFIF_RPTCNT"> <!-- 更新记录处理次数 -->
|
|
<Sentence>
|
|
UPDATE LPSTSFIF
|
|
SET RPT_CNT=CAST(CAST(RPT_CNT as smallint)+1 as char(1)),LAST_UPD_DT=?,LAST_UPD_TM=?
|
|
WHERE MBL_NO=? AND CMD_CD=? AND SUB_CMD_CD=? AND SUB_AC=?
|
|
</Sentence>
|
|
<Fields>GWA.TX_DT|GWA.TX_TM|MBL_NO|CMD_CD|SUB_CMD_CD|SUB_AC|</Fields>
|
|
</DynSentence>
|
|
|
|
<FlowCtrl>
|
|
<Set>GWA.SYS_CNL=SYS</Set>
|
|
<Set>GWA.BUS_CNL=SYS</Set>
|
|
|
|
<!-- 取待处理的存储转发记录 -->
|
|
<Exec func="PUB:OpenCursor" error="IGNORE">
|
|
<Arg name="SqlCmd" value="QRY_LPSTSFIF_INF"/>
|
|
<Arg name="CursorName" value="CURSOR_1"/>
|
|
</Exec>
|
|
<If condition="~RetCod=-1">
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="LPS00001"/>
|
|
<Arg name="MsgDat" value="数据库操作错误"/>
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
|
|
<While>
|
|
<Exec func="PUB:FetchCursor" error="IGNORE"/>
|
|
<If condition="~RetCod=2">
|
|
<Exec func="PUB:CloseCursor"/>
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="LPS00000"/>
|
|
<Arg name="MsgDat" value="无待处理的记录"/>
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
<ElseIf condition="~RetCod!=0">
|
|
<Exec func="PUB:CloseCursor"/>
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="LPS00001"/>
|
|
<Arg name="MsgDat" value="数据库操作错误"/>
|
|
</Exec>
|
|
<Return/>
|
|
</ElseIf>
|
|
<Set>FTX_TM=GETDATETIME()</Set>
|
|
<If condition="INTCMP(SUB(GETSECOND($FTX_TM),GETSECOND($TM_SMP)),1,$RPT_DLY_TM)=1">
|
|
<Continue/>
|
|
</If>
|
|
|
|
<!-- 下发数字短信 -->
|
|
<Set>TTXN_COD=SMS4032050</Set>
|
|
<Set>SMS_CD=LPS800</Set>
|
|
<Set>SMS_CNL=LPS</Set>
|
|
<Set>MSG_CD=LPS00000</Set>
|
|
|
|
<!--异步发送短信-->
|
|
<Exec func="PUB:InvokeService" error="IGNORE">
|
|
<Arg name="ServiceName" value="2130001"/>
|
|
<Arg name="ObjSvr" value="OLPSPUB1"/>
|
|
<Arg name="Mode" value="NOTIFY"/>
|
|
<Arg name="LogID" value="2130001"/>
|
|
</Exec>
|
|
|
|
<!--更新记录状态处理次数-->
|
|
<Exec func="PUB:ExecSql" error="IGNORE">
|
|
<Arg name="SqlCmd" value="UPD_LPSTSFIF_RPTCNT"/>
|
|
</Exec>
|
|
<If condition="~RetCod!=0">
|
|
<Continue/>
|
|
</If>
|
|
<Exec func="PUB:CommitWork"/>
|
|
</While>
|
|
|
|
<Exec func="PUB:CloseCursor"/>
|
|
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="LPS00000"/>
|
|
</Exec>
|
|
|
|
</FlowCtrl>
|
|
</Transaction>
|
|
|
|
</Application> |