Ошибка swift nak h50

  • Messaging

    FIN

    Error CodesThis reference guide lists the error codes and abort
    notifications returned by FIN in case of message validation errors
    orother conditions such as protocol violations or delivery
    issues.

    22 July 2011

  • Table of Contents

    Preface………………………………………………………………………………………………………………………………….
    4

    About this document
    ……………………………………………………………………………………………………………
    4

    Audience
    ……………………………………………………………………………………………………………………………
    4

    Significant
    changes……………………………………………………………………………………………………………..
    4

    Chapter 1 Introduction
    …………………………………………………………………………………………………………….
    6

    Chapter 2 Numeric Codes
    ……………………………………………………………………………………………………….
    7

    2.1 General
    ………………………………………………………………………………………………………………………..
    7

    2.2 Logout/Quit Acknowledgement Errors
    ………………………………………………………………………………
    7

    2.3 Re-Login Request Errors
    ………………………………………………………………………………………………..
    7

    2.4 Retrieval Errors
    ……………………………………………………………………………………………………………..
    8

    2.5 Message Status
    …………………………………………………………………………………………………………..
    10

    2.6 Abort Reasons
    …………………………………………………………………………………………………………….
    12

    2.7 FIN and General Purpose Application Session
    Termination……………………………………………….
    13

    2.8 Report Errors
    ………………………………………………………………………………………………………………
    14

    2.9 Bulk Retrieval Errors
    Codes…………………………………………………………………………………………..
    15

    Chapter 3 Alphanumeric
    Codes………………………………………………………………………………………………
    16

    3.1 General
    ………………………………………………………………………………………………………………………
    16

    3.2 A Codes — Re-select Error Codes
    …………………………………………………………………………………..
    16

    3.3 B Codes — Copy Service
    Errors………………………………………………………………………………………
    16

    3.4 C, D, and E Codes — Conditional Semantic Error Codes
    …………………………………………………… 17

    3.5 G Codes — Service-specific
    Validation……………………………………………………………………………
    156

    3.6 H Codes — Basic Header and Application Header Validation
    ……………………………………………. 158

    3.7 K Codes — Code Words Validation in Generic Fields
    ……………………………………………………….
    159

    3.8 L Codes — LOGIN Errors
    ……………………………………………………………………………………………..
    160

    3.9 M Codes — Message Errors
    ………………………………………………………………………………………….
    160

    3.10 P Codes — Protocol Errors
    ………………………………………………………………………………………….
    161

    3.11 R Codes — Re-login/Re-select Errors
    …………………………………………………………………………..
    162

    3.12 S Codes — System-initiated Abort Errors
    ………………………………………………………………………
    162

    3.13 S Codes — Select Errors
    …………………………………………………………………………………………….
    163

    3.14 T Codes — Text Validation
    ………………………………………………………………………………………….
    165

    3.15 U Codes — User Header
    Validation………………………………………………………………………………
    180

    3.16 V Codes — System Message Errors and Message Block Format
    Errors …………………………… 180

    3.17 X Codes — FINCopy Message Validation (01 — 27) and Delayed
    NAK Error Codes (30 — 99) . 183

    FIN

    2 Error Codes

  • 3.18 Y Codes — UNK Error Codes
    ………………………………………………………………………………………
    185

    3.19 Z Codes — Trailer Validation
    ……………………………………………………………………………………….
    185

    Chapter 4 FIN
    Errors……………………………………………………………………………………………………………
    186

    4.1 Introduction
    ……………………………………………………………………………………………………………….
    186

    4.2 Abort Codes
    ………………………………………………………………………………………………………………
    186

    4.3 Diagnostic Codes for
    SS100………………………………………………………………………………………..
    188

    4.4 Diagnostic Codes for
    SA100………………………………………………………………………………………..
    190

    Legal Notices
    ……………………………………………………………………………………………………………………..
    194

    Table of Contents

    22 July 2011 3

  • Preface

    About this documentThis reference guide lists the error codes
    and abort notifications returned by FIN in case of message
    validationerrors or other conditions such as protocol violations or
    delivery issues.

    AudienceThis book describes the FIN Error Codes. It should be
    read by:

    users who wish to gain an understanding of the FIN service

    developers who need background information on elements of
    FIN

    The reader is expected to have an understanding of FIN
    messaging, which is described in the FIN ServiceDescription and the
    FIN Operations Guide.

    Significant changesThe following tables list all significant
    changes to the content of the FIN Error Codes since the 23 July
    2010edition. These tables do not include editorial changes that
    SWIFT makes to improve the usability andcomprehension of the
    document.

    New information Location

    Addition of MTs 670 in error codes C05, D08, D09,D11, D12, D13,
    D14, D15, E23, E84, T19, T73, T85,and T86

    Error codes C05, D08, D09, D11, D12, D13, D14,D15, E23, E84,
    T19, T73, T85, and T86

    Addition of MTs 380 and 381 in error code D13 Error code D13

    Addition of message status 29 Section 2.5, Message Status

    Addition of abort reason code 29 Section 2.6, Abort Reasons

    Explanation regarding code S1 Section 2.6, Abort Reasons

    Addition of report errors 006, 007, 008, 009, and 016 Section
    2.8, Report Errors

    Addition of error codes M78, M79, M80, and M81 Section 3.9, M
    Codes — Message Errors

    New FIN errors chapter Chapter 4, FIN Errors

    Updated information Location

    Update text of message statuses 31, 32, 33, 34, 35,37, 38

    Section 2.5, Message Status

    FIN

    4 Error Codes

  • Updated information Location

    Update text of error codes B03, C28, C59, C71, E06,E08, E09,
    E22, E62, E77, E78, E80, E83, E87, E98,M73, T14, T39, T62, T73, and
    U03

    Section 3.3, B Codes — Copy Service Errors

    Section 3.4.1, C Error Codes

    Section 3.4.3, E Error Codes

    Section 3.9, M Codes — Message Errors

    Section 3.14, T Codes — Text Validation

    Section 3.15, U Codes — User Header Validation

    Error codes D87, D88, D89, D90, D91, D94, D95,E63, E75, E88,
    E89, E98, and V26 again available Section 3.4.2, D Error Codes

    Section 3.4.3, E Error Codes

    Section 3.16, V Codes — System Message Errorsand Message Block
    Format Errors

    Deleted information Location

    Deletion of references to MTs 405, 528, 529, 582,584, 587, 588,
    and 589

    Changes apply throughout the document

    Deletion of section 3.2 A Codes — Abort atApplication Interface
    Level following thedeimplementation of Application Interface in
    FIN

    Chapter 3, Alphanumeric Codes

    Deletion of section 3.17 U Codes — User Abort Codes Chapter 3,
    Alphanumeric Codes

    Preface

    22 July 2011 5

  • Chapter 1 IntroductionThe FIN error codes are divided into the
    following groups:

    Validation error codes

    Conditional semantic error codes

    Abort error codes

    All input messages are validated for syntax and semantic errors
    by the system. If there is an error, a validationerror code is
    returned in the logical (negative) acknowledgement or in an MT 019
    Abort Notification.

    Abort error codes give the reason why an application or the
    logical connection has been discontinued. Theyare generated
    following the recognition of a certain condition and not
    necessarily due to errors in a message.Abort error codes can come
    from the system or from a user’s terminal.

    For reference purposes, the error codes have been placed in two
    chapters. Chapter 2, Numeric Codes,contains all the errors that are
    represented by two- or three-digit codes. Error codes in Chapter
    3,Alphanumeric Codes, have the following format:

    where is a letter designating the error type and identifies the
    particular error.

    FIN

    6 Error Codes

  • Chapter 2 Numeric Codes

    2.1 GeneralNumeric codes are used for:

    Logout/Quit Acknowledgement errors (field 401)

    Re-Login Request errors (fields 280, 331 and 333)

    Retrieval errors (field 421)

    Message status (field 431)

    Abort reasons (field 432)

    FIN and General Purpose Application session termination (field
    443)

    Report errors (field 461)

    2.2 Logout/Quit Acknowledgement ErrorsThe following error codes
    are returned in field 401 of Logout and Quit acknowledgements.
    Logout and QuitCommands are always positively acknowledged and the
    session (General Purpose Application or FIN) closed.However, one of
    the following error codes can be included in the
    acknowledgement.

    01 Incorrect time/dayThe Logout Command can include the time/day
    inhibitor which prevents the next Loginoccurring before the
    time/day specified. The time/day in the format DDHHMM cannot be
    morethan 7 days after the current date.

    02 Training trailer missingThe trailer block is only present if
    the message is sent by a training logical terminal. If the
    LogoutCommand is sent from a training logical terminal, it must
    contain a Training trailer.

    03 Input sequence number errorEach message sent from a logical
    terminal has an input sequence number. The first messagesent in the
    General Purpose Application will always have an input sequence
    number of 000001,whereas the first message sent in FIN will have an
    input sequence number value of the lastinput sequence number+1 sent
    from that logical terminal. This error will be returned in
    theacknowledgement of a Logout or Quit Command when the input
    sequence number of thatcommand is incorrect.

    2.3 Re-Login Request ErrorsThe following error codes are
    returned in fields 280, 331, and 333 of acknowledgements, session
    historyreports, and daily check reports:

    010 Re-Login Request received while logical terminal is active
    on the Logical Terminal Controlassociation

    Chapter 2 Numeric Codes

    22 July 2011 7

  • 011 Logical Terminal Control state error, unable to recover the
    logical terminal session

    012 Re-Login Request authentication failed

    013 Re-Login Request semantic error

    014 Re-Login Request format error

    015 Re-Login Request login request number is incorrect

    016 Multiple Re-Logins from user

    017 Re-Login Request received while the logical terminal is in
    unrecoverable state

    019 Re-Login Request, session recovery information: incorrect
    General Purpose Application sessionnumber

    020 Re-Login Request, session recovery information: incorrect
    input sequence number

    021 Re-Login Request, session recovery information: input
    sequence number-ACK greater thaninput sequence number

    022 Re-Login Request, session recovery information: input
    sequence number-ACK less than thelower bound

    023 Re-Login Request, session recovery information: incorrect
    output sequence number

    024 Re-Login Request, session recovery information: incorrect
    window size

    026 Re-Login Request, login and re-login protocol versions are
    not the same

    027 Re-Login Request, logical terminal does not belong to Sign
    Distinguished Name (DN)organisation

    028 Re-Login Request, the Live destination that owns the Test
    and Training destination does notbelong to Sign Distinguished Name
    (DN) organisation

    2.4 Retrieval ErrorsThe following codes are returned in field
    421 of message retrievals:

    000 Message has no text block

    002 Message was encrypted and no key or the wrong key was
    supplied by the user

    FIN

    8 Error Codes

  • 003 Empty report (no messages found)

    004 Logical terminal is not authorised to retrieve the message,
    that is the requester is neither thesender nor the receiver of the
    original message

    005 Text lost due to Slice Processor recovery

    006 History lost due to Slice Processor recovery

    007 Target message is a retrieval report (MTs 021 or 023)

    010 Invalid MT received by Slice Processor pseudo logical
    terminal (system)

    011 Invalid received by Slice Processor pseudo logical terminal
    (system)

    012 Invalid date in retrieval criteria tag (system)

    013 Invalid time in retrieval criteria tag (system)

    014 End daytime before start daytime

    015 Target message older than 124 days (for range retrieval,
    daytime used)

    016 is not ‘XXX’

    018 Invalid destination for report (tag 102). The logical
    terminal must have the same destination asthe sender of the
    retrieval request or be a SWIFT logical terminal, and must be
    enabled for theapplication in which the retrieval message is to be
    sent

    019 Invalid input retrieval by receiver or output retrieval by
    sender (only single message inputreference/message output reference
    allowed)

    020 Invalid synonym retrieval (synonym is not sender or receiver
    of message)

    021 Unknown target logical terminal

    022 Request received at wrong Slice Processor (system)

    023 Could not retrieve message input reference in message output
    reference retrieval (system)

    032 No delivery attempt in message input reference retrieval by
    receiver

    033 On-line text read error (system)

    034 On-line history read error (system)

    Chapter 2 Numeric Codes

    22 July 2011 9

  • 035 Text read error from archival (system)

    036 History read error from archival (system)

    037 Partial report — major system recovery in progress

    038 Unable to retrieve text and history from archival because of
    system problems

    040 The limits for group retrieval (99 messages in one request)
    have been exceeded

    041 Message could not be decrypted (system)

    043 The logical terminals in the beginning message input
    reference/message output reference andthe ending message input
    reference/message output reference in a range retrieval request
    arenot the same, in tag 252 (message input reference range) or 254
    (message output referencerange)

    044 Illogical use of field 152 or field 153 . input sequence
    number or outputsequence number already included as component in
    message input reference(s) or messageoutput reference(s)

    045 Message text not retrievable (message not successfully
    delivered)

    046 Off-line retrieval not allowed for Test and Training
    messages

    047 The text of local test mode messages is not retrievable

    048 Retrieval message too long

    049 Retrieval period specified exceeds 10 days

    099 Retrieval report problem. Contact your Customer Support
    Centre

    2.5 Message StatusThe message status is returned in field 431 of
    non-delivery warnings, undelivered message reports, andretrieved
    messages.

    01 Delivered

    02 Rejected by destinee

    04 Aborted

    FIN

    10 Error Codes

  • 07 No delivery attempt

    08 One or more unsuccessful attempts

    10 Message not delivered (that is no delivery history) for one
    of the following reasons:

    Message negatively acknowledged on input

    Message is Login, Select, Quit or Logout Request

    Message was sent in local test mode (not deliverable)

    Message is MT 097 (processed directly by Slice Processor and
    never delivered to anylogical terminal, and so does not have a
    delivery history)

    12 Intercepted

    29 Message held for approval prior to Bypass mode and
    aborted

    31 Authorised by the copy service or Sanctions Screening over
    SWIFT service subscriber anddelivered

    32 Not authorised by the copy service or Sanctions Screening
    over SWIFT service subscriber andaborted by the system

    33 Copy message is aborted and not delivered to the copy
    service

    34 Authorised by the copy service or Sanctions Screening over
    SWIFT service subscriber butaborted by the system

    35 Not yet authorised/refused by the copy service or Sanctions
    Screening over SWIFT servicesubscriber

    37 Authorised by the copy service or Sanctions Screening over
    SWIFT service subscriber but nodelivery attempted

    38 Authorised by the copy service or Sanctions Screening over
    SWIFT service subscriber but oneor more unsuccessful delivery
    attempts

    41 Copy service bypassed and message delivered

    44 Copy service bypassed but message aborted by the system

    47 Copy service bypassed but no delivery attempted

    48 Copy service bypassed but one or more unsuccessful delivery
    attempts

    49 Refused by central institution. Abort notification MT 019
    contains an alphanumeric abort code

    Chapter 2 Numeric Codes

    22 July 2011 11

  • 50-99 These codes are specific to each FINCopy service. Contact
    your respective service provider forthe meaning of each code within
    the range 50-99.

    For Euro Banking Association (EBA) Processing, only the
    following codes are used:

    70 Refusal from the Clearing Computer, and delivery aborted; the
    Sender of thepayment message should also receive an MT 998 / SMT
    n75 Error Message fromthe Clearing Computer giving further reasons
    for the refusal.

    71 Refusal from the Clearing Computer because of a message
    format error thatprevented normal processing, and delivery
    aborted.

    99 System error

    2.6 Abort ReasonsThe following codes are returned in field 432
    of abort notifications and, for the FINCopy service,
    MessageRefusals:

    01 Message too old (remained undelivered for n days)

    02 Too many unsuccessful delivery attempts

    03 Destination disabled

    04 Operator aborted

    05 Message could not be recovered after a major system failure
    because it was user encrypted

    06 Message type incompatible with computer-based terminal
    mode

    11 Message is too old, but was authorised

    12 Too many delivery attempts, but message was authorised

    13 Destination is disabled, but message was authorised

    14 Message is too long, but was authorised

    21 Message is too old and was bypassed

    22 Too many delivery attempts and the message was bypassed

    23 Destination is disabled and the message was bypassed

    24 Message is too long and was bypassed

    FIN

    12 Error Codes

  • Note:

    29 Message held for approval prior to Bypass mode and
    aborted

    32 Message is too old and was not authorised

    33 Copy message to the copy service server was aborted

    35 FINCopy service parameter(s) incorrectly defined in FIN

    50-ZZ 99 is pre-defined as ‘system error’.All other alphanumeric
    codes (combination of 0-9 and A-Z) are specific to each
    FINCopyservice. Contact your respective service provider for the
    meaning of each code.

    Code S1 is used by the Sanctions screening service to indicate
    that the message has beenaborted on request of the subscribing
    user.

    All undefined numeric codes are reserved for use by FIN.

    2.7 FIN and General Purpose Application Session TerminationThe
    following codes are returned in field 443 of Service Message 14
    (for further details see the FIN SystemMessages):

    000 Normal termination

    001 Application Control or Logical Terminal Control has
    aborted

    002 Application Control or Logical Terminal Control has
    terminated normally

    004 System timed out message output reference ACK

    006 QUIT or LOGOUT received while outstanding input messages

    007 Input message/Service message after reception of a QUIT or
    LOGOUT

    008 Input window violation (more outstanding input messages than
    window size)

    009 System timed out on association establishment

    010 Reception of a SELECT from a logical terminal that already
    has a FIN session

    011 Association establishment request failed authentication

    014 Message output reference ACK Basic Header error

    015 Too many messages input in a session. Maximum is 500000.

    Chapter 2 Numeric Codes

    22 July 2011 13

  • 016 Too many messages output in a session. Maximum is
    500000.

    020 Message output reference ACK from wrong synonym

    025 As for 052 but due to receipt of a Re-Login Request, rather
    than a Login Request

    051 As for 052 but on a different Regional Processor

    052 Reception of a login from a logical terminal for which the
    system has already processed a logintransmitted over a different
    Logical Terminal Control on the same Regional Processor.
    Theexisting session is aborted and the new session established.

    053 SELECT with bad text block

    054 AP ABORT REQUEST with bad text block

    2.8 Report ErrorsThe following codes are returned in field 461
    of Delivery Subset Status Reports, Undelivered MessageReports, and
    Undelivered SSI Update Notification Reports:

    001 Empty report

    002 End of undelivered report

    003 System undergoing major recovery or system not completely
    synchronised yet

    004 Too many undelivered messages

    005 User on fall back Regional Processor, cannot generate
    report

    006 The message referenced in the request could not be
    found.

    007 Invalid destination for report. The sender of the request
    must be the same as the sender of themessage referenced in the
    request.

    008 No MTs 671 were found for the referenced MT 670.

    009 Requesting logical terminal in invalid state

    016 Branch code is not «XXX’

    099 System internal problems, contact your Customer Support
    Centre

    FIN

    14 Error Codes

  • 2.9 Bulk Retrieval Errors CodesThe following codes are returned
    in field 144 of Bulk Retrieval Responses (MT 025):

    03 Retrieval only partially complete

    11 Invalid

    12 Invalid

    13 Invalid retrieval time range

    14 Retrieval aborted due to system error

    15 Retrieval aborted due to communication error

    16 Retrieval aborted by SWIFT

    19 Retrieval completeThe text of messages that were sent to the
    retrieving BIC more than 124 days ago cannot beretrieved. If those
    messages were received by the retrieving BIC less than 124 days
    ago, the filecontains the message output reference of the history
    and the message input reference of thetext.

    20 Retrieval aborted due to system error (Test and Training
    destination — attempt to use tape)

    21 Retrieval aborted due to system error (FIN/FIN Bridge key
    error)

    22 Retrieval aborted due to system error (missing master
    BIC)

    Chapter 2 Numeric Codes

    22 July 2011 15

  • Note:

    Note:

    Chapter 3 Alphanumeric Codes

    3.1 GeneralThis chapter contains the codes for the following
    error types:

    Code Error Type Code Error Type

    A Abort at Application Interface Level Errors R
    Re-login/Re-select Errors

    A Re-select Errors S System-initiated Abort Errors

    B Copy Service Errors S Select Errors

    C Dialout Errors T Text validation (Block 4) Errors

    C, Dand E

    Conditional Semantic Errors U User Header Validation Errors

    G Service-specific Validation Errors U User Abort Errors

    H Basic Header and Application HeaderValidation Errors

    V System Message or Message BlockFormat Errors

    K Code Words Errors in Generic Fields X Delayed NAK Errors and
    FINCopyService Message Refusals

    L LOGIN Errors Y User Negative Acknowledgement Errors

    M Message Errors Z Trailer Validation Errors

    P Protocol Errors

    Similar error codes are used by other SWIFT services, such as
    Accord, or Processing forEuro Banking Association (EBA), and can
    have different meanings. The error codes used byeach of the
    services are described in the respective service documentation.

    3.2 A Codes — Re-select Error CodesA56 Re-select NAK error code
    (in field tag 503) to indicate that the logical terminal is not in
    a

    recoverable state. The computer-based terminal should execute a
    fresh select procedure.

    3.3 B Codes — Copy Service ErrorsSimilar error codes are used by
    other SWIFT services, such as Accord, or Processing for

    Euro Banking Association (EBA), and can have different meanings.
    The error codes used byeach of the services are described in the
    respective service documentation.

    B01 Message contains Value-Added Service server id but sender or
    receiver, or both, are notmembers of the service.

    B02 Available.

    FIN

    16 Error Codes

  • B03 103:TPS is present in the message but the sender is not a
    member of TPS, or the message isnot allowed for TPS.

    B04 Available.

    B05 Either a system error has occurred, in which case, the user
    should contact its local CustomerSupport Centre for further
    information or it was not possible to generate a copy message
    asnone of the fields to be copied were present in the original
    message.

    3.4 C, D, and E Codes — Conditional Semantic Error CodesNote

    Where a natural language expression would be too difficult to
    synthesise or too long, amatrix is provided. The row and column
    headers identify the elements involved (forexample, field tags,
    code words, letter options). Matrices should be read from left
    toright and from top to bottom. The following abbreviations are
    used:

    M = Mandatory (must be present)

    O = Optional (may be present)

    U = Unauthorised (must not be present)

    Y = Yes (is present)

    N = No (is not present)

    NA = Not applicable

    3.4.1 C Error Codes

    C00 Not used.

    C01 MTs 102, 102+, 104, and 107If field 19 is present in
    sequence C, then it must equal the sum of the amounts in all
    occurrencesof field 32B in sequence B.

    MTs 201, 203, 204, and 559The amount in field 19 must equal the
    sum of the amounts in all occurrences of field 32B or 34A.

    MT 256If field 19 is present in sequence C, then it must equal
    the sum of the amounts in all occurrencesof field 32J in sequence
    B.

    MT 824Field 19 at the completion of each outer repetitive
    sequence must equal the sum of the productsof subfields 1 and 3 in
    all occurrences of field 68A from its respective inner
    repetitivesequence(s).

    Chapter 3 Alphanumeric Codes

    22 July 2011 17

  • C02 The currency code must be the same for all occurrences of
    indicated fields in the entiremessage. See the SWIFT Standards
    Category volumes for the indicated fields in eachmessage.

    Examples:

    The following list explains how Error code C02 is applied in
    specific message types:

    MT 321. The currency code in the amount fields (fields 19A in
    sequence B) must be thesame for all occurrences of this field in
    the message.

    MTs 320 and 330. The currency code in the amount fields, except
    for fields 33B and 33E insequence G, must be the same for all
    occurrences of these fields in the message.

    MT 350. The currency code in the amount fields 32B and 34B in
    sequence B must be thesame.

    Special Cases:

    The following MTs apply Error code C02 in an exceptional manner
    (for example, either based onthe presence of another field OR
    individually to separate groups of fields within the MT):

    MTs 103 and 103+. If field 71G is present, the currency code in
    the fields 71G and 32Amust be the same.

    MTs 104 and 107. The currency code in fields 32B and 71 G in
    sequences B and C must bethe same for all occurrences of these
    fields in the message. The currency code in field 71Fin sequences B
    and C must be the same for all occurrences of this field in the
    message.

    MT 320. The currency codes in the amount fields 32B, 32H, and
    34E in sequence B, andfield 71F in sequence H, must be the
    same.

    MT 620. If field 32H is present, then the currency code must be
    the same as the currencycode in field 32B.

    C03 The number of decimal digits in the amount component is
    checked against the maximumallowed for the corresponding currency.
    This check is mostly applied to fields containing boththe amount
    and the currency code components.

    Examples:

    field 32A in MT 103, and in MT 256, sequence C

    field 32B in MTs 104 and 107, sequences B and C

    This check also applies, among others, to:

    field 19 in MTs 102, 104, 107, 201, 203, 204, and 559 where the
    corresponding currency isthe one used in field 32B or 34A

    field 19 in MT 824 where the corresponding currency is the one
    used in correspondingoccurrences of field 68A

    field 32J in sequence B, and to field 19 in sequence C, in MT
    256 where the correspondingcurrency is the one used in field
    32A

    field 33B in MT 103, and in MTs 104 and 107, sequence B

    field 71F in MT 103, and in MTs 104 and 107, sequences B and
    C

    field 71G in MT 103, and in MTs 104 and 107, sequences B and
    C

    field 72 Reject/Return in MT 103, and in MTs 104 and 107,
    sequence A

    FIN

    18 Error Codes

  • Note:

    Note:

    Error code C03 should be applied only to field 68A in MT 824 if
    subfield 5 ispresent.

    C04 MTs 503, 504, and 506In sequence B, if field :19B::TEXA is
    not present, then field :19B::TCRL is mandatory; otherwisefield
    :19B::TCRL is optional.

    Sequence B

    If field :19B::TEXA is … Then field :19B::TCRL is …

    Not present Mandatory

    Present Optional

    C05 Identifier Code must be a financial institution BIC. This
    error code applies to all types of BICsreferenced in a FIN message,
    including SWIFT BICs, Non-SWIFT BICs, Masters, Synonyms,Live
    destinations and Test & Training destinations.

    See the table below for the list of MTs affected.

    MT Field Sequence(s) Qualifier Comments

    52A A, B

    56A B

    101

    57A B

    52A A, B

    53A C

    54A C

    102

    57A B

    The same validation applies to thegeneric MT 102 without tag
    119,and the MT 102+

    52A

    53A

    54A

    55A

    56A

    103

    57A

    The same validation applies to thegeneric MT 103 without tag
    119,and other variants, such as the MT103 REMIT and the MT 103+

    52A A, B

    53A C

    104

    57A B

    The same validation applies to thegeneric MT 104 without tag
    119,and the MT 104 RFDD

    For sequence C, seeError code C96.

    52A A, B

    53A C

    107

    57A B

    Chapter 3 Alphanumeric Codes

    22 July 2011 19

  • MT Field Sequence(s) Qualifier Comments

    52A

    53A

    110

    54A

    111,112

    52A

    56A200,201

    57A

    52A

    53A

    54A

    56A

    57A

    202,203

    58A

    52A A

    53A A

    54A A

    56A A

    57A A

    58A A

    52A B

    56A B

    202COV

    57A B

    53A B

    57A A

    204

    58A A

    52A

    53A

    56A

    57A

    205

    58A

    FIN

    20 Error Codes

  • MT Field Sequence(s) Qualifier Comments

    52A A

    53A A

    56A A

    57A A

    58A A

    52A B

    56A B

    205COV

    57A B

    51A A

    52A A

    52G A

    56A B

    57A B

    207

    58A B

    52A210

    56A

    256 57A C

    53AJ B1, B2, D

    56AJ B1, B2, D

    300

    57AJ B1, B2, D

    53AJ D1, D2, D3

    56AJ D1, D2, D3

    303

    57AJ D1, D2, D3

    53AJ B, E

    56AJ B, E

    304

    57AJ B, E

    53A

    56A

    305

    57A

    Chapter 3 Alphanumeric Codes

    22 July 2011 21

  • MT Field Sequence(s) Qualifier Comments

    53AJ C, E, J

    56AJ C, E, J

    57AJ C, E, J

    84AJ B

    306

    86AJ C, E, J

    95P B3a CDEA INTE ACCW307

    95P D1 CDEA INTE ACCW

    53AJ C, D, E, F, I

    56AJ C, D, E, F, I

    57AJ C, D, E, F, I

    320

    86AJ C, D, E, F, I

    321 95P C1 CDEA INT2 INTEACCW

    53AJ C, D, E, F

    56AJ C, D, E, F

    57AJ C, D, E, F

    330

    86AJ C, D, E, F

    53AJ C, D, F

    56AJ C, D, F

    57AJ C, D, F

    340

    86AJ C, D, F

    53AJ C

    56AJ C

    57AJ C

    341,350

    86AJ C

    53A D, G, L, M

    56A D, G, L, M

    57A D, G, L, M

    360

    86A D, G, L, M

    FIN

    22 Error Codes

  • MT Field Sequence(s) Qualifier Comments

    53A D, G, J, K, L,M

    56A D, G, J, K, L,M

    57A D, G, J, K, L,M

    361

    86A D, G, J, K, L,M

    53A C, E

    56A C, E

    57A C, E

    362

    86A C, E

    53A L, M

    56A L, M

    57A L, M

    364

    86A L, M

    53A J, K, L, M

    56A J, K, L, M

    57A J, K, L, M

    365

    86A J, K, L, M

    52A

    53A

    54A

    57A

    400

    58A

    416 53A A

    450,455,456

    52A

    502 95P C2 ACCW PAYE

    504 95P C2a1, E1 ACCW PAYE

    505 95P B2a1, D1 ACCW PAYE

    507 95P B1b1 ACCW PAYE

    513 95P D2 ACCW PAYE

    514 95P C2 ACCW PAYE

    Chapter 3 Alphanumeric Codes

    22 July 2011 23

  • MT Field Sequence(s) Qualifier Comments

    515 95P D2 ACCW PAYE

    516 57A B

    518 95P C2 ACCW PAYE

    540,541,542,543,544,545,546,547

    95P E2 ACCW PAYE

    559 57A

    566 95P D2a ACCW

    578 95P E2 ACCW PAYE

    53A B

    56A B, C

    57A B, C

    86A B, C

    600

    87A B, C

    53A

    56A

    601

    57A

    56A

    86A

    604

    87A

    86A605

    87A

    606 87A

    607 87A

    53AJ C, D, E, F

    56AJ C, D, E, F

    57AJ C, D, E, F

    620

    86AJ C, D, E, F

    643 57A B, C

    644 57A B

    646 57A C

    FIN

    24 Error Codes

  • MT Field Sequence(s) Qualifier Comments

    670 95P B1 ACCW INT1 INT2

    41A

    42A

    51A

    53A

    700

    57A

    41A705

    57A

    707 52A

    41A

    42A

    51A

    52A

    53A

    710

    57A

    41A

    42A

    52A

    720

    57A

    730,734

    57A

    41A

    42A

    740

    58A

    52A

    57A

    742

    58A

    750 57A

    53A752

    54A

    53A

    57A

    754

    58A

    Chapter 3 Alphanumeric Codes

    22 July 2011 25

  • MT Field Sequence(s) Qualifier Comments

    53A756

    54A

    768,769

    57A

    51A

    52A

    53A

    800

    54A

    801 51A

    52A

    53A

    802

    54A

    824 51A

    900 52A

    52A910

    56A

    985 57A

    n90 52A

    52An91

    57A

    C06 MT 210Either field 50a or field 52a, but not both, must be
    present in a repetitive sequence.

    MTs 710 and 720Either field 52a or field 50B, but not both, must
    be present.

    If field 52a is … Then field 50B is …

    Present Not allowed

    Not present Mandatory

    MT 910Either field 50a or field 52a, but not both, must be
    present.

    C07 MT 516Either field 35A or 35N must be present.

    C08 Available.

    FIN

    26 Error Codes

  • C09 MT 430In each occurrence of sequence A, if field 33a is
    present, then field 32a must be present.

    C10 MT 422At least one of the fields 72, 75 or 76 must be
    present.

    C11 MT 400If field 57a is present, fields 53a and 54a must be
    present.

    C12 MTs 707 and 747When field 32B or 33B is present, field 34B
    must be present. Conversely, when field 34B ispresent, either field
    32B or field 33B must be present.

    C13 MT 750If any of fields 33B, 71B or 73 is present, field 34B
    must be present.

    C14 MTs 559 and 754Either field 53a or 57a, but not both, may be
    present.

    C15 MT 747At least one of the fields 31E, 32B, 33B, 34B, 39A,
    39B, 39C, 72 or 77A must be present.

    C16 MT 707If field 23 is present, field 52a must be present.

    C17 MT 734If field 73 is present, field 33a must be present.

    C18 MT 752If fields 32B and 71B are present, field 33a must be
    present.

    C19 MT 754Either field 72 or field 77A, but not both, may be
    present.

    C20 MT 601Field 53a may be present only if field 34P is
    present.

    C21 MT 506If sequence C is not present, then sequence D is
    mandatory. If one or more occurrence ofsequence C is/are present,
    then sequence D is optional.

    If sequence C is … Then sequence D is …

    Not present Mandatory

    Chapter 3 Alphanumeric Codes

    22 July 2011 27

  • Note:

    If sequence C is … Then sequence D is …

    Present (once or more) Optional

    C22 MT 920If field 12 contains 942, field 34F must be present in
    the same repetitive sequence.

    C23 MTs 920 and 942When only one field 34F is present, subfield
    2 must not be used. When both fields 34F arepresent, subfield 2 of
    the first 34F must contain D, and subfield 2 of the second 34F
    mustcontain C.

    In MT 920, this applies to each repetitive sequence.

    C24 MT 940If field 86 is present in any occurrence of the
    repetitive sequence, it must be preceded by a field61.

    C25 MT n92Field 79 or a copy of at least any fields of the
    original message or both must be present.

    If field 79 is … Then copy of any field(s) of originalmessage
    is …

    Present Optional

    Not present Mandatory (that is, minimum one field, anyfield)

    SWIFT does not validate the relationship between the copied
    fields and theoriginal message, hence, any valid field is correct.
    The system will negativelyacknowledge the MT n92 with Error code
    C25 if there is no more field after field11S.

    C26 MT 430At least one of the optional fields 32a or 74 must be
    present.

    C27 MTs 940, 941, 942, 950, 970, and 972The first two characters
    of the three-character currency code in fields 60F, 60M, 62F, 62M,
    64,65, 90C and 90D, in MTs 940, 941, 942, 950, 970 and 972, and
    field 34F in MT 942 must be thesame for all occurrences of these
    fields.

    C28 MT 541, 543, 578A value date must only be provided for
    cash/securities split settlement. That is, in anyoccurrence of
    subsequence E3, if value date field :98a::VALU is present, then in
    sequence Efield :22F::STCO//SPST must be present, and settlement
    amount field :19A::SETT must bepresent in the same subsequence
    E3.

    FIN

    28 Error Codes

  • Note:

    Note:

    In any occurrence ofsubsequence E3

    if field :98a::VALU is …

    Sequence Ethen field

    :22F::STCO//SPST (withDSS not present)

    In the same occurrence ofsubsequence E3

    and field :19A::SETT is …

    Present Mandatory Mandatory

    Not present Optional Optional

    MT 544, 545, 546, 547A value date must only be provided with an
    effective settlement amount, that is, in anyoccurrence of
    subsequence E3, if value date field :98a::VALU is present, then
    settled amountfield :19A::ESTT must be present in the same
    subsequence.

    Subsequence E3if field :98a::VALU is …

    Subsequence E3then field :19A::ESTT is …

    Present Mandatory

    Not present Optional

    MTs 544, 545, 546, and 547, see Network Validated Rule 287
    (Error codeE87).

    MTs 545 and 547, see Network Validated Rule 292 (Error code
    E92).MT 586A value date must only be provided for cash/securities
    split settlement. That is, in anyoccurrence of subsequence B5b, if
    value date field :98a::VALU is present, then in subsequenceB5 field
    :22F::STCO//SPST must be present, and settlement amount field
    :19A::SETT must bepresent in the same subsequence B5b.

    In any occurrence ofsubsequence B5b

    if field :98a::VALU is …

    Subsequence B5then field

    :22F::STCO//SPST (withDSS not present) is …

    In the same occurrence ofsubsequence B5b

    and field :19A::SETT is …

    Present Mandatory Mandatory

    Not present Optional Optional

    C29 Available.

    C30 MT 707At least one of the fields 31E, 32B, 33B, 34B, 39A,
    39B, 39C, 44A, 44E, 44F, 44B, 44C, 44D, 79or 72 must be
    present.

    C31 MTs n95 and n96Either field 79 or a ‘copy of any field(s) of
    the original message to which this message relates’,but not both,
    may be present.

    SWIFT does not validate the relationship between the copied
    fields and theoriginal message; hence any valid fields other than
    79 are accepted.

    Chapter 3 Alphanumeric Codes

    22 July 2011 29

  • C32 MTs 300, 303, 304, 306, 320, 330, 340, 350, 360, 361, 362,
    364, 365, 600, 620, and 643An optional sequence of fields was used.
    However, a field that is required (that is, indicated byan ‘OR’) or
    a field that is mandatory (that is, indicated by ‘Mandatory in
    …’) within this sequenceis missing.

    C33 MTs 768 and 769If field 71B is present, field 32a must be
    present.

    C34 MT 769Either field 33B or 39C, but not both, must be
    present.

    C35 MTs 643, 644, 646, and 649Either field 21 or 29B must be
    present.

    C36 MTs 643 and 646Subfield 2 () of field 31F must be present in
    each occurrence of sequence B.

    C37 MT 577Subfield 2 () of field 67A must not be present.

    C38 Available.

    C39 Available.

    C40 MT 920The currency code must be the same for each occurrence
    of the indicated fields within eachrepetitive sequence.

    C41 Available.

    C42 MT 824The currency code in each of the fields 68A of a
    sequence of fields 68A preceding a field 19must be the same.

    C43 MT 646Either field 32N or 33N must be present.

    C44 MT 646If fields 32N and 33N are present in sequence C, field
    34a must be present in sequence C.

    C45 MT 646If field 23 contains REPRINC or PREPRINC, field 32N
    must be present in sequence C.

    FIN

    30 Error Codes

  • C46 MT 646If field 23 contains INT, field 33N must be present in
    sequence C.

    C47 MT 643If field 23 contains LOAN/DRAWDOWN or FINARR/DRAWDOWN,
    sequence B must not bepresent.

    C48 MT 643If field 23 contains LOAN/RENEWAL or FINARR/RENEWAL,
    sequence B must be present.

    C49 MT 456If field 71B is present, the values in fields 32a and
    33D must be different.

    C50 MTs 540, 541, 542, and 543If field 36B is present in minimum
    one occurrence of sequence A1, then the type of
    settlementtransaction must be a pair-off or a turn-around, that is,
    sequence E field :22F::SETR//PAIR or:22F::SETR//TURN must be
    present.

    In sequence A1if field :36B: is …

    Then in sequence Efield :22F::SETR must be …

    Present :22F::SETR//PAIR and DSS must not
    bepresentor:22F::SETR//TURN and DSS must not bepresent

    Not present NA

    C51 MT 643If field 23 contains LOAN/DRAWDOWN or LOAN/RENEWAL,
    field 31R must be present.

    C52 Available.

    C53 MT 643If field 71C is present in any sequence B, field 34a
    must be present in the same sequence.

    C54 MT 644Either field 36 or field 37(A-F) must be present in
    any sequence B.

    C55 MT 644In any sequence B, the currency code in fields 33B and
    34a must be the same.

    C56 Available.

    Chapter 3 Alphanumeric Codes

    22 July 2011 31

  • C57 MT 646If field 34N is present in any sequence B, field 31F
    in the same sequence B and field 33N insequence C must be
    present.

    C58 MT 300In field 77D of sequence A, if the code /VALD/ is
    present, then it must appear in the first 6characters of the first
    line and in no other place, and it must be followed by a date
    expressed asYYYYMMDD and the «end_of_line» separator, that is,
    «:77D:/VALD/»YYYMMDD»CrLf».

    See rule 59.

    MT 304In field 72 of sequence C, if the code /VALD/ is present,
    then it must appear in the first 6characters of the first line and
    in no other place, and it must be followed by a date expressed
    asYYYYMMDD and the «end_of_line» separator, that is
    «:72:/VALD/»YYYMMDD»CrLf».

    See rule 59.

    MT 646If field 34N is present in any sequence B, the total
    amount given in field 33N must equal the totalamount of all
    occurrences of field 34N amounts in sequence B.

    C59 MT 300In sequence A, if field 77D is present and if the
    first six (6) characters of the first line are equal to/VALD/, then
    the second line must be present and it must contain «/SETC/» in the
    first 6characters, followed by a valid ISO 4217 currency code and
    the end of line separator, that is,»/SETC/»»CrLf».

    Conversely, in sequence A, if field 77D is present, and the
    second line is present, and the firstsix (6) characters of the
    second line are equal to /SETC/, then the first six (6) characters
    of thefirst line must be equal to /VALD/.

    The code «/SETC/» is not allowed in other places than the first
    6 characters of the second line.

    See rule 58.

    MT 304In sequence C, if field 72 is present, and the first six
    (6) characters of the second line are equalto /SETC/, then the
    first six (6) characters of the first line must be equal to /VALD/
    and /SETC/must be followed by a valid ISO 4217 currency code and
    the end of line separator, that is,»/SETC/»»CrLf».

    The code «/SETC/» is not allowed in other places than the first
    6 characters of the second line.

    See rule 58.

    MT 321In sequence B, the presence of field 19A and of the Next
    Interest Due Date (field :98A::INTR)depends on the Type of
    Loan/Deposit Event (field :22H::TLDE) in sequence A as follows:

    In sequenceA

    if field:22H::TLDE

    Indicatoris …

    Sequence Bthen field

    :98A::INTRis …

    Sequence Band field

    :19A::SETTis …

    Sequence Band field

    :19A::RODIis …

    Sequence Band field

    :19A::CINTis …

    SequenceB

    and field:19A::NINT

    is …

    CONF Mandatory Not allowed Not allowed Not allowed Mandatory

    ROLL Mandatory Mandatory Optional Optional Mandatory

    FIN

    32 Error Codes

  • In sequenceA

    if field:22H::TLDE

    Indicatoris …

    Sequence Bthen field

    :98A::INTRis …

    Sequence Band field

    :19A::SETTis …

    Sequence Band field

    :19A::RODIis …

    Sequence Band field

    :19A::CINTis …

    SequenceB

    and field:19A::NINT

    is …

    MATU Not allowed Mandatory Not allowed Optional Not allowed

    MT 800The amounts in fields 34B and 32A must be the same.

    C60 MT 307In sequence A, the presence of field :22H::APER and
    the presence of field :22H::NEGR dependon the field :22H::CRTR as
    follows:

    In sequence Aif field :22H::CRTR Indicator

    is …

    Sequence Athen field :22H::APER is …

    Sequence Aand field :22H::NEGR is …

    ASET Not allowed Optional

    AFWD Mandatory Mandatory

    MT 321In sequence A, the presence of field :99B:: depends on the
    presence of field :22H::BLOC asfollows:

    In sequence Aif field :22H::BLOC is …

    Sequence Athen field :99B:: is …

    Present Mandatory

    Not present Not allowed

    MT 643In each sequence B, the currency code in fields 32P, 33a
    and 34a must be the same.

    C61 MT 307In sequence A, the presence of field :22H::PAFI
    depends on field :22H::APER as follows:

    In sequence Aif field :22H::APER

    Indicator is …

    Sequence Athen field :22H::PAFI is …

    OPEF Not allowed

    NOPE Mandatory

    Field :22H::APER not present Not allowed

    MT 321In sequence B, the presence of field :98A::LDFP depends on
    the value of field :22H::TLDE asfollows:

    Chapter 3 Alphanumeric Codes

    22 July 2011 33

  • In sequence Aif field :22H::TLDE

    Indicator is …

    Sequence Bthen field :98A::LDFP

    is …

    MATU Not allowed

    Not MATU Optional

    MT 643In each sequence C, the currency code in fields 32B and
    33B must be the same.

    C62 MT 307The presence of sequence C depends on field :22H::APER
    as follows:

    In sequence Aif field :22H::APER

    Indicator is …

    Thensequence C

    is …

    OPEF Not allowed

    NOPE Mandatory

    Field :22H::APER not present Not allowed

    MT 321In sequence B, the presence of field :99B::DAAC depends on
    the presence of field :98A::LDFPas follows:

    In sequence Bif field :98A::LDFP

    is …

    Sequence Bthen field :99B::DAAC

    is …

    Present Mandatory

    Not present Not allowed

    C63 MT 307In sequence A, the presence of the qualifier UNKN in
    field :22H::NEGR//UNKN depends on thecontent of field :22H::CRTR,
    of field :22H::APER and of field :22H::PAFI as follows:

    In sequence Aif field :22H::

    is …

    Then field:22H::NEGR//UNKN

    is …

    CRTR//ASET Not allowed

    CRTR//AFWD and APER//OPEF Optional

    CRTR//AFWD and APER//NOPE andPAFI//PAIN

    Optional

    CRTR//AFWD and APER//NOPE andPAFI//FINA

    Not allowed

    MT 321In sequence A, if field 99B is present, then all
    qualifiers must be present.

    FIN

    34 Error Codes

  • C64 MT 307The presence of sequence D depends on the value of
    field 22H as follows:

    In sequence A

    If field:22H::CRTR

    is …

    And field:22H::APER

    is …

    And field:22H::PAFI

    is …

    And field:22H::NEGR

    is …

    Thensequence D

    is …

    ASET NA per rule 60 NA per rule 61 NETC Optional

    ASET NA per rule 60 NA per rule 61 GRSC Not allowed

    ASET NA per rule 60 NA per rule 61 Not present Not allowed

    AFWD OPEF NA per rule 61 NETC or GRSCor UNKN

    Not allowed

    AFWD NOPE PAIN NETC or GRSCor UNKN

    Not allowed

    AFWD NOPE FINA NETC Mandatory

    AFWD NOPE FINA GRSC Not allowed

    C65 MT 567If the message is a cancellation request status
    (:23G::CAST), then, in every occurrence ofsequence A2 Status, a
    cancellation processing status must be reported
    (:25D::CPRC…).

    If the message is an instruction status (:23G::INST) then, in
    every occurrence of sequence A2Status, an instruction processing
    status (:25D::IPRC…) must be reported.

    If the message is corporate action event processing status
    (:23G::EVST), then, in everyoccurrence of sequence A2 Status, an
    event status (:25D::EPRC…) must be reported.

    In sequence Aif field 23G is …

    Then, in every occurrence of sequence A2Status,

    field :25D must be …

    CAST :25D::CPRC…

    INST :25D::IPRC…

    EVST :25D::EPRC…

    C66 MT 643The number of occurrences of sequence C must be equal
    to or greater than the number ofoccurrences of sequence B.

    C67 MT 516In sequence A, either field 83C or 87a but not both,
    may be present.

    C68 MTs 202 COV and 205 COVIn sequence B, if field 56a is
    present, then field 57a must also be present.

    Chapter 3 Alphanumeric Codes

    22 July 2011 35

  • Note:

    C69 MT 507In each occurrence of sequence B, if present, if
    subsequence B1 is present, the presence ofsubsequences B1a and B1b
    depends on the value of field :22H::COLL in sequence B
    asfollows:

    In each occurrence of sequence B

    If subsequence B1is …

    And in sequence Bfield

    :22H::COLL//Statusis …

    Then subsequenceB1a is …

    And subsequenceB1b is …

    CCOL Not allowed Mandatory

    SCOL Mandatory Not allowed

    Present

    BCOL(NA see Error code

    C70)

    NA NA

    Not present NA NA NA

    Rule C70 takes precedence over rule C69.

    C70 MT 507In each occurrence of sequence B, the presence of
    subsequence B1 depends on the value offields :25D::COLL// and
    :22H::COLL// as follows:

    In each occurrence of sequence B

    If field :25D::COLL/[8c]/4!c Data Source

    Scheme [8c] is …

    And field:25D::COLL/[8c]/4!c

    is …

    And field:22H::COLL//4!c is …

    Then subsequenceB1 is …

    :25D::COLL//ACCT BCOL Not allowed

    :25D::COLL//ACCT CCOL Mandatory [1]

    :25D::COLL//ACCT SCOL Mandatory [1]

    Not present

    :25D::COLL//REJT NA Not allowed

    BCOL Not allowed

    CCOL Optional [1]

    Present NA

    SCOL Optional [1]

    [1] See Error code C69 for additional checks. Rule C70 takes
    precedence over rule C69.

    C71 MT 535In each occurrence of subsequence B1, field 93B::AGGR
    cannot appear more than twice(maximum 2 occurrences). When
    repeated, one occurrence must have Quantity Type CodeFAMT and the
    other occurrence must have Quantity Type Code AMOR.

    FIN

    36 Error Codes

  • Subsequence B1if field :93B::AGGR is …

    Then one occurrence of:93B:AGGR must be …

    And the other occurrenceof :93B::AGGR must be …

    Repeated :93B::AGGR//FAMT and DSSmust not be present

    :93B::AGGR//AMOR andDSS must not be present

    Not repeated NA NA

    MT 536In each occurrence of subsequence B1a2, field 36B::PSTA
    cannot appear more than twice(maximum 2 occurrences). When
    repeated, one occurrence must have Quantity Type CodeFAMT and the
    other occurrence must have Quantity Type Code AMOR.

    Subsequence B1a2if field :36B::PSTA is …

    Then one occurrence of:36B::PSTA must be …

    And the other occurrenceof :36B::PSTA must be …

    Repeated :36B::PSTA//FAMT :36B::PSTA//AMOR

    Not repeated NA NA

    MT 537In each occurrence of subsequence B2b, field 36B::PSTA
    cannot appear more than twice(maximum 2 occurrences). When
    repeated, one occurrence must have Quantity Type CodeFAMT and the
    other occurrence must have Quantity Type Code AMOR.

    Subsequence B2bif field :36B::PSTA is …

    Then one occurrence of:36B::PSTA must be …

    And the other occurrenceof :36B::PSTA must be …

    Repeated :36B::PSTA//FAMT :36B::PSTA//AMOR

    Not repeated NA NA

    MTs 540, 541, 542, and 543In sequence C, field 36B::SETT cannot
    appear more than twice (maximum 2 occurrences).When repeated, one
    occurrence must have Quantity Type Code FAMT and the
    otheroccurrence must have Quantity Type Code AMOR.

    Sequence Cif field :36B::SETT is …

    Then one occurrence of:36B::SETT must be …

    And the other occurrenceof :36B::SETT must be …

    Repeated :36B::SETT//FAMT :36B::SETT//AMOR

    Not repeated NA NA

    MTs 544, 545, 546, and 547In sequence C, field 36B::ESTT cannot
    appear more than twice (maximum 2 occurrences).When repeated, one
    occurrence must have Quantity Type Code FAMT and the
    otheroccurrence must have Quantity Type Code AMOR.

    Sequence Cif field :36B::SETT is …

    Then one occurrence of:36B::ESTT must be …

    And the other occurrenceof :36B::ESTT must be …

    Repeated :36B::ESTT//FAMT :36B::ESTT//AMOR

    Not repeated NA NA

    MT 548In sequence. B, field 36B::SETT cannot appear more than
    twice (maximum 2 occurrences).When repeated, one occurrence must
    have Quantity Type Code FAMT and the otheroccurrence must have
    Quantity Type Code AMOR.

    Chapter 3 Alphanumeric Codes

    22 July 2011 37

  • Sequence Bif field :36B::SETT is …

    Then one occurrence of:36B::SETT must be …

    And the other occurrenceof :36B::SETT must be …

    Repeated :36B::SETT//FAMT :36B::SETT//AMOR

    Not repeated NA NA

    MT 564In each occurrence of subsequence B2, field 93B::ELIG
    cannot appear more than twice(maximum 2 occurrences). When
    repeated, one occurrence must have Quantity Type CodeFAMT and the
    other occurrence must have Quantity Type Code AMOR.

    Subsequence B2if field :93B::ELIG is …

    Then one occurrence of:93B:ELIG must be …

    And the other occurrenceof :93B::ELIG must be …

    Repeated :93B::ELIG//FAMT and DSSmust not be present

    :93B::ELIG//AMOR and DSSmust not be present

    Not repeated NA NA

    MT 565In subsequence B2, field 93B::ELIG cannot appear more than
    twice (maximum 2 occurrences).When repeated, one occurrence must
    have Quantity Type Code FAMT and the otheroccurrence must have
    Quantity Type Code AMOR.

    Subsequence B2if field :93B::ELIG is …

    Then one occurrence of:93B::ELIG must be …

    And the other occurrenceof :93B::ELIG must be …

    Repeated :93B::ELIG//FAMT and DSSmust not be present

    :93B::ELIG//AMOR and DSSmust not be present

    Not repeated NA NA

    MT 566In sequence B, field 93B::ELIG cannot appear more than
    twice (maximum 2 occurrences).When repeated, one occurrence must
    have Quantity Type Code FAMT and the otheroccurrence must have
    Quantity Type Code AMOR.

    Sequence Bif field :93B::ELIG is …

    Then one occurrence of:93B:ELIG must be …

    And the other occurrenceof :93B::ELIG must be …

    Repeated :93B::ELIG//FAMT and DSSmust not be present

    :93B::ELIG//AMOR and DSSmust not be present

    Not repeated NA NA

    MT 567In sequence B, field 36B::STAQ or QREC cannot appear more
    than twice (maximum 2occurrences). When repeated, one occurrence
    must have Quantity Type Code FAMT and theother occurrence must have
    Quantity Type Code AMOR.

    Sequence Bif field :36B::STAQ or QREC

    is …

    Then one occurrence of:36B:STAQ or QREC must

    be …

    And the other occurrenceof :36B::STAQ or QRECmust be …

    :36B::STAQ//FAMT or :36B::STAQ//AMORRepeated

    :36B::QREC//FAMT :36B::QREC//AMOR

    Not repeated NA NA

    FIN

    38 Error Codes

  • MT 568In sequence B, field 93B::ELIG cannot appear more than
    twice (maximum 2 occurrences).When repeated, one occurrence must
    have Quantity Type Code FAMT and the otheroccurrence must have
    Quantity Type Code AMOR.

    Sequence Bif field :93B::ELIG is …

    Then one occurrence of:93B:ELIG must be …

    And the other occurrenceof :93B::ELIG must be …

    Repeated :93B::ELIG//FAMT and DSSmust not be present

    :93B::ELIG//AMOR and DSSmust not be present

    Not repeated NA NA

    MT 707If field 79 is present, it cannot appear more than twice
    (maximum 2 occurrences).

    C72 MT 537In each occurrence of subsequence C2, field 36B::PSTA
    cannot appear more than twice(maximum 2 occurrences). When
    repeated, one occurrence must have Quantity Type CodeFAMT and the
    other occurrence must have Quantity Type Code AMOR.

    Subsequence C2if field :36B::PSTA is …

    Then one occurrence of:36B::PSTA must be …

    And the other occurrenceof :36B::PSTA must be …

    Repeated :36B::PSTA//FAMT :36B::PSTA//AMOR

    Not repeated NA NA

    MT 564In each occurrence of subsequence E1, field 36B::ENTL
    cannot appear more than twice(maximum 2 occurrences). When
    repeated, one occurrence must have Quantity Type CodeFAMT and the
    other occurrence must have Quantity Type Code AMOR.

    Subsequence E1if field :36B::ENTL is …

    Then one occurrence of:36B::ENTL must be …

    And the other occurrenceof :36B::ENTL must be …

    Repeated :36B::ENTL//FAMT :36B::ENTL//AMOR

    Not repeated NA NA

    MT 565In sequence. D, field 36B::QINS or QREC cannot appear more
    than twice (maximum 2occurrences). When repeated, one occurrence
    must have Quantity Type Code FAMT and theother occurrence must have
    Quantity Type Code AMOR. When used with format option C,
    thequalifiers QINS and QREC cannot be repeated.

    Sequenceif field :36B::QINS or QREC

    is …

    Then one occurrence of:36B::QINS or QREC must

    be …

    And the other occurrenceof :36B::QINS or QRECmust be …

    :36B::QINS//FAMT :36B::QINS//AMORRepeated

    :36B::QREC//FAMT :36B::QREC//FAMT

    Not repeated NA NA

    Chapter 3 Alphanumeric Codes

    22 July 2011 39

  • Note: Therefore the only valid repetitions are:

    :36B::QINS//FAMT

    :36B::QINS//AMOR

    or

    :36B::QREC//FAMT

    :36B::QREC//AMOR

    MT 566In each occurrence of subsequence D1, field 36B::PSTA
    cannot appear more than twice(maximum 2 occurrences). When
    repeated, one occurrence must have Quantity Type CodeFAMT and the
    other occurrence must have Quantity Type Code AMOR.

    Subsequence D1if field :36B::PSTA is …

    Then one occurrence of:36B::PSTA must be …

    And the other occurrenceof :36B::PSTA must be …

    Repeated :36B::PSTA//FAMT :36B::PSTA//AMOR

    Not repeated NA NA

    C73 MT 536A reference to the previously received message must be
    specified for each transaction reported,that is, in each occurrence
    of subsequence B1a Transaction, field 20C::RELA must be presentin
    one and only one occurrence of subsequence B1a1 Linkages; field
    20C::RELA is not allowedin all other occurrences of subsequence
    B1a1.

    MT 537A reference to the previously received message must be
    specified for each transaction reported,that is, in each occurrence
    of subsequence B2 Transaction, field 20C::RELA must be present
    inone and only one occurrence of subsequence B2a Linkages; field
    20C::RELA is not allowed inall other occurrences of subsequence
    B2a.

    MTs 544, 545, 546, 547, and 548A reference to the previously
    received message must be specified, that is, field 20C::RELA mustbe
    present in one and only one occurrence of subsequence A1 Linkages;
    field 20C::RELA is notallowed in all other occurrences of
    subsequence A1.

    C74 MT 537A reference to the previously received message must be
    specified for each transaction reported,that is, in each occurrence
    of sequence C Transaction, field 20C::RELA must be present in
    oneand only one occurrence of subsequence C1 Linkages; field
    20C::RELA is not allowed in allother occurrences of subsequence
    C1.

    C75 MT 104The presence of field 23E in sequence B, depends on
    the presence and content of field 23E insequence A as follows:

    If field 23E is present in sequence A and contains RFDD, then
    field 23E must be present inall occurrences of sequence B.

    If field 23E is present in sequence A and does not contain RFDD,
    then field 23E must notbe present in any occurrence of sequence
    B.

    FIN

    40 Error Codes

  • Note:

    If field 23E is not present in sequence A, then field 23E must
    be present in all occurrencesof sequence B.

    Sequence Aif field 23E is …

    Sequence Bif field 23E is …

    Present and = RFDD Mandatory in all occurrences

    Present and not = RFDD Not allowed

    Not present Mandatory in all occurrences

    See Error codes C94 and C96.

    C76 MT 104Field 50a (option A or K) must be present either in
    sequence A or in each occurrence ofsequence B, but must never be
    present in both sequences, nor absent from both sequences.

    Sequence Aif field 50a (option A or K) is …

    In every occurrence of sequence B,then field 50 (option A or K)
    is …

    Present Not allowed

    Not present Mandatory

    C77 MTs 730, 768, and 769Either field 25 or field 57a, but not
    both, may be present.

    C78 MTs 730, 768, and 769Either field 32D or field 57a, but not
    both, may be present.

    C79 MTs 305 and 601Field 31C may be present only if subfield 3
    of field 23 contains A.

    C80 MT 608The commodity code must be the same for all
    occurrences of the indicated fields in the entiremessage.

    C81 MTs 103, 103+, 202, 202 COV (sequence A), 203, 205, and 205
    COV (sequence A)If field 56a is present, then field 57a must also
    be present.

    C82 MTs 104 and 107In sequence A, if field 23E is present and
    contains RTND, then field 72 must be present. In allother cases
    (that is field 23E is not present, or field 23E does not contain
    RTND), field 72 is notallowed.

    Sequence A

    If field 23E is … Then field 72 is …

    Present and = RTND Mandatory

    Present and not = RTND Not allowed

    Chapter 3 Alphanumeric Codes

    22 July 2011 41

  • Sequence A

    If field 23E is … Then field 72 is …

    Not present Not allowed

    C83 MT 935Either field 23 or field 25, but not both, must be
    present in any repetitive sequence.

    C84 MT 303In sequence A, the presence of field 21 depends on
    field 22A as follows:

    Sequence A

    If field 22A is … Then field 21 is …

    AMNA Mandatory

    AMND Mandatory

    CANC Mandatory

    DUPL Optional

    NEWT Optional

    C85 MT 609Field 68B must be present when the immediately
    preceding field 23 contains SPOTS orFORWARDS.

    C86 MT 609Field 68C must be present when the immediately
    preceding field 23 contains OPTIONS.

    C87 Available.

    C88 MT 305The currency code in subfield 4 of field 23 must be
    the same as the currency code in field 32B.

    C89 MTs 600, 601, 604, 605, 606, 607, 608, and 609A maximum of 6
    decimal digits is permitted in the following: field 32F in MTs 600,
    601, 604, 605,606 and 607; fields 60F, 60M, 61, 62F, 62M, 64 and 65
    in MT 608; and subfield 6 of fields 68Band 68C in MT 609.

    MT 620A maximum of 6 decimal digits is permitted in the
    subfields «amount» of sequence B: field 32F,index 18, field 32R,
    index 19, field 34J, index 21, and of sequence G: field 33J, index
    52, andfield 33J, index 54.

    C90 MTs 700, 710, 720, and 740If field 42a is used, the only
    combinations that are allowed are field 42M (on its own) or field
    42P(on its own) or both fields 42C and 42(A or D).

    FIN

    42 Error Codes

  • Note:

    Note:

    C91 MT 608Subfield 4 of field 61 must not be present.

    C92 MT 303Sequences B and C are mutually exclusive. Field 94A in
    sequence A specifies which type oftransaction is allocated and thus
    which one of the two sequences must be present:

    Sequence Aif field 94A is …

    Then sequence B is … Then sequence C is …

    FORX Mandatory Not allowed

    FXOP Not allowed Mandatory

    C93 MT 600Either sequence B or C, but not both, must be
    present.

    C94 MT 104If field 23E in sequence A is present and contains
    RFDD, then field 119 of the User Headermust be present and contain
    RFDD. If field 23E in sequence A is not present or does not
    containRFDD, then field 119 of the User Header must not be
    present.

    Sequence Aif field 23E is …

    User Headerthen field 119 is …

    Present and = RFDD Mandatory and must contain RFDD

    Present and not = RFDD Not allowed

    Not present Not allowed

    This error code takes precedence over Error codes C75 and
    C96.MTs 503, 504, 505, 506, and 507The User Header is mandatory and
    must contain a field 119 with a valid code that is identical tothat
    contained in subfield 2 of field :22a::COLA//4!c in sequence A.

    The rule 94 must be applied even if the DSS is present in field
    :22F::COLA.

    C95 MT 303In sequence C, the presence of field 30X depends on
    field 23B as follows:

    Sequence C

    If field 23B is … Then field 30X is …

    CLAM or PTAM Mandatory

    CLEU or PTEU Not allowed

    C96 MT 104If field 23E is present in sequence A and contains
    RFDD, then:

    field 21R in sequence A is optional

    fields 21E, 50a (option A or K), 52a, 71F and 71G must not be
    present in sequence B

    Chapter 3 Alphanumeric Codes

    22 July 2011 43

  • Note:

    Note:

    sequence C must not be present

    Otherwise, that is in sequence A, field 23E does not contain
    RFDD or field 23E is not present:

    in sequence A, field 21R must not be present

    and in sequence B, the fields 21E, 50a (option A or K), 52a, 71F
    and 71G are optional

    and sequence C must be present

    Sequence A Sequence B

    If field 23E is … Then field 21R is … And fields 21E,
    50a(option A or K), 52a,71F and 71G are …

    And sequence C is…

    Present and = RFDD Optional Not allowed Not allowed

    Present and not =RFDD

    Not allowed Optional Mandatory

    Not present Not allowed Optional Mandatory

    1. See Error codes D75, C94 and D80.

    2. Error code C96 takes precedence over Error code D80.

    C97 MT 303The presence of sequence D depends on the value of
    field 22A in sequence A as follows:

    Sequence Aif field 22A is …

    Then sequence D is …

    AMNA, AMND, DUPL or NEWT Mandatory

    CANC Optional

    MT 504The presence of sequence D is mandatory when in any
    occurrence of sequence C,subsequence C1 is present and subsequence
    C1a is not present:

    In sequence(s) C Then sequence D is …

    If in one or more occurrence(s) of sequenceC:subsequence C1 is
    present andan internal subsequence C1a is not present

    Mandatory

    See Error code D49.MT 505The presence of sequence C is mandatory
    when in any occurrence of sequence B,subsequence B1 is present and
    subsequence B1a is not present:

    In sequence(s) B Then sequence C is …

    If in one or more occurrence(s) of sequenceB:subsequence B1 is
    present andan internal subsequence B1a is not present

    Mandatory

    FIN

    44 Error Codes

  • Note:

    Note:

    Note:

    See Error code D49.

    C98 MTs 306, 320, 330 , 340, and 620In a sequence, field 15a may
    not be the only field, that is if field 15a is present, then at
    least oneother field in the sequence must be present.

    The following lists the sequences per message type:

    Message type Sequence

    306 I

    320, 330 H

    340 E

    620 H

    C99 MT 303In each occurrence of sequence D, the presence of
    subsequence D3 depends on field 94A ofsequence A as follows:

    Sequence Aif field 94A is …

    Then subsequence D3 is …

    FORX Not allowed

    FXOP Mandatory

    MT 504Sequence E is mandatory when in any occurrence of sequence
    C, subsequence C2 is presentand subsequence C2a is not present.

    In sequence(s) C Then sequence E is …

    If in one or more occurrence(s) of sequenceC:subsequence C2 is
    present and an internalsubsequence C2a is not present

    Mandatory

    See Error code D50.MT 505Sequence D is mandatory when in any
    occurrence of sequence B, subsequence B2 is presentand subsequence
    B2a is not present.

    In sequence(s) B Then sequence D is …

    If in one or more occurrence(s) of sequenceB:subsequence B2 is
    present and an internalsubsequence B2a is not present

    Mandatory

    See Error code D50.

    Chapter 3 Alphanumeric Codes

    22 July 2011 45

  • 3.4.2 D Error CodesNote

    Similar error codes are used by other SWIFT services, such as
    Accord, or Processingfor Euro Banking Association (EBA), and can
    have different meanings. The error codesused by each of the
    services are described in the respective service documentation.

    D00 Not used.

    D01 MT 303If subfield 1 of field 39P contains CURR, the number
    of decimal digits in subfield 3 is checkedagainst the maximum
    allowed for the corresponding currency in subfield 2.

    D02 MTs 304, 360, 361, 362, 364, and 365In sequence A, the
    presence of field 21 depends on field 22A as follows:

    Sequence A

    If field 22A is … Then field 21 is …

    AMND Mandatory

    CANC Mandatory

    DUPL Optional

    NEWT Optional

    MTs 306 and 340In sequence A, the presence of field 21 depends
    on field 22A as follows:

    Sequence A

    If field 22A is … Then field 21 is …

    AMND Mandatory

    CANC Mandatory

    NEWT Optional

    MT 341In sequence A, the presence of field 21 depends on field
    22A as follows:

    Sequence A

    If field 22A is … Then field 21 is …

    AMND Mandatory

    CANC Mandatory

    SETT Optional

    FIN

    46 Error Codes

  • Note:

    Note:

    MT 350In sequence A, if field 22A contains ADVC, then field 21
    is optional; otherwise field 21 ismandatory:

    Sequence A

    If field 22A is … Then field 21 is …

    ADVC Optional

    Not = ADVC Mandatory

    D03 MT 304In sequence A, the presence of fields 17O and 17N
    depend on field 94A as follows:

    Sequence A

    If field 94A is … Then field 17O is … Then field 17N is

    ASET Not allowed Not allowed

    AFWD Mandatory Mandatory

    See also Error codes D04 and D29.MT 535If field :94a:: is
    present in sequence B, then fields :93B::AGGR and :94a::SAFE are
    not allowedin any occurrence of subsequence B1b:

    Sequence Bif field :94a: is …

    Then in any occurrence(s) of subsequenceB1b, field :93B::AGGR
    and field

    :94a::SAFE are …

    Present Not allowed

    Not present Optional

    D04 MT 304In sequence A, the presence of field 17F depends on
    field 17O as follows:

    Sequence A

    If field 17O is … Then field 17F is …

    Y Not allowed

    N Mandatory

    Not present Not allowed

    See also Error codes D03 and D29.MT 535If field :93B::AGGR is
    present in subsequence B1b, then :field 94a::SAFE must be present
    in thesame subsequence B1b:

    Sequence B1bif field :93B::AGGR is …

    Then in same subsequence B1b,field :94a::SAFE is …

    Present Mandatory

    Not present Optional

    Chapter 3 Alphanumeric Codes

    22 July 2011 47

  • D05 MT 535In each occurrence of subsequence B1b, if field
    :93B::AVAI or/and :93B::NAVL is/are present,then :field :93B::AGGR
    must be present in the same occurrence of subsequence B1b.

    MTs 700, 705, 707, 710, 720, 740, and 747Either field 39A or
    field 39B, but not both, may be present.

    D06 MTs 700, 705, 707, 710, and 720Either field 44C or 44D but
    not both, may be present.

    D07 Available.

    D08 MT 670In subsequence A2, either field :95P::SSIR or field
    :94C::SSIR or field :22H::SSIR must bepresent:

    Subsequence A2if field :95P::SSIR is …

    Subsequence A2then field :94C::SSIR is …

    Subsequence A2 then field:22H::SSIR is …

    Present Not allowed Not allowed

    Present Not allowedNot present

    Not present Mandatory

    D09 MT 670In sequence A, field :95P::SUBM must specify the same
    BIC as the Sender in the basic header.If the branch code of the
    Sender’s BIC is XXX, then the branch code is not required in
    field:95P::SUBM. If the branch code of the Sender’s BIC is not XXX,
    then the branch code in field:95P::SUBM must be the same. If the
    branch code of :95P:SUBM is present, then the branchcode of the
    Sender’s BIC must be the same.

    In addition, if the Sender’s BIC is a Test and Training BIC then
    it’s owning master’s registeredBIC with or without a branch code
    could also be specified in field :95P::SUBM Submitting Party.

    D10 Available.

    D11 MT 670In each occurrence of sequence B, if subsequence B1
    contains field :95a::INT2 then :95a::INT1must be present in another
    subsequence B1:

    Within each occurrence of sequence Bin subsequence B1

    if field :95a::INT1 is …

    In the same occurrence of sequence Bthen in another subsequence
    B1

    field :95a::INT2 is …

    Present Optional

    Not present Not allowed

    D12 MT 670In each occurrence of sequence B, in subsequence B1,
    field :95P::BENM or :95Q::BENM or:95R::BENM must be present. All
    three may be present but once only.

    FIN

    48 Error Codes

  • D13 MTs 380 and 381In sequence C, fields 16R and 16S may not be
    the only fields present. If both fields 16R and16S are present,
    then at least one of the other fields of the sequence C must be
    present.

    MTs 503, 504, and 506In subsequence B1, fields 16R and 16S may
    not be the only fields present. If both fields 16Rand 16S are
    present, then at least one other field of the same subsequence must
    be present.

    MT 670In subsequence B2, fields 16R and 16S may not be the only
    fields present. If both fields 16Rand 16S are present, then at
    least one of the other fields of the same subsequence B2 must
    bepresent.

    In sequence C, fields 16R and 16S may not be the only fields
    present. If both fields 16R and16S are present, then at least one
    of the other fields of the sequence C must be present.

    D14 MT 670In subsequence A2, if field :95P::SSIR is not present,
    then in subsequence B2 and sequence C,field :22F:PMTH must not be
    present. In sequence C, field :22F::PMTH is only allowed
    whensubsequence B2, field :22F::PMTH is not present:

    Subsequence A2if field is …:95P::SSIR

    Subsequence B2then field :22F::PMTH is …

    Sequence Cthen field :22F::PMTH is …

    Present Present Not allowed

    Present Not present Optional

    Not present Not allowed Not allowed

    D15 MT 670In each occurrence of subsequence B1, fields
    :95P::ACCW, :95Q::ACCW and :95R::ACCW mayall be present but once
    only.

    In each occurrence of subsequence B1, fields :95P::INT1,
    :95Q::INT1 and :95R::INT1 may all bepresent but once only.

    In each occurrence of subsequence B1, fields :95P::INT2,
    :95Q::INT2 and :95R::INT2 may all bepresent but once only.

    D16 MT 306The presence of subsequence B1 and of sequence C
    depends on the values of Type of Event(subfield 1 of field 22K) in
    sequence A as follows:

    Sequence Aif subfield 1 of field 22K is

    Then subsequence B1is …

    And sequence Cis …

    CLST Optional Optional

    CONF Mandatory Mandatory

    KNIN Not allowed Not allowed

    KNOT Not allowed Not allowed

    OTHR Optional Optional

    TRIG Not allowed Not allowed

    Chapter 3 Alphanumeric Codes

    22 July 2011 49

  • D17 MTs 102 and 102+Field 50a must be present either in sequence
    A or in each occurrence of sequence B, but itmust never be present
    in both sequences, nor be absent from both sequences.

    D18 MT 102 (not 102+)If a field 52a, 26T or 77B is present in
    sequence A, then that field must not be present in anyoccurrence of
    sequence B. When a field 52a, 26T or 77B is present in any
    occurrences ofsequence B, that field must not be present in
    sequence A.

    Sequence Aif field 52a is …

    In each occurrence ofsequence B

    then field 52a is …

    Present Not allowed

    Not present Optional

    Sequence Aif field 26T is …

    In each occurrence ofsequence B

    then field 26T is …

    Present Not allowed

    Not present Optional

    Sequence Aif field 77B is …

    In each occurrence ofsequence B

    then field 77B is …

    Present Not allowed

    Not present Optional

    MT 102+If a field 52A, 26T or 77B is present in sequence A, then
    that field must not be present in anyoccurrence of sequence B. When
    a field 52A, 26T or 77B is in any occurrence of sequence B,that
    field must not be present in sequence A.

    Sequence Aif field 52A is …

    In each occurrence ofsequence B

    then field 52A is …

    Present Not allowed

    Not present Optional

    Sequence Aif field 26T is …

    In each occurrence ofsequence B

    then field 26T is …

    Present Not allowed

    Not present Optional

    Sequence Aif field 77B is …

    In each occurrence ofsequence B

    then field 77B is …

    Present Not allowed

    FIN

    50 Error Codes

  • Note:

    Sequence Aif field 77B is …

    In each occurrence ofsequence B

    then field 77B is …

    Not present Optional

    D19 MT 102+If in the transaction headers the country codes of
    both the Sender’s and Receiver’s BIC arepresent in the list D19_CC
    (see note 2), then in each occurrence of sequence B the
    followingapply:

    If field 57A is not present, then the IBAN format (ISO-13616,
    see note 1) is mandatory insubfield_1 Account of field 59a in this
    occurrence of sequence B.

    If field 57A is present and the country code of the BIC in 57A
    (note) is present in the listD19_CC, then the IBAN format is
    mandatory in subfield_1 Account of field 59a in thisoccurrence of
    sequence B.

    In all other cases, the presence of the IBAN format is optional
    and its format is not validated insubfield_1 Account of field
    59a.

    1. format special validation.

    2. D19_CC list of country codes : AD, AT, BE, BG, BV, CH, CY,
    CZ, DE, DK, EE,ES, FI, FR, GB, GF, GI, GP, GR, HU, IE, IS, IT, LI,
    LT, LU, LV, MC, MQ, MT,NL, NO, PL, PM, PT, RE, RO, SE, SI, SJ, SK,
    SM, TF and VA.

    In transaction headers, In each occurrence of sequence B,

    If country codeof Emitter’s BIC

    present inD19_CC

    And countrycode of

    Receiver’s BICpresent inD19_CC

    And field 57Apresent in this

    occurrenceof sequence B

    And countrycode

    of field 57Ais present in

    D19_CC

    Then in thisoccurrence ofsequence B

    in field 59a the

    format insubfield_1

    Account is …

    Yes Yes No NA Mandatory

    Yes No No NA Optional

    No Yes No NA Optional

    No No No NA Optional

    Yes Yes Yes Yes Mandatory

    Yes No Yes Yes Optional

    No Yes Yes Yes Optional

    No No Yes Yes Optional

    Yes Yes Yes No Optional

    Yes No Yes No Optional

    No Yes Yes No Optional

    No No Yes No Optional

    Chapter 3 Alphanumeric Codes

    22 July 2011 51

  • Note:

    Note:

    Note:

    This validation rule applies to all types of BICs that are
    referenced in field57A: SWIFT BIC, NON-SWIFT BIC, Master, Synonym,
    LIVE destination, Test andTraining destination.

    MT 103+If in the transaction headers the country codes of both
    the Sender’s and Receiver’s BIC arepresent in the list D19_CC (see
    note 2), then in each occurrence of sequence B the
    followingapply:

    If field 57A is not present, then the IBAN format (ISO-13616,
    see note 1) is mandatory insubfield_1 Account of field 59a

    If field 57A is present and the country code of the BIC in 57A
    (note) is present in the listD19_CC, then the IBAN format is
    mandatory in subfield_1 Account of field 59a

    In all other cases, the presence of the IBAN format is optional
    and its format is not validated insubfield_1 Account of field
    59a.

    1. format special validation.

    2. D19_CC list of country codes : AD, AT, BE, BG, BV, CH, CY,
    CZ, DE, DK, EE,ES, FI, FR, GB, GF, GI, GP, GR, HU, IE, IS, IT, LI,
    LT, LU, LV, MC, MQ, MT,NL, NO, PL, PM, PT, RE, RO, SE, SI, SJ, SK,
    SM, TF and VA.

    In transaction headers,

    If country codeof Emitter’s BIC

    present inD19_CC

    and countrycode of

    Receiver’s BICpresent inD19_CC

    and field 57Apresent

    and countrycode

    of field 57Ais present in

    D19_CC

    then in field 59athe

    format insubfield_1

    Account is …

    Yes Yes No NA Mandatory

    Yes No No NA Optional

    No Yes No NA Optional

    No No No NA Optional

    Yes Yes Yes Yes Mandatory

    Yes No Yes Yes Optional

    No Yes Yes Yes Optional

    No No Yes Yes Optional

    Yes Yes Yes No Optional

    Yes No Yes No Optional

    No Yes Yes No Optional

    No No Yes No Optional

    This validation rule applies to all types of BICs that are
    referenced in field57A: SWIFT BIC, NON-SWIFT BIC, Master, Synonym,
    LIVE destination, Test andTraining destination.

    FIN

    52 Error Codes

  • Note:

    D20 MTs 102 and 102+Field 71A must be present either in sequence
    A or in each occurrence of sequence B, but itmust never be present
    in both sequences, nor be absent from both sequences.

    This error code takes precedence over Error codes D50, E13 and
    E15.

    D21 MTs 104 and 107In each occurrence of sequence B, if field
    33B is present, then the currency code or the amount,or both, must
    be different between fields 33B and 32B.

    D22 MT 102 and 102+Field 36 (sequence A or sequence B) must be
    present in the message if there is any sequenceB which contains a
    field 33B with a currency code different from the currency code in
    field 32B;in all other cases field 36 is not allowed in the
    message.

    When a field 36 (sequence A or sequence B) is required, EITHER
    field 36 must be present insequence A and not in any sequence B, OR
    it must be present in every sequence B whichcontains fields 32B and
    33B with different currency codes and must not be present in
    sequenceA or any other sequence B.

    In sequence A In sequence B

    If field 36 is present Then in minimum one occurrence ofsequence
    B field 33B must be present,and currency codes in fields 32B and
    33Bmust be different.

    And field 36 is notallowed in anyoccurrence ofsequence B

    In sequence A In each occurrence of sequence B

    If field 33B is … And currency codesin fields 32B and

    33B are …

    Then field 36 is …

    Equal Not allowedPresent

    Not equal Mandatory

    If field 36 is notpresent

    Not present NA Not allowed

    D23 MT 304The presence of sequence D depends on field 17O as
    follows:

    Sequence Aif field 17O is …

    Then sequence D is …

    Y Not allowed

    N Mandatory

    Not present Not allowed

    D24 MT 306In sequence A, if field 12F contains VANI, then at
    least field 17A or field 17F must contain Y.Both fields may contain
    Y.

    Chapter 3 Alphanumeric Codes

    22 July 2011 53

  • Sequence A

    If field 12F is … And field 17A is … And field 17F is …
    Then thiscombination of

    codes is …

    VANI N N Not allowed

    VANI N Y Allowed

    VANI Y N Allowed

    VANI Y Y Allowed

    Not = VANI NA NA Allowed

    D25 Available.

    D26 MT 306In sequence A, the values allowed for field 12E depend
    on the value of field 12F as follows:

    Sequence A

    If field 12F is … Then the allowed values for field 12E are

    BINA AMER, EURO

    DIGI EURO

    NOTO EURO

    VANI AMER, BERM, EURO

    D27 MT 306In sequence A, the allowed values for subfield 1 of
    field 22K depend on fields 12F and 17A asfollows:

    Sequence A

    If field 12F is … And field 17A is … Then the allowed values
    forsubfield 1 of field 22K are …

    VANI N CONF, CLST, OTHR

    VANI Y CONF, CLST, KNIN, KNOT,OTHR

    Not = VANI N CONF, CLST, TRIG, OTHR

    Not = VANI Y CONF, CLST, KNIN, KNOT,TRIG, OTHR

    FIN

    54 Error Codes

  • Note:

    D28 MT 306In sequence A, the presence of fields 30U and 29H
    depends on the value of subfield 1 of field22K as follows:

    Sequence A

    If subfield 1 of field 22K is…

    Then field 30U is … And field 29H is …

    CONF or CLST Not allowed Not allowed

    Any other value Mandatory Optional

    D29 MT 304The presence of sequence E depends on fields 17F and
    17N as follows:

    Sequence A

    If field 17F is … And field 17N is …Then sequence E is

    Y Y Mandatory

    Y N Not allowed

    Y Not present Not allowed (this case is already
    negativelyacknowledged, see Error codes D03 andD04)

    N Y or N Not allowed

    N Not present Not allowed (this case is already
    negativelyacknowledged, see Error codes D03 andD04)

    Not present Y or N Not allowed

    Not present Not present Not allowed

    See also Error codes D03 and D04.MT 507The presence of sequence
    B depends on the value of field :25D::4!c// in sequence Aand the
    value of field :13A::Link// in subsequence A2 as follows:

    Chapter 3 Alphanumeric Codes

    22 July 2011 55

  • Note:

    Sequence A

    If field:25D::4!c/[8c]/4!c Qualifier is

    And field:25D::REST/[8c]/4!c Data

    SourceScheme [8c] is

    And field:25D::REST/[8c]/

    4!c is …

    SubsequenceA2

    and field:13A::LINK//3!c

    is …Then sequence

    B is …

    :25D::REST//ACCP 503 Optional

    :25D::REST//ACCT 503 Optional

    :25D::REST//ACCP 504 Mandatory

    :25D::REST//ACCT 504 Mandatory

    :25D::REST//ACCP 505 Optional

    :25D::REST//ACCT 505 Optional

    :25D::REST//SUBR NA Optional

    Not present

    :25D::REST//REJT NA Not allowed

    REST

    Present NA NA Optional

    CPRC NA NA NA Not allowed

    IPRC NA NA NA Not allowed

    See Error code D52.MT 567If the message is an instruction status
    or a cancellation request status (:23G:INST or CAST),AND sequence B
    is present, then sequence B should contain a CA option number and
    code(:13A::CAON and :22a::CAOP are mandatory).

    In sequence Aif field :23G:

    is …

    and sequence B is…

    then sequence B,field :13A::CAON is

    and sequence B,field :22a::CAOP is

    Present Mandatory MandatoryINST or CAST

    Not present NA NA

    EVST NA NA NA

    D30 MT 306The presence of sequences D and G depends on the value
    of field 12F in sequence A asfollows:

    Sequence Aif field 12F is …

    Then sequence D is … And sequence G is …

    VANI Mandatory Not allowed

    Not = VANI Not allowed Mandatory

    FIN

    56 Error Codes

  • D31 MT 306If sequence D is present, that is if field 12F in
    sequence A contains VANI (see Error code D30),then the presence of
    fields 30P and 30Q depends on the value of field 12E in sequence A
    asfollows:

    Sequence A Sequence D

    If field 12E is … And field 12E is … Then field 30P is …
    And field 30Q is …

