862 lines
43 KiB
XML
862 lines
43 KiB
XML
<?xml version='1.0' encoding='UTF-8'?>
|
||
|
||
<Application name="CAP" trace="yes">
|
||
<Transaction code="spdb_check" log_switch="1" desc="浦发对账主交易">
|
||
<Function name="_before">
|
||
<Process>
|
||
<Set>CK_LOCK=CAP_SPDBCK_LOCK</Set>
|
||
<!-- 应用加锁,防止并发 -->
|
||
<Exec func="PUB:Lock" error="IGNORE">
|
||
<Arg name="RecKey" value="$CK_LOCK" />
|
||
<Arg name="TimOut" value="300" />
|
||
<Arg name="AutoUnlock" value="Yes" />
|
||
</Exec>
|
||
<If condition="~RetCod!=0">
|
||
<Set>Rsp_Msg=加锁失败 </Set>
|
||
<Return />
|
||
</If>
|
||
</Process>
|
||
</Function>
|
||
<Function name="_after">
|
||
<Process>
|
||
<!-- 解锁处理 -->
|
||
<Exec func="PUB:UnLock">
|
||
<Arg name="RecKey" value="$CK_LOCK" />
|
||
</Exec>
|
||
</Process>
|
||
</Function>
|
||
|
||
<DynSentence name="QRY_PWMTCKCT"><!-- 对账总控表查询 -->
|
||
<Sentence>
|
||
SELECT CHK_FIL_STS AS CHK_STS
|
||
FROM PWMTCKCT
|
||
WHERE COP_BUS_TYP = ? AND
|
||
RUT_CORG = ? AND
|
||
CHK_FIL_DT = ?
|
||
</Sentence>
|
||
<Fields>BUS_TYP|RUT_CORG|CHK_FIL_DT|</Fields>
|
||
</DynSentence>
|
||
<DynSentence name="DEL_PWMTCKCT"><!-- 删除总控表中记录 -->
|
||
<Sentence>
|
||
DELETE
|
||
FROM PWMTCKCT
|
||
WHERE RUT_CORG = ? AND
|
||
CHK_FIL_DT = ? AND
|
||
COP_BUS_TYP = ?
|
||
</Sentence>
|
||
<Fields>RUT_CORG|CHK_FIL_DT|BUS_TYP|</Fields>
|
||
</DynSentence>
|
||
<DynSentence name="DEL_CAPCHKSPDB"><!-- 清空对账文件记录表 -->
|
||
<Sentence>
|
||
DELETE
|
||
FROM CAPCHKSPDB
|
||
</Sentence>
|
||
</DynSentence>
|
||
<DynSentence name="UPD_PWMTCKCT_STS"><!-- 更新总控表中对账状态 -->
|
||
<Sentence>
|
||
UPDATE PWMTCKCT
|
||
SET CHK_FIL_STS = ? ,
|
||
CHK_END_TM = ?
|
||
WHERE CHK_BAT_NO = ?
|
||
</Sentence>
|
||
<Fields>CHK_FIL_STS|CHK_END_TM|CHK_BAT_NO|</Fields>
|
||
</DynSentence>
|
||
<!-- 更新状态:1-对账成功 -->
|
||
<DynSentence name="UPD_CAPTXNJNL_MCH"><!-- 更新 T、T-1、T+1 日我方对账成功的流水记录的对账状态 -->
|
||
<Sentence>
|
||
UPDATE CAPTXNJNL a
|
||
SET a.CHK_STS = '1'
|
||
WHERE a.AC_DT >= ? AND
|
||
a.CHK_STS = '0' AND
|
||
a.TXN_MOD = '99' AND
|
||
a.CORG_NO = ? AND
|
||
a.TXN_STS IN ( 'S' , 'T' ) AND
|
||
a.ORD_TYP = ? AND
|
||
EXISTS ( SELECT 1
|
||
FROM CAPCHKSPDB b
|
||
WHERE b.JRN_NO = a.JRN_NO AND
|
||
b.TAC_NO = a.CRD_NO AND
|
||
b.TxType = a.ORD_TYP AND
|
||
b.AMOUNT = a.TXN_AMT
|
||
)
|
||
</Sentence>
|
||
<Fields>CHK_DT_YED|RUT_CORG|BUS_TYP|</Fields>
|
||
</DynSentence>
|
||
<DynSentence name="UPD_CAPCHKSPDB_MCH"><!-- 更新 T 日对方对账成功的流水记录的对账状态 -->
|
||
<Sentence>
|
||
UPDATE CAPCHKSPDB a
|
||
SET a.CHK_STS = '1'
|
||
WHERE a.TxType = ? AND
|
||
EXISTS ( SELECT 1
|
||
FROM CAPTXNJNL b
|
||
WHERE b.AC_DT >= ? AND
|
||
b.TXN_MOD = '99' AND
|
||
b.CHK_STS = '1' AND
|
||
b.CORG_NO = ? AND
|
||
b.TXN_STS IN ( 'S' , 'T' ) AND
|
||
b.ORD_TYP = a.TxType AND
|
||
b.JRN_NO = a.JRN_NO
|
||
)
|
||
</Sentence>
|
||
<Fields>BUS_TYP|CHK_DT_YED|RUT_CORG|</Fields>
|
||
</DynSentence>
|
||
|
||
<!-- 入差错表:4-关键信息不符 -->
|
||
<DynSentence name="INS_CAPTXNJNL_ERR"><!-- T-1、T 和 T+1 日我方关键信息不符的流水记录入差错表 -->
|
||
<Sentence>
|
||
INSERT INTO PWMTCKER ( RUT_CORG , COP_BUS_TYP , ERR_KEY_ID , CHK_ERR_DT ,
|
||
CHK_ERR_TM , CHK_BAT_NO , TX_CD , CHK_TYP ,
|
||
CHK_ERR_TYP , ERR_STS , PAY_TX_AMT , OLD_TX_DT ,
|
||
OLD_JRN_NO , OLD_ORD_NO , OLD_CORG_KEY
|
||
)
|
||
SELECT ? AS RUT_CORG , ORD_TYP AS COP_BUS_TYP , 'LCL' || CAP_ORD_NO AS ERR_KEY_ID ,
|
||
? AS CHK_ERR_DT , ? AS CHK_ERR_TM , ? AS CHK_BAT_NO ,
|
||
? AS TX_CD , '1' AS CHK_TYP , '4' AS CHK_ERR_TYP , '0' AS ERR_STS ,
|
||
TXN_AMT AS PAY_TX_AMT , AC_DT AS OLD_TX_DT , JRN_NO AS OLD_JRN_NO ,
|
||
CAP_ORD_NO AS OLD_ORD_NO , CAP_ORD_NO AS OLD_CORG_KEY
|
||
FROM CAPTXNJNL
|
||
WHERE AC_DT >= ? AND
|
||
CHK_STS = '0' AND
|
||
TXN_MOD = '99' AND
|
||
CORG_NO = ? AND
|
||
TXN_STS IN ( 'S' , 'T' ) AND
|
||
ORD_TYP = ? AND
|
||
JRN_NO IN ( SELECT JRN_NO
|
||
FROM CAPCHKSPDB
|
||
WHERE CHK_STS = '0' AND
|
||
TxType = ?
|
||
)
|
||
</Sentence>
|
||
<Fields>RUT_CORG|CHK_ERR_DT|CHK_ERR_TM|CHK_BAT_NO|TX_CD|CHK_DT_YED|RUT_CORG|BUS_TYP|BUS_TYP|</Fields>
|
||
</DynSentence>
|
||
<!-- 统计:存疑转差错 -->
|
||
<DynSentence name="CNT_CHKSPDB_DBTERR"><!-- 统计 T-1 日我方存疑转差错的流水记录总金额及总笔数 -->
|
||
<Sentence>
|
||
SELECT COUNT( * ) AS SUM_DBTERR_CNT ,
|
||
NVL( SUM( TXN_AMT ) , 0 ) AS SUM_DBTERR_AMT
|
||
FROM CAPTXNJNL
|
||
WHERE AC_DT = ? AND
|
||
CHK_STS = '0' AND
|
||
TXN_MOD = '99' AND
|
||
CORG_NO = ? AND
|
||
TXN_STS IN ( 'S' , 'T' ) AND
|
||
ORD_TYP = ?
|
||
</Sentence>
|
||
<Fields>CHK_DT_YED|RUT_CORG|BUS_TYP|</Fields>
|
||
</DynSentence>
|
||
<!-- 统计:关键信息不符 -->
|
||
<DynSentence name="CNT_CAPTXNJNL_ERR"><!-- 统计 T、T-1、T+1 日我方关键信息不符的流水记录的总金额及总笔数 -->
|
||
<Sentence>
|
||
SELECT COUNT( * ) AS SUM_ERR_CNT ,
|
||
NVL( SUM( TXN_AMT ) , 0 ) AS SUM_ERR_AMT
|
||
FROM CAPTXNJNL
|
||
WHERE AC_DT >= ? AND
|
||
CHK_STS = '0' AND
|
||
TXN_MOD = '99' AND
|
||
CORG_NO = ? AND
|
||
TXN_STS IN ( 'S' , 'T' ) AND
|
||
ORD_TYP = ? AND
|
||
JRN_NO IN ( SELECT JRN_NO
|
||
FROM CAPCHKSPDB
|
||
WHERE CHK_STS = '0' AND
|
||
TxType = ?
|
||
)
|
||
</Sentence>
|
||
<Fields>CHK_DT_YED|RUT_CORG|BUS_TYP|BUS_TYP|</Fields>
|
||
</DynSentence>
|
||
<!-- 更新状态:4-关键信息不符 -->
|
||
<DynSentence name="UPD_CAPTXNJNL_ERR"><!-- 更新 T、T-1、T+1 日我方关键信息不符的流水记录的对账状态 -->
|
||
<Sentence>
|
||
UPDATE CAPTXNJNL
|
||
SET CHK_STS = '4'
|
||
WHERE AC_DT >= ? AND
|
||
CHK_STS = '0' AND
|
||
TXN_MOD = '99' AND
|
||
CORG_NO = ? AND
|
||
TXN_STS IN ( 'S' , 'T' ) AND
|
||
ORD_TYP = ? AND
|
||
JRN_NO IN ( SELECT JRN_NO
|
||
FROM CAPCHKSPDB
|
||
WHERE CHK_STS = '0' AND
|
||
TxType = ?
|
||
)
|
||
</Sentence>
|
||
<Fields>CHK_DT_YED|RUT_CORG|BUS_TYP|BUS_TYP|</Fields>
|
||
</DynSentence>
|
||
<DynSentence name="UPD_CAPCHKSPDB_ERR"><!-- 更新 T 日对方关键信息不符的流水记录的对账状态 -->
|
||
<Sentence>
|
||
UPDATE CAPCHKSPDB a
|
||
SET a.CHK_STS = '4'
|
||
WHERE TxType = ? AND
|
||
EXISTS ( SELECT 1
|
||
FROM CAPTXNJNL b
|
||
WHERE b.AC_DT >= ? AND
|
||
b.TXN_MOD = '99' AND
|
||
b.CHK_STS = '4' AND
|
||
b.CORG_NO = ? AND
|
||
b.ORD_TYP = a.TxType AND
|
||
b.TXN_STS IN ( 'S' , 'T' ) AND
|
||
b.JRN_NO = a.JRN_NO
|
||
)
|
||
</Sentence>
|
||
<Fields>BUS_TYP|CHK_DT_YED|RUT_CORG|</Fields>
|
||
</DynSentence>
|
||
<!-- 入差错表[我方]:2-我方有对方无 -->
|
||
<DynSentence name="INS_CAPTXNJNL_MOR"><!-- T-1 日我方有对方无的流水记录入差错表 -->
|
||
<Sentence>
|
||
INSERT INTO PWMTCKER ( RUT_CORG , COP_BUS_TYP , ERR_KEY_ID , CHK_ERR_DT ,
|
||
CHK_ERR_TM , CHK_BAT_NO , TX_CD , CHK_TYP ,
|
||
CHK_ERR_TYP , ERR_STS , PAY_TX_AMT , OLD_TX_DT ,
|
||
OLD_JRN_NO , OLD_ORD_NO , OLD_CORG_KEY
|
||
)
|
||
SELECT ? AS RUT_CORG , ORD_TYP AS COP_BUS_TYP , 'LCL' || CAP_ORD_NO AS ERR_KEY_ID ,
|
||
? AS CHK_ERR_DT , ? AS CHK_ERR_TM , ? AS CHK_BAT_NO , ? AS TX_CD , '1' AS CHK_TYP ,
|
||
CASE ORD_TYP WHEN '11' THEN '3' ELSE '2' END AS CHK_ERR_TYP , '0' AS ERR_STS ,
|
||
TXN_AMT AS PAY_TX_AMT , AC_DT AS OLD_TX_DT , JRN_NO AS OLD_JRN_NO ,
|
||
CAP_ORD_NO AS OLD_ORD_NO , CAP_ORD_NO AS OLD_CORG_KEY
|
||
FROM CAPTXNJNL
|
||
WHERE AC_DT = ? AND
|
||
CHK_STS = '0' AND
|
||
TXN_MOD = '99' AND
|
||
CORG_NO = ? AND
|
||
TXN_STS IN ( 'S' , 'T' ) AND
|
||
ORD_TYP = ?
|
||
</Sentence>
|
||
<Fields>RUT_CORG|CHK_ERR_DT|CHK_ERR_TM|CHK_BAT_NO|TX_CD|CHK_DT_YED|RUT_CORG|BUS_TYP|</Fields>
|
||
</DynSentence>
|
||
<!-- 入差错表[对方]:4-关键信息不符 2-对方有我方无 -->
|
||
<DynSentence name="INS_CAPCHKSPDB_NOSUC"><!-- T 日对方非成功对账的记录入差错表 -->
|
||
<Sentence>
|
||
INSERT INTO PWMTCKER ( RUT_CORG , COP_BUS_TYP , ERR_KEY_ID , CHK_ERR_DT ,
|
||
CHK_ERR_TM , CHK_BAT_NO , TX_CD , CHK_TYP ,
|
||
CHK_ERR_TYP , ERR_STS , FIL_TX_AMT
|
||
)
|
||
SELECT ? AS RUT_CORG , TxType AS COP_BUS_TYP , 'THD' || JRN_NO AS ERR_KEY_ID ,
|
||
? AS CHK_ERR_DT , ? AS CHK_ERR_TM , ? AS CHK_BAT_NO , ? AS TX_CD , '1' AS CHK_TYP ,
|
||
CASE WHEN CHK_STS='0' THEN
|
||
CASE WHEN TxType = '11' THEN '2' ELSE '3' END
|
||
WHEN CHK_STS='4' THEN '4' END AS CHK_ERR_TYP , '0' AS ERR_STS ,
|
||
AMOUNT AS FIL_TX_AMT
|
||
FROM CAPCHKSPDB
|
||
WHERE CHK_STS != '1' AND
|
||
TxType = ?
|
||
</Sentence>
|
||
<Fields>RUT_CORG|CHK_ERR_DT|CHK_ERR_TM|CHK_BAT_NO|TX_CD|BUS_TYP|</Fields>
|
||
</DynSentence>
|
||
<!-- 统计:我方有对方无 -->
|
||
<DynSentence name="CNT_CAPTXNJNL_LCLMOR"><!-- 统计 T、T-1 日我方有对方无的流水记录总金额及总笔数 -->
|
||
<Sentence>
|
||
SELECT COUNT( * ) AS SUM_LCLMOR_CNT ,
|
||
NVL( SUM( TXN_AMT ) , 0 ) AS SUM_LCLMOR_AMT
|
||
FROM CAPTXNJNL
|
||
WHERE TXN_MOD = '99' AND
|
||
CORG_NO = ? AND
|
||
TXN_STS IN ( 'S' , 'T' ) AND
|
||
ORD_TYP = ? AND
|
||
CHK_STS = '0' AND
|
||
AC_DT = ?
|
||
</Sentence>
|
||
<Fields>RUT_CORG|BUS_TYP|CHK_DT_YED|</Fields>
|
||
</DynSentence>
|
||
<!-- 更新对账状态:2-我方有对方无 -->
|
||
<DynSentence name="UPD_CAPTXNJNL_MOR"><!-- 更新 T-1 日我方有对方无的流水记录的对账状态 -->
|
||
<Sentence>
|
||
UPDATE CAPTXNJNL
|
||
SET CHK_STS = '2'
|
||
WHERE AC_DT = ? AND
|
||
TXN_MOD = '99' AND
|
||
CHK_STS = '0' AND
|
||
CORG_NO = ? AND
|
||
TXN_STS IN ( 'S' , 'T' ) AND
|
||
ORD_TYP = ?
|
||
</Sentence>
|
||
<Fields>CHK_DT_YED|RUT_CORG|BUS_TYP|</Fields>
|
||
</DynSentence>
|
||
<!-- 统计:存疑 -->
|
||
<DynSentence name="CNT_CHKSPDB_DOUBTAMT"><!-- 统计 T 日我方存疑的流水记录的总金额及总笔数 -->
|
||
<Sentence>
|
||
SELECT COUNT( * ) AS SUM_DOUBT_CNT ,
|
||
NVL( SUM( TXN_AMT ) , 0 ) AS SUM_DOUBT_AMT
|
||
FROM CAPTXNJNL
|
||
WHERE AC_DT = ? AND
|
||
TXN_MOD = '99' AND
|
||
CHK_STS = '0' AND
|
||
CORG_NO = ? AND
|
||
TXN_STS IN ( 'S' , 'T' ) AND
|
||
ORD_TYP = ?
|
||
</Sentence>
|
||
<Fields>CHK_FIL_DT|RUT_CORG|BUS_TYP|</Fields>
|
||
</DynSentence>
|
||
<!-- 统计:对方有我方无 -->
|
||
<DynSentence name="CNT_CAPCHKSPDB_THDMOR"><!-- 统计 T 日对方有我方无的流水记录的总金额及总笔数 -->
|
||
<Sentence>
|
||
SELECT COUNT( * ) AS SUM_THDMOR_CNT ,
|
||
NVL( SUM( AMOUNT ) , 0 ) AS SUM_THDMOR_AMT
|
||
FROM CAPCHKSPDB
|
||
WHERE CHK_STS = '0' AND
|
||
TxType = ?
|
||
</Sentence>
|
||
<Fields>BUS_TYP|</Fields>
|
||
</DynSentence>
|
||
<!-- 统计:对账文件 -->
|
||
<DynSentence name="CNT_CHKSPDB_TOTAMT"><!-- 统计对账文件的总金额及总笔数 -->
|
||
<Sentence>
|
||
SELECT COUNT( * ) AS SUM_FIL_CNT ,
|
||
NVL( SUM( AMOUNT ) , 0 ) AS SUM_FIL_AMT
|
||
FROM CAPCHKSPDB
|
||
WHERE TxType = ?
|
||
</Sentence>
|
||
<Fields>BUS_TYP|</Fields>
|
||
</DynSentence>
|
||
<!-- 统计:平帐 -->
|
||
<DynSentence name="CNT_CHKSPDB_MCHAMT"><!-- 统计平帐的流水记录的总金额及总笔数 -->
|
||
<Sentence>
|
||
SELECT COUNT( * ) AS SUM_MCH_CNT ,
|
||
NVL( SUM( AMOUNT ) , 0 ) AS SUM_MCH_AMT
|
||
FROM CAPCHKSPDB
|
||
WHERE CHK_STS = '1' AND
|
||
TxType = ?
|
||
</Sentence>
|
||
<Fields>BUS_TYP|</Fields>
|
||
</DynSentence>
|
||
<!-- 更新主控中统计 -->
|
||
<DynSentence name="UPD_PWMTCKCT_TOTAMT"><!-- 更新对账主控表中的统计金额及总笔数 -->
|
||
<Sentence>
|
||
UPDATE PWMTCKCT
|
||
SET FIL_TOT_AMT = ? , FIL_TOT_CNT = ? ,
|
||
TOT_MCH_AMT = ? , TOT_MCH_CNT = ? ,
|
||
ERR_TOT_AMT = ? , ERR_TOT_CNT = ? ,
|
||
LONG_AMT = ? , LONG_CNT = ? ,
|
||
SHORT_AMT = ? , SHORT_CNT = ? ,
|
||
DOUBT_AMT = ? , DOUBT_CNT = ? ,
|
||
DBT_ERR_AMT = ? , DBT_ERR_CNT = ? ,
|
||
CHK_FIL_STS = ? , CHK_END_TM = ?
|
||
WHERE CHK_BAT_NO = ?
|
||
</Sentence>
|
||
<Fields>FIL_TOT_AMT|FIL_TOT_CNT|TOT_MCH_AMT|TOT_MCH_CNT|ERR_TOT_AMT|ERR_TOT_CNT|LONG_AMT|LONG_CNT|SHORT_AMT|SHORT_CNT|DOUBT_AMT|DOUBT_CNT|DBT_ERR_AMT|DBT_ERR_CNT|CHK_FIL_STS|CHK_END_TM|CHK_BAT_NO|</Fields>
|
||
</DynSentence>
|
||
<!--查询出此银行对应的对账商户列表-->
|
||
<DynSentence name="QryCheckMerc">
|
||
<Sentence>
|
||
SELECT MERC_ID FROM CAPCHKMERC WHERE CORG_NO = 'SPDB'
|
||
</Sentence>
|
||
</DynSentence>
|
||
|
||
<!-- 根据商户号筛选临时表中的交易 -->
|
||
<DynSentence name="SCREEN_TEMP_SPDB">
|
||
<Sentence>
|
||
SELECT a.JRN_NO, b.MERC_ORD_NO, a.AMOUNT, b.CORG_FEE_AMT, b.ORD_DT, b.AC_DT, b.CORG_NO, b.TXN_STS, b.ORD_TYP, b.TXN_CNL
|
||
FROM CAPCHKSPDB a, CAPTXNJNL b
|
||
WHERE a.JRN_NO = b.JRN_NO AND a.AMOUNT = b.TXN_AMT AND b.CORG_NO = 'SPDB' AND b.MERC_ID = '%s'
|
||
AND (b.AC_DT >='%s')
|
||
AND (b.AC_DT <='%s')
|
||
AND (b.PAY_TYP ='%s')
|
||
AND (b.ORD_DT >='%s')
|
||
AND (b.ORD_DT <='%s')
|
||
</Sentence>
|
||
<Fields>MERC_ID|CHK_FIL_FDT|CHK_FIL_LDT|BUS_TYP|ORD_FIL_FDT|ORD_FIL_LDT</Fields>
|
||
</DynSentence>
|
||
<FlowCtrl>
|
||
<!-- 输入参数检查 -->
|
||
<Quote name="Input_Check" />
|
||
|
||
<!-- 交易初始化 -->
|
||
<Exec func="PUB:InitGWA" error="IGNORE" />
|
||
<If condition="~RetCod!=0">
|
||
<Set>Rsp_Msg=交易初始化失败 </Set>
|
||
<Return />
|
||
</If>
|
||
|
||
<Exec func="PUB:BeginWork" /><!-- 开始事务 -->
|
||
|
||
<!-- 变量初始化 -->
|
||
<If condition="ISNULL($CHK_DAT)">
|
||
<Set>CHK_FIL_DT=CALCDATE($GWA.AC_DT,-,d,1)</Set> <!-- 对账文件日期(T 日) -->
|
||
</If>
|
||
<Else>
|
||
<Set>CHK_FIL_DT=$CHK_DAT</Set> <!-- 对账文件日期(T 日) -->
|
||
</Else>
|
||
<Set>CHK_FIL_FDT=CALCDATE($CHK_FIL_DT,-,d,1)</Set> <!-- 对账日期前一日 -->
|
||
<Set>CHK_FIL_LDT=CALCDATE($CHK_FIL_DT,+,d,1)</Set> <!-- 对账日期后一日 -->
|
||
<Set>ORD_FIL_FDT=CALCDATE($CHK_FIL_DT,-,d,15)</Set> <!-- 对账日期前十五日 -->
|
||
<Set>ORD_FIL_LDT=CALCDATE($CHK_FIL_DT,+,d,15)</Set> <!-- 对账日期后十五日 -->
|
||
<Set>BUS_TYP=$BUS_TYP</Set> <!-- 业务类型 11:代收 12:代付 -->
|
||
<Set>RUT_CORG=SPDB</Set> <!-- 路径合作机构号 -->
|
||
<Set>CHK_BEG_TM=GETDATETIME(HHMISS)</Set> <!-- 对账开始时间 -->
|
||
<Set>CHK_DT_YED=CALCDATE($CHK_FIL_DT,-,d,1)</Set> <!-- T-1 日日期 -->
|
||
<Set>CHK_ERR_DT=$GWA.AC_DT</Set> <!-- 差错创建日期 -->
|
||
<Set>TX_CD=$GWA.TX_CD</Set> <!-- 交易码 -->
|
||
|
||
<!-- 查询对账总控表 -->
|
||
<Exec func="PUB:ReadRecord" error="IGNORE" desc="查询记录">
|
||
<Arg name="SqlCmd" value="QRY_PWMTCKCT" />
|
||
</Exec>
|
||
<If condition="~RetCod=0">
|
||
<If condition="INTCMP($CHK_STS,3,4)">
|
||
<!-- 已成功对账,退出交易 -->
|
||
<Set>Rsp_Msg=STRCAT([,$CHK_FIL_DT,],日已成功对账,交易退出 )</Set>
|
||
<Return />
|
||
</If>
|
||
<Else>
|
||
<Exec func="PUB:ExecSql" error="IGNORE" desc="删除记录">
|
||
<Arg name="SqlCmd" value="DEL_PWMTCKCT" />
|
||
</Exec>
|
||
<If condition="~RetCod!=0">
|
||
<Set>Rsp_Msg=删除对账主控表中记录失败 </Set>
|
||
<Return />
|
||
</If>
|
||
</Else>
|
||
</If>
|
||
<ElseIf condition="~RetCod=-1">
|
||
<Set>Rsp_Msg=查询对账总控表失败 </Set>
|
||
<Return />
|
||
</ElseIf>
|
||
<Quote name="SPDB_CFG"/> <!-- 获取浦发参数 -->
|
||
<!-- 对账文件路径设置 -->
|
||
<Set>FIL_NM=STRCAT($DSFNO,"_",$CHK_FIL_DT,".txt")</Set>
|
||
<Set>FIL_DIR=STRCAT(GETENV(HWORKDIR),/dat/cap/recv/SPDB/)</Set>
|
||
<Set>FIL_PATH=STRCAT($FIL_DIR,$FIL_NM)</Set>
|
||
|
||
<!-- 检查对账文件 -->
|
||
<Exec func="PUB:IsValidFile" error="IGNORE" desc="检查文件">
|
||
<Arg name="FileName" value="$FIL_PATH" />
|
||
</Exec>
|
||
<If condition="~RetCod!=0">
|
||
<Exec func="PUB:RollBackWork" />
|
||
<Set>Rsp_Msg=机构对账文件不存在 </Set>
|
||
<Return />
|
||
</If>
|
||
|
||
<!-- 获取用于组成对账批次号的序号 -->
|
||
<Exec func="PUB:GetUniqueNo" desc="获取序号">
|
||
<Arg name="Name" value="PWMSEQ" />
|
||
<Arg name="SeqNam" value="ck_sequence" />
|
||
<Arg name="Len" value="8" />
|
||
</Exec>
|
||
<If condition="~RetCod!=0">
|
||
<Exec func="PUB:RollBackWork" />
|
||
<Set>Rsp_Msg=获取批次号的序号失败 </Set>
|
||
<Return/>
|
||
</If>
|
||
<Set>CHK_BAT_NO=STRCAT($CHK_DAT,$PWMSEQ)</Set><!-- 对账批次号 -->
|
||
|
||
<!-- 登记对账总控表,对账状态为 1:文件已获取 -->
|
||
<Set>PWMTCKCT.CHK_BAT_NO=$CHK_BAT_NO</Set> <!-- 对账批次号 -->
|
||
<Set>PWMTCKCT.RUT_CORG=$RUT_CORG</Set> <!-- 路径合作机构号 -->
|
||
<Set>PWMTCKCT.COP_BUS_TYP=$BUS_TYP</Set> <!-- 合作业务类型 11:代收 12:代付 -->
|
||
<Set>PWMTCKCT.CHK_FIL_DT=$CHK_FIL_DT</Set> <!-- 路径合作机构对账文件日期 -->
|
||
<Set>PWMTCKCT.FIL_DT_SEQ=01</Set> <!-- 对账文件日期序号 -->
|
||
<Set>PWMTCKCT.CHK_FIL_NM=$FIL_NM</Set> <!-- 对账文件名称 -->
|
||
<Set>PWMTCKCT.FILE_RCV_DT=$GWA.AC_DT</Set> <!-- 对账文件获取日期 -->
|
||
<Set>PWMTCKCT.CHK_TYP=1</Set> <!-- 对账类型 -->
|
||
<Set>PWMTCKCT.CHK_BEG_TM=$CHK_BEG_TM</Set> <!-- 对账开始时间 -->
|
||
<Set>PWMTCKCT.CHK_END_TM=GETDATETIME(HHMISS)</Set> <!-- 对账结束时间 -->
|
||
<Set>PWMTCKCT.AC_DT=$GWA.AC_DT</Set> <!-- 会计日期 -->
|
||
<Set>PWMTCKCT.CHK_DT=$CHK_FIL_DT</Set> <!-- 对账日期 -->
|
||
<Set>PWMTCKCT.OTHER_INF=CAP1</Set> <!-- 用于存储类型 -->
|
||
<Set>PWMTCKCT.CHK_FIL_STS=1</Set> <!-- 对账状态 1:文件已获取 -->
|
||
<Set>PWMTCKCT.CHK_SRV=OCAPCHK1</Set> <!-- 服务名 -->
|
||
<Set>PWMTCKCT.CHK_TX_CD=$GWA.TX_CD</Set> <!-- 交易码 -->
|
||
<Set>PWMTCKCT.TM_SMP=GETDATETIME()</Set> <!-- 时间戳 -->
|
||
|
||
<Exec func="PUB:InsertRecord" error="IGNORE" desc="登记总控">
|
||
<Arg name="TblNam" value="PWMTCKCT" />
|
||
<Arg name="GrpNam" value="PWMTCKCT" />
|
||
</Exec>
|
||
<If condition="~RetCod!=0">
|
||
<Exec func="PUB:RollBackWork" />
|
||
<Set>Rsp_Msg=登记对账总控表失败 </Set>
|
||
<Return />
|
||
</If>
|
||
|
||
<!-- 清空对账文件记录表 -->
|
||
<Exec func="PUB:ExecSql" error="IGNORE" desc="删除记录">
|
||
<Arg name="SqlCmd" value="DEL_CAPCHKSPDB" />
|
||
</Exec>
|
||
<If condition="~RetCod=-1">
|
||
<Exec func="PUB:RollBackWork" /><!-- 回滚事务 -->
|
||
<Set>Rsp_Msg=清空对账文件记录表失败 </Set>
|
||
<Return />
|
||
</If>
|
||
|
||
<!-- 导入机构对账文件到数据库表 -->
|
||
<Exec func="PUB:ImportToDB" error="IGNORE" desc="导入文件">
|
||
<Arg name="FormatName" value="SPDBCHKFMT" />
|
||
<Arg name="FileName" value="$FIL_PATH" />
|
||
<Arg name="TableName" value="CAPCHKSPDB" />
|
||
</Exec>
|
||
<If condition="~RetCod=1">
|
||
<Exec func="PUB:RollBackWork" /><!-- 回滚事务 -->
|
||
<Set>Rsp_Msg=导入机构对账文件到数据库表失败-主键冲突 </Set>
|
||
<Return />
|
||
</If>
|
||
<ElseIf condition="~RetCod=-1">
|
||
<Exec func="PUB:RollBackWork" /><!-- 回滚事务 -->
|
||
<Set>Rsp_Msg=导入机构对账文件到数据库表失败 </Set>
|
||
<Return />
|
||
</ElseIf>
|
||
|
||
<!-- 新核心对账begin-->
|
||
<Exec func="PUB:OpenCursor" error="IGNORE">
|
||
<Arg name="SqlCmd" value="QryCheckMerc"/>
|
||
</Exec>
|
||
<If condition="~RetCod != 0">
|
||
<Set>Rsp_Cd=80</Set>
|
||
<Set>Rsp_Msg=打开游标失败</Set>
|
||
<Exec func="PUB:RollbackWork"/>
|
||
<Return/>
|
||
</If>
|
||
<While>
|
||
<Exec func="PUB:FetchCursor" error="IGNORE"/>
|
||
<If condition="~RetCod=2">
|
||
<Exec func="PUB:CloseCursor"/>
|
||
<Break/>
|
||
</If>
|
||
<ElseIf condition="~RetCod!=0">
|
||
<Set>Rsp_Cd=80</Set>
|
||
<Set>Rsp_Msg=循环游标失败</Set>
|
||
<Exec func="PUB:RollbackWork"/>
|
||
<Return/>
|
||
</ElseIf>
|
||
|
||
<Set>MERC_ID=$MERC_ID</Set>
|
||
<If condition="IS_EQUAL_STRING($BUS_TYP,11)"><!--代收-->
|
||
|
||
<Set>CORE_FIL_DIR=STRCAT(GETENV(HWORKDIR),/dat/cap/core/)</Set>
|
||
<Set>CORE_FIL_NM=STRCAT($MERC_ID,"_SPDB_",$CHK_FIL_DT,"_11",".txt")</Set>
|
||
<Set>CORE_FIL_PATH=STRCAT($CORE_FIL_DIR,$CORE_FIL_NM)</Set>
|
||
|
||
<!-- 从临时表中根据商户号筛选新核心交易并且导出文件 -->
|
||
<Exec func="PUB:ExportFromDB">
|
||
<Arg name="FormatName" value="CORECHK_SPDB"></Arg>
|
||
<Arg name="FileName" value="$CORE_FIL_PATH"></Arg>
|
||
<Arg name="TableName" value="CAPCHKSPDB"></Arg>
|
||
<Arg name="SqlName" value="SCREEN_TEMP_SPDB"></Arg>
|
||
</Exec>
|
||
<If condition="~RetCod=-1">
|
||
<Set>Rsp_Cd=80</Set>
|
||
<Set>Rsp_Msg=导出文件失败</Set>
|
||
</If>
|
||
<ElseIf condition="~RetCod=0">
|
||
<Set>Rsp_Cd=00</Set>
|
||
<Set>Rsp_Msg=导出文件成功</Set>
|
||
</ElseIf>
|
||
<ElseIf condition="~RetCod=1">
|
||
<Set>Rsp_Cd=00</Set>
|
||
<Set>Rsp_Msg=导出文件为空</Set>
|
||
</ElseIf>
|
||
|
||
<Quote name="RegisterList" /><!-- 调用shell来登记list文件 -->
|
||
</If>
|
||
|
||
<If condition="IS_EQUAL_STRING($BUS_TYP,12)"><!--代付-->
|
||
|
||
<Set>CORE_FIL_DIR=STRCAT(GETENV(HWORKDIR),/dat/cap/core/)</Set>
|
||
<Set>CORE_FIL_NM=STRCAT($MERC_ID,"_SPDB_",$CHK_FIL_DT,"_12",".txt")</Set>
|
||
<Set>CORE_FIL_PATH=STRCAT($CORE_FIL_DIR,$CORE_FIL_NM)</Set>
|
||
|
||
<!-- 从临时表中根据商户号筛选新核心交易并且导出文件 -->
|
||
<Exec func="PUB:ExportFromDB">
|
||
<Arg name="FormatName" value="CORECHK_SPDB"></Arg>
|
||
<Arg name="FileName" value="$CORE_FIL_PATH"></Arg>
|
||
<Arg name="TableName" value="CAPCHKSPDB"></Arg>
|
||
<Arg name="SqlName" value="SCREEN_TEMP_SPDB"></Arg>
|
||
</Exec>
|
||
<If condition="~RetCod=-1">
|
||
<Set>Rsp_Cd=80</Set>
|
||
<Set>Rsp_Msg=导出文件失败</Set>
|
||
</If>
|
||
<ElseIf condition="~RetCod=0">
|
||
<Set>Rsp_Cd=00</Set>
|
||
<Set>Rsp_Msg=导出文件成功</Set>
|
||
</ElseIf>
|
||
<ElseIf condition="~RetCod=1">
|
||
<Set>Rsp_Cd=00</Set>
|
||
<Set>Rsp_Msg=导出文件为空</Set>
|
||
</ElseIf>
|
||
|
||
<Quote name="RegisterList" /><!-- 调用shell来登记list文件 -->
|
||
</If>
|
||
</While>
|
||
<!-- 新核心对账end -->
|
||
|
||
|
||
|
||
<!-- 更新对账总控表对账状态 -->
|
||
<Set>CHK_FIL_STS=2</Set> <!-- 对账状态 2:文件已入库 -->
|
||
<Set>CHK_END_TM=GETDATETIME(HHMISS)</Set> <!-- 对账结束时间 -->
|
||
<Quote name="UpdateStatus" />
|
||
|
||
<!-- 统计变量初始化 -->
|
||
<Set>SUM_FIL_CNT=0</Set>
|
||
<Set>SUM_FIL_AMT=0</Set>
|
||
<Set>SUM_MCH_CNT=0</Set>
|
||
<Set>SUM_MCH_AMT=0</Set>
|
||
<Set>SUM_ERR_CNT=0</Set>
|
||
<Set>SUM_ERR_AMT=0</Set>
|
||
<Set>SUM_LONG_CNT=0</Set>
|
||
<Set>SUM_LONG_AMT=0</Set>
|
||
<Set>SUM_SHORT_CNT=0</Set>
|
||
<Set>SUM_SHORT_AMT=0</Set>
|
||
<Set>SUM_DOUBT_CNT=0</Set>
|
||
<Set>SUM_DOUBT_AMT=0</Set>
|
||
<Set>SUM_DBTERR_CNT=0</Set>
|
||
<Set>SUM_DBTERR_AMT=0</Set>
|
||
|
||
<!-- 更新 T、T-1、T+1 日[我方]成功对账的流水记录的对账状态为 1:对账成功 -->
|
||
<Exec func="PUB:ExecSql" error="IGNORE">
|
||
<Arg name="SqlCmd" value="UPD_CAPTXNJNL_MCH" />
|
||
</Exec>
|
||
<If condition="~RetCod=-1">
|
||
<Exec func="PUB:RollBackWork" />
|
||
<Set>Rsp_Msg=更新我方成功对账的流水记录的对账状态失败 </Set>
|
||
<Return />
|
||
</If>
|
||
|
||
<!-- 更新 T 日[对方]成功对账的流水记录的对账状态为 1:对账成功 -->
|
||
<Exec func="PUB:ExecSql" error="IGNORE">
|
||
<Arg name="SqlCmd" value="UPD_CAPCHKSPDB_MCH" />
|
||
</Exec>
|
||
<If condition="~RetCod=-1">
|
||
<Exec func="PUB:RollBackWork" />
|
||
<Set>Rsp_Msg=更新对方成功对账的流水记录的对账状态失败 </Set>
|
||
<Return />
|
||
</If>
|
||
|
||
<!-- T-1、T 和 T+1 日[我方]关键信息不符的流水记录入差错表 -->
|
||
<Set>CHK_ERR_TM=GETDATETIME(HHMISS)</Set> <!-- 差错创建时间 -->
|
||
<Exec func="PUB:ExecSql" error="IGNORE">
|
||
<Arg name="SqlCmd" value="INS_CAPTXNJNL_ERR" />
|
||
</Exec>
|
||
<If condition="~RetCod=-1">
|
||
<Exec func="PUB:RollBackWork" />
|
||
<Set>Rsp_Msg=我方对账关键信息不符的流水记录入差错表失败 </Set>
|
||
<Return />
|
||
</If>
|
||
<ElseIf condition="~RetCod=1">
|
||
<Set>RspMsg=我方对账关键信息不符的流水记录重复入差错表-忽略 </Set>
|
||
</ElseIf>
|
||
|
||
<!-- 统计 T-1 日[我方]存疑转差错的流水记录的总金额及总笔数 -->
|
||
<Exec func="PUB:ReadRecord" error="IGNORE">
|
||
<Arg name="SqlCmd" value="CNT_CHKSPDB_DBTERR" />
|
||
</Exec>
|
||
<If condition="~RetCod=-1">
|
||
<Exec func="PUB:RollBackWork" />
|
||
<Set>Rsp_Msg=统计我方存疑转差错的流水记录的总金额及总笔数失败 </Set>
|
||
<Return />
|
||
</If>
|
||
|
||
<!-- 统计 T、T-1、T+1 日[我方]关键信息不符的流水记录的总金额及总笔数 -->
|
||
<Exec func="PUB:ReadRecord" error="IGNORE">
|
||
<Arg name="SqlCmd" value="CNT_CAPTXNJNL_ERR" />
|
||
</Exec>
|
||
<If condition="~RetCod=-1">
|
||
<Exec func="PUB:RollBackWork" />
|
||
<Set>Rsp_Msg=统计我方关键信息不符的流水记录的总金额及总笔数失败 </Set>
|
||
<Return />
|
||
</If>
|
||
|
||
<!-- 更新 T、T-1、T+1 日[我方]关键信息不符的流水记录的对账状态为 4:关键信息不符 -->
|
||
<Exec func="PUB:ExecSql" error="IGNORE">
|
||
<Arg name="SqlCmd" value="UPD_CAPTXNJNL_ERR" />
|
||
</Exec>
|
||
<If condition="~RetCod=-1">
|
||
<Exec func="PUB:RollBackWork" />
|
||
<Set>Rsp_Msg=更新我方存在关键信息不符的流水记录的对账状态失败 </Set>
|
||
<Return />
|
||
</If>
|
||
|
||
<!-- 更新 T 日[对方]关键信息不符的流水记录的对账状态为 4:关键信息不符 -->
|
||
<Exec func="PUB:ExecSql" error="IGNORE">
|
||
<Arg name="SqlCmd" value="UPD_CAPCHKSPDB_ERR" />
|
||
</Exec>
|
||
<If condition="~RetCod=-1">
|
||
<Exec func="PUB:RollBackWork" />
|
||
<Set>Rsp_Msg=更新对方存在关键信息不符的流水记录的对账状态失败 </Set>
|
||
<Return />
|
||
</If>
|
||
|
||
<!-- T-1 日[我方有对方无]的流水记录入差错表 -->
|
||
<Set>CHK_ERR_TM=GETDATETIME(HHMISS)</Set> <!-- 差错创建时间 -->
|
||
<Exec func="PUB:ExecSql" error="IGNORE">
|
||
<Arg name="SqlCmd" value="INS_CAPTXNJNL_MOR" />
|
||
</Exec>
|
||
<If condition="~RetCod=-1">
|
||
<Exec func="PUB:RollBackWork" />
|
||
<Set>Rsp_Msg=我方有对方无的流水记录入差错表失败 </Set>
|
||
<Return />
|
||
</If>
|
||
<ElseIf condition="~RetCod=1">
|
||
<Set>RspMsg=我方有对方无的流水记录重复入差错表-忽略 </Set>
|
||
</ElseIf>
|
||
|
||
<!-- T 日[对方]非对账成功且交易状态不为失败的流水记录入差错表 -->
|
||
<Set>CHK_ERR_TM=GETDATETIME(HHMISS)</Set> <!-- 差错创建时间 -->
|
||
<Exec func="PUB:ExecSql" error="IGNORE">
|
||
<Arg name="SqlCmd" value="INS_CAPCHKSPDB_NOSUC" />
|
||
</Exec>
|
||
<If condition="~RetCod=-1">
|
||
<Exec func="PUB:RollBackWork" />
|
||
<Set>Rsp_Msg=对方非成功对账的流水记录入差错表失败 </Set>
|
||
<Return />
|
||
</If>
|
||
<ElseIf condition="~RetCod=1">
|
||
<Set>RspMsg=对方非成功对账的流水记录重复入差错表-忽略 </Set>
|
||
</ElseIf>
|
||
|
||
<!-- 统计 T、T-1 日[我方有对方无]的流水记录的总金额及总笔数 -->
|
||
<Exec func="PUB:ReadRecord" error="IGNORE" desc="统计">
|
||
<Arg name="SqlCmd" value="CNT_CAPTXNJNL_LCLMOR" />
|
||
</Exec>
|
||
<If condition="~RetCod=-1">
|
||
<Exec func="PUB:RollBackWork" />
|
||
<Set>Rsp_Msg=统计我方有对方无的流水记录的总金额及总笔数失败 </Set>
|
||
<Return />
|
||
</If>
|
||
|
||
<!-- 更新 T-1 日[我方有对方无]的流水记录的对账状态为 2:我方有对方无 -->
|
||
<Exec func="PUB:ExecSql" error="IGNORE">
|
||
<Arg name="SqlCmd" value="UPD_CAPTXNJNL_MOR" />
|
||
</Exec>
|
||
<If condition="~RetCod=-1">
|
||
<Exec func="PUB:RollBackWork" />
|
||
<Set>Rsp_Msg=更新我方有对方无的流水记录的对账状态失败 </Set>
|
||
<Return />
|
||
</If>
|
||
|
||
<!-- 统计 T 日[我方]存疑的流水记录的总金额及总笔数 -->
|
||
<Exec func="PUB:ReadRecord" error="IGNORE" desc="统计">
|
||
<Arg name="SqlCmd" value="CNT_CHKSPDB_DOUBTAMT" />
|
||
</Exec>
|
||
<If condition="~RetCod=-1">
|
||
<Exec func="PUB:RollBackWork" />
|
||
<Set>Rsp_Msg=统计我方存疑的流水记录的总金额及总笔数失败 </Set>
|
||
<Return />
|
||
</If>
|
||
|
||
<!-- 统计 T 日[对方]有我方无的流水记录的总金额及总笔数 -->
|
||
<Exec func="PUB:ReadRecord" error="IGNORE" desc="统计">
|
||
<Arg name="SqlCmd" value="CNT_CAPCHKSPDB_THDMOR" />
|
||
</Exec>
|
||
<If condition="~RetCod=-1">
|
||
<Exec func="PUB:RollBackWork" />
|
||
<Set>Rsp_Msg=统计对方有我方无的流水记录的总金额及总笔数失败 </Set>
|
||
<Return />
|
||
</If>
|
||
|
||
<!-- 对账文件总金额及总笔数统计 -->
|
||
<Exec func="PUB:ReadRecord" error="IGNORE">
|
||
<Arg name="SqlCmd" value="CNT_CHKSPDB_TOTAMT" />
|
||
</Exec>
|
||
<If condition="~RetCod=-1">
|
||
<Exec func="PUB:RollBackWork" />
|
||
<Set>Rsp_Msg=统计对账文件总金额及总笔数失败 </Set>
|
||
<Return />
|
||
</If>
|
||
|
||
<!-- 平帐的流水记录的总金额及总笔数统计 -->
|
||
<Exec func="PUB:ReadRecord" error="IGNORE">
|
||
<Arg name="SqlCmd" value="CNT_CHKSPDB_MCHAMT" />
|
||
</Exec>
|
||
<If condition="~RetCod=-1">
|
||
<Exec func="PUB:RollBackWork" />
|
||
<Set>Rsp_Msg=统计平帐的流水记录的总金额及总笔数失败 </Set>
|
||
<Return />
|
||
</If>
|
||
|
||
<!-- ====================== 更新对账总控表中统计的金额及笔数 ====================== -->
|
||
<Set>CHK_BAT_NO=$CHK_BAT_NO</Set> <!-- 对账批次号 -->
|
||
<Set>FIL_TOT_AMT=$SUM_FIL_AMT</Set> <!-- 对账文件总金额 -->
|
||
<Set>FIL_TOT_CNT=$SUM_FIL_CNT</Set> <!-- 对账文件总笔数 -->
|
||
<Set>TOT_MCH_AMT=$SUM_MCH_AMT</Set> <!-- 平帐总金额 -->
|
||
<Set>TOT_MCH_CNT=$SUM_MCH_CNT</Set> <!-- 平帐总笔数 -->
|
||
<Set>ERR_TOT_AMT=$SUM_ERR_AMT</Set> <!-- 差错总笔数 -->
|
||
<Set>ERR_TOT_CNT=$SUM_ERR_CNT</Set> <!-- 差错总笔数 -->
|
||
<If condition="INTCMP($BUS_TYP,3,12)"><!-- 代收 -->
|
||
<Set>LONG_AMT=$SUM_LCLMOR_AMT</Set> <!-- 长款总金额 -->
|
||
<Set>LONG_CNT=$SUM_LCLMOR_CNT</Set> <!-- 长款总笔数 -->
|
||
<Set>SHORT_AMT=$SUM_THDMOR_AMT</Set> <!-- 短款总金额 -->
|
||
<Set>SHORT_CNT=$SUM_THDMOR_CNT</Set> <!-- 短款总笔数 -->
|
||
</If>
|
||
<Else><!-- 代付 -->
|
||
<Set>LONG_AMT=$SUM_THDMOR_AMT</Set> <!-- 长款总金额 -->
|
||
<Set>LONG_CNT=$SUM_THDMOR_CNT</Set> <!-- 长款总笔数 -->
|
||
<Set>SHORT_AMT=$SUM_LCLMOR_AMT</Set> <!-- 短款总金额 -->
|
||
<Set>SHORT_CNT=$SUM_LCLMOR_CNT</Set> <!-- 短款总笔数 -->
|
||
</Else>
|
||
<Set>DOUBT_AMT=$SUM_DOUBT_AMT</Set> <!-- 存疑金额 -->
|
||
<Set>DOUBT_CNT=$SUM_DOUBT_CNT</Set> <!-- 存疑笔数 -->
|
||
<Set>DBT_ERR_AMT=$SUM_DBTERR_AMT</Set> <!-- 存疑转差错金额 -->
|
||
<Set>DBT_ERR_CNT=$SUM_DBTERR_CNT</Set> <!-- 存疑转差错笔数 -->
|
||
<Set>CHK_FIL_STS=4</Set> <!-- 对账状态 4:对账结束 -->
|
||
<Set>CHK_END_TM=GETDATETIME(HHMISS)</Set> <!-- 对账结束时间 -->
|
||
|
||
<Exec func="PUB:ExecSql" error="IGNORE" desc="更新对账总控表">
|
||
<Arg name="SqlCmd" value="UPD_PWMTCKCT_TOTAMT" />
|
||
</Exec>
|
||
<If condition="~RetCod!=0">
|
||
<Exec func="PUB:RollBackWork" />
|
||
<Set>Rsp_Msg=更新对账主控表中统计金额及笔数失败 </Set>
|
||
<Return />
|
||
</If>
|
||
|
||
<Exec func="PUB:CommitWork" /><!-- 提交事务 -->
|
||
</FlowCtrl>
|
||
</Transaction>
|
||
|
||
<Transaction code="spdb_getfile" log_switch="1" desc="获取对账文件">
|
||
<FlowCtrl>
|
||
|
||
<!-- 如果输入的对账日期不为空,判断对账日期格式是否正确 -->
|
||
<If condition="NOT(ISNULL($CHK_DAT))">
|
||
<If condition="INTCMP(CHECKDATE($CHK_DAT),4,0)">
|
||
<Set>Rsp_Msg=输入对账日期格式不正确 </Set>
|
||
<Return />
|
||
</If>
|
||
</If>
|
||
<!-- 交易初始化 -->
|
||
<Exec func="PUB:InitGWA" error="IGNORE" />
|
||
<If condition="~RetCod!=0">
|
||
<Set>Rsp_Msg=交易初始化失败 </Set>
|
||
<Return />
|
||
</If>
|
||
<!-- 对账日期 -->
|
||
<If condition="ISNULL($CHK_DAT)">
|
||
<Set>CHK_FIL_DT=CALCDATE($GWA.AC_DT,-,d,1)</Set>
|
||
</If>
|
||
<Else>
|
||
<Set>CHK_FIL_DT=$CHK_DAT</Set>
|
||
</Else>
|
||
<Quote name="Check_Cfg_SPDB"/>
|
||
<!--<Set>LOCAL_IP=</Set>
|
||
<Set>LOCAL_PORT=</Set>-->
|
||
<Set>LOCAL_USR=wls81</Set>
|
||
<!--<Set>LOCAL_PWD=</Set>-->
|
||
<Set>LOCAL_TYP=sftp</Set>
|
||
<Set>LOCAL_DIR=STRCAT(GETENV(WORKDIR),/dat/cap/recv/SPDB)</Set>
|
||
|
||
<Set>REMOTE_IP=$PARA.REMOTE_IP</Set>
|
||
<Set>REMOTE_PORT=$PARA.SERVER_PORT</Set>
|
||
<Set>REMOTE_USR=$PARA.REMOTE_USR</Set>
|
||
<Set>REMOTE_PWD=$PARA.REMOTE_PWD</Set>
|
||
<Set>REMOTE_TYP=tnftp</Set>
|
||
<Set>REMOTE_DIR=$PARA.REMOTE_DIR</Set>
|
||
<Set>FTP_MOD=get</Set>
|
||
<Set>FIL_NAM=STRCAT($DSFNO,_,$CHK_FIL_DT,.txt)</Set>
|
||
<Exec func="PUB:CallThirdComm" error="IGNORE">
|
||
<Arg name="HTxnCd" value="100001"/>
|
||
<Arg name="ObjSvr" value="S.FILSVR"/>
|
||
</Exec>
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
</FlowCtrl>
|
||
</Transaction>
|
||
</Application>
|
||
|