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

101 lines
3.6 KiB
XML

<?xml version='1.0' encoding='UTF-8'?>
<Application name="lps" code="010" trace="yes">
<!--撤销贴片卡待补登记录-->
<Transaction code="2142046" log_switch='1'>
<!-- 查解冻主账户所需要的信息 -->
<DynSentence name="QRY_LPSTWEMK_REC">
<Sentence>
select HLD_NO,TX_AMT,MAIN_AC,MBL_NO from LPSTWEMK where JRN_NO=? for update
</Sentence>
<Fields>JRN_NO</Fields>
</DynSentence>
<!-- 更新补登表里的对应记录的状态字段 -->
<DynSentence name="UPD_LPSTWEMK_REC">
<Sentence>
update LPSTWEMK set PROC_RSL='F' where JRN_NO=?
</Sentence>
<Fields>JRN_NO</Fields>
</DynSentence>
<FlowCtrl>
<!-- 查询待补登记录 -->
<Exec func="PUB:ReadRecord" error="IGNORE">
<Arg name="SqlCmd" value="QRY_LPSTWEMK_REC"/>
</Exec>
<If condition="~RetCod=-1">
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="LPS00001"/>
</Exec>
<Return/>
</If>
<If condition="~RetCod=2">
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="LPS77001"/>
</Exec>
<Return/>
</If>
<!-- 检查用户状态 -->
<Set>INP_DAT.MBLNO_OR_LOGID=$MBL_NO</Set>
<Set>INP_DAT.TX_CD=$GWA.TX_CD</Set>
<Call package="URM" function="CHK_USER_STS">
<Input>INP_DAT</Input>
<Output>OUT_DAT|MSG_CD</Output>
</Call>
<If condition="IS_SUCC(@O.MSG_CD)=0">
<Exec func="PUB:GWAAddMsg">
<Arg name="MsgCd" value="@O.MSG_CD"/>
<Arg name="MsgDat" value="支付账户没有开通或账户状态异常"/>
</Exec>
<Return/>
</If>
<!-- 解冻主账户资金 -->
<Set>INP_DAT.AC_NO=$MAIN_AC</Set>
<Set>INP_DAT.ORD_NO=$GWA.JRN_NO</Set>
<Set>INP_DAT.ORD_TYP=07</Set>
<Set>INP_DAT.HLD_NO=$HLD_NO</Set>
<Set>INP_DAT.HLD_CD=BD</Set> <!-- 待补登记录 -->
<Set>INP_DAT.CAP_TYP=1</Set> <!-- 资金种类:现金 -->
<Set>INP_DAT.UN_HLD_AMT=$TX_AMT</Set>
<Set>INP_DAT.PAY_FLG=N</Set> <!-- 非预授权撤销 -->
<Set>INP_DAT.TX_CD=$GWA.TX_CD</Set> <!-- 交易码 -->
<Set>INP_DAT.TX_TYP=07</Set>
<Set>INP_DAT.BUS_TYP=HBD1</Set>
<Exec func="ACM:UnHoldAccount">
<Arg name="_I_GWA" value="GWA"/>
<Arg name="_I_INP_DAT" value="INP_DAT"/>
<Arg name="_O_OUT_DAT" value="OUT_DAT"/>
</Exec>
<If condition="NOT(IS_SUCC(@O.MSG_CD))">
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="@O.MSG_CD" />
<Arg name="MsgDat" value="解冻主账户的未补登记录失败"/>
</Exec>
<Return/>
</If>
<!-- 解冻组件成功返回,更新数据表记录状态 -->
<Exec func="PUB:ExecSql" error="IGNORE">
<Arg name="SqlCmd" value="UPD_LPSTWEMK_REC"/>
</Exec>
<If condition="~RetCod!=0">
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="LPS00001"/>
<Arg name="MsgDat" value="数据库操作错误"/>
</Exec>
<Return/>
</If>
<!--交易成功-->
<Exec func="PUB:GWASetMsg">
<Arg name="MsgCd" value="LPS00000"/>
</Exec>
</FlowCtrl>
</Transaction>
</Application>