Обработка ошибок

Обработка ошибок — это процесс реагирования на возникновение ошибок и восстановление после появления ошибок в программе. Swift предоставляет первоклассную поддержку при генерации, вылавливании и переносе ошибок, устранении ошибок во время выполнения программы.

Некоторые операции не всегда гарантируют полное выполнение или конечный результат. Опционалы используются для обозначения отсутствия значения, но когда случается сбой, важно понять, что вызвало сбой, для того, чтобы соответствующим образом изменить код.

В качестве примера, рассмотрим задачу считывания и обработки данных из файла на диске. Задача может провалиться по нескольким причинам, в том числе: файл не существует по указанному пути, или файл не имеет разрешение на чтение, или файл не закодирован в необходимом формате. Отличительные особенности этих различных ситуаций позволяют программе решать некоторые ошибки самостоятельно и сообщать пользователю какие ошибки она не может решить сама.

Отображение и генерация ошибок

В Swift ошибки отображаются значениями типов, которые соответствуют протоколу Error. Этот пустой протокол является индикатором того, что это перечисление может быть использовано для обработки ошибок.

Перечисления в Swift особенно хорошо подходят для группировки схожих между собой условий возникновения ошибок и соответствующих им значений, что позволяет получить дополнительную информацию о природе самой ошибки. Например, вот как отображаются условия ошибки работы торгового автомата внутри игры:

