Message warehouse fields for MSIF file-transfer scenarios

When processing file-transfer scenarios, the MSIF transfer service records the information shown in Table 1 and Table 2. If the MSIF transfer service cannot determine the OU associated with a request, it records the information in the tables for DNFSYSOU (that is, in views DNIV_MWH_DNFSYSOU and DNF_MWHEFA_DNFSYSOU).
Table 1. Fields of the view DNIV_MWH_ou that are set by the MSIF transfer service for file-transfer scenarios
Field name Data type Mandatory Description
MWH_OU_NAME CHAR(8) Yes The name of the OU on behalf of which the file-transfer is being conducted:
  • For a request or notification, this is the name specified in the ComIbmDni.OU field of the message.
  • For a response, this is the name specified in the ComIbmDni.OU field of the corresponding request.
  • For a DeliveryAck notification, this is the OU on behalf of which the session to the SnF queue that contained the notification was acquired or opened. This OU name is also specified in the ComIbmDni.OU field of the DeliveryAck notification that the MSIF transfer service passes to the sending application.
MWH_WMQI_MSG_ID CHAR(24) FOR BIT DATA Yes The MSIF reference, which uniquely identifies the message and serves as the primary key in the message warehouse. It is identical to the MQMD.MsgId of the corresponding IBM MQ message.
GMT_TMSTMP TIME STAMP Yes Date and time, in Coordinated Universal Time (UTC), when the service requested that the message be stored in the message warehouse, or, if the message was updated, the date and time when the service last requested that it be updated.
MWH_MSG_STATUS VARCHAR (16) Yes The current transfer state of the scenario. Possible transfer states are described in States of an MSIF scenario.

For a DeliveryAck notification, this is the transfer state of the corresponding SendFile or DownloadFile scenario when the DeliveryAck notification was sent to the application.

For a SendFile response, a ProvideFileForDownload response or a DownloadFile response, this is the transfer state of the corresponding SendFile, ProvideFileForDownload, or DownloadFile scenario when the response was sent to the application.

MWH_MSG_GRP VARCHAR (50) No The message group ID, which is used to correlate messages that belong to the same scenario, such as a request and its corresponding response, or a DeliveryAck notification and its corresponding request. This enables you to search for messages that belong to the same unit of processing:
  • For a request, this is the name specified in the ComIbmDni.MessageGroup field of the message, or, if no value was specified, the MQMD.MsgId of the message.
  • For a response, this is the message group ID of the corresponding request.
  • For DeliveryAck notification, this is the message group ID of the corresponding request.
  • For a FileReceived notification or a FileDownloaded notification, this is the MSIF reference of (that is, the MQMD.MsgId of the IBM MQ message that contains) the FileReceived notification or FileDownloaded notification (although the value is also specified in the MessageGroup field of the message, the value is not retrieved from the application but set by MSIF).
MWH_BUSINESS_GRP VARCHAR (50) No The business group ID, which is provided by the requesting application, and correlates scenarios that belong to the same business transaction:
  • For a request or notification, this is the name specified in the ComIbmDni.BusinessGroup field of the request.
  • For a response, this is the business group ID of the corresponding request.
  • For a DeliveryAck notification, this is the business group ID of the corresponding request.
  • For a FileReceived notification or a FileDownloaded notification, the value is null.
  • For a retrieval notification or an xsys.016.001.01 retrieval report, this is the business group ID of the corresponding xsys.015 retrieval request.
MWH_EXT_MSG_ID VARCHAR (50) No A message ID assigned by an external system:
  • For a request or notification, this is the name specified in the ComIbmDni.ExternalMessageID field of the message, or, if no value was specified, the MQMD.MsgId of the message.
  • For a response, this is the external message ID of the corresponding request.
  • For a DeliveryAck notification, this is null.
  • For a FileReceived notification or a FileDownloaded notification, the value is null.
