IBM BJ0NJML Integration Guide - Page 238

Stop the transaction from being saved in the queue by throwing an, In this case

Page 238 highlights

Inbound Customization 224 The interface table polling program is run by using the system cron task manager. The cron task, IFACETABLECONSUMER, has an optional property called EXITCLASS, where you can place the fully qualified name of a Java exit class. The Java data structure list represents the record from the interface tables, where the first element is always the action of the message. The remaining elements of the list are the mapped data structures, with each map representing a row in the interface table for each message. The keys in the map are the column names and the values are the corresponding column values. All the column values (Integers, Date, Float, Double) are converted to their localized string format before they are set in the map. The EXITCLASS class must implement the psdi.iface.intertables.IfaceTbExit interface and the following three methods: public void beforeQueue(long transid, String extSys, String ifaceName, List data, Connection conn) This method is called after the data is pulled from the interface table and before the data is inserted into one of the inbound queues. public void afterCommit(long transid, String extSys, String ifaceName, Connection conn) This method is called after the data has been inserted to an inbound queue and deleted from the interface queue table, and the database commit is done. public void afterRollback(long transid, String extSys, String ifaceName, Connection conn) This method is like the afterCommit method but called if the transaction is rolled back. This class can perform the noted processes: T Validate data T Change external data by changing the IR record to be saved in the system T Stop the transaction from being saved in the queue by throwing an exception In this case, the transaction remains in the MXIN_INTER_TRANS table with the error message and is reprocessed. T Stop the message from being sent to external system by throwing a skip_transaction exception In this case, message the system does not save the message; the message is removed from the queue. T Log the transaction The user exit that uses the afterCommit or afterRollback method can perform the following processes: T Perform custom processing and cleanup Integration Guide

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330

Inbound Customization
224
Integration Guide
The interface table polling program is run by using the system cron task manager.
The cron task, IFACETABLECONSUMER, has an optional property called
EXITCLASS, where you can place the fully qualified name of a Java exit class.
The Java data structure list represents the record from the interface tables, where
the first element is always the action of the message. The remaining elements of
the list are the mapped data structures, with each map representing a row in the
interface table for each message. The keys in the map are the column names and
the values are the corresponding column values. All the column values (Integers,
Date, Float, Double) are converted to their localized string format before they are
set in the map.
The EXITCLASS class must implement the psdi.iface.intertables.IfaceTbExit
interface and the following three methods:
public void beforeQueue(long transid, String extSys, String
ifaceName, List data, Connection conn)
This method is called after the data is pulled from the interface table and
before the data is inserted into one of the inbound queues.
public void afterCommit(long transid, String extSys, String
ifaceName, Connection conn)
This method is called after the data has been inserted to an inbound queue
and deleted from the interface queue table, and the database commit is
done.
public void afterRollback(long transid, String extSys, String
ifaceName, Connection conn)
This method is like the afterCommit method but called if the transaction is
rolled back.
This class can perform the noted processes:
Validate data
Change external data by changing the IR record to be saved in the system
Stop the transaction from being saved in the queue by throwing an
exception
In this case, the transaction remains in the MXIN_INTER_TRANS table
with the error message and is reprocessed.
Stop the message from being sent to external system by throwing a
skip_transaction exception
In this case, message the system does not save the message; the message is
removed from the queue.
Log the transaction
The user exit that uses the afterCommit or afterRollback method can perform the
following processes:
Perform custom processing and cleanup