enum VendingMachineError: Error {
    case invalidSelection
    case insufficientFunds(coinsNeeded: Int)
    case outOfStock
}

Генерация ошибки позволяет указать, что произошло что-то неожиданное и обычное выполнение программы не может продолжаться. Для того чтобы «сгенерировать» ошибку, вы используете инструкцию throw. Например, следующий код генерирует ошибку, указывая, что пять дополнительных монет нужны торговому автомату:

throw VendingMachineError.insufficientFunds(coinsNeeded: 5)

Обработка ошибок

Когда генерируется ошибка, то фрагмент кода, окружающий ошибку, должен быть ответственным за ее обработку: например, он должен исправить ее, или испробовать альтернативный подход, или просто информировать пользователя о неудачном исполнении кода.

В Swift существует четыре способа обработки ошибок. Вы можете передать (propagate) ошибку из функции в код, который вызывает саму эту функцию, обработать ошибку, используя инструкцию do-catch, обработать ошибку, как значение опционала, или можно поставить утверждение, что ошибка в данном случае исключена. Каждый вариант будет рассмотрен далее.

Когда функция генерирует ошибку, последовательность выполнения вашей программы меняется, поэтому важно сразу обнаружить место в коде, которое может генерировать ошибки. Для того, чтобы выяснить где именно это происходит, напишите ключевое слово try — или варианты try? или try!— до куска кода, вызывающего функцию, метод или инициализатор, который может генерировать ошибку. Эти ключевые слова описываются в следующем параграфе.

