Wednesday, 26 May 2021

IBM FTM - Financial transaction Manager interview questions Basics

 1. what is PT wrapper, how channels will be select in PTWrapper.


The Physical Transmission (PT) Wrapper Flow is a custom wrapper that contains the generic PhysicalTransmissionFlow as a subflow. Its job is to handle message inputs from various nodes (like MQInput) and map them for the core flow. A key function is to identify the inbound channel, as this information is required by the generic flow for processing .


2. how select channel subflow works on what bases it will select the channel

3.in what all the tables data will insert when PT log is done

When a physical transmission is logged, data is inserted into key database tables. The transmission details go into TRANSMISSION_BASE. If the transmission is fragmented, details about each piece are stored in the FRAGMENT_BASE table .

4.from where your event will trigger for the first time

Events are typically triggered for the first time by the EventProcessingFlow. This flow processes events raised by FTM to drive the Finite State Machine (FSM) engine. It determines state transitions, evaluates guard conditions, retrieves relevant objects, and calls specified actions .

5. what are the parameters u passed in event from ur action.

Events carry context data needed for processing. A common parameter is the object ID (e.g., Transmission or Batch ID). Events can also include event context data used by object filters to refine which objects are selected for a state transition .

6.what is begin mapper and endmapper how it works

7.what is ISF message what it contents.

ISF (Internal Structured Format) is FTM's internal message format. All external formats are mapped to or from ISF. It can contain all details of a business object, such as payment amounts, debtor/creditor details, and financial institution information .

8.what is batch and transaction 

In FTM, a batch is a group of transactions processed together. FTM supports nested batches and fragmentation, where a batch can span multiple fragments. Each transaction is an individual item (like a payment) within a batch .

9. what is state , transtion and event.

These are core Finite State Machine (FSM) concepts in FTM:

· State: A condition in an object's lifecycle (e.g., 'NEW', 'PROCESSED') .

· Event: An occurrence triggering a potential state change (e.g., 'Payment Received') .

· Transition: The movement from one state to another, triggered by an event, possibly executing an action .

10. how ur object filter works.

An object filter is an optional SQL condition added to a transition. It uses event context data to refine the list of objects retrieved by the main object selector, ensuring only relevant objects are transitioned .

11.what is the use master object query.

The master object query (or object selector) is an SQL statement defining how to retrieve objects from the database for a state transition. It must return the object ID and other data needed by subsequent actions .

12.what all the components contains in congfig

FTM configuration includes model changes (formats, channels, mappers) and code changes (implementations in IBM App Connect). These are extracted into a config script for deployment, which contains metadata derived from FSM models .

13. what is service particient and involded parties

Involved parties are external entities (e.g., "Client," "Payments Gateway") that exchange data with FTM via channels. A service participant is likely an external system (like a sanction screening service) that FTM integrates with .

14.how ur RSA and IIB will connect.

Rsa and IIB are different tools. Rsa We use to design and define the configs and will load the details in Database. IIB will access RSA data via Db using Datasources setup. 

15.what is business concept what is the role.

A Business Concept (e.g., HVP_SANCTION_RESPONSE) defines the type of business object being processed. It helps determine the operation, status, and behavior in the FSM .

16.how u will loopback in FSM

17.what is classification

18.if something went wrong of the action how ur FSM will behave what will happen with particular state in FSM

19.what ur FSM and CONFIG scripts contains.

FSM Scripts: Contain metadata (states, transitions, events) derived from UML state diagrams that control object lifecycles .

· CONFIG Scripts: Contain definitions for artifacts (formats, channels, mappers) and are deployed to the runtime environment .

20.what is inbound and outbound mappers 

Inbound Mapper (External → ISF): Converts incoming messages (e.g., SWIFT MT, XML) into the Internal Structured Format (ISF). It uses the CONFIG channel parameter to look up rules in a value table, determining details like the Business Concept (subType) and Object Class . The core PhysicalTransmissionFlow passes the transmission to this mapper right after logging it .

