[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

No Loan FpML meeting this week - Please feedback on attached documentation



Title: No Loan FpML meeting this week - Please feedback on attached documentation

All,

Below are some updates on progress made within the working group. Unfortunately due to time constraints, both the requirements documentation and schema designs have not been through any updates in the last 2 weeks.

The latest version is still v1.22 and is attached to this email for any feedback.

Updates:

-       Loan business working group meeting will not be held this week due to a clashing meeting formal updates on v1.22 of the business requirements are still pending, mainly due to time constraints.

-       Initial business validations review will be held today at 9am EST (in the validations working group). Attached are an updated version of the excel spreadsheet and an html version of the publication document. Both documents will begin review with the validation group today.

-       A follow-up meeting with the European (LMA) business working group will continue tomorrow aim of the meeting is to complete the review of all business events designed (currently only reviewed drawdown/rate set, interest, principal).

Formal updates from the European business group will be included in v1.23 of the business requirements document.

Thanks,

BK

<<...>>

<<...>>

<<...>>

Attachment: LSTA_AgentComm_Requirements.doc
Description: MS-Word document

Attachment: FpMLLoanValidationRules_Phase1_withRuleIDs.xls
Description: MS-Excel spreadsheet

Title: FpML 4.4 Validation Rules - 2008-04-04

FpML 4.4 Validation Rules - Rules for Loan Messages

This is the Loan part of the validation rule set accompanying the FpML 4.4 Last Call Working Draft. The introductory section in the validation section of the specifications contains background information and documentation for this page.

The rules contained on this page contain links to cut down versions of valid and invalid test cases. The cut down test cases are non-normative and are provided for the purpose of documentation only.

Content

Namespace

http://www.fpml.org/spec/fpml-4-4-5-lcwd-1

Preconditions

The Validation Preconditions only apply when specific rules reference them. The following preconditions are always to be executed relative to the root of the FpML document being validated. The context of the rule is NOT carried through to the precondition.

Precondition: SameCurrency
(context: DrawdownNotice) (context: InterestPaymentNotice) (context: FacilityNotice) All instances of currency values within the context of this rule must be identical.

Rules

Unique contexts:

Context: LoanContract (complex type)

ln-1 (Mandatory)
currentInterestRatePeriod/startDate >= effectiveDate.
Test cases: [Invalid]
ln-2 (Mandatory)
If currentInterestRatePeriod/floatingRateIndex = PRIME then currentInterestRatePeriod/rateFixingDate = effectiveDate.
Test cases: [Invalid]

Context: InterestRatePeriod (complex type)

ln-3 (Mandatory)
endDate >= startDate >= rateFixingDate.
Test cases: [Invalid]
ln-4 (Mandatory)
If mlaCost doesn't exist and interestRate and margin and allInRate exist, then allInRate = margin + interestRate.
Test cases: [Invalid]
ln-5 (Mandatory)
If mlaCost and interestRate and margin and allInRate exist, then interestAccrualSchedule/interestRatePeriod/allInRate = interestAccrualSchedule/interestRatePeriod/margin + interestAccrualSchedule/interestRatePeriod/interestRate + interestAccrualSchedule/interestRatePeriod/mlaCost
Test cases: [Invalid]

Context: InterestAccrualSchedule (complex type)

ln-6 (Mandatory)
interestRatePeriod/startDate,lenderLoanContractPeriod/startDate, First interestAccrualPeriod/startDate must be equal.
Test cases: [Invalid]
ln-7 (Mandatory)
The [n]th interestRatePeriod/endDate must be the previous calendar day of the [n+1]th interestRatePeriod/startDate.
Test cases: [Invalid]
ln-8 (Mandatory)
The [n]th lenderLoanContractPeriod/endDate must be the previous calendar day of the [n+1]th lenderLoanContractPeriod/startDate.
Test cases: [Invalid]
ln-9 (Mandatory)
The [n]th interestAccrualPeriod/endDate must be the previous calendar day of the [n+1]th interestAccrualPeriod/startDate.
Test cases: [Invalid]

Context: FacilityNotice (complex type)

ln-10 (Mandatory)
Preconditions: SameCurrency
If FacilityNoticeDetails/facilityIdentifier/originalCommitmentAmount and FacilityNoticeDetails/facilityCommitmentPosition/loanContractPosition/loanContractIdentifier/originalAmount/amount exist, then FacilityNoticeDetails/facilityIdentifier/originalCommitmentAmount >= FacilityNoticeDetails/facilityCommitmentPosition/loanContractPosition/loanContractIdentifier/originalAmount/amount.
Test cases: [Invalid]
ln-11 (Mandatory)
Preconditions: SameCurrency
If FacilityNoticeDetails/facilityCommitmentPosition and FacilityNoticeDetails/facilityCommitmentPosition/loanContractPosition exist, then FacilityNoticeDetails/facilityCommitmentPosition/currentAmount >= FacilityNoticeDetails/facilityCommitmentPosition/loanContractPosition/currentAmount.
Test cases: [Invalid]
ln-12 (Mandatory)
Preconditions: SameCurrency
If FacilityNoticeDetails/facilityCommitmentPosition and FacilityNoticeDetails/loanContractPosition exist, then FacilityNoticeDetails/facilityCommitmentPosition/priorAmount >= FacilityNoticeDetails/facilityCommitmentPosition/loanContractPosition/priorAmount.
Test cases: [Invalid]

Context: DrawdownNotice (complex type)

ln-13 (Mandatory)
FacilityNoticeDetails/noticeDate <= drawdownPayment/paymentDate.
Test cases: [Invalid]
ln-14 (Mandatory)
Preconditions: SameCurrency
If loanContract exists, then drawdownPayment/paymentDate >= loanContract/effectiveDate.
Test cases: [Invalid]
ln-15 (Mandatory)
If FacilityNoticeDetails/dealIdentifier/creditAgreementDate exists, then loanContract/effectiveDate and drawdownPayment/paymentDate >= dealIdentifier/creditAgreementDate.
Test cases: [Invalid]
ln-16 (Mandatory)
Preconditions: SameCurrency
If facilityCommitmentPosition/priorAmount/shareAmount exists, then drawdownPayment/shareLoanContractAmount <= facilityCommitmentPosition/priorAmount/shareAmount.
Test cases: [Invalid]
ln-17 (Mandatory)
Preconditions: SameCurrency
loanContract exists, then loanContract/loanContractIdentifier/originalAmount/amount >= drawdownPayment/shareLoanContractAmount/amount.
Test cases: [Invalid]
ln-18 (Mandatory)
Preconditions: SameCurrency
If loanContractIdentifier exists, then loanContractIdentifier/originalAmount/amount >= drawdownPayment/shareLoanContractAmount/amount.
Test cases: [Invalid]
ln-19 (Mandatory)
If drawdownEventType = RateSetEvent and loanContract exists, then loanContract/interestRatePeriod/interestRate and loanContract/interestRatePeriod/margin and loanContract/interestRatePeriod/allInRate and loanContract/interestRatePeriod/interestDayBasis and loanContract/interestRatePeriod/FloatingRateIndex/model/indexTenor must exist.
Test cases: [Invalid]

Context: InterestPaymentNotice (complex type)

ln-20 (Mandatory)
Preconditions: SameCurrency
interestPayment/amount/shareAmount must be equal to the sum of all interestAccrualSchedule/interestAccrualPeriod/shareInterestAccrualAmount.
Test cases: [Invalid]
ln-21 (Mandatory)
interestAccrualSchedule/interestRatePeriod/interestRate and interestAccrualSchedule/interestRatePeriod/margin and interestAccrualSchedule/interestRatePeriod/allInRate and interestAccrualSchedule/interestRatePeriod/interestDayBasis and interestAccrualSchedule/interestRatePeriod/FloatingRateIndex/model/indexTenor must exist.
Test cases: [Invalid]

Context: RepaymentNotice (complex type)

ln-22 (Mandatory)
If DrawdownNotice/loanContractRepayment/loanContractIdentifier/originalAmount exists, then loanContractRepayment/loanContractIdentifier/originalAmount/amount >= repayment/loanContractRepayment/amount/globalAmount/amount.
Test cases: [Invalid]
ln-23 (Mandatory)
repayment/facilityRepayment/amount/globalAmount/amount must be >= the sum of all repayment/loanContractRepayment/loanContractIdentifier/originalAmount/amount.
Test cases: [Invalid]
ln-24 (Mandatory)
If FacilityNoticeDetails/facilityCommitmentPosition exists, then FacilityNoticeDetails/facilityCommitmentPosition/priorAmount/shareAmount/amount >= repayment/facilityRepayment/amount/shareAmount/amount.
Test cases: [Invalid]
ln-25 (Mandatory)
repayment/facilityRepayment/amount/shareAmount/amount must be >= the sum of all repayment/loanContractRepayment/amount/shareAmount/amount.
Test cases: [Invalid]
ln-26 (Mandatory)
If repayment/loanContractRepayment/amount/globalAmount exists, then repayment/facilityRepayment/amount/globalAmount/amount must be >= the sum of all repayment/loanContractRepayment/amount/globalAmount/amount.
Test cases: [Invalid]

Context: OneOffFeeNotice (complex type)

ln-27 (Mandatory)
If feePayment/feeType = BreakageFee then loanContractIdentifier must exist.
Test cases: [Invalid]
ln-28 (Mandatory)
If feePayment/feeType = AssignmentFee then loanContractIdentifier must not exist.
Test cases: [Invalid]
ln-29 (Mandatory)
feePayment/paymentDate >= feePayment/effectiveDate.
Test cases: [Invalid]

Deprecated rules

Removed rules