absa-h2h 0.0.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. data/.gitignore +5 -0
  2. data/.rspec +3 -0
  3. data/Gemfile +7 -0
  4. data/README +0 -0
  5. data/Rakefile +7 -0
  6. data/absa-h2h.gemspec +23 -0
  7. data/lib/absa-h2h/account_holder_verification.rb +22 -0
  8. data/lib/absa-h2h/account_holder_verification_output.rb +22 -0
  9. data/lib/absa-h2h/eft/rejection_code.rb +30 -0
  10. data/lib/absa-h2h/eft.rb +200 -0
  11. data/lib/absa-h2h/eft_output.rb +12 -0
  12. data/lib/absa-h2h/eft_redirect.rb +13 -0
  13. data/lib/absa-h2h/eft_unpaid.rb +13 -0
  14. data/lib/absa-h2h/reply.rb +27 -0
  15. data/lib/absa-h2h/transmission/document.rb +26 -0
  16. data/lib/absa-h2h/transmission/record.rb +18 -0
  17. data/lib/absa-h2h/transmission/set.rb +168 -0
  18. data/lib/absa-h2h/version.rb +5 -0
  19. data/lib/absa-h2h.rb +22 -0
  20. data/lib/config/account_holder_verification.yml +196 -0
  21. data/lib/config/account_holder_verification_output.yml +182 -0
  22. data/lib/config/document.yml +54 -0
  23. data/lib/config/eft.yml +284 -0
  24. data/lib/config/eft_output.yml +65 -0
  25. data/lib/config/eft_redirect.yml +129 -0
  26. data/lib/config/eft_rejection_codes.yml +321 -0
  27. data/lib/config/eft_unpaid.yml +125 -0
  28. data/lib/config/reply.yml +222 -0
  29. data/lib/tmp/test.txt +0 -0
  30. data/spec/examples/ahv_input_file.txt +7 -0
  31. data/spec/examples/ahv_output_file.txt +7 -0
  32. data/spec/examples/eft_input_credit_file.txt +166 -0
  33. data/spec/examples/eft_input_credit_file2.txt +0 -0
  34. data/spec/examples/eft_input_file.txt +20 -0
  35. data/spec/examples/eft_output_file.txt +35 -0
  36. data/spec/examples/reply_file.txt +5 -0
  37. data/spec/examples/transmission_header_file.txt +1 -0
  38. data/spec/lib/account_holder_verification_spec.rb +157 -0
  39. data/spec/lib/eft/rejection_code_spec.rb +37 -0
  40. data/spec/lib/eft_output_spec.rb +9 -0
  41. data/spec/lib/eft_spec.rb +369 -0
  42. data/spec/lib/eft_transaction_standard_spec.rb +88 -0
  43. data/spec/lib/string_spec.rb +9 -0
  44. data/spec/lib/transmission/document_spec.rb +152 -0
  45. data/spec/lib/transmission/header_spec.rb +28 -0
  46. data/spec/lib/transmission/record_spec.rb +24 -0
  47. data/spec/lib/transmission/trailer_spec.rb +26 -0
  48. data/spec/spec_helper.rb +9 -0
  49. metadata +135 -0
