Swift
2025-10-22 14:33:22 1 举报
AI智能生成
Swift
作者其他创作
大纲/内容
1.getConfig form Cda
1.1 select * from TCDA_CUSTACCT where CUST_ACCT_ID = ? and BANK_CODE = ?
1.2 if (payCodeCat = "W")
select * from TCDA_CUSTACCT_SWIFT where CUST_ACCT_ID = ?
select * from TCDA_PAYPARTY where PARENT_TYPE = ? and PARENT_ID = ? and IS_RELATED = ?
2.fill default
2.1 if(custAcctSwift == null)
paySwift.setCaseCode(SwiftCaseCode.OC_SC_BC_RI.code());<br>paySwift.setPaySwiftType("MT103");
2.2 fill paySwift filed
paySwift.setOurRef(smHelper.getTxnRef());<br>paySwift.setSenderRef(smHelper.getTxnRef());<br>paySwift.setInstrId(smHelper.getTxnRef());<br>paySwift.setTransferCcy(pd.getPayCcy());<br>paySwift.setTransferAmt(pd.getPayAmt());<br>paySwift.setValueDate(smHelper.getEffectiveDate());<br>paySwift.setEndToEndId("NOTPROVIED");<br>paySwift.setCountry(country);<br>paySwift.setForeignCurrency(foreignCurrency);<br>...
2.3 set default party(SI,BC)
SI 数据来源于 Bank
BC 数据来源
dcharge customer Comany
loan,amendent,payment 来源loan的customer Company
3.build swift message
MT101
MT03
MT202
Pain.001
Pacs.008
buildHeader
BizSvc 固定值“swift.cbprplus.02”
MsgDefIdr 固定值“pacs.008.001.08”
Fr BICIF 从"InstructingAgent"party取值
To BICFI 从"InstructedAgent""party取值
...
buildDoc
build GroupHeader
CreDtTm<br>MsgId<br>NbOfTxs<br>SttlmMtd 固定值 "INDA"
buildBranchAndFii<br>(ThirdReimbursementAgent)
buildAcct<br>(ThirdReimbursementAgent)
if(SettleMethod == COVE)
buildBranchAndFii<br>包含party(InstructedReimbursementAgent<br>InstructingReimbursementAgent)
buildAcct<br>包含party(InstructedReimbursementAgent<br>InstructingReimbursementAgent)
build CdtTrfTxInf
build PmtId
buildPmtTpInf
buildPartyIdentification<br>包含如下party<br>(Creditor<br>Debtor<br>UltimateCreditor<br>UltimateDebtor<br>InitiatingParty)
buildBranchAndFii<br>包含如下party<br>(InstructedAgent<br>InstructingAgent<br>IntermediaryAgent1<br>IntermediaryAgent2<br>IntermediaryAgent3<br>PreviousInstructingAgent1<br>PreviousInstructingAgent2<br>PreviousInstructingAgent3)
buildAcct<br>包含如下party<br>(Creditor<br>Debtor<br>IntermediaryAgent1<br>IntermediaryAgent2<br>IntermediaryAgent3<br>PreviousInstructingAgent1<br>PreviousInstructingAgent2<br>PreviousInstructingAgent3)
...
if(HasCoveMsg = "Y") build Pacs.009COV message
Pacs.009
4.validate rule
MT101
MT03
MT202
Pain.001
Pacs.008
headValidator
validateReceiverBic
required
length
8 or 11
format
[A-Z0-9]{4,4}[A-Z]{2,2}[A-Z0-9]{2,2}([A-Z0-9]{3,3}){0,1}
bizMsgIdr
required
msgDefIdr
required
isequals.(pacs.008.001.08)
docValidator
if(SettleMethod == COVE)
party 内容必现包含(InstructedReimbursementAgent or InstructingReimbursementAgent )
validateAnyBicOrNmAndAdr
验证party的anyBic 与 name和address 关联关系
validateIdentificationParty
验证party内容字段的 required,length,format...
validateAcctParty
验证Account内容字段的 required,length,format...
validateAgentBicOrNmAndAdr
验证party的BICFI 与 name和address 关联关系
validateBranchAndFinInstnIdParty
验证party内容字段的 required,length,format...
...
Pacs.009
5.db process
SELECT * FROM cls.TCLS_PAYSWIFT
SELECT * FROM cls.TCLS_PAYPARTY WHERE PAY_SWIFT_ID = ?
SELECT * FROM cls.TCLS_PAYMDB tp WHERE PAY_TYPE = 'W'
6.advice
select * from dms.TDMS_DOCUMENT WHERE DOC_TYPE = 'SWIFT'
0 条评论
下一页