Field23

Struct Field23 

Source
pub struct Field23 {
    pub function_code: String,
    pub days: Option<u8>,
    pub reference: String,
}
Expand description

Field 23: Further Identification

§Purpose

Provides additional identification information for financial transactions, particularly in money market and deposit transactions. This field enables precise categorization of transaction types, timing specifications, and reference information essential for proper transaction processing and regulatory compliance.

§Format Specification

  • Swift Format: 3!a[2!n]11x
  • Structure: Function code + optional days + reference information
  • Total Length: Maximum 16 characters
  • Components: Mandatory function code, conditional days, mandatory reference

§Business Context Applications

  • Money Market Transactions: Deposit and call money operations
  • Treasury Operations: Interest rate and liquidity management
  • Corporate Banking: Commercial account management
  • Settlement Processing: Transaction categorization and routing

§Function Code Categories

§Deposit Operations

  • DEPOSIT: Standard deposit transactions
  • NOTICE: Notice deposit with specific day requirements
  • CALL: Call money transactions (immediate settlement)
  • CURRENT: Current account operations

§Commercial Operations

  • COMMERCIAL: Commercial transaction identification
  • BASE: Base rate reference transactions
  • PRIME: Prime rate related operations

§Network Validation Requirements

  • Function Code: Must be valid 3-character alphabetic code
  • Days Field: Only required/allowed for NOTICE function code
  • Days Range: 1-99 days when specified for NOTICE transactions
  • Reference Format: Must comply with 11x character set restrictions
  • Character Set: Standard SWIFT character set compliance

§Message Type Integration

  • MT 200: Financial institution transfer (function classification)
  • MT 202: General financial institution transfer (operation type)
  • MT 210: Notice to receive (notice period specification)
  • Treasury Messages: Various treasury operations requiring identification

§Regional Considerations

  • Money Market Standards: Regional money market convention compliance
  • Central Bank Requirements: Regulatory classification requirements
  • Settlement Systems: Local settlement system integration
  • Regulatory Reporting: Transaction classification for reporting purposes

§Validation Logic

§Function Code Rules

  • NOTICE: Requires days field (2!n format, 1-99)
  • Other Codes: Days field must not be present
  • Reference: Always required, 11x format compliance
  • Character Validation: Uppercase alphabetic characters only

§Processing Impact

  • Settlement Timing: Function code affects settlement procedures
  • Interest Calculation: Impacts interest computation methods
  • Regulatory Classification: Determines reporting categories
  • Risk Assessment: Influences risk management procedures

§Error Prevention Guidelines

  • Function Code Verification: Confirm valid function code selection
  • Days Field Logic: Only include days for NOTICE transactions
  • Reference Accuracy: Ensure reference information is correct
  • Format Compliance: Verify character set and length requirements
  • Field 20: Transaction Reference (transaction context)
  • Field 30: Value Date (timing coordination)
  • Field 32A: Currency/Amount (transaction details)
  • Field 52A/D: Ordering Institution (institutional context)

§Compliance Framework

  • Money Market Regulations: Compliance with money market standards
  • Central Bank Reporting: Regulatory classification requirements
  • Audit Documentation: Complete transaction categorization
  • Risk Management: Transaction type classification for risk assessment

§Best Practices

  • Accurate Classification: Select appropriate function code
  • Notice Period Management: Proper days specification for NOTICE
  • Reference Standards: Consistent reference information format
  • Documentation: Complete transaction categorization documentation

§See Also

  • Swift FIN User Handbook: Further Identification Field Specifications
  • Money Market Standards: Function Code Classifications
  • Treasury Operations Guide: Transaction Identification Best Practices

Fields§

§function_code: String

Function code (3!a format: BASE, CALL, COMMERCIAL, CURRENT, DEPOSIT, NOTICE, PRIME)

§days: Option<u8>

Number of days (2!n format, optional, only for NOTICE function)

§reference: String

Reference information (11x format)

Trait Implementations§

Source§

impl Clone for Field23

Source§

fn clone(&self) -> Field23

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Field23

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for Field23

Source§

fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl PartialEq for Field23

Source§

fn eq(&self, other: &Field23) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for Field23

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl SwiftField for Field23

Source§

fn parse(value: &str) -> Result<Self>

Parse field value from string representation
Source§

fn to_swift_string(&self) -> String

Convert field back to SWIFT string format
Source§

fn format_spec() -> &'static str

Get field format specification
Source§

fn parse_with_variant( value: &str, _variant: Option<&str>, _field_tag: Option<&str>, ) -> Result<Self>
where Self: Sized,

Parse field value with variant hint for enum fields Default implementation falls back to regular parse
Source§

fn valid_variants() -> Option<Vec<&'static str>>

Get valid variant letters for enum fields Returns None for non-enum fields, Some(vec) for enum fields
Source§

impl StructuralPartialEq for Field23

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Fake for T

Source§

fn fake<U>(&self) -> U
where Self: FakeBase<U>,

Source§

fn fake_with_rng<U, R>(&self, rng: &mut R) -> U
where R: Rng + ?Sized, Self: FakeBase<U>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,