MWH_BODY_REP CHAR(3) No The format of the data in the message body. For a file-transfer scenario, the value is always set to NULL.
MWH_XML_MSG CLOB (100) N The content of this field depends on the value of the attribute DnfContentMwh of type DnfEfaOptionsMwh:
Index
The content of this field is null.
IndexAndBody
The content of this field is null.
IndexAndMessage
This field contains the contents of the MQMD and MQRFH2 folders of the message, which it stores in the following structure:
<Msg>
  <MQMD>
    fields of the MQMD as XML elements
  </MQMD>
  <MQRFH2>
    fields of the MQRFH2 as XML elements,
    and one or more NameValueData folder 
    in XML representation
 </MQRFH2>
</Msg>
MWH_GMT_TS TIME STAMP No Date and time, in Coordinated Universal Time (UTC), when the service requested that the message be stored in the message warehouse.
MWH_PRIORITY CHAR(1) No The priority of the file transfer:
  • For a SendFile or DownloadFile request, this is determined by the value of the Priority send option of the request:
    U
    Urgent
    N
    Normal
  • For other types of requests, this is null.
  • For a FileReceived or FileDownloaded notification, this field is set to the value of the Sw:FileRequestHeader.SwInt:Priority of the Sw:HandleFileRequest primitive.
  • For a Y-Copy notification, this field is set to the value of the SwInt:Priority of SwInt:HandleRequest...SwInt:RequestHeader of the SNL request
  • For a DeliveryAck notification for an RT SendFile or a DownloadFile scenario, this field is set to the value of the Sw:FileRequestHeader.SwInt:Priority of the Sw:HandleFileRequest primitive.
  • For a DeliveryAck notification for an SnF SendFile scenario, this is null.
MWH_PD_INDICATOR CHAR(1) No Whether the file being transferred is a possible duplicate:
Y
The message is a possible duplicate.
N
The message is not a possible duplicate.
How this value is set depends on the type of message that is being processed:
  • A sending application can specify this in the PDIndication field of a request that is to be sent. If the request is to be resent after a timeout, the MSIF transfer service sets this value to Y.
  • For a request that is to be received:
    • If the pseudo attribute AllowDuplicates in the file receive option set (DnfEfaFileReceiveOptionSet) is not specified, and if either of the following conditions is true, the value is set to Y:
      • A value is specified for the Sw:HandleFileRequest... Sw:RequestE2EControl.Sw:MsgId field, and this value matches the Sw:MsgId of a previously received SNL primitive for a FileReceived scenario.
      • A value is specified for the Sw:HandleFileRequest... Sw:SnFOutputInfo.Sw:SnFPDMHistory field.
    • Otherwise, the value is set to N.
  • For a DeliveryAck notification that is to be received, the value is set to N.
MWH_APPL_NAME VARCHAR (100) No The name of the application that originated the message:
  • For a request, this is the name specified in the ApplicationInformation.Application field of the request.
  • For a response, FileReceived notification, FileDownloaded notification, or DeliveryAck notification, the value is set to SWIFTNETFA.
MWH_USER_ID VARCHAR (100) No The user ID of the application that originated the message:
  • For a request, this is the name specified in the ApplicationInformation.User field of the request.
  • For a response, FileReceived notification, FileDownloaded notification, or DeliveryAck notification, the value is set to SWIFTNETFA.
MWH_USER_DEF1 VARCHAR (128) No Use these fields to satisfy your own processing requirements:
  • For a request, this is the name specified in the UserDefined1, UserDefined2, and UserDefined3 fields of the ApplicationInformation folder of the request.
  • For a response, FileReceived notification, FileDownloaded notification, or DeliveryAck notification, the values are set to NULL.
MWH_USER_DEF2 VARCHAR (128) No
MWH_USER_DEF3 VARCHAR (128) No
MWH_TRAFFIC_TYPE CHAR(3) No The type of message traffic. Because the MSIF transfer service uses FileAct to transfer files, it is set to FA for file-transfer scenarios.
MWH_MSG_TYPE CHAR(8) No The MX message type. For file transfers, the value is always NULL.
MWH_DIRECTION CHAR(1) No The direction of the file transfer from the point of view of the SIPN:
  • For a SendFile, ProvideFileForDownload, or DownloadFile request, the value is set to I.
  • For a FileReceived or FileDownloaded notification, the value is set to O.
  • For a response or DeliveryAck notification, the value is null.