Заметка

Обработка ошибок в Swift напоминает обработку исключений (exceptions) в других языках, с использованием ключевых слов try, catch и throw. В отличие от обработки исключений во многих языках, в том числе и в Objective-C- обработка ошибок в Swift не включает разворачивание стека вызовов, то есть процесса, который может быть дорогим в вычислительном отношении. Таким образом, производительные характеристики инструкции throw сопоставимы с характеристиками оператора return.

Передача ошибки с помощью генерирующей функции

Чтобы указать, что функция, метод или инициализатор могут генерировать ошибку, вам нужно написать ключевое слово throws в реализации функции после ее параметров. Функция, отмеченная throws называется генерирующей функцией. Если у функции установлен возвращаемый тип, то вы пишете ключевое слово throws перед стрелкой возврата (->).

func canThrowErrors() throws -> String
func cannotThrowErrors() -> String

Генерирующая функция передает ошибки, которые возникают внутри нее в область вызова этой функции.

Заметка

Только генерирующая ошибку функция может передавать ошибки. Любые ошибки, сгенерированные внутри non-throwing функции, должны быть обработаны внутри самой функции.

В приведенном ниже примере VendingMachine класс имеет vend(itemNamed: ) метод, который генерирует соответствующую VendingMachineError, если запрошенный элемент недоступен, его нет в наличии, или имеет стоимость, превышающую текущий депозит:

