Configuring a master LT

For each logical terminal (LT), you must configure a CO of type DnfLT and add it to the OU to which the LT belongs. The name of this CO is the same as the name (BIC9) of the LT, and the attributes of the CO correspond to the attributes of the LT.

To help you do this, FTM SWIFT generates, during customization, for each business OU, a script with a name of the form:
deployment_dir/instance/admin/ou_dnfcfcco.cli
where:
deployment_dir
Directory specified in the CDP initialization file.
instance
Name of the instance.
ou
Name of the OU.
These scripts contain the following commands:
; Create a CO of type DnfLT and specify its attributes.
add -ou DNIvOU -ct DnfLT -co <ltname> -attr DefaultLTConn          -val <connectionNumber>
add -ou DNIvOU -ct DnfLT -co <ltname> -attr DefaultQMgr            -val <defaultQM>
add -ou DNIvOU -ct DnfLT -co <ltname> -attr DefaultProtocolVersion -val 3
add -ou DNIvOU -ct DnfLT -co <ltname> -attr FSMInstanceDir         -val <instanceDirectory>
add -ou DNIvOU -ct DnfLT -co <ltname> -attr InitialService         -val swift.fin
add -ou DNIvOU -ct DnfLT -co <ltname> -attr ResyncStartDelay       -val <resyncStartDelay>
add -ou DNIvOU -ct DnfLT -co <ltname> -attr ResyncWaitTime         -val <resyncWaitTime>
add -ou DNIvOU -ct DnfLT -co <ltname> -attr ResyncMaxTime          -val <resyncMaxTime>
add -ou DNIvOU -ct DnfLT -co <ltname> -attr ResyncMaxNumber        -val <resyncMaxNumber>
add -ou DNIvOU -ct DnfLT -co <ltname> -attr BatchingTimeout        -val 02
add -ou DNIvOU -ct DnfLT -co <ltname> -attr MaxBatchCount          -val 30
add -ou DNIvOU -ct DnfLT -co <ltname> -attr MaxBatchSize           -val 98
add -ou DNIvOU -ct DnfLT -co <ltname> -attr SwitchOpenConfTO
add -ou DNIvOU -ct DnfLT -co <ltname> -attr SwitchSeqGapTO
add -ou DNIvOU -ct DnfLT -co <ltname> -attr SwitchSignalTO
add -ou DNIvOU -ct DnfLT -co <ltname> -attr SLRetry
;
; To set a default select state, window size, or delivery subsets for the LT select command, 
; replace the appropriate placeholder and remove the comment symbol (;) in front of the 
; corresponding add statement.
;
;add -ou DNIvOU -ct DnfLT -co <ltname> -attr DefaultFINState        -val <state>
;add -ou DNIvOU -ct DnfLT -co <ltname> -attr DefaultFINWindowSize   -val <windowSize>
;add -ou DNIvOU -ct DnfLT -co <ltname> -attr DefaultDeliverySubsets -val <deliverySubsets>
;
; If your LT is to belong to an LT group, replace the <LTGroup> placeholder with the name of 
; the group and remove the comment symbol (;) in front of the following add statement. 
; 
;add -ou DNIvOU -ct DnfLT -co <ltname> -attr LTGroup                -val <LTGroup>
;
; Create a CO of type DnfLTApplicationSettings and specify its attributes.
add -ou DNIvOU -ct DnfLTApplicationSettings -co <ltname> -attr send
add -ou DNIvOU -ct DnfLTApplicationSettings -co <ltname> -attr Queue              -val <applicationQ>
add -ou DNIvOU -ct DnfLTApplicationSettings -co <ltname> -attr QueueManager       -val <applicationQM>
;
; To enable special exception processing for this LT, replace the <exceptionOS> placeholder with the 
; name of the exception option set that the LT is to use to determine which error queues it is to use,
; and remove the comment symbol (;) in front of the following add statement.
;
;add -ou DNIvOU -ct DnfLTApplicationSettings -co <ltname> -attr ExceptionOptionSet  -val <exceptionOS>
;
; To disable automatic generation and insertion of UETR in SWIFT field 121, or
; to suppress field ComIbmDni.Dnf.FIN.UETR in FTM SWIFT reply messages,
; remove the comment symbol (;) in front of the corresponding add statement.
;add -ou DNIvOU -ct DnfLTApplicationSettings -co <ltname> -attr UETRGenerate -val false
;add -ou DNIvOU -ct DnfLTApplicationSettings -co <ltname> -attr UETRResponse -val false
;
; Create a CO of type DNF_ILC_CMD containing access control data for the LT
; (these attributes are pseudo attributes and so do not have values)
add -ou DNIvOU -ct DNF\\_ILC\\_CMD -co <ltname> -attr LOGIN
add -ou DNIvOU -ct DNF\\_ILC\\_CMD -co <ltname> -attr SELECT
add -ou DNIvOU -ct DNF\\_ILC\\_CMD -co <ltname> -attr QUIT
add -ou DNIvOU -ct DNF\\_ILC\\_CMD -co <ltname> -attr LOGOUT
add -ou DNIvOU -ct DNF\\_ILC\\_CMD -co <ltname> -attr ABORT
add -ou DNIvOU -ct DNF\\_ILC\\_CMD -co <ltname> -attr QUERY
add -ou DNIvOU -ct DNF\\_ILC\\_CMD -co <ltname> -attr RECOVER
add -ou DNIvOU -ct DNF\\_ILC\\_CMD -co <ltname> -attr RESET
;
; Commit the OU (the OU must be approved and deployed separately).
com -ou DNIvOU
;
; Create a CO of type DnfLTMap to map an LT to an OU. 
add -ou DNFSYSOU -ct DnfLTMap      -co <ltname> -attr OU      -val DNIvOU
;
; Commit DNFSYSOU (DNFSYSOU must be approved and deployed separately).
com -ou DNFSYSOU
The customization process substitutes the placeholder DNIvOU in the script with the name of the OU. Modify and run this script once for each LT:
  1. Copy the script into the home directory.
  2. Ensure that all commands that are to be executed are activated, that is, that they are not preceded by a semicolon character (;).
  3. Copy the commands once for each LT that is to be configured.
  4. Replace the following items in the copy of the script as required:
    <ltname>
    The LT name provided by SWIFT. Note that an LT name must fulfill the format rules of LT names according to SWIFT even if it is used for FMT FIN only. In particular, a zero (0) is not allowed as LTID at the 9th position of the LT name.
    DefaultLTConn <connectionNumber>
    Two-digit number of the initial LT connection for this LT, for example, 01. When the SFD first connects to an SAG, it concatenates the name of the LT with this number. The resulting name, for example, XXXXDEFFA01, must denote a CO of type DnfLTConn, which represents a connection between an LT and an SAG. To create a CO of type DnfLTConn, see Configuring a connection between a master LT and an SAG.
    DefaultQMgr <defaultQM>
    Queue manager on which the SFD is started, for example, the local queue manager. If you do not want to start the SFD on a dedicated queue manager, deactivate the add command for this attribute by placing a semicolon (;) at the beginning of the corresponding line of the script.
    DefaultProtocolVersion <protocolVersion>
    The number of the FIN protocol version that is to be used if the login command is entered without the -pv parameter. The only valid value is 3. This is the default.
    FSMInstanceDir <instanceDirectory>
    The FSM instance directory, in which FTM SWIFT stores temporary files used by an SFD such as shared memory handles and trace files. This is the directory that you created in step 1. Its name is:
    /var/ftmswift_v300/run/fsm
    Do not specify a slash (/) at the end of the directory name.
    InitialService swift.fin
    The initial service is the SWIFT service to which an OPEN request from this LT is to be sent. It must be set to swift.fin for both live and pilot (also called "test and training" or "T&T") FIN traffic.
    ResyncStartDelay <resyncStartDelay>
    The initial delay in seconds before the SFD attempts to reestablish a failed connection. This value is often the same as the resyncWaitTime value, for example, 240.
    ResyncWaitTime <resyncWaitTime>
    The delay in seconds before the SFD attempts to reestablish a failed connection. You must specify a value in the range 20 - 300 (5 minutes).
    ResyncMaxTime <resyncMaxTime>
    The maximum duration in minutes during which the SFD makes consecutive attempts to reestablish a failed connection, for example, 60. You must specify a number in the range 1 - 60.
    ResyncMaxNumber <resyncMaxNumber>
    The number of consecutive attempts that the SFD makes to reestablish a failed connection, for example, 9. You must specify a number in the range 0 - 40.

    If you specify 0, an attempt to reestablish the connection is not performed. You specify this value if you do not want to use RP User Synchronisation.

    BatchingTimeout <batchingTimeout>
    The maximum number of seconds that the SFD delays a SWIFT input message, or the acknowledgment of a SWIFT output message, before routing it to the SAG. Possible values are the numbers 01 through 99. The default is 02. The value you enter can be overwritten by SWIFT. This parameter is valid only for FIN Protocol Version 02 and later. Refer to note 4.d.
    MaxBatchCount <maxBatchCount>
    The maximum number of FIN application protocol data units (APDUs) that the SFD sends in a single data message. Possible values are the numbers 01 through 99. The default is 30. The value you enter can be overwritten by SWIFT. This parameter is only valid for FIN Protocol Version 02 and later. Refer to note 4.d.
    MaxBatchSize <maxBatchSize>
    The maximum size, in kilobytes, of the InterAct message that is used as a vehicle for outbound FIN messages. Possible values are the numbers 30 through 99. The default is 98. This parameter is valid only for FIN Protocol Version 02 and later. Refer to note 4.d.
    SwitchOpenConfTO, SwitchSeqGapTO, and SwitchSignalTO
    These pseudo attributes control under which circumstances the SFD switches to an alternative LT connection:
    SwitchOpenConfTO
    An open confirmation timeout, that is, if an open session confirmation message is not received from a FIN system within the sequence gap timeout value.
    SwitchSeqGapTO
    A sequence gap timeout, that is, if a sequence-number gap could not be resolved in time.
    SwitchSignalTO
    A signal timeout, that is, if no life signal message was received from a FIN system within the life signal frequency of 300 seconds plus the sequence gap timeout value.
    If you do not want the SFD to switch to an alternative LT connection after detecting one of these types of timeouts, deactivate the add command for this attribute by placing a semicolon (;) at the beginning of the corresponding line of the script, like this:
    ;add -ou DNIvOU -ct DnfLT -co <ltname> -attr Switch...

    If you define only one LT connection for an LT (see Configuring a connection between a master LT and an SAG), do not specify any of these pseudo attributes.

    If you already specified one of these attributes and want to remove it, issue the remove command:
    rem -ou DNIvOU -ct DnfLT -co ltname -attr Switch...
    SLRetry
    This pseudo attribute controls whether the Session Layer (SL) Retry protocol element is to be used for SL PDUs sent by the LT, but for which no success indicator was received. When using SL Retry, the sending LT attempts to retransmit an SL PDU until either the transmission, that is the sending of the request plus receiving of a null response, is successful or the retry time is exhausted. Only after the retry time is exhausted is the corresponding session aborted. The retry time is set by SWIFT to 180 seconds.
    DefaultFINState <state>
    The default of the -state parameter of the select command, which is described in select. This value is composed of three characters, each of which is an N or a Y, that specify the default select states and the LT-directed queue value for an LT:
    • The first character specifies the select state for messages to be sent. If N is specified, the LT does not send any FIN messages to the SIPN in this session.
    • The second character specifies the select state for messages to be received. If N is specified, the SIPN does not send any FIN messages to this LT in this session.
    • The third character specifies the LT-directed queue value. If N is specified, messages from the LT-directed queue are not passed to this LT in this session.
    The default is YYY.
    DefaultFINWindowSize <windowSize>
    The default of the -window parameter of the select command, which is described in select. The window size is the maximum number of FIN messages that can be sent or received in a FIN session before an acknowledgment is sent or received. The number you enter must be in the range 1 - 100. The default is 12.
    DefaultDeliverySubsets <deliverySubsets>
    The default of the -delivery parameter of the select command, which is described in select. The value you specify is a single string of up to 180 characters. Because each delivery subset is a 6-character substring within the specified string, the length of the specified string must be a multiple of 6, and you can specify a maximum of 30 delivery subsets. The default is SYSTEMURGENTNORMAL.
    LTGroup <LTGroup>
    The name of the LT group to which this LT belongs. If you do not want the LT to belong to an LTGroup, do not remove the comment symbol (;) from in front of the corresponding add statement.

    The LTs in an LT group can share their message processing workload. All LTs within an LT group must have the same destination (BIC8). For more information, see Configuring LT groups.

    send
    If an LT is to be used to send FIN messages to the SIPN, this attribute is required to ensure that access control functions properly.
    Queue <applicationQ>
    If an LT is to be used to receive FIN messages from the SIPN, this attribute specifies the IBM® MQ queue into which FTM SWIFT is to place the FIN messages it receives. MERVA ESA or a FIN application retrieve the messages from this queue.
    QueueManager <applicationQM>
    If an LT is to be used to receive FIN messages from the SIPN, this attribute specifies the queue manager of the application queue (that is, the queue specified for the Queue attribute).
    Note: If the application queue is a cluster queue, do not configure a queue manager for the CO of type DnfLTApplicationSettings. Instead, place a comment character (;) at the beginning of the corresponding line of this script. To remove a queue manager that was already configured, issue the following command on a single line after the INST1.SYSOU.DNI_SYSADM> prompt:
    rem -ou DNIvOU
        -ct DnfLTApplicationSettings
        -co ltname
        -attr QueueManager
    ExceptionOptionSet <exceptionOS>
    The name of the exception option set that this LT is to use to determine which error queues it is to use. For more information, see Configuring exception queues for FIN messages.
    UETRGenerate
    This attribute controls whether the DNF_ILC_FIN message flow automatically performs the following tasks if mandatory field 121 is missing in a FIN message:
    • Generate unique end-to-end transaction reference (UETR)
    • Add field 121 containing the generated UETR
    The default is true. If you want to disable this behavior, configure value false for the attribute.
    UETRResponse
    This attribute controls whether message flows DNF_ILC_FIN and DNF_ILS_ACK provide the content of field 121 in the UETR field of the response message that is passed to the reply-to queue specified by the sending application. The default is true. If you want to disable this behavior, configure value false for the attribute.
    Notes:
    1. For information on UETR related processing, see UETR generation.
    2. If the MERVA Bridge and FTM SWIFT use different queue managers, you must set up the IBM MQ network by defining channels and the appropriate queues. These tasks are described in IBM MQ: Intercommunication and IBM MQ: System Administration Guide.
    3. If you use MERVA ESA, you must define the queue and queue manager described in the applicationQ and applicationQM values during customization of the MERVA Bridge. For additional information, see the section on configuring the MERVA Bridge for use with FTM SWIFT in MERVA for ESA Version 4: Customization Guide.
    4. Adjust the BatchingTimeout, MaxBatchCount, and MaxBatchSize parameters as needed to balance resource consumption and throughput. The optimal settings depend on your mixture of sent and received messages, and on the ISN window used for the session.

      For example, if you use an ISN window of 12 and the maxBatchCount of 30, the FIN batch will never be sent due to the maxBatchCount condition, but only after the batching timeout. These ISN window and maxBatchCount settings result in reduced resource consumption, but might also result in degraded throughput. Typically, the maxBatchCount should be set not higher than 70% of the ISN window. You can use the query command with the query option (-qo) -s to determine if the behavior of the session meets your expectations, and tune your configuration accordingly. Reducing the number of batching timeouts increases the message throughput.

  5. Run the modified copy of the dnfcfcco.cli script. This requires the access rights provided by the system configuration administrator (DniSA) role:
    dnicli -i instance -ou SYSOU -s DNI_SYSADM -cft ou_dnfcfcco.cli -cp IBM-1047
  6. Approve and deploy the changes:
    dnicli -i instance -ou SYSOU -s DNI_SYSADM
    app -ou ou
    dep -ou ou
    
    dnicli -i instance -ou SYSOU -s DNI_SYSADM
    app -ou DNFSYSOU
    dep -ou DNFSYSOU

    If dual authorization is enabled, another user with the appropriate access rights must approve the changes before they can be deployed. If dual authorization is disabled, you can skip approving the changes and immediately deploy them.

Notes:
  1. The destination (BIC8) of each LT must be associated with exactly one OU by means of a CO of type DnfBic8Map:
    • The name of the CO is the BIC8 of the destination
    • The value of the BOU attribute of the CO is the business OU to which the destination belongs
  2. MERVA ESA users must ensure that they define all LTs, including synonym LTs, in the MERVA ESA logical terminal table (DWSLTT). For more information about DWSLTT, see MERVA for ESA Version 4: Customization Guide.