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());
paySwift.setPaySwiftType("MT103");
paySwift.setPaySwiftType("MT103");
2.2 fill paySwift filed
paySwift.setOurRef(smHelper.getTxnRef());
paySwift.setSenderRef(smHelper.getTxnRef());
paySwift.setInstrId(smHelper.getTxnRef());
paySwift.setTransferCcy(pd.getPayCcy());
paySwift.setTransferAmt(pd.getPayAmt());
paySwift.setValueDate(smHelper.getEffectiveDate());
paySwift.setEndToEndId("NOTPROVIED");
paySwift.setCountry(country);
paySwift.setForeignCurrency(foreignCurrency);
...
paySwift.setSenderRef(smHelper.getTxnRef());
paySwift.setInstrId(smHelper.getTxnRef());
paySwift.setTransferCcy(pd.getPayCcy());
paySwift.setTransferAmt(pd.getPayAmt());
paySwift.setValueDate(smHelper.getEffectiveDate());
paySwift.setEndToEndId("NOTPROVIED");
paySwift.setCountry(country);
paySwift.setForeignCurrency(foreignCurrency);
...
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
MsgId
NbOfTxs
SttlmMtd 固定值 "INDA"
MsgId
NbOfTxs
SttlmMtd 固定值 "INDA"
buildBranchAndFii
(ThirdReimbursementAgent)
(ThirdReimbursementAgent)
buildAcct
(ThirdReimbursementAgent)
(ThirdReimbursementAgent)
if(SettleMethod == COVE)
buildBranchAndFii
包含party(InstructedReimbursementAgent
InstructingReimbursementAgent)
包含party(InstructedReimbursementAgent
InstructingReimbursementAgent)
buildAcct
包含party(InstructedReimbursementAgent
InstructingReimbursementAgent)
包含party(InstructedReimbursementAgent
InstructingReimbursementAgent)
build CdtTrfTxInf
build PmtId
buildPmtTpInf
buildPartyIdentification
包含如下party
(Creditor
Debtor
UltimateCreditor
UltimateDebtor
InitiatingParty)
包含如下party
(Creditor
Debtor
UltimateCreditor
UltimateDebtor
InitiatingParty)
buildBranchAndFii
包含如下party
(InstructedAgent
InstructingAgent
IntermediaryAgent1
IntermediaryAgent2
IntermediaryAgent3
PreviousInstructingAgent1
PreviousInstructingAgent2
PreviousInstructingAgent3)
包含如下party
(InstructedAgent
InstructingAgent
IntermediaryAgent1
IntermediaryAgent2
IntermediaryAgent3
PreviousInstructingAgent1
PreviousInstructingAgent2
PreviousInstructingAgent3)
buildAcct
包含如下party
(Creditor
Debtor
IntermediaryAgent1
IntermediaryAgent2
IntermediaryAgent3
PreviousInstructingAgent1
PreviousInstructingAgent2
PreviousInstructingAgent3)
包含如下party
(Creditor
Debtor
IntermediaryAgent1
IntermediaryAgent2
IntermediaryAgent3
PreviousInstructingAgent1
PreviousInstructingAgent2
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 条评论
下一页