Possible values:
I
For a file-transfer request passed to the SIPN (that is, a SWIFT input message).
O
For a file-transfer request received from the SIPN (that is, a SWIFT output message).
MWH_RECORD_TYPE CHAR(1) No Indicates the type of record:
P
Primary record, that is, a record for a request or notification.
S
Secondary record, that is, a record for a response, or DeliveryAck notification.
MWH_EXT_IDENTIFIER VARCHAR (16) No An identifier that indicates which service processed the message. For messages processed by the MSIF transfer service, this value is always set to ComIbmDnfEfa.
MWH_AUTH_STATUS CHAR(8) No The authentication and authorization status of a primary record, which indicates whether the corresponding FileAct request:
  • Passed or failed digest verification (applies only to requests to download a file)
  • Passed or failed signature verification
  • Passed or failed authorization
Possible values:
  • For the primary record of a SendFile, FileReceived, DownloadFile, or RespondDownload scenario, the possible values are:
    • OK
    • DG_FAIL (DownloadFile only)
    • SG_FAIL
    • SG_INV
    • RM_TNFND
    • RM_TINV
    • RM_NFND
    • RM_INV
    These values are described in Figure 1.
  • For the primary record of a ProvideFileForDownload scenario and for all secondary records (that is, records created for responses and DeliveryAck notifications), the value is null.
The following figure describes the MWH_AUTH_STATUS values for an MSIF file-transfer.
Figure 1. Possible MWH_AUTH_STATUS values for an MSIF file-transfer
(null)
The authentication and authorization checks were not performed.
OK
The authentication and authorization checks were successful, or the authentication checks were successful and the authorization checks were not performed for one of the following reasons:
  • The ASP specifies that the SWIFT service does not use RMA.
  • The ASP specifies that the SWIFT service uses RMA, but the RMA trial stage for the service has not yet begun.
DG_FAIL
The attempt to authenticate the request by verifying its digest failed. This applies to DownloadFile scenarios only.
SG_FAIL
The attempt to authenticate the request by verifying its signature failed.
SG_INV
The request could not be authenticated because the certificate for signature verification was revoked or expired.
RM_TNFND
RMA is in the trial stage for the SWIFT service, and at least one of the following conditions applies:
  • The RM data store does not contain an authorisation for the specified combination of own BIC, correspondent BIC, service, and direction.
  • The authorisation does not provide the necessary permissions.
  • The current date and time are not within the validity period of the authorisation.
RM_TINV
RMA is in the trial stage for the SWIFT service, and the RM authorisation for the specified combination of own BIC, correspondent BIC, service, and direction was revoked, deleted, or rejected.
RM_NFND
RMA is in the mandatory usage stage for the SWIFT service, and at least one of the following conditions applies:
  • The RM data store does not contain an authorisation for the specified combination of own BIC, correspondent BIC, service, and direction.
  • The authorisation does not provide the necessary permissions.
  • The current date and time are not within the validity period of the authorisation.
RM_INV
RMA is in the mandatory usage stage for the SWIFT service, and the RMA authorisation for the specified combination of own BIC, correspondent BIC, service, and direction was revoked, deleted, or rejected.

If more than one authentication and authorization status applies to a request, the status that is closest to the bottom of this list is the value that is recorded. For example, if both SG_FAIL and RM_NFND apply, RM_NFND is recorded.

Table 2. Fields of the view DNF_MWHEFA_ou that are set by the MSIF transfer service for file-transfer scenarios
Field name Data type Mandatory Description
MWH_WMQI_MSG_ID CHAR(24) FOR BIT DATA Yes The MSIF reference, which uniquely identifies the message and serves as the primary key in the message warehouse. It is identical to the MQMD.MsgId of the corresponding IBM MQ message.
MWH_FA_SCENARIO CHAR(7) No The scenario associated with this record:
SND
Send a file to a counterpart (SendFile scenario), or receive a DeliveryAck notification for a SendFile scenario.
RSPDL
Respond to a request by a counterpart to download a file, or receive a DeliveryAck notification for an RSPDL scenario.
PRVDL
Provide file downloading by counterparts.
DL
Download a file from a counterpart.
RCV
Receive a file from a counterpart.
MWH_ERROR CHAR(1) Yes Indicates whether the scenario associated with this record is currently in a recoverable error condition:
Y
The scenario is in a recoverable error condition:
  • The transfer condition of a request or response is inError
  • The notification condition of a DeliveryAck notification is inError
