Table of Contents

SMH - Structured Message Header

Module SMH

Description

This table keeps track of all messages handled by the application.
This includes incoming and outgoing messages.

In case multiple messages are located within one file multiple SMH entries might point to the same message file identifying the individual messages by different positions (MSGPOS and MSGLEN) within this
file.
In case a single message is split into more than one message file the individual SMH entries might be grouped together (GRPINR and GRPSEQ).

The messages are usually associated to a contract (OBJTYP and OBJINR) and a processing transaction (TRNTYP and TRNINR).


Datafields

Name Description Data Type Len Dec. View lines View type Inst. Visible Codetable
INR Internal Unique ID of Message Text 8 1 Edit Yes Public
OBJTYP Object Type of Owning Contract (Optional) Text 6 1 Edit Yes Public
OBJINR INR of Owning Contract (Optional) Text 8 1 Edit Yes Public
TRNTYP Type of Transaction Text 6 1 Edit Yes Public
TRNINR Transaction, which Handles the Document Text 8 1 Edit Yes Public
TRNSUB Counter within TRN Numeric 3 0 Edit Yes Public
EXTKEY External Key Text 32 1 Edit Yes Public
NAM Name to Identify Document Text 40 1 Edit Yes Public
CREUSR Creating User Text 8 1 Edit Yes Public
CREFRM Creating Transaction Text 8 1 Edit Yes Public
CREDATTIM Timestamp Created Datetime 15 0 Unknown Yes Public
DIR Direction ('>'=Outgoing, '<'/'['=Incoming) Text 1 1 Edit Yes Public SMHDIR
DOCPTH Document Path (Relative to Appl. or Data Root) Text 50 1 Edit Yes Public
DOCFIL Document Name (File ID) Text 32 1 Edit Yes Public
DOCFXT Document Format (RTF, TIF, TXT etc.) Used to Created File Extension Text 4 1 Edit Yes Public
DOCMAC MAC Text 8 1 Edit Yes Public
MSGPOS Position of Message in Document (1=Begin of Document, 0=Whole Document) Numeric 10 0 Edit Yes Public
MSGLEN Length of Message in Document (0=Rest of Document) Numeric 10 0 Edit Yes Public
GRPINR INR of the First Message of Split Messages/Secondary Messages Text 8 1 Edit Yes Public
GRPSEQ Sequence Number of Split Messages Numeric 3 0 Edit Yes Public
CORTYP Structure/Syntax of Message (SWT, LET, TLX, TCO) Text 3 1 30 Edit Yes Public CORTYP
CORTYPSUB Subtype of Message (Defines SRV) Text 3 1 Edit Yes Public
APF Application Form Text 6 1 Edit Yes Public APFTXT
SNDKEY Receiver Key (BIC/Telex#/Fax#/Email) Text 140 1 80 Edit Yes Public
APFCNT Count per Form Text 50 1 Edit Yes Public
PTAINR PTA Receiving Documents Text 8 1 Edit Yes Public
ORIFLG Type of Copy Text 1 1 Edit Yes Public Embedded
ORISMHINR Internal Unique ID of Original Message Text 8 1 Edit Yes Public
PARTFLG Counter of Partial Messages (i.e. “1/2”) Text 3 1 Edit Yes Public
MSGTYP Message Type (Optional) Text 8 1 Edit Yes Public
RELCUR Relevant Currency (Optional) Text 3 1 Edit Yes Public
RELAMT Relevant Amount (Optional) Numeric 18 3 Edit Yes Public
DOCETY ETYEXTKEY of sending Entity Text 8 1 Edit Yes Public
SNDKEYSTM Additional Receiver Stream 80 1 Source Yes Public
STP STP Message Text 1 1 Edit Yes Public Embedded
ANTATTKEY allNETT/RIVO additional document key Text 50 1 Edit Yes Public
SWTUTR Swift UETR for incoming/ outgoing payment messages Text 36 1 Edit Yes Public
VER Version Counter Text 4 1 Edit Yes Public
ETYEXTKEY Entity holding Message Text 8 1 Edit Yes Public
GETFLDNRM Field holding the normalized search fields Text 100 1 Edit Yes Public

Indices

Name Fields Properties
SMH_CREDATTIM CREDATTIM
SMH_ETYEXTKEY ETYEXTKEY
SMH_EXTKEY EXTKEY
SMH_GETFLDNRM GETFLDNRM
SMH_GRPINR GRPINR, GRPSEQ
SMH_INR INR Unique
SMH_NAM NAM
SMH_OBJINR OBJTYP, OBJINR
SMH_TRNINR TRNTYP, TRNINR
SMH_TRNINRS TRNINR

/


Lock

INR

Datafield Description and Properties


Datafield INR Internal Unique ID

Description

Unique internal ID of a record within the table. The INR is a text field, which is created by retrieving the next valid entry from the counter SMH. The field INR is used to maintain links from other tables into this table.

Helpinformation

Unique internal ID of a record within the table. The INR is a text field, which is created by retrieving the next valid entry from the counter of this table. The field INR is used to enable links from other tables to this table.

For contractdata the INR also links the two tables xxD and xxT as associated entries hold the same INR.


Datafield OBJTYP Object Type

Description

Object type of the owning contract. (e.g. LID, GID). For messages, which are not yet associated to a contract, this field is left blank. Used together with OBJINR. For historical reasons this field has a lenght of 6 character, but for new entries only the first 3 are used.

Helpinformation

Object type of the holding contract (e.g. LID, GID).


Datafield OBJINR Object INR

Description

INR of the owning contract. For messages that are not yet associated to a contract, this field is left blank. Used together with OBJTYP.

Helpinformation

Unique ID of the holding contract.


Datafield TRNTYP Type of Transaction

Description

This field specifies the table the TRNINR is associated to. (Typically TRN)

Helpinformation

This field specifies the table the transaction ID is associated to. (Typically TRN)


Datafield TRNINR Transaction Handling the Document

Description

INR of the transaction which created or processed the document. This field is filled for every outgoing message on save. For incoming messages this field is filled during the save of the processing transaction.

Helpinformation

Unique ID of the transaction that created or processed the document. This field is filled everytime an outgoing message is saved. For incoming messages, this field is filled when the processing transaction is saved.


Datafield TRNSUB Counter within TRN

Description

Sub ID to uniquely identify a created message and get a defined order within a transaction. The counter value is taken from the field SMHNXT in the TRN.

Helpinformation

Sub ID to uniquely identify a created message and get a defined order within a transaction.


Datafield EXTKEY External Key

Description

Field to identify a message: This field is generated for created messages by the routine SMHEXT based on the TRNINR and the address identification.

For incoming SWIFT messages this field is used to join partial messages (i.e. TAG 27 where TAG 27 is filled but not '1/1'). For this purpose this field is filled as follows to contain sender, sender's reference, message type and TAG 27.

Mid( IO, 1, 8 ) + “ ” + Mid( SNDREF, 1, 16 ) + “ ” + Mid( MT, 1, 3 ) + Mid( T27, 1, 3 )

Helpinformation

The field identifies a message. For incoming SWIFT messages this field is used to combine partial messages (e.g. TAG 27 where TAG 27 is filled but not '1:1').


Datafield NAM Name

Description

Field to identifiy the Structured Message Header.

Helpinformation

Field to identifiy the Structured Message Header.


Datafield CREUSR Creating User

Description

On outgoing messages the message creating user.

Helpinformation

For outgoing messages the field indicates the user creating the message.


Datafield CREFRM Creating Transaction

Description

Transaction, which created this SMH entry.

Currently only filled in autoregistration.

Helpinformation

Transaction, which created this SMH entry.

Currently only filled in autoregistration.


Datafield CREDATTIM Timestamp of Creation

Description

On outgoing messages the date and time when the message was created.

Helpinformation

For outgoing messages, the field defines the date and time when the message was created.


Datafield DIR Direction ('>'=Outgoing, '<'=Incoming)

Description

Direction of the message. Outgoing messages created by the application are marked with '>'. Incoming messages created by external applications or other parties are marked with '<'. Autoregistration and manual entered messages are marked as incoming with '<'. Internal incoming messages might be marked with '[' instead of '<' to mark them as internal

Helpinformation

Direction of the message. Outgoing messages created by the application are marked with '>'. Incoming messages created by external applications or other parties are marked with '<'.


Datafield DOCPTH Document Path (Relative to Application or Data Root)

Description

Path where the document is stored. The path should be relative to the data partition of the application. If the path is specified absolute this document might not be relocated.

Helpinformation

Path where the document is stored. The path should be relative to the data partition of the application. If an absolute path is specified it might not be possible to relocated this document.


Datafield DOCFIL Document Name (File ID)

Description

File ID of the document.

Helpinformation

File ID of the document.


Datafield DOCFXT Document Format (RTF, TIF, TXT etc.)

Description

File extension of the document. This file extension is used to determine the type of document. The file extension is stored without the delimiting dot. To build the real file name DOCFIL has to be concatenated with a dot and with DOCFXT.

Helpinformation

File extension of the document used to determine the type of document. The file extension is stored without the delimiting dot. To build the real file name, the document name, dot and the file extension have to be concatenated.


Datafield DOCMAC MAC

Description

This field might either be empty if no protecting MAC has been created or it has to contain the MAC of the created message/document.

Helpinformation

This field can either be empty if no protecting MAC has been created or can contain the MAC of the created message/document.


Datafield MSGPOS Position of Message in Document

Description

Field to identify the position of a single message within a multi message document. A value of zero refers to the whole document. A value of one refers to the first byte of the document file.

Helpinformation

(1=Begin of Document, 0=Whole Document) Field to identify the position of a single message within a multi-message document. A value of 0 refers to the whole document. A value of 1 refers to the first byte of the document file.


Datafield MSGLEN Length of Message in Document (0=Rest of Document)

Description

This field specifies the length of a message within a multimessage document file. A value of 0 specifies the rest of the document as document.

Helpinformation

This field specifies the length of a message within a multi-message document file. A value of 0 specifies the rest of the document as document.


Datafield GRPINR INR of the 1st of Split/Partial Messages

Description

In case a message is technically split into additional split messages, or other secondary copies of the original message are created (e.g. a SWIFT copy sent via x99) this field holds the INR of the original main message. In case incoming messages are joined to build the logical complete message the same applies. Thus all logically grouped together SMH entries are linked by filling this field with the INR of the first or the main message. Not yet linked messages which need to be joined with other messages have to keep this field empty, as this flags not yet processed partially messages.

Helpinformation

If a message is technically split into partial messages, or if other secondary copies of the original message are created (e.g. a SWIFT copy sent via x99), this field contains the unique ID (INR) of the original main message. The same applies to incoming messages merged to build the logical complete message. Thus, all logical SMH entries grouped together are linked by filling this field with the INR of the first, or the main, message. For messages not yet linked that need to be merged with other messages this field has to be kept empty, as these flags do not process sub-messages.


Datafield GRPSEQ Sequence Number of Partial Messages

Description

If a group of SMH entries is built by filling the GRPINR field the sequence of the messages is specified by this field.

GRPSEQ=0 indicates the group leader

For outgoing split messages (i.e.SWIFT): Original message before split gets GRPSEQ=0

For outgoing messages with attachments (e.g. TC, EML,BOL): GRPSEQ = 0 for 'Main message'=Group leader GRPSEQ > 0 for attachments

For incoming multipart messages that are joined (e.g. SWIFT) GRPSEQ = 0 for message 1/x

For incoming multipart messages with attachments (e.g. TC, EML, BOL) GRPSEQ = 0 for main message GRPSEQ > 1 for attachments

Helpinformation

If a group of SMH entries is formed by filling in the INR field, this field specifies the sequence of the messages.

'0' indicates the group leader

For outgoing split messages (e.g. SWIFT): Original message before split gets GRPSEQ=0

For outgoing messages with attachments (e.g. TC, EML,BOL): GRPSEQ = 0 for 'Main message'=Group leader GRPSEQ > 0 for attachments

For incoming multipart messages that are joined (e.g. SWIFT) GRPSEQ = 0 for message 1/x

For incoming multipart messages with attachments (e.g. TC, EML, BOL) GRPSEQ = 0 for main message GRPSEQ > 1 for attachments


Datafield CORTYP Structure/Syntax of Message (SWT, LET, TLX, TCO)

Description

Defines the message structure/syntax used to create/interpret the message. On outgoing messages the value of this field is taken from the CORTYP of the DOCEOT entry. On incoming messages the value of this field is defined by the processing service.

Helpinformation

Defines the message structure/syntax used to create/interpret the message.


Datafield CORTYPSUB Subtype of Message (Defines SRV)

Description

Defines the service for the message structure/syntax used to create/interpret the message.

Helpinformation

Defines the service for the message structure/syntax used to create/interpret the message.


Datafield APF Application Form

Description

Application form used to print the message.

'NOP' means 'Message cannot be printed'

Helpinformation

Application form used to print the message.

'NOP' means 'Message cannot be printed'.


Datafield SNDKEY Receiver Key (BIC/Telex#/Fax#/Email)

Description

Identifier to be used to address a receiver in the used communication media. For example Swift BIC, Telex no., Fax no. Email address, etc.

Helpinformation

Identifier to be used to address a receiver in the used communication media. For example Swift BIC, Telex no., Fax no. Email address, etc.


Datafield APFCNT Count per Form

Description

Contains a sequence of up to 10 entries of 5 bytes each that describes how many copies are to be printed.

Every entry contains the application form (icf APF\TYP e.g. 'ORI' or 'CPY' in byte 1-3 and a string giving the number of copies to be printed for this form in byte 4 and 5 (e.g. '01').

Helpinformation

Contains a sequence of up to 10 entries each of 5 bytes that describes how many copies are to be printed.


Datafield PTAINR PTA Receiving Documents

Description

This field identifies the sender/receiver of this message. If the address of this message is taken from the database, the INR of the PTA identifying the used address is stored here. If no database address is taken this field is left blank.

Helpinformation

This field identifies the sender/receiver of this message. If the address for this message has been taken from the database, the ID of the party that defines the address used is stored here. If an address is not taken from the database this field is left blank.


Datafield ORIFLG Type of Copy

Description

A=SMH Attachments means, ORISMHINR contains INR of SMH containing document F=File Attachment means, DOCxxx contains name of file attachment

Helpinformation

A = SMH Attachments, i.e. the ID of the original message comprises the ID of the SMH containing document F = File Attachment, i.e. DOCxxx contains the name of file attachment

Codetable
Code Text
C Copy to
S Original to
N Suppress Original
O Original
A SMH Attachment
F File Attachment
D Document Attachment

Datafield ORISMHINR Internal Unique ID of Original Message

Description

If the message is a automatically created copy or replace of an original message the INR of the original SMH is stored here.

Helpinformation

If the message is a copy or replacement of an original message created automatically, the ID of the original SMH is stored here.


Datafield PARTFLG Counter of Partial Messages

Description

This field is filled to mark partial incoming messages. Thus messages for which the number of partial messages is greater one and GRPINR is not yet set.

If not empty, the message is not yet complete. The field contains the number of partial message, i.e. “1/2”.

If the message is complete, GRPINR/GRPSEQ fields are used to group the partial messages together and this field is reset to a blank value.

Helpinformation

This field is filled to mark partial incoming messages, i.e. messages for which the number of partial messages is greater than 1 and INR field has not yet been set.

If the field is not empty, the message is not yet complete. The field contains the number of the partial message, e.g. “1/2”.

If the message is complete, INR and sequence fields are used to group the partial messages together and this field is reset to empty.


Datafield MSGTYP Message Type (Optional)

Description

Technical type of message received or sent.

Helpinformation

Technical type of message received or sent.


Datafield RELCUR Relevant Currency (Optional)

Description

If a relevant amount for this message can be determined the currency of this amount might be stored here. Otherwise this field is left blank.

Helpinformation

If a relevant currency for this message can be determined the currency can be stored here. Otherwise, the field is left blank.


Datafield RELAMT Relevant Amount (Optional)

Description

If a relevant amount for this message can be determined this amount might be stored here. In this case the associated currency has to be stored in RELCUR.

Helpinformation

If a relevant amount for this message can be determined, this amount can be stored here. In this case the associated currency also has to be stored.


Datafield DOCETY ETYEXTKEY of sending Entity

Description

This entity might be optional used to define an entity used as sender of this message. This field is sometimes named 'logo entity' as for paper output the letterhead + senders address is defined by this entity.

Helpinformation

This entity might be optional used to define an entity used as sender of this message. This field is sometimes named 'logo entity' as for paper output the letterhead + senders address is defined by this entity.


Datafield SNDKEYSTM Additional Receiver

Description

list of additional receiver (additional to SNDKEY) currently used for Email only

every line contains one receiver <type of copy> tab <receiver>

where <type of copy> is one of the following: cc: bcc: sendto: (currently not used)

Helpinformation

List of additional receiver (additional to field 'Receiver Key') currently used for Email only. Every line contains one receiver.


Datafield ETYEXTKEY Entity

Description

This table is defined on entity level with separate entries for each entity. This field holds the EXTKEY of the owning entity to identify the logical owner of this entry. This field is filled automatically during insert and is used as filter when accessing the database. Without special implementation only entries of the currently active entity are visible to the user.

Helpinformation

This field holds the external key of the owning entity to identify the logical owner of this entry.

This field is filled automatically during insert and is used as filter when accessing the database. Without special implementation only entries of the currently active entity are visible to the user.


Datafield STP STP Message

Description

STP-Nachricht: Straight Through Processing

Helpinformation

STP-Message: Straight Through Processing


Datafield GETFLDNRM Field holding the normalized search fields.

Description

Field holding the concatenated and normalized sum of all search fields used by quick search. This is one of the fields set in a SdbSetNRMFields method defined in the table definition module.

Helpinformation

Field holding the concatenated and normalized sum of all search fields used by quick search. This is one of the fields set in a SdbSetNRMFields method defined in the table definition module.


Datafield ANTATTKEY allNETT additional document key

Description

Key to allow for checking of dublicate allnett attachments send to allNETT customers.

Build same ways as EXTKEY but allow for 50 digits

TRNINR + “:” + PANDSC

Helpinformation

Key to allow for checking of dublicate allnett attachments send to allNETT customers.

Build same ways as EXTKEY but allow for 50 digits

TRNINR + “:” + PANDSC


Datafield SWTUTR Swift UETR for incoming / outgoing payment messages

Description

Where applicable, this field will be filled with the SWIFT UETR.

SWIFT UETR is used to globally identify payment messages in order to allow to request the status of any payment by any participant in the payment chain at any time.

Helpinformation

This field will be filled with a UETR.

UETR (Unique End-to-End Transaction Reference) is mandatory part of many payment standards, e.g. the SWIFT GPI, Swift CBPR+ and T2 RTGS. It provides an universally unique end-to-end reference across a payment transaction. It is used to globally identify payment messages in order to allow to request the status of any payment by any participant at any time. The UETR is generated by the initiating party of a payment message.

Outgoing messages For Swift FIN MT messages, the UETR is added to the field 121 of the payment message (e.g. MT103, MT202) by the SWIFT message service. For ISO20022 based payment messages (e.g. Swift CBPR+, T2 RTGS etc) it is part of the “Payment Identification” block and added by the message service for XML messages.

Incoming messages For the incoming messages, as the application does not handle incoming payment messages, the UETR is only displayed but not mapped.


Datafield VER Version

Description

This field holds the version counter to keep track of the version history of an SMH entry. The individual versions are controlled by entries in the SLG table.

Helpinformation

This field holds the version counter used to keep track of the history of an entry of this table. The individual versions are managed by entries in the SLG table.