struct Item {
    var price: Int
    var count: Int
}
 
class VendingMachine {
    var inventory = [
        "Candy Bar": Item(price: 12, count: 7),
        "Chips": Item(price: 10, count: 4),
        "Pretzels": Item(price: 7, count: 11)
    ]
    var coinsDeposited = 0
    
    func vend(itemNamed name: String) throws {
        guard let item = inventory[name] else {
            throw VendingMachineError.invalidSelection
        }
        
        guard item.count > 0 else {
            throw VendingMachineError.outOfStock
        }
        
        guard item.price <= coinsDeposited else {
            throw VendingMachineError.insufficientFunds(coinsNeeded: item.price - coinsDeposited)
        }
        
        coinsDeposited -= item.price
        
        var newItem = item
        newItem.count -= 1
        inventory[name] = newItem
        
        print("Dispensing (name)")
    }
}

Реализация vend(itemNamed: ) метода использует оператор guard для раннего выхода из метода и генерации соответствующих ошибок, если какое-либо требование для приобретения закуски не будет выполнено. Потому что инструкция throw мгновенно изменяет управление программой, и выбранная позиция будет куплена, только если все эти требования будут выполнены.

Поскольку vend(itemNamed: ) метод передает все ошибки, которые он генерирует, вызывающему его коду, то они должны быть обработаны напрямую, используя оператор do-catch, try? или try!, или должны быть переданы дальше. Например, buyFavoriteSnack(person:vendingMachine: ) в примере ниже — это тоже генерирующая функция, и любые ошибки, которые генерирует метод vend(itemNamed: ), будут переноситься до точки, где будет вызываться функция buyFavoriteSnack(person:vendingMachine: ).