N
The scenario is not in a recoverable error condition.
For information about how to recover such scenarios, see recover.
MWH_MODE CHAR(3) No The delivery mode by which a request or notification was delivered:
RT
Real-time
SNF
Store-and-forward (SnF)
MWH_SERVICE VARCHAR (30) No The name of the SIPN service:
  • For a SendFile request or response, or a DownloadFile request or response, the value specified by the Service transfer option.
  • For a FileReceived notification or a FileDownloaded notification, the value of the ReceiveDetails.Service field of the FileReceived notification or FileDownloaded notification. This is taken from the SwInt:RequestHeader.SwInt:Service field of the Sw:HandleFileRequest primitive.
  • For a DeliveryAck notification:
    • For a real-time SendFile or RespondDownload scenario, the value of the Sw:FileRequestHeader.SwInt:Service field of the Sw:HandleFileRequest primitive.
    • For an SnF SendFile scenario, the value of the SwInt:RequestHeader.SwInt:Service field of the SwInt:HandleRequest primitive.
MWH_REQUEST_TYPE VARCHAR (30) No SIPN request type.
  • For a SendFile request or response, or a DownloadFile request or response, the value specified by the RequestType transfer option.
  • For a FileReceived notification or a FileDownloaded notification, the value of the ReceiveDetails.RequestType field of the FileReceived notification or FileDownloaded notification. This is taken from the SwInt:RequestHeader.SwInt:RequestType field of the Sw:HandleFileRequest primitive.
  • For a DeliveryAck notification:
    • For a real-time SendFile or RespondDownload scenario, the value of the Sw:FileRequestHeader.SwInt:RequestType field of the Sw:HandleFileRequest primitive.
    • For an SnF SendFile scenario, the value of the SwInt:RequestHeader.SwInt:RequestType field of the SwInt:HandleRequest primitive.
MWH_LOCAL_DN VARCHAR (100) No The DN that represents the local site.
  • For a SendFile request or response, a ProvideFile request or response, or a DownloadFile request or response, the value specified by the LocalDN transfer option.
  • For a FileReceived notification or a FileDownloaded notification, the value of the ReceiveDetails.LocalDN field of the FileReceived notification or FileDownloaded notification. This is taken from the SwInt:RequestHeader.SwInt:Responder field of the Sw:HandleFileRequest primitive.
  • For a DeliveryAck notification:
    • For a real-time SendFile or RespondDownload scenario, the value of the Sw:FileRequestHeader.SwInt:Responder field of the Sw:HandleFileRequest primitive.
    • For an SnF SendFile scenario, the value of the SwInt:RequestHeader.SwInt:Responder field of the SwInt:HandleRequest primitive.
Whether the local DN is used as the requestor DN or responder DN depends on the scenario:
Requestor DN
For SendFile, ProvideFile or DownloadFile.
Responder DN
For RespondDownload or ReceiveFile.
MWH_REMOTE_DN VARCHAR (100) No The DN that represents the remote site:
  • For a SendFile request or response, a ProvideFile request or response, or a DownloadFile request or response, the value specified by the RemoteDN transfer option.
  • For a FileReceived notification or a FileDownloaded notification, the value of the ReceiveDetails.RemoteDN field of the FileReceived notification or FileDownloaded notification. This is taken from the SwInt:RequestHeader.SwInt:Requestor field of the Sw:HandleFileRequest primitive.
  • For a DeliveryAck notification:
    • For a real-time SendFile or RespondDownload scenario, the value of the Sw:FileRequestHeader.SwInt:Responder field of the Sw:HandleFileRequest primitive.
    • For an SnF SendFile scenario, the value of the SwInt:RequestHeader.SwInt:Requestor field of the SwInt:HandleRequest primitive.