@@ -0,0 +1,65 @@
1
+ header:
2
+ rec_id:
3
+ data_type: N
4
+ offset: 1
5
+ length: 3
6
+ regex: ^010$
7
+ no_strip: true
8
+ rec_status:
9
+ data_type: A
10
+ offset: 4
11
+ length: 1
12
+ regex: ^T|L$
13
+ bankserv_user_code:
14
+ data_type: A
15
+ offset: 5
16
+ length: 4
17
+ bankserv_generation_number:
18
+ data_type: N
19
+ offset: 9
20
+ length: 7
21
+ bankserv_service:
22
+ data_type: N
23
+ offset: 16
24
+ length: 2
25
+ regex: ^1|2|3|8|9$
26
+ trailer:
27
+ rec_id:
28
+ data_type: N
29
+ offset: 1
30
+ length: 3
31
+ regex: ^019$
32
+ no_strip: true
33
+ rec_status:
34
+ data_type: A
35
+ offset: 4
36
+ length: 1
37
+ regex: ^T|L$
38
+ no_debit_records:
39
+ data_type: N
40
+ offset: 5
41
+ length: 9
42
+ no_credit_records:
43
+ data_type: N
44
+ offset: 14
45
+ length: 9
46
+ homing_account_hash_total:
47
+ data_type: N
48
+ offset: 23
49
+ length: 18
50
+ debit_amount_hash_total:
51
+ data_type: N
52
+ offset: 41
53
+ length: 14
54
+ credit_amount_hash_total:
55
+ data_type: N
56
+ offset: 55
57
+ length: 14
58
+
59
+
60
+
61
+
62
+
63
+
64
+
65
+
@@ -0,0 +1,129 @@
1
+ header:
2
+ rec_id:
3
+ data_type: N
4
+ offset: 1
5
+ length: 3
6
+ regex: ^016$
7
+ no_strip: true
8
+ rec_status:
9
+ data_type: A
10
+ offset: 4
11
+ length: 1
12
+ regex: ^T|L$
13
+ bankserv_user_code:
14
+ data_type: A
15
+ offset: 5
16
+ length: 4
17
+ nom_branch:
18
+ data_type: N
19
+ offset: 9
20
+ length: 6
21
+ nom_account:
22
+ data_type: N
23
+ offset: 15
24
+ length: 16
25
+ nom_account_type:
26
+ data_type: N
27
+ offset: 31
28
+ length: 2
29
+ regex: ^1$
30
+ action_date:
31
+ data_type: N
32
+ offset: 33
33
+ length: 8
34
+ regex: ^[0-9]{8}$
35
+ no_strip: true
36
+ transaction:
37
+ rec_id:
38
+ data_type: N
39
+ offset: 1
40
+ length: 3
41
+ regex: ^017$
42
+ no_strip: true
43
+ rec_status:
44
+ data_type: A
45
+ offset: 4
46
+ length: 1
47
+ regex: ^T|L$
48
+ transaction_type:
49
+ data_type: A
50
+ offset: 5
51
+ length: 2
52
+ regex: ^50|10$
53
+ transmission_date:
54
+ data_type: N
55
+ offset: 7
56
+ length: 8
57
+ regex: ^[0-9]{8}$
58
+ original_sequence_number:
59
+ data_type: N
60
+ offset: 15
61
+ length: 6
62
+ homing_branch:
63
+ data_type: N
64
+ offset: 21
65
+ length: 6
66
+ homing_account:
67
+ data_type: N
68
+ offset: 27
69
+ length: 16
70
+ amount:
71
+ data_type: N
72
+ offset: 43
73
+ length: 11
74
+ user_ref:
75
+ data_type: A
76
+ offset: 54
77
+ length: 30
78
+ new_homing_branch:
79
+ data_type: N
80
+ offset: 84
81
+ length: 6
82
+ new_homing_account_number:
83
+ data_type: N
84
+ offset: 90
85
+ length: 16
86
+ new_homing_account_type:
87
+ data_type: N
88
+ offset: 106
89
+ length: 2
90
+ distribution_sequence_number:
91
+ data_type: N
92
+ offset: 108
93
+ length: 6
94
+ homing_account_name:
95
+ data_type: A
96
+ offset: 114
97
+ length: 30
98
+ trailer:
99
+ rec_id:
100
+ data_type: N
101
+ offset: 1
102
+ length: 3
103
+ regex: ^018$
104
+ no_strip: true
105
+ rec_status:
106
+ data_type: A
107
+ offset: 4
108
+ length: 1
109
+ regex: ^T|L$
110
+ no_debit_records:
111
+ data_type: N
112
+ offset: 5
113
+ length: 9
114
+ no_credit_records:
115
+ data_type: N
116
+ offset: 14
117
+ length: 9
118
+ homing_account_hash_total:
119
+ data_type: N
120
+ offset: 23
121
+ length: 18
122
+ debit_amount_hash_total:
123
+ data_type: N
124
+ offset: 41
125
+ length: 14
126
+ credit_amount_hash_total:
127
+ data_type: N
128
+ offset: 55
129
+ length: 14
@@ -0,0 +1,321 @@
1
+ reasons:
2
+ "0": "SUCCESSFUL"
3
+ "2": "NOT PROVIDED FOR"
4
+ "3": "DEBITS / CREDITS NOT ALLOWED TO ACCOUNT"
5
+ "4": "PAYMENT STOPPED"
6
+ "6": "ACCOUNT FROZEN"
7
+ "8": "ACCOUNT IN LIQUIDATION"
8
+ "10": "ACCOUNT IN SEQUESTRATION"
9
+ "12": "ACCOUNT CLOSED"
10
+ "14": "ACCOUNT TRANSFERRED WITHIN BANKING GROUP"
11
+ "16": "ACCOUNT TRANSFERRED TO OTHER BANKING GROUP"
12
+ "18": "ACCOUNT HOLDER DECEASED"
13
+ "22": "ACCOUNT EFFECTS NOT CLEARED"
14
+ "26": "NO SUCH ACCOUNT"
15
+ "28": "RECALL / WITHDRAWAL"
16
+ "30": "CLIENT DID NOT AUTHORISE DEBIT"
17
+ "32": "DEBIT CONTRAVENES CLIENT'S AUTHORITY"
18
+ "34": "AUTHORISATION CANCELLED"
19
+ "36": "PREVIOUSLY STOPPED AS STOP PAYMENT"
20
+ "56": "NOT FICA COMPLIANT"
21
+ "898": "POSSIBLE STOP PAYMENT"
22
+ "899": "DISTRIBUTION UPFRONT REJECTION"
23
+ "900": "INTEREST/CAPITAL EXCEEDED"
24
+ "901": "POST DATED TRANSACTION"
25
+ "902": "LIMITS VIOLATION"
26
+ "904": "SUBSCRIPTION AMOUNT REQUIRED"
27
+ "905": "HISTORY RECORD NOT FOUND"
28
+ "906": "DATA BASE DOWN"
29
+ "907": "INTEREST CALCULATION ERROR"
30
+ "908": "EXCEPTIONS ERROR"
31
+ "909": "OLD/NEW BALANCES DIFFER"
32
+ "910": "NO BOOK ERROR"
33
+ "911": "ORIGINAL TRAN NOT FOUND"
34
+ "912": "TRAN BACKDATED BEYOND LIMIT"
35
+ "913": "INVALID BRANCH"
36
+ "914": "BALANCE EXCEEDS MAXIMUM"
37
+ "915": "INVALID MODE"
38
+ "916": "BOND CANCELLED"
39
+ "917": "OVERRIDE REQUIRED"
40
+ "918": "CLOSED BENEFICIARY CODE"
41
+ "919": "CLOSED ACB BRANCH CODE"
42
+ "921": "NO TRANSFER, ACCOUNT IN ADVANCE"
43
+ "922": "ACCOUNT OPEN – NOT PAID OUT"
44
+ "924": "ACCOUNT IN ADVANCE"
45
+ "925": "BRIDGES ERROR"
46
+ "926": "OTR ERROR/REFER EPSQ HISTORY"
47
+ "927": "ONLINE TRANSACTION IN PROGRESS"
48
+ "928": "TRANSACTION WITHDRAWAL"
49
+ "929": "NEW MORTGAGE LOANS INVALID DUE DATE"
50
+ "930": "NEW MORTGAGE LOAN FINANCIAL ERROR"
51
+ "932": "PAAF INSUFFICIENT FUNDS"
52
+ "950": "TRAN ON MANAGER'S REFERRAL"
53
+ "999": "INVALID DATA"
54
+ qualifiers:
55
+ "1": "SECURITY MESSAGE HOLD ON ACCOUNT"
56
+ "2": "COURT ORDER HOLD ON ACCOUNT"
57
+ "3": "CURATORSHIP HOLD PRESENT"
58
+ "4": "DECEASED ESTATE HOLD PRESENT"
59
+ "5": "INSOLVENT ESTATE HOLD PRESENT"
60
+ "6": "SPOUSE DECEASED HOLD PRESENT"
61
+ "7": "ACCOUNT STOPPED HOLD"
62
+ "8": "ACCOUNT FROZEN HOLD"
63
+ "9": "BAD DEBT HOLD ON ACCOUNT"
64
+ "10": "POTENTIAL BAD DEBT HOLD ON ACCOUNT"
65
+ "11": "LEGAL ACTION PRESENT"
66
+ "12": "ACCOUNT CLOSED"
67
+ "13": "ACCOUNT TRANSFERRED"
68
+ "14": "ACCOUNT CLOSURE PENDING"
69
+ "15": "THIRD PARTY PAYMENTS NOT PERMITTED"
70
+ "16": "INSUFFICIENT FUNDS"
71
+ "17": "INSUFFICIENT FUNDS - AMOUNTS NOT CLEARED"
72
+ "18": "ACCOUNT DORMANT"
73
+ "19": "MAXIMUM BALANCE REACHED"
74
+ "20": "MAXIMUM NUMBER OF CREDITS PER DAY REACHED"
75
+ "21": "MAXIMUM NUMBER OF CREDITS PER MONTH REACHED"
76
+ "22": "MAXIMUM NUMBER OF DEPOSITS PER DAY REACHED"
77
+ "23": "MAXIMUM NUMBER OF DEPOSITS PER MONTH REACHED"
78
+ "24": "MAXIMUM NUMBER OF DEBIT TRANSACTIONS PER DAY REACHED"
79
+ "25": "MAXIMUM NUMBER OF DEBIT TRANSACTIONS PER MONTH REACHED"
80
+ "26": "MAXIMUM NUMBER OF WITHDRAWALS PER DAY REACHED"
81
+ "27": "MAXIMUM NUMBER OF WITHDRAWALS PER MONTH REACHED"
82
+ "28": "MAXIMUM WITHDRAWAL AMOUNT PER DAY REACHED"
83
+ "30": "MAXIMUM WITHDRAW AL AMOUNT PER MONTH REACHED"
84
+ "31": "PARAMETER SYSTEM VALIDATION ERROR"
85
+ "32": "TRANSACTION NOT CATERED FOR ON SAVINGS"
86
+ "33": "SOURCE/TARGET NOT THE SAME AS 'SORT'"
87
+ "34": "TRANSACTION TOO FAR BACKDATED"
88
+ "35": "TRANSACTION NOT FOUND TO CORRECT"
89
+ "36": "ZERO TRANSACTION AMOUNT NOT VALID"
90
+ "37": "ACCOUNT NOT FOUND"
91
+ "38": "TRANSACTION IN FUTURE"
92
+ "39": "INVALID SOURCE INITIATOR"
93
+ "40": "TRANSACTION NOT PERMITTED ON THIS ACCOUNT"
94
+ "41": "CREDIT AMOUNT LESS THAN MINIMUM ALLOWED"
95
+ "42": "NON RESIDENT/BLOCKED ACCOUNT"
96
+ "43": "ACCOUNT NOT A DEPOSIT ACCOUNT"
97
+ "44": "INSTRUCTION NOT FOUND - CAPITAL TRANSFER"
98
+ "45": "MATURED ACCOUNT"
99
+ "46": "EFFECTIVE DATE NOT EQUAL TO COMMENCEMENT DATE"
100
+ "80001": "INVALID TARGET ACCOUNT CLIENT NUMBER"
101
+ "80002": "INVALID TARGET ACCOUNT CLIENT NAME"
102
+ "80003": "INVALID ACTION/EFFECTIVE DATE"
103
+ "80004": "INVALID TARGET ACCOUNT NUMBER (REDIRECT)"
104
+ "80005": "AMOUNT FIELD/S NOT NUMERIC OR NEGATIVE"
105
+ "80501": "UNPAID VIA ACB"
106
+ "81002": "TX MASTER TIEBREAK INVALID"
107
+ "81003": "INPUT FILE NUMBER INVALID"
108
+ "81004": "TRANSACTION TRACE NUMBER INVALID"
109
+ "81005": "TRANSACTION PHASE INVALID"
110
+ "81007": "INPUT DIST USER CODE INVALID"
111
+ "81008": "SOURCE OUTPUT USER CODE INVALID"
112
+ "81009": "TARGET OUTPUT USER CODE INVALID"
113
+ "81010": "FILE ID INVALID"
114
+ "81011": "FILE TYPE OF SERVICE INVALID"
115
+ "81012": "INVALID FILE PROCESSING DATE"
116
+ "81013": "TRANSACTION EFFECTIVE DATE INVALID"
117
+ "81014": "TRANSACTION STATUS INVALID"
118
+ "81015": "REJECTION REASON NOT NUMERIC"
119
+ "81016": "REJECTION QUALIFIER INVALID"
120
+ "81017": "POSITIVE CONFIRMATION REQUIRED INVALID"
121
+ "81019": "CDV VALIDATION INDICATOR INVALID"
122
+ "81021": "FILE REJECTED AS PER USER SELECTION"
123
+ "81028": "TRANSACTION TYPE INVALID"
124
+ "81029": "TRANSACTION SUB TYPE INVALID"
125
+ "81030": "PROCESSING SEQUENCE INVALID"
126
+ "81031": "ACB USER CODE INVALID"
127
+ "81032": "ACB USER SEQUENCE NUMBER NOT NUMERIC"
128
+ "81034": "SOURCE ACCOUNT FINANCIAL INDICATOR INVALID"
129
+ "81035": "SOURCE ACCOUNT BRANCH INVALID"
130
+ "81036": "SOURCE ACCOUNT NUMBER INVALID"
131
+ "81038": "SOURCE ACCOUNT NUMBER INVALID(LENGTH)"
132
+ "81039": "SOURCE ACCOUNT TYPE INVALID"
133
+ "81044": "SOURCE ACCOUNT INDEX NOT NUMERIC"
134
+ "81045": "TARGET ACCOUNT FINANCIAL INDICATOR INVALID"
135
+ "81046": "TARGET ACCOUNT BRANCH INVALID"
136
+ "81047": "TARGET ACCOUNT NUMBER INVALID"
137
+ "81049": "TARGET ACCOUNT NUMBER INVALID"
138
+ "81050": "TARGET ACCOUNT TYPE INVALID (LENGTH)"
139
+ "81058": "ACTION DATE INVALID"
140
+ "81059": "AMOUNT REQUESTED NOT NUMERIC OR ZERO"
141
+ "81061": "TRANSACTION TYPE OF SERVICE INVALID"
142
+ "81063": "CONSOLIDATED TRANSACTION INDICATOR INVALID"
143
+ "81064": "TRANSACTION LEG IDENTIFIER INVALID"
144
+ "81065": "ENTRY CLASS INVALID"
145
+ "81066": "TAX CODE INVALID"
146
+ "81090": "PROCESSING OPTION INVALID"
147
+ "81091": "INVALID OTR ACCOUNT NUMBER"
148
+ "81092": "SOURCE ACC DETAILS FOR BUREAU CLIENT NOT FOUND"
149
+ "81093": "TRANSACTION TYPE / SUB TYPE INVALID"
150
+ "81094": "SDD11-TARGET-ACC-INDEX NOT TO BE > 11"
151
+ "81095": "INVALID INTIATOR"
152
+ "81096": "PAYMENT TYPE INDICATOR INVALID"
153
+ "81110": "INVALID TIE BREAK"
154
+ "81116": "PAYMENT TYPE INDICATOR INVALID"
155
+ "81128": "INVALID TARGET ACCOUNT DROPPED DATE"
156
+ "81129": "SDD11-TARGET-ACC-INDEX MAY NOT BE > 11"
157
+ "81141": "INVALID TRANSACTION STATUS"
158
+ "81142": "INPUT FILE NOT NUMERIC"
159
+ "81143": "INPUT FILE NOT VALID"
160
+ "81144": "INVALID INTERNAL TRANSACTION NO"
161
+ "81145": "INVALID INTERNAL TRANSACTION NO"
162
+ "81146": "INVALID TRANSACTION PHASE"
163
+ "81147": "INVALID TRANSACTION LOG"
164
+ "81148": "INVALID DISTRIBUTION USER"
165
+ "81149": "INVALID DISTRIBUTION USER"
166
+ "81150": "INVALID DISTRIBUTION USER"
167
+ "81151": "INVALID SOURCE DISTRIBUTION USER"
168
+ "81152": "INVALID SOURCE DISTRIBUTION USER"
169
+ "81153": "INVALID TARGET DISTRIBUTION USER"
170
+ "81154": "INVALID TARGET DISTRIBUTION USER"
171
+ "81155": "INVALID FILE TYPE OF SERVICE"
172
+ "81156": "INVALID FILE PROCESSING DATE"
173
+ "81157": "INVALID FILE PROCESSING DATE"
174
+ "81158": "INVALID TRANSACTION EFFECTIVE DATE"
175
+ "81159": "INVALID TRANSACTION EFFECTIVE DATE"
176
+ "81160": "INVALID TRANSACTION EFFECTIVE DATE"
177
+ "81161": "INVALID REJECTION REASON"
178
+ "81162": "INVALID REJECTION QUALIFIER"
179
+ "81163": "INVALID REJECTION QUALIFIER"
180
+ "81164": "INVALID POSITIVE CONFIRMATION REQUIRED INDICATOR"
181
+ "81165": "INVALID PENDING HOLD INDICATOR"
182
+ "81166": "INVALID CDV INDICATOR"
183
+ "81167": "INVALID DATE ROLLED INDICATOR"
184
+ "81168": "INVALID SOURCE ACCOUNT DROPPED DATE"
185
+ "81169": "INVALID SERVICE ROLLED INDICATOR"
186
+ "81170": "INVALID RETRY INDICATOR"
187
+ "81171": "INVALID RETRY DAYS"
188
+ "81172": "INVALID RETRY DAYS"
189
+ "81173": "INVALID TRANSACTION TYPE"
190
+ "81174": "INVALID TRANSACTION SUB TYPE"
191
+ "81175": "INVALID TRANSACTION TYPE/SUB TYPE COMBINATION"
192
+ "81176": "INVALID PROCESSING SEQUENCE"
193
+ "81177": "INVALID ACB USER CODE"
194
+ "81178": "INVALID ACB USER CODE"
195
+ "81179": "INVALID ACB USER SEQUENCE"
196
+ "81180": "INVALID SOURCE INDICATOR"
197
+ "81181": "INVALID SOURCE ACCOUNT BRANCH"
198
+ "81182": "INVALID SOURCE ACCOUNT BRANCH"
199
+ "81183": "INVALID SOURCE ACCOUNT LENGTH"
200
+ "81184": "INVALID SOURCE ACCOUNT LENGTH"
201
+ "81185": "INVALID SOURCE ORIGINAL NUMBER"
202
+ "81186": "INVALID SOURCE ORIGINAL TYPE"
203
+ "81187": "INVALID SOURCE ORIGINAL NO"
204
+ "81188": "INVALID SOURCE ORIGINAL NO"
205
+ "81189": "INVALID SOURCE ACCOUNT INDEX"
206
+ "81190": "INVALID TARGET INDICATOR"
207
+ "81191": "INVALID TARGET BRANCH"
208
+ "81192": "INVALID TARGET BRANCH"
209
+ "81193": "INVALID TARGET ORIGINAL NO"
210
+ "81194": "INVALID TARGET NO LENGTH"
211
+ "81195": "INVALID TARGET NO LENGTH"
212
+ "81196": "INVALID TARGET ACCOUNT TYPE"
213
+ "81197": "INVALID TARGET ACCOUNT TYPE"
214
+ "81198": "INVALID TARGET ACCOUNT HOST"
215
+ "81199": "TRANSACTION TYPE / SUB TYPE INVALID"
216
+ "81501": "TRANSACTION HAS BEEN WITHDRAWN"
217
+ "81502": "TRANSACTION HAS BEEN RECALLED"
218
+ "81503": "STOP PAYMENT ON TRANSACTION HAS BEEN ACTIONED"
219
+ "81504": "INVALID RETURN CODE FROM DSM700D"
220
+ "81521": "FILE REJECTED AS PER USER SELECTION"
221
+ "82001": "DIST USER INPUT RULES NOT REGISTERED FOR ACB USER"
222
+ "82002": "ACB USER CODE NOT REGISTERED FOR DIST USER - INPUT RULES"
223
+ "82021": "FILE REJECTED AS PER USER SELECTION"
224
+ "82045": "INVALID CHARACTER IN (S) TRAN REF FIELD - CANNOT BE REPLA"
225
+ "82046": "INVALID CHARACTER IN (T) TRANS REF FIELD, CANNOT BE REPLA"
226
+ "82047": "INVALID CHARACTER IN (T) TRANSACTION ACCOUNT NAME"
227
+ "82048": "INVALID CHARACTER IN TRANSACTION CLIENT NUMBER"
228
+ "82049": "INVALID CHARACTER IN (T) TRANSACTION CLIENT'S NAME"
229
+ "82050": "SOURCE/NOMINATED ACC NUMBER NOT REGISTERED FOR DIST USER"
230
+ "82051": "SHORT NAME DOES NOT MATCH FIRST 10: CHAR OF REFERENCE FIEL"
231
+ "82052": "INVALID SITE CODE ON INPUT DISTRIBUTION USER"
232
+ "82501": "SOURCE/NOMINATED ACCOUNT FAILED THE CDV CHECK"
233
+ "82502": "TARGET/HOMING ACCOUNT FAILED CDV CHECK"
234
+ "82503": "SOURCE/NOMINA TED BRANCH CODE NOT REGISTERED AT ACB"
235
+ "82504": "T ARGET/HOMING BRANCH CODE NOT REGISTERED AT ACB"
236
+ "82505": "INVALID TYPE FOR SOURCE/NOMINATED ACCOUNT"
237
+ "82506": "INVALID TYPE FOR TARGET/HOMING ACCOUNT"
238
+ "82507": "CR/DR NOT ALLOWED FOR SOURCE/NOMINA TED ACCOUNT"
239
+ "82508": "CR/DR NOT ALLOWED FOR THE TARGET/HOMING ACCOUNT"
240
+ "82509": "CR/DR NOT ALLOWED ON THE SOURCE/NOMINATED ACCOUNT"
241
+ "82510": "CR/DR NOT ALLOWED FOR THE TARGET/HOMING ACCOUNT"
242
+ "82511": "INVALID RETURN CODE FORM DSM923D"
243
+ "82512": "INVALID RETURN CODE FROM DSM923D"
244
+ "82513": "ACB SOURCE ACCOUNT NUMBER MUST BE < 13 DIGITS"
245
+ "82514": "ACB TARGET ACCOUNT NUMBER MUST BE < 13 DIGITS"
246
+ "82515": "INVALID ACB TYPE OF SERVICE"
247
+ "82521": "FILE REJECTED AS PER USER SELECTION"
248
+ "83001": "SOURCE/NOMINATED ACCOUNT NOT FOUND ON ACCOUNT LOOK-UP"
249
+ "83002": "TARGET ACCOUNT NOT FOUND ON ACCOUNT LOOK-UP"
250
+ "83003": "INVALID SOURCE PRODUCT"
251
+ "83004": "INVALID TARGET PRODUCT"
252
+ "83005": "INCOMING ACB TARGET ACC IS NOT A VALID ABSA ACCOUNT"
253
+ "83006": "SOURCE ACCOUNT (EPS) IS NOT ON THE ABSA CHASSIS"
254
+ "83009": "SOURCE ACCOUNT FOLLOW-ME NOT ALLOWED"
255
+ "83010": "TARGET ACCOUNT NUMBER INVALID (FOLLOW-ME)"
256
+ "83021": "FILE REJECTED AS PER USER SELECTION"
257
+ "83102": "TARGET/HOMING ACCOUNT NUMBER NOT FOUND ON ACC LOOK-UP"
258
+ "83202": "OUTPUT DIST USER NOT REGISTERED"
259
+ "83221": "FILE REJECTED AS PER USER SELECTION"
260
+ "83241": "INVALID TRANSACTION DATE FOR SERVICE SELECTED"
261
+ "83242": "INVALID TRANSACTION EFFECTIVE DATE - NO BACKDATING SELECT"
262
+ "83243": "DATE MODULE NOT RETURNING NEXT PROCESSING DATE"
263
+ "83244": "DATE MODULE NOT RETURNING NEXT PROCESSING DATE"
264
+ "83245": "DATE MODULE NOT RETURNING DROP DATE OF TRANSACTION"
265
+ "83501": "TRANSACTION WITHDRAWN"
266
+ "83502": "TRANSACTION HAS BEEN RECALLED"
267
+ "83503": "POSSIBLE STOP PAYMENT"
268
+ "83504": "INVALID RETURN CODE FROM DSM700D"
269
+ "83505": "100% MATCH - PAYMENT STOPPED AND UNPAID"
270
+ "83521": "FILE REJECTED AS PER USER SELECTION"
271
+ "83601": "INVALID RETURN CODE FROM DSM700D"
272
+ "83621": "FILE REJECTED AS PER USER SELECTION"
273
+ "84001": "FILE ID NOT REGISTERED FOR INTERNAL USER"
274
+ "84002": "ITEM LIMIT EXCEEDED: INPUT FILE REJECTED ON USER REQUEST"
275
+ "84003": "ITEM LIMIT EXCEEDED: OUTPUT FILE REJECTED ON USER REQUEST"
276
+ "84004": "FILE ID NOT REGISTERED FOR INTERNAL USER"
277
+ "84005": "ACB USER CODE NOT REGISTERED FOR INPUT USER"
278
+ "84006": "ACB USER CODE NOT REGISTERED FOR OUTPUT USER"
279
+ "84007": "ACB USER CODE NOT REGISTERED FOR USER"
280
+ "84008": "NOMINATED ACC FOR DD/DC NOT REGISTERED FOR USER"
281
+ "84009": "DIRECT DEBIT ITEM LIMIT EXCEEDED"
282
+ "84010": "DIRECT CREDIT ITEM LIMIT EXCEEDED"
283
+ "84011": "VARIABLE DEBIT ITEM LIMIT EXCEEDED"
284
+ "84012": "VARIABLE CREDIT ITEM LIMIT EXCEEDED"
285
+ "84013": "NOMINATED ACC FOR DO/SO NOT REGISTERED FOR INPUT USER"
286
+ "84014": "STOP ORDER EXCEEDS DEBIT ITEM LIMIT - INPUT"
287
+ "84015": "STOP ORDER EXCEEDS CREDIT ITEM LIMIT - INPUT"
288
+ "84016": "DEBIT ORDER EXCEEDS CREDIT ITEM LIMIT - INPUT"
289
+ "84017": "DEBIT ORDER EXCEEDS DEBIT ITEM LIMIT - INPUT"
290
+ "84018": "NOMINATED ACC FOR DO/SO NOT REGISTERED FOR OUTPUT USER"
291
+ "84019": "STOP ORDER EXCEEDS DEBIT ITEM LIMIT - OUTPUT"
292
+ "84020": "STOP ORDER EXCEEDS CREDIT ITEM LIMIT - OUTPUT"
293
+ "84021": "DEBIT ORDER EXCEEDS DEBIT ITEM LIMIT - OUTPUT"
294
+ "84022": "DEBIT ORDER EXCEEDS CREDIT ITEM LIMIT - OUTPUT"
295
+ "84023": "INVALID RETURN CODE FROM DSM095D - WAKE UP CALL"
296
+ "84024": "AGGREGATE LIMIT EXCEEDED: FILE REJECTED ON USER REQUEST"
297
+ "84025": "AGGREGATE LIMIT EXCEEDED: TRAN REJECTED ON USER REQUEST"
298
+ "84026": "WARNING - DEBIT AGGREGATE LIMIT EXCEEDED"
299
+ "84027": "WARNING - CREDIT AGGREGATE LIMIT EXCEEDED"
300
+ "84028": "INVALID RETURN CODE FROM DSM095D - TRANSACTION CALL"
301
+ "84029": "INVALID RETURN CODE FROM DSM095D - TERMINATE CALL"
302
+ "84030": "DEBITS EXCEEDED PCH LIMIT"
303
+ "84031": "CREDIT EXCEED PCH LIMIT"
304
+ "84201": "DEBIT CONTRA RECORD REJECTED"
305
+ "84202": "CREDIT CONTRA RECORD REJECTED"
306
+ "84203": "DR/CR CONTRA RECORD REJECTED - CORPORATIVE FILE"
307
+ "87101": "MANAGERS REFERRAL REJ 950 USED INCORRECTLY(NOT CQ PROD)"
308
+ "88110": "INVALID DATA ON TRAN"
309
+ "88174": "INVALID TRANSACTION SUB-TYPE"
310
+ "88175": "INVALID TYPE/SUB-TYPE COMBINATION"
311
+ "88901": "TRANSACTION NOT ON TX MASTER - UNPAID/REDIRECT"
312
+ "89201": "INVALID ENTRY TO GL"
313
+ "91193": "INVALID HOMING ACCOUNT NUMBER"
314
+ "91194": "INVALID HOMING ACCOUNT"
315
+ "91195": "INVALID HOMING ACCOUNT"
316
+ "91196": "INVALID ACCOUNT TYPE FOR HOMING ACCOUNT SELECTED"
317
+ "91197": "INVALID ACCOUNT TYPE FOR HOMING ACCOUNT SELECTED"
318
+ "92801": "TRANSACTION REVERSED"
319
+ "92802": "TRANSACTION STOPPED"
320
+ "92803": "TRANSACTION DECLINED BY MANAGERS REFERRAL"
321
+ "99901": "ERROR: ACC NO/CLEARING CODE/TX TYPE/PROD/AMOUNT"
@@ -0,0 +1,125 @@
1
+ header:
2
+ rec_id:
3
+ data_type: N
4
+ offset: 1
5
+ length: 3
6
+ regex: ^011$
7
+ no_strip: true
8
+ rec_status:
9
+ data_type: A
10
+ offset: 4
11
+ length: 1
12
+ regex: ^T|L$
13
+ bankserv_user_code:
14
+ data_type: A
15
+ offset: 5
16
+ length: 4
17
+ nom_branch:
18
+ data_type: N
19
+ offset: 9
20
+ length: 6
21
+ nom_account:
22
+ data_type: N
23
+ offset: 15
24
+ length: 16
25
+ nom_account_type:
26
+ data_type: N
27
+ offset: 31
28
+ length: 2
29
+ regex: ^1|2$
30
+ action_date:
31
+ data_type: N
32
+ offset: 33
33
+ length: 8
34
+ regex: ^[0-9]{8}$
35
+ no_strip: true
36
+ transaction:
37
+ rec_id:
38
+ data_type: N
39
+ offset: 1
40
+ length: 3
41
+ regex: ^013$
42
+ no_strip: true
43
+ rec_status:
44
+ data_type: A
45
+ offset: 4
46
+ length: 1
47
+ regex: ^T|L$
48
+ transaction_type:
49
+ data_type: N
50
+ offset: 5
51
+ length: 2
52
+ regex: ^50|10$
53
+ transmission_date:
54
+ data_type: N
55
+ offset: 7
56
+ length: 8
57
+ regex: ^[0-9]{8}$
58
+ original_sequence_number:
59
+ data_type: N
60
+ offset: 15
61
+ length: 6
62
+ homing_branch_code:
63
+ data_type: N
64
+ offset: 21
65
+ length: 6
66
+ homing_account_number:
67
+ data_type: N
68
+ offset: 27
69
+ length: 16
70
+ amount:
71
+ data_type: N
72
+ offset: 43
73
+ length: 11
74
+ user_ref:
75
+ data_type: A
76
+ offset: 54
77
+ length: 30
78
+ rejection_reason:
79
+ data_type: N
80
+ offset: 84
81
+ length: 3
82
+ rejection_qualifier:
83
+ data_type: N
84
+ offset: 87
85
+ length: 5
86
+ distribution_sequence_number:
87
+ data_type: N
88
+ offset: 92
89
+ length: 6
90
+ homing_account_name:
91
+ data_type: A
92
+ offset: 114
93
+ length: 30
94
+ trailer:
95
+ rec_id:
96
+ data_type: N
97
+ offset: 1
98
+ length: 3
99
+ regex: ^014$
100
+ no_strip: true
101
+ rec_status:
102
+ data_type: A
103
+ offset: 4
104
+ length: 1
105
+ regex: ^T|L$
106
+ no_debit_records:
107
+ data_type: N
108
+ offset: 5
109
+ length: 9
110
+ no_credit_records:
111
+ data_type: N
112
+ offset: 14
113
+ length: 9
114
+ homing_account_hash_total:
115
+ data_type: N
116
+ offset: 23
117
+ length: 18
118
+ debit_amount_hash_total:
119
+ data_type: N
120
+ offset: 41
121
+ length: 14
122
+ credit_amount_hash_total:
123
+ data_type: N
124
+ offset: 55
125
+ length: 14