let favoriteSnacks = [
    "Alice": "Chips",
    "Bob": "Licorice",
    "Eve": "Pretzels"
]
func buyFavoriteSnack(person: String, vendingMachine: VendingMachine) throws {
    let snackName = favoriteSnacks[person] ?? "Candy Bar"
    try vendingMachine.vend(itemNamed: snackName)
}

В этом примере, функция buyFavoriteSnack(person:vendingMachine: ) подбирает любимые закуски данного человека и пытается их купить, вызывая vend(itemNamed: ) метод. Поскольку метод vend(itemNamed: ) может сгенерировать ошибку, он вызывается с ключевым словом try перед ним.

Генерирующие ошибку инициализаторы могут распространять ошибки таким же образом, как генерирующие ошибку функции. Например, инициализатор структуры PurchasedSnack в списке ниже вызывает генерирующую ошибку функции как часть процесса инициализации, и он обрабатывает любые ошибки, с которыми сталкивается, путем распространения их до вызывающего его объекта.

struct PurchasedSnack {
    let name: String
    init(name: String, vendingMachine: VendingMachine) throws {
        try vendingMachine.vend(itemNamed: name)
        self.name = name
    }
}

Обработка ошибок с использованием do-catch

Используйте инструкцию do-catch для обработки ошибок, запуская блок кода. Если выдается ошибка в коде условия do, она соотносится с условием catch для определения того, кто именно сможет обработать ошибку.