Outbound Mapper (ISF → External): Converts ISF back to the required external format. It searches its configuration based on the ISF business concept to find the correct output format (e.g., pacs.002.001.10) and manages datetime formatting based on channel settings .


Sunday, 16 May 2021

WebSphere Message Broker Commands

 To view the Components (Broker, Configuration Manager & Queue Manager associated with the Broker) created:


mqsilist


To view the Execution Groups created under a particular Broker: (The 4-digit number displayed against each Execution Group is the Process ID of the Process DataFlowEngine.exe which corresponds to an Execution Group)


mqsilist BROKER_NAME


To view the Flows & Resources (Jars, Message Dictionaries, Message Maps etc) deployed onto a Broker’s Execution Group:


mqsilist BROKER_NAME -e EXECUTION_GROUP_NAME

To view the Broker’s EG Properties:


mqsireportproperties BROKER_NAME -e EXECUTION_GROUP_NAME -o ObjectName -n PropertyName


To view all the properties of a Broker’s EG (‘-r’ indicates recursive fetch, use ‘-a’ for non-recursive fetch):

mqsireportproperties BROKER_NAME -e EXECUTION_GROUP_NAME -o AllReportableEntityNames -r


To view all the Configurable properties of a Broker (‘-r’ indicates recursive fetch, use ‘-a’ for non-recursive fetch):

mqsireportproperties BROKER_NAME -c AllTypes -o AllReportableEntityNames -r


To view the Max Heap Size set to a Broker’s EG:


mqsireportproperties BROKER_NAME -e EXECUTION_GROUP_NAME -o ComIbmJVMManager -n jvmMaxHeapSize


To view the Min Heap Size set to a Broker’s EG:


mqsireportproperties BROKER_NAME -e EXECUTION_GROUP_NAME -o ComIbmJVMManager -n jvmMinHeapSize


To view the Debug Port set to a Broker’s EG:


mqsireportproperties BROKER_NAME -e EXECUTION_GROUP_NAME -o ComIbmJVMManager -n jvmDebugPort


To change the Broker’s EG Properties:


mqsichangeproperties BROKER_NAME -e EXECUTION_GROUP_NAME -o ObjectName -n PropertyName -v ValueToBeSet


To change any of the Configurable properties of a Broker (‘-r’ indicates recursive fetch, use ‘-a’ for non-recursive fetch):


mqsichangeproperties BROKER_NAME -c ConfigurablePropertyName -o ObjectName -v NewValue


To change the Max Heap Size set to a Broker’s EG: [-v parameter should be a value in Bytes]


mqsichangeproperties BROKER_NAME -e EXECUTION_GROUP_NAME -o ComIbmJVMManager -n jvmMaxHeapSize -v NewValue


To change the Min Heap Size set to a Broker’s EG: [-v parameter should be a value in Bytes]


mqsichangeproperties BROKER_NAME -e EXECUTION_GROUP_NAME -o ComIbmJVMManager -n jvmMinHeapSize -v NewValue


To change the Debug Port set to a Broker’s EG: [-v parameter should be a 4-digit value]


mqsichangeproperties BROKER_NAME -e EXECUTION_GROUP_NAME -o ComIbmJVMManager -n jvmDebugPort -v NewValue

________________________________________________________________________


Commands for taking trace: [-u indicates ‘User Trace’ and -t indicates ‘Service Trace’]

Values of -l (Trace Level) parameter:

1. normal,

2. none,

3. debug.

Values of -m (Mode) parameter:

1. safe,

2. fast.


User Trace:


To view the user trace: (Optional -f to view the trace level of a particular message flow deployed onto an EG)


mqsireporttrace BROKER_NAME -u -e EXECUTION_GROUP_NAME -f MESSAGE_FLOW_NAME


To set the user trace: (Optional -f to view the trace level of a particular message flow deployed onto an EG)


mqsichangetrace BROKER_NAME -u -e EXECUTION_GROUP_NAME -f MESSAGE_FLOW_NAME -l TRACE_LEVEL -c SIZE_OF_TRACE_IN_KB