Whether the remote DN is used as the requestor DN or responder DN depends on the scenario:
Requestor DN
For RespondDownload or ReceiveFile.
Responder DN
For SendFile, ProvideFile or DownloadFile.
MWH_TRAN_REFERENCE CHAR (27) No A unique ID assigned by the SIPN to a file-transfer:
  • For a SendFile request, the value of the Sw:PutFileResponseHandle.Sw:TransferRef field of the Sw:ExchangeFileResponse primitive, or if not found, the value of the Sw:TransferRef field of the Sw:ExchangeFileResponse primitive.
  • For DownloadFile request, the value of the Sw:GetFileResponseHandle.Sw:TransferRef field of the Sw:ExchangeFileResponse primitive.
  • For a SendFile response, a Download File response, or a ProvideFile request or response, the value is null.
  • For a FileReceived notification for a RT ReceiveFile scenario, the value of the Sw:PutFileRequestHandle.Sw:TransferRef field of the Sw:HandleFileRequest primitive.
  • For a FileReceived notification for a SnF ReceiveFile scenario, the value of the Sw:NotifyFileRequestHandle.Sw:TransferRef field of the Sw:HandleFileRequest primitive.
  • For a FileDownloaded notification, the value of the Sw:GetFileRequestHandle.Sw:TransferRef field of the Sw:HandleFileRequest primitive.
  • For a DeliveryAck notification:
    • If it contains a delivery notification for a real-time SendFile or RespondDownload scenario, the value of the Sw:AckFileRequestHandle.Sw:TransferRef field of the Sw:HandleFileRequest primitive.
    • If it contains an authorisation notification or non-delivery warning for an SnF SendFile scenario, the value of the SwInt:RequestDescriptor.Sw:Copy.Sw:OrigSnFRef field of the SwInt:HandleRequest primitive.
    • If it contains a delivery notification sent on behalf of the counterpart for an SnF SendFile scenario, the value of the Sw:SnFRef field of the corresponding system message, followed by the character C.
    • If it contains a delivery notification sent on behalf of a third party for an SnF SendFile scenario, the value of the Sw:OrigSnFRef field of the corresponding system message, followed by the character C.
MWH_FILE_APPL_SIZE DECIMAL (15,0) No The file size in bytes before compression or after decompression.
MWH_FILE_NETW_SIZE DECIMAL (15,0) No The file size in bytes after compression or before decompression.
MWH_FILE_INFO VARCHAR (256) No Structured information, in Backus-Naur form, about the file to be transferred.
MWH_FILE_DESC VARCHAR (256) No The description of the file contained in the request.
MWH_FILE_APPL_NAME VARCHAR (1023) No The file name as known to the application involved in the MSIF scenario. If the file is passed to or from the application in the payload of a message, this field is null.
MWH_FILE_NETW_NAME VARCHAR (254) No The name by which the file is known to the SAGs that participate in the file transfer.
MWH_NOTIF_STATE VARCHAR (20) No The notification state of a scenario:
  • For a SendFile request, a ProvideFile request, a DownloadFile request, a FileReceived notification, or a FileDownloaded notification, the current notification state of the corresponding scenario.
  • For a SendFile response, a ProvideFile response, or a DownloadFile response, the value None.
  • For a DeliveryAck notification:
    Authorisation
    The transfer was authorized by a third party. The MSIF transfer service received an authorisation notification that contained a Y-Copy notification of authorisation (Y-Copy authorisation). This applies only to transfers that use SnF delivery mode and a Y-Copy service.
    Refusal
    The transfer was refused by a third party. The MSIF transfer service received an authorisation notification that contained a Y-Copy notification of refusal (Y-Copy refusal). This applies only to transfers that use SnF delivery mode and a Y-Copy service.
    NonDelivWarning
    The file was not delivered to the receiver within the time limit specified by the sender. The MSIF transfer service received an authorisation notification that contained a non-delivery warning. This applies only to transfers that use SnF delivery mode.
    SuccessDelivNotif
    The transfer was successful. The MSIF transfer service received a successful-delivery notification.
    FailedDelivNotif
    The transfer was unsuccessful. The MSIF transfer service received a failed-delivery notification.