Вот общий вид условия do-catch:

do {
    try выражение
    выражение
} catch шаблон 1 {
    выражение
} catch шаблон 2  where условие {
    выражение
} catch шаблон 3, шаблон 4 where условие {
    выражение
} catch {
    выражение
}

Вы пишете шаблон после ключевого слова catch, чтобы указать какие ошибки могут обрабатываться данным пунктом этого обработчика. Если условие catch не имеет своего шаблона, то оно подходит под любые ошибки и связывает ошибки к локальной константе error. Более подробно о соответствии шаблону см. Шаблоны.

Например, следующий код обрабатывает все три случая в перечислении VendingMachineError, но все другие ошибки должны быть обработаны окружающей областью:

var vendingMachine = VendingMachine()
vendingMachine.coinsDeposited = 8
do {
    try buyFavoriteSnack(person: "Alice", vendingMachine: vendingMachine)
} catch VendingMachineError.invalidSelection {
    print("Ошибка выбора.")
} catch VendingMachineError.outOfStock {
    print("Нет в наличии.")
} catch VendingMachineError.insufficientFunds(let coinsNeeded) {
    print("Недостаточно средств. Пожалуйста вставьте еще (coinsNeeded) монетки.")
} catch {
    print("Неожиданная ошибка: (error).")
}
// Выведет "Недостаточно средств. Пожалуйста вставьте еще 2 монетки.

