45 lines
1.5 KiB
XML
45 lines
1.5 KiB
XML
<?xml version="1.0" encoding='UTF-8'?>
|
|
<Package>
|
|
|
|
<!-- 检查卡片余额合法性 -->
|
|
<Function name="CheckSubacBal">
|
|
<Input>INP_DAT|GWA|</Input>
|
|
<Output>MSG_CD|</Output>
|
|
<process>
|
|
|
|
<Set>MSG_CD=LPS00000</Set>
|
|
<Set>CRD_BAL=$INP_DAT.CRD_BAL</Set> <!-- 金额格式化 -->
|
|
|
|
<!--查询平台记录卡片余额-->
|
|
<Set>CRD_QPB.SUB_AC=$INP_DAT.SUB_AC</Set>
|
|
<Set>CRD_QPB.CAP_TYP=1</Set>
|
|
<Exec func="ACM_MNG:QueryPurseBalance">
|
|
<Arg name="_I_GWA" value="GWA"/>
|
|
<Arg name="_I_INP_DAT" value="CRD_QPB"/>
|
|
<Arg name="_O_OUT_DAT" value="CRD_QPB_OUT"/>
|
|
</Exec>
|
|
<If condition="NOT(IS_SUCC(@O.MSG_CD))">
|
|
<Exec func="PUB:GWASetMsg">
|
|
<Arg name="MsgCd" value="@O.MSG_CD"/>
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
<!--平台记录余额小于卡片余额不允许换卡 -->
|
|
<If condition="DOUBLECMP(FSUB(@O.CRD_QPB_OUT.CUR_AC_BAL,@O.CRD_QPB_OUT.UAVA_BAL,2),1,$CRD_BAL)">
|
|
<Exec func="PUB:CmpSetMsg">
|
|
<Arg name="MsgCd" value="LPS81029"/>
|
|
<Arg name="MsgDat" value="卡片余额大于平台余额"/>
|
|
</Exec>
|
|
<Return/>
|
|
</If>
|
|
|
|
<Exec func="PUB:CmpSetMsg">
|
|
<Arg name="MsgCd" value="LPS00000"/>
|
|
<Arg name="MsgDat" value="卡片金额合法"/>
|
|
</Exec>
|
|
|
|
</process>
|
|
</Function>
|
|
</Package>
|
|
|