Service Trace:


To view the service trace: (Optional -f to view the trace level of a particular message flow deployed onto an EG)

mqsireporttrace BROKER_NAME -t -e EXECUTION_GROUP_NAME -f MESSAGE_FLOW_NAME


To set the service trace: (Optional -f to view the trace level of a particular message flow deployed onto an EG)


mqsichangetrace BROKER_NAME -t -e EXECUTION_GROUP_NAME -f MESSAGE_FLOW_NAME -l TRACE_LEVEL -c SIZE_OF_TRACE


To read the trace file: (Optional -f to view the trace level of a particular message flow deployed onto an EG)

mqsireadlog BROKER_NAME -u/-t -e EXECUTION_GROUP_NAME -f MESSAGE_FLOW_NAME -o PATH_TO_FILE_WITH_NAME_AND_EXTENSION

________________________________________________________________________

To create a BAR file:


mqsicreatebar -data PATH_TO_BAR_DIRECTORY -b BAR_FILE_NAME -p PROJECT_NAME -o NAME_OF_THE_RESOURCE_TO_BE_ADDED_WITH_EXTN

[‘-cleanBuild’ parameter can be used to refresh the workspace projects and perform a clean build before adding]

Syntax: mqsicreatebar -data workspace -b barName [-version id] [-esql21] [-p projectName […]] -o filePath1 [filePath2 […]]

Command Options:

‘-data workspace’ workspace location (Mandatory)

‘-b barName’ bar file name to create or replace

‘-version id’ appends ‘_’ and id to compiled names in the archive (optional)

‘-esql21’ compile ESQL for brokers version 2.1 (optional)

‘-p projectName’ specify projects containing files to link (optional, multiple projects can be specified)

‘-o filePath1’ workspace relative path (including the project) of deployable files to add to the broker archive. Multiple deployable files can be compiled in a single mqsicreatebar command.


To cancel all outstanding deployments:


mqsideploy -n PATH_TO_CONFIGURATION_MANAGER_FILE -c

To deploy a BAR file:

mqsideploy -n PATH_TO_CONFIGURATION_MANAGER_FILE -b BROKER_NAME -e EXECUTION_GROUP_NAME -a PATH_TO_BAR_FILE_NAME


To remove a flow or resource from the Broker’s EG:


mqsideploy -n PATH_TO_CONFIGURATION_MANAGER_FILE -b BROKER_NAME -e

EXECUTION_GROUP_NAME -d FLOW_OR_RESOURCE_NAME_TO_BE_UNDEPLOYED

NOTE:

1. For all the mqsideploy commands above, a combination of -i, -p & -q parameters can be used instead of -n. -i carries the machine name, -p indicates the port on which the Queue Manager is open and -q represents the name of the Queue Manager,

2. An additional ‘-w’ parameter can be added at the end of the command to set a Timeout Value (in seconds).

________________________________________________________________________


To reload/restart a particular Execution Group:


mqsireload BROKER_NAME -e EXECUTION_GROUP_NAME

To reload/restart all the Execution Groups of the Broker: [This command does not restart the Broker]

mqsireload BROKER_NAME

________________________________________________________________________


To stop a Broker: [Optional ‘-i’ parameter before BROKER_NAME immediately stops the Broker, else, the Broker is stopped in Control Mode. Optional ‘-q’ parameter after BROKER_NAME stops the Broker’s Queue Manager along with the Broker]


[CONFIGURATION_MANAGER_NAME, USER_NAME_SERVER or DATABASE_INSTANCE_MANAGER can be used in place of BROKER_NAME to stop the respective Component]


mqsistop BROKER_NAME

To stop a Broker’s EG:

mqsistop BROKER_NAME -e EXECUTION_GROUP_NAME

To stop a Message Flow running on a Broker’s EG:

mqsistopmsgflow BROKER_NAME -e EXECUTION_GROUP_NAME -m MESSAGE_FLOW_NAME