В приведенном выше примере, buyFavoriteSnack(person:vendingMachine: ) функция вызывается в выражении try, потому что она может сгенерировать ошибку. Если генерируется ошибка, выполнение немедленно переносится в условия catch, которые принимают решение о продолжении передачи ошибки. Если ошибка не генерируется, остальные операторы do выполняются.

В условии catch не нужно обрабатывать все возможные ошибки, которые может вызвать код в условии do. Если ни одно из условий catch не обрабатывает ошибку, ошибка распространяется на окружающую область. Однако распространяемая ошибка должна обрабатываться некоторой внешней областью. В функции nonthrowing условие включения do-catch должно обрабатывать ошибку. В функции throwing либо включающая условие do-catch, либо вызывающая сторона должна обрабатывать ошибку. Если ошибка распространяется на область верхнего уровня без обработки, вы получите ошибку исполнения.

Например, приведенный ниже пример можно записать так, чтобы любая ошибка, которая не является VendingMachineError, вместо этого захватывалась вызывающей функцией:

func nourish(with item: String) throws {
    do {
        try vendingMachine.vend(itemNamed: item)
    } catch is VendingMachineError {
        print("Некорректный вывод, нет в наличии или недостаточно денег.")
    }
}

do {
    try nourish(with: "Beet-Flavored Chips")
} catch {
    print("Unexpected non-vending-machine-related error: (error)")
}
// Выведет "Некорректный вывод, нет в наличии или недостаточно денег."

В nourish(with: ), если vend(itemNamed : ) выдает ошибку, которая является одним из кейсов перечисления VendingMachineError, nourish(with: ) обрабатывает ошибку, печатая сообщение. В противном случае, nourish(with: ) распространяет ошибку на свое место вызова. Ошибка затем попадает в общее условие catch.

Преобразование ошибок в опциональные значения

Вы можете использовать try? для обработки ошибки, преобразовав ее в опциональное значение. Если ошибка генерируется при условии try?, то значение выражения вычисляется как nil. Например, в следующем коде x и y имеют одинаковые значения и поведение:

func someThrowingFunction() throws -> Int {
    // ...
}
 
let x = try? someThrowingFunction()
 
let y: Int?
do {
    y = try someThrowingFunction()
} catch {
    y = nil
}

Если someThrowingFunction() генерирует ошибку, значение x и y равно nil. В противном случае значение x и y — это возвращаемое значение функции. Обратите внимание, что x и y являются опциональными, независимо от того какой тип возвращает функция someThrowingFunction().

Использование try? позволяет написать краткий код обработки ошибок, если вы хотите обрабатывать все ошибки таким же образом. Например, следующий код использует несколько попыток для извлечения данных или возвращает nil, если попытки неудачные.

func fetchData() -> Data? {
    if let data = try? fetchDataFromDisk() { return data }
    if let data = try? fetchDataFromServer() { return data }
    return nil
}

Запрет на передачу ошибок

Иногда вы знаете, что функции throw или методы не сгенерируют ошибку во время исполнения. В этих случаях, вы можете написать try! перед выражением для запрета передачи ошибки и завернуть вызов в утверждение того, что ошибка точно не будет сгенерирована. Если ошибка на самом деле сгенерирована, вы получите сообщение об ошибке исполнения.

Например, следующий код использует loadImage(atPath: ) функцию, которая загружает ресурс изображения по заданному пути или генерирует ошибку, если изображение не может быть загружено. В этом случае, поскольку изображение идет вместе с приложением, сообщение об ошибке не будет сгенерировано во время выполнения, поэтому целесообразно отключить передачу ошибки.

let photo = try! loadImage(atPath: "./Resources/John Appleseed.jpg")

Установка действий по очистке (Cleanup)

Вы используете оператор defer для выполнения набора инструкций перед тем как исполнение кода оставит текущий блок. Это позволяет сделать любую необходимую очистку, которая должна быть выполнена, независимо от того, как именно это произойдет — либо он покинет из-за сгенерированной ошибки или из-за оператора, такого как break или return. Например, вы можете использовать defer, чтобы удостовериться, что файл дескрипторов закрыт и выделенная память вручную освобождена.

Оператор defer откладывает выполнение, пока не происходит выход из текущей области. Этот оператор состоит из ключевого слова defer и выражений, которые должны быть выполнены позже. Отложенные выражения могут не содержать кода, изменяющего контроль исполнения изнутри наружу, при помощи таких операторов как break или return, или просто генерирующего ошибку. Отложенные действия выполняются в обратном порядке, как они указаны, то есть, код в первом операторе defer выполняется после кода второго, и так далее.

func processFile(filename: String) throws {
    if exists(filename) {
        let file = open(filename)
        defer {
            close(file)
        }
        while let line = try file.readline() {
            // работаем с файлом.
        }
        // close(file) вызывается здесь, в конце зоны видимости.
    }
}

Приведенный выше пример использует оператор defer, чтобы удостовериться, что функция open(_: ) имеет соответствующий вызов и для close(_: ).

Заметка

Вы можете использовать оператор defer, даже если не используете кода обработки ошибок.

Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.

title description ms.custom ms.date ms.prod ms.reviewer ms.suite ms.tgt_pltfrm ms.topic ms.assetid caps.latest.revision author ms.author manager

SWIFT error codes in BizTalk Server | Microsoft Docs

View the class and validation types for the SWIFT Accelerator in BizTalk Server

08/16/2017

biztalk-server

article

03699986-965b-4a28-ab2e-09f110fb4db6

4

MandiOhlinger

mandia

anneta

SWIFT defines many network-imposed validations against the set of financial (FIN) messages. Each validation relates to a type of check against the contents of the message, and is associated with a three-character error code. The first character of the error code implies the class of the problem detected, and is a letter. The remaining two characters denote the detail of the error (when combined with the class) and always appear as a two-digit code.

Class of errors

The following table lists the letter designations, validation type, rule change associated with each class of error, and whether or not the class of error is supported.

Class Validation type and rule change Supported?
C, D, E Semantic validation rules 0-299 Supported
Knn Invalid code word in field nn Supported
M50 Message length exceeded Unsupported
M60 Non-SWIFT character encountered Supported
T Text validation error codes Supported
G Specific error codes for message user group (MUG) Textval rules Unsupported
B Special error codes for value-added services Unsupported

All SWIFT errors should be referenced in the SWIFT User Handbook. For more information and for a complete list of SWIFT error codes, refer to the Message Format Validation Rules volume of the SWIFT User Handbook. [!INCLUDEbtaA4SWIFT2.3abbrevnonumber] implements the rules in the September 2003 edition of this publication. You can access the SWIFT Web site at https://go.microsoft.com/fwlink/?LinkId=27885.

Validation errors

There are some codes which are defined by A4SWIFT. These error codes are used in the validation/network rules created and implemented by A4SWIFT, so there is no corresponding error code defined by SWIFT for such rules. Below table shows the error code and corresponding case in which the error is thrown. is the particular field which throws the error.

Error Code Description
A4SWIFT001 The first character of multiline field cannot be ‘:’ or ‘-‘ character for second and subsequent lines.
A4SWIFT002 Field contains invalid value.

[!NOTE]
[!INCLUDEA4SWIFT_CurrentVersion_FirstRef] includes support for some legacy messages, because internal applications might use these messages. Therefore, A4SWIFT maintains the associated SWIFT rules and error codes.

More good info

Troubleshooting: Issues and Resolutions
Known Issues
Common terms and definitions

Понравилась статья? Поделить с друзьями:
  • Ошибка poa7f honda civic
  • Ошибка svs на лифан x60 что это
  • Ошибка po343 ваз 2115
  • Ошибка stop 0x000000ea windows xp
  • Ошибка please close valorant before launch cheat