________________________________________________________________________


To start a Broker:


[CONFIGURATION_MANAGER_NAME, USER_NAME_SERVER or DATABASE_INSTANCE_MANAGER can be used in place of BROKER_NAME to stop the respective Component]

mqsistart BROKER_NAME


To start a Broker’s EG:


mqsistart BROKER_NAME -e EXECUTION_GROUP_NAME

To start a Message Flow running on a Broker’s EG:

mqsistartmsgflow BROKER_NAME -e EXECUTION_GROUP_NAME -m MESSAGE_FLOW_NAME

________________________________________________________________________


To set the DSN Name to a Broker which will be used by the flows deployed onto its’ EGs:


mqsisetdbparms BROKER_NAME -n DSN_NAME -u USER_ID -p PASSWORD


To reset the DSN Name to a Broker which will be used by the flows deployed onto its’ EGs:


mqsisetdbparms BROKER_NAME -n DSN_NAME – -u USER_ID -p PASSWORD


To remove the DSN Name to a Broker which was used by the flows deployed onto its’ EGs:


mqsisetdbparms BROKER_NAME -n DSN_NAME -d

________________________________________________________________________

To list/display/export an ACL Entry:


mqsilistaclentry CONFIGURATION_MANAGER_NAME -n .configmgr_FILE_NAME -f FILE_TO_WHICH_THE_ACL_ENTRIES_ARE_EXPORTED

To create an ACL Entry:

mqsilistaclentry CONFIGURATION_MANAGER_NAME -n .configmgr_FILE_NAME -f FILE_FROM_WHICH_THE_ACL_ENTRIES_ARE_IMPORTED

To delete an ACL Entry:

mqsideleteaclentry CONFIGURATION_MANAGER_NAME -n .configmgr_FILE_NAME -f FILE_FROM_WHICH_THE_ACL_ENTRIES_ARE_IMPORTED

________________________________________________________________________

To create a Broker:


mqsicreatebroker BROKER_NAME -i USER_ID -a PASSWORD -q BROKER_QUEUE_MANAGER_NAME


To create a Configuration Manager:


mqsicreateconfigmgr CONFIGURATION_MANAGER_NAME -i USER_ID -a PASSWORD -q BROKER_QUEUE_MANAGER_NAME


To create a User Name Server: [Optional ‘-r’ parameter can be added to set the Refresh Interval at the end of the command with a value in seconds. Default value is 60 seconds]


mqsicreateusernameserver -i USER_ID -a PASSWORD -q BROKER_QUEUE_MANAGER_NAME

________________________________________________________________________


To delete a Broker: [Optional ‘-q’ parameter can be added to delete the associated Queue Manager along with the Broker]

[Optional ‘-w’ parameter can be added to delete all the files related to the Broker under the work path mentioned by ‘-w’s value]


mqsideletebroker BROKER_NAME

To delete a Configuration Manager: [Optional ‘-q’ parameter can be added to delete the associated Queue Manager along with the Configuration Manager]

mqsideleteconfigmgr CONFIGURATION_MANAGER_NAME


To delete a User Name Server: [Optional ‘-q’ parameter can be added to delete the associated Queue Manager along with the User Name Server]

[Optional ‘-w’ parameter can be added to delete all the files related to the User Name Server under the work path mentioned by ‘-w’s value]

mqsideleteusernameserver

________________________________________________________________________


To create a Configurable Service:


mqsicreateconfigurableservice BROKER_NAME -c CONFIGURABLE_SERVICE_NAME -o ObjectName -n PropertyName -v PropertyValue


To delete a Configurable Service:


mqsideleteconfigurableservice BROKER_NAME -c CONFIGURABLE_SERVICE_NAME -o ObjectName

________________________________________________________________________


To perform the Component Verification:


mqsicvp COMPONENT_NAME

[COMPONENT_NAME can be BROKER_NAME or CONFIGURATION_MANAGER_NAME]


Stay Tune for Remaining Commands… 🙂


Share this: