File Coverage

blib/lib/Finance/AMEX/Transaction/CBNOT/Detail.pm
Criterion Covered Total %
statement 134 134 100.0
branch n/a
condition n/a
subroutine 128 128 100.0
pod 117 125 93.6
total 379 387 97.9


line stmt bran cond sub pod time code
1             package Finance::AMEX::Transaction::CBNOT::Detail;
2             $Finance::AMEX::Transaction::CBNOT::Detail::VERSION = '0.004';
3 8     8   57 use strict;
  8         17  
  8         237  
4 8     8   81 use warnings;
  8         23  
  8         222  
5              
6             # ABSTRACT: Parse AMEX Chargeback Notification Files (CBNOT) Detail Rows
7              
8 8     8   40 use base 'Finance::AMEX::Transaction::CBNOT::Base';
  8         18  
  8         28036  
9              
10             sub field_map {
11             return {
12 248     248 0 15149 REC_TYPE => [1, 1],
13             SE_NUMB => [7, 10],
14             CM_ACCT_NUMB => [27, 19],
15             CURRENT_CASE_NUMBER => [47, 11],
16             FINCAP_TRACKING_ID_A => [47, 11],
17              
18             FINCAP_TRACKING_A_DATE => [47, 3],
19             FINCAP_TRACKING_A_PCID => [50, 6],
20             FINCAP_TRACKING_A_SEQUENCE => [56, 2],
21              
22             CSS_CASE_NUMBER => [47, 7],
23             SS_CASE_NUMBER => [47, 9],
24             CURRENT_ACTION_NUMBER => [58, 2],
25             PREVIOUS_CASE_NUMBER => [60, 11],
26             CSS_P_CASE_NUMBER => [60, 11],
27             PREVIOUS_ACTION_NUMBER => [71, 2],
28             RESOLUTION => [73, 1],
29             FROM_SYSTEM => [74, 1],
30             REJECTS_TO_SYSTEM => [75, 1],
31             DISPUTES_TO_SYSTEM => [76, 1],
32             DATE_OF_ADJUSTMENT => [77, 8],
33             DATE_OF_CHARGE => [85, 8],
34             AMEX_ID => [93, 7],
35             CASE_TYPE => [105, 6],
36             LOC_NUMB => [111, 15],
37             CB_REAS_CODE => [126, 3],
38             CB_AMOUNT => [129, 17],
39             CB_ADJUSTMENT_NUMBER => [146, 6],
40             CB_RESOLUTION_ADJ_NUMBER => [152, 6],
41             CB_REFERENCE_CODE => [158, 12],
42             BILLED_AMOUNT => [183, 17],
43             SOC_AMOUNT => [200, 17],
44             SOC_INVOICE_NUMBER => [217, 6],
45             ROC_INVOICE_NUMBER => [223, 6],
46             FOREIGN_AMT => [229, 15],
47             CURRENCY => [244, 3],
48             SUPP_TO_FOLLOW => [247, 1],
49             CM_NAME1 => [248, 30],
50             CM_NAME2 => [278, 30],
51             CM_ADDR1 => [308, 30],
52             CM_ADDR2 => [338, 30],
53             CM_CITY_STATE => [368, 30],
54             CM_ZIP => [398, 9],
55             CM_FIRST_NAME_1 => [407, 12],
56             CM_MIDDLE_NAME_1 => [419, 12],
57             CM_LAST_NAME_1 => [431, 20],
58             CM_ORIG_ACCT_NUM => [451, 15],
59             CM_ORIG_NAME => [466, 30],
60             CM_ORIG_FIRST_NAME => [496, 12],
61             CM_ORIG_MIDDLE_NAME => [508, 12],
62             CM_ORIG_LAST_NAME => [520, 20],
63             NOTE1 => [540, 66],
64             NOTE2 => [606, 78],
65             NOTE3 => [684, 60],
66             NOTE4 => [744, 60],
67             NOTE5 => [804, 60],
68             NOTE6 => [864, 60],
69             NOTE7 => [924, 60],
70             TRIUMPH_SEQ_NO => [984, 2],
71             AIRLINE_TKT_NUM => [1031, 14],
72             AL_SEQUENCE_NUMBER => [1045, 2],
73             FOLIO_REF => [1047, 18],
74             MERCH_ORDER_NUM => [1065, 10],
75             MERCH_ORDER_DATE => [1075, 8],
76             CANC_NUM => [1083, 20],
77             CANC_DATE => [1103, 8],
78             FINCAP_TRACKING_ID => [1111, 11],
79              
80             FINCAP_TRACKING_DATE => [1111, 3],
81             FINCAP_TRACKING_PCID => [1114, 6],
82             FINCAP_TRACKING_SEQUENCE => [1120, 2],
83              
84             FINCAP_FILE_SEQ_NUM => [1122, 6],
85             FINCAP_BATCH_NUMBER => [1128, 4],
86             FINCAP_BATCH_INVOICE_DT => [1132, 8],
87             LABEL1 => [1140, 25],
88             DATA1 => [1165, 25],
89             LABEL2 => [1190, 25],
90             DATA2 => [1215, 25],
91             LABEL3 => [1240, 25],
92             DATA3 => [1265, 25],
93             LABEL4 => [1290, 25],
94             DATA4 => [1315, 25],
95             LABEL5 => [1340, 25],
96             DATA5 => [1365, 25],
97             LABEL6 => [1390, 25],
98             DATA6 => [1415, 25],
99             LABEL7 => [1440, 25],
100             DATA7 => [1465, 25],
101             LABEL8 => [1490, 25],
102             DATA8 => [1515, 25],
103             LABEL9 => [1540, 25],
104             DATA9 => [1565, 25],
105             LABEL10 => [1590, 25],
106             DATA10 => [1615, 25],
107             LABEL11 => [1640, 25],
108             DATA11 => [1665, 25],
109             CM_ACCNT_NUMB_EXD => [1690, 19],
110             CASE_NUMBER_EXD => [1715, 16],
111             IND_FORM_CODE => [1766, 2],
112             IND_REF_NUMBER => [1768, 30],
113             LOC_REF_NUMBER => [1801, 15],
114             PASSENGER_NAME => [1816, 20],
115             PASSENGER_FIRST_NAME => [1836, 12],
116             PASSENGER_MIDDLE_NAME => [1848, 12],
117             PASSENGER_LAST_NAME => [1860, 20],
118             SE_PROCESS_DATE => [1880, 3],
119             RETURN_DATE => [1883, 6],
120             CREDIT_RECEIPT_NUMBER => [1889, 15],
121             RETURN_TO_NAME => [1904, 24],
122             RETURN_TO_STREET => [1928, 17],
123             CARD_DEPOSIT => [1945, 1],
124             ASSURED_RESERVATION => [1946, 1],
125             RES_CANCELLED => [1947, 1],
126             RES_CANCELLED_DATE => [1948, 6],
127             CANCEL_ZONE => [1954, 2],
128             RESERVATION_MADE_FOR => [1955, 6],
129             RESERVATION_LOCATION => [1961, 20],
130             RESERVATION_MADE_ON => [1981, 6],
131             RENTAL_AGREEMENT_NUMBER => [1987, 20],
132             MERCHANDISE_TYPE => [2005, 6],
133             MERCHANDISE_RETURNED => [2025, 1],
134             RETURNED_NAME => [2026, 24],
135             RETURNED_DATE => [2050, 6],
136             RETURNED_HOW => [2056, 18],
137             RETURNED_REASON => [2064, 50],
138             STORE_CREDIT_RECEIVED => [2114, 1],
139             };
140             }
141              
142              
143 4     4 1 1243 sub type {return 'DETAIL'}
144              
145 2     2 1 1108 sub REC_TYPE {return $_[0]->_get_column('REC_TYPE')}
146 2     2 1 1080 sub SE_NUMB {return $_[0]->_get_column('SE_NUMB')}
147 2     2 1 1104 sub CM_ACCT_NUMB {return $_[0]->_get_column('CM_ACCT_NUMB')}
148 2     2 1 1084 sub CURRENT_CASE_NUMBER {return $_[0]->_get_column('CURRENT_CASE_NUMBER')}
149              
150 2     2 0 1089 sub FINCAP_TRACKING_ID_A {return $_[0]->_get_column('FINCAP_TRACKING_ID_A')}
151              
152 2     2 0 1080 sub FINCAP_TRACKING_A_DATE {return $_[0]->_get_column('FINCAP_TRACKING_A_DATE')}
153 2     2 0 1100 sub FINCAP_TRACKING_A_PCID {return $_[0]->_get_column('FINCAP_TRACKING_A_PCID')}
154 2     2 0 1110 sub FINCAP_TRACKING_A_SEQUENCE {return $_[0]->_get_column('FINCAP_TRACKING_A_SEQUENCE')}
155              
156 2     2 1 1185 sub CSS_CASE_NUMBER {return $_[0]->_get_column('CSS_CASE_NUMBER')}
157 2     2 1 1136 sub SS_CASE_NUMBER {return $_[0]->_get_column('SS_CASE_NUMBER')}
158 2     2 1 1102 sub CURRENT_ACTION_NUMBER {return $_[0]->_get_column('CURRENT_ACTION_NUMBER')}
159 2     2 1 1079 sub PREVIOUS_CASE_NUMBER {return $_[0]->_get_column('PREVIOUS_CASE_NUMBER')}
160 2     2 1 1141 sub CSS_P_CASE_NUMBER {return $_[0]->_get_column('CSS_P_CASE_NUMBER')}
161 2     2 1 1100 sub PREVIOUS_ACTION_NUMBER {return $_[0]->_get_column('PREVIOUS_ACTION_NUMBER')}
162 2     2 1 1131 sub RESOLUTION {return $_[0]->_get_column('RESOLUTION')}
163 2     2 1 1078 sub FROM_SYSTEM {return $_[0]->_get_column('FROM_SYSTEM')}
164 2     2 1 1146 sub REJECTS_TO_SYSTEM {return $_[0]->_get_column('REJECTS_TO_SYSTEM')}
165 2     2 1 1137 sub DISPUTES_TO_SYSTEM {return $_[0]->_get_column('DISPUTES_TO_SYSTEM')}
166 2     2 1 1102 sub DATE_OF_ADJUSTMENT {return $_[0]->_get_column('DATE_OF_ADJUSTMENT')}
167 2     2 1 1109 sub DATE_OF_CHARGE {return $_[0]->_get_column('DATE_OF_CHARGE')}
168 2     2 1 1081 sub AMEX_ID {return $_[0]->_get_column('AMEX_ID')}
169 2     2 1 1147 sub CASE_TYPE {return $_[0]->_get_column('CASE_TYPE')}
170 2     2 1 1136 sub LOC_NUMB {return $_[0]->_get_column('LOC_NUMB')}
171 2     2 1 1078 sub CB_REAS_CODE {return $_[0]->_get_column('CB_REAS_CODE')}
172 2     2 1 1113 sub CB_AMOUNT {return $_[0]->_get_column('CB_AMOUNT')}
173 2     2 1 1050 sub CB_ADJUSTMENT_NUMBER {return $_[0]->_get_column('CB_ADJUSTMENT_NUMBER')}
174 2     2 1 1126 sub CB_RESOLUTION_ADJ_NUMBER {return $_[0]->_get_column('CB_RESOLUTION_ADJ_NUMBER')}
175 2     2 1 1089 sub CB_REFERENCE_CODE {return $_[0]->_get_column('CB_REFERENCE_CODE')}
176 2     2 1 1191 sub BILLED_AMOUNT {return $_[0]->_get_column('BILLED_AMOUNT')}
177 2     2 1 1097 sub SOC_AMOUNT {return $_[0]->_get_column('SOC_AMOUNT')}
178 2     2 1 1150 sub SOC_INVOICE_NUMBER {return $_[0]->_get_column('SOC_INVOICE_NUMBER')}
179 2     2 1 1083 sub ROC_INVOICE_NUMBER {return $_[0]->_get_column('ROC_INVOICE_NUMBER')}
180 2     2 1 1098 sub FOREIGN_AMT {return $_[0]->_get_column('FOREIGN_AMT')}
181 2     2 1 1079 sub CURRENCY {return $_[0]->_get_column('CURRENCY')}
182 2     2 1 1083 sub SUPP_TO_FOLLOW {return $_[0]->_get_column('SUPP_TO_FOLLOW')}
183 2     2 1 1054 sub CM_NAME1 {return $_[0]->_get_column('CM_NAME1')}
184 2     2 1 1141 sub CM_NAME2 {return $_[0]->_get_column('CM_NAME2')}
185 2     2 1 1138 sub CM_ADDR1 {return $_[0]->_get_column('CM_ADDR1')}
186 2     2 1 1081 sub CM_ADDR2 {return $_[0]->_get_column('CM_ADDR2')}
187 2     2 1 1105 sub CM_CITY_STATE {return $_[0]->_get_column('CM_CITY_STATE')}
188 2     2 1 1152 sub CM_ZIP {return $_[0]->_get_column('CM_ZIP')}
189 2     2 1 1088 sub CM_FIRST_NAME_1 {return $_[0]->_get_column('CM_FIRST_NAME_1')}
190 2     2 1 1102 sub CM_MIDDLE_NAME_1 {return $_[0]->_get_column('CM_MIDDLE_NAME_1')}
191 2     2 1 1105 sub CM_LAST_NAME_1 {return $_[0]->_get_column('CM_LAST_NAME_1')}
192 2     2 1 1092 sub CM_ORIG_ACCT_NUM {return $_[0]->_get_column('CM_ORIG_ACCT_NUM')}
193 2     2 1 1074 sub CM_ORIG_NAME {return $_[0]->_get_column('CM_ORIG_NAME')}
194 2     2 1 547 sub CM_ORIG_FIRST_NAME {return $_[0]->_get_column('CM_ORIG_FIRST_NAME')}
195 2     2 1 1078 sub CM_ORIG_MIDDLE_NAME {return $_[0]->_get_column('CM_ORIG_MIDDLE_NAME')}
196 2     2 1 1084 sub CM_ORIG_LAST_NAME {return $_[0]->_get_column('CM_ORIG_LAST_NAME')}
197 2     2 1 1130 sub NOTE1 {return $_[0]->_get_column('NOTE1')}
198 2     2 1 1097 sub NOTE2 {return $_[0]->_get_column('NOTE2')}
199 2     2 1 1055 sub NOTE3 {return $_[0]->_get_column('NOTE3')}
200 2     2 1 1116 sub NOTE4 {return $_[0]->_get_column('NOTE4')}
201 2     2 1 1092 sub NOTE5 {return $_[0]->_get_column('NOTE5')}
202 2     2 1 1116 sub NOTE6 {return $_[0]->_get_column('NOTE6')}
203 2     2 1 1085 sub NOTE7 {return $_[0]->_get_column('NOTE7')}
204 2     2 1 1062 sub TRIUMPH_SEQ_NO {return $_[0]->_get_column('TRIUMPH_SEQ_NO')}
205 2     2 1 1098 sub AIRLINE_TKT_NUM {return $_[0]->_get_column('AIRLINE_TKT_NUM')}
206 2     2 1 1073 sub AL_SEQUENCE_NUMBER {return $_[0]->_get_column('AL_SEQUENCE_NUMBER')}
207 2     2 1 1085 sub FOLIO_REF {return $_[0]->_get_column('FOLIO_REF')}
208 2     2 1 1145 sub MERCH_ORDER_NUM {return $_[0]->_get_column('MERCH_ORDER_NUM')}
209 2     2 1 1133 sub MERCH_ORDER_DATE {return $_[0]->_get_column('MERCH_ORDER_DATE')}
210 2     2 1 1088 sub CANC_NUM {return $_[0]->_get_column('CANC_NUM')}
211 2     2 1 1072 sub CANC_DATE {return $_[0]->_get_column('CANC_DATE')}
212 2     2 1 1082 sub FINCAP_TRACKING_ID {return $_[0]->_get_column('FINCAP_TRACKING_ID')}
213              
214 2     2 0 1104 sub FINCAP_TRACKING_DATE {return $_[0]->_get_column('FINCAP_TRACKING_DATE')}
215 2     2 0 1091 sub FINCAP_TRACKING_PCID {return $_[0]->_get_column('FINCAP_TRACKING_PCID')}
216 2     2 0 1081 sub FINCAP_TRACKING_SEQUENCE {return $_[0]->_get_column('FINCAP_TRACKING_SEQUENCE')}
217              
218 2     2 1 1104 sub FINCAP_FILE_SEQ_NUM {return $_[0]->_get_column('FINCAP_FILE_SEQ_NUM')}
219 2     2 1 1150 sub FINCAP_BATCH_NUMBER {return $_[0]->_get_column('FINCAP_BATCH_NUMBER')}
220 2     2 1 1453 sub FINCAP_BATCH_INVOICE_DT {return $_[0]->_get_column('FINCAP_BATCH_INVOICE_DT')}
221 2     2 1 1104 sub LABEL1 {return $_[0]->_get_column('LABEL1')}
222 2     2 1 1080 sub DATA1 {return $_[0]->_get_column('DATA1')}
223 2     2 1 1117 sub LABEL2 {return $_[0]->_get_column('LABEL2')}
224 2     2 1 1137 sub DATA2 {return $_[0]->_get_column('DATA2')}
225 2     2 1 1078 sub LABEL3 {return $_[0]->_get_column('LABEL3')}
226 2     2 1 1100 sub DATA3 {return $_[0]->_get_column('DATA3')}
227 2     2 1 1101 sub LABEL4 {return $_[0]->_get_column('LABEL4')}
228 2     2 1 1094 sub DATA4 {return $_[0]->_get_column('DATA4')}
229 2     2 1 1095 sub LABEL5 {return $_[0]->_get_column('LABEL5')}
230 2     2 1 1125 sub DATA5 {return $_[0]->_get_column('DATA5')}
231 2     2 1 1104 sub LABEL6 {return $_[0]->_get_column('LABEL6')}
232 2     2 1 1080 sub DATA6 {return $_[0]->_get_column('DATA6')}
233 2     2 1 1097 sub LABEL7 {return $_[0]->_get_column('LABEL7')}
234 2     2 1 1067 sub DATA7 {return $_[0]->_get_column('DATA7')}
235 2     2 1 1073 sub LABEL8 {return $_[0]->_get_column('LABEL8')}
236 2     2 1 1078 sub DATA8 {return $_[0]->_get_column('DATA8')}
237 2     2 1 1089 sub LABEL9 {return $_[0]->_get_column('LABEL9')}
238 2     2 1 1077 sub DATA9 {return $_[0]->_get_column('DATA9')}
239 2     2 1 1101 sub LABEL10 {return $_[0]->_get_column('LABEL10')}
240 2     2 1 1076 sub DATA10 {return $_[0]->_get_column('DATA10')}
241 2     2 1 1102 sub LABEL11 {return $_[0]->_get_column('LABEL11')}
242 2     2 1 1144 sub DATA11 {return $_[0]->_get_column('DATA11')}
243 2     2 1 1083 sub CM_ACCNT_NUMB_EXD {return $_[0]->_get_column('CM_ACCNT_NUMB_EXD')}
244 2     2 1 1140 sub CASE_NUMBER_EXD {return $_[0]->_get_column('CASE_NUMBER_EXD')}
245 2     2 1 1151 sub IND_FORM_CODE {return $_[0]->_get_column('IND_FORM_CODE')}
246 2     2 1 1090 sub IND_REF_NUMBER {return $_[0]->_get_column('IND_REF_NUMBER')}
247 2     2 1 1131 sub LOC_REF_NUMBER {return $_[0]->_get_column('LOC_REF_NUMBER')}
248 2     2 1 1131 sub PASSENGER_NAME {return $_[0]->_get_column('PASSENGER_NAME')}
249 2     2 1 573 sub PASSENGER_FIRST_NAME {return $_[0]->_get_column('PASSENGER_FIRST_NAME')}
250 2     2 1 1145 sub PASSENGER_MIDDLE_NAME {return $_[0]->_get_column('PASSENGER_MIDDLE_NAME')}
251 2     2 1 1086 sub PASSENGER_LAST_NAME {return $_[0]->_get_column('PASSENGER_LAST_NAME')}
252 2     2 1 1084 sub SE_PROCESS_DATE {return $_[0]->_get_column('SE_PROCESS_DATE')}
253 2     2 1 1127 sub RETURN_DATE {return $_[0]->_get_column('RETURN_DATE')}
254 2     2 1 1131 sub CREDIT_RECEIPT_NUMBER {return $_[0]->_get_column('CREDIT_RECEIPT_NUMBER')}
255 2     2 1 1124 sub RETURN_TO_NAME {return $_[0]->_get_column('RETURN_TO_NAME')}
256 2     2 1 1098 sub RETURN_TO_STREET {return $_[0]->_get_column('RETURN_TO_STREET')}
257 2     2 1 1121 sub CARD_DEPOSIT {return $_[0]->_get_column('CARD_DEPOSIT')}
258 2     2 1 1124 sub ASSURED_RESERVATION {return $_[0]->_get_column('ASSURED_RESERVATION')}
259 2     2 1 1080 sub RES_CANCELLED {return $_[0]->_get_column('RES_CANCELLED')}
260 2     2 1 1083 sub RES_CANCELLED_DATE {return $_[0]->_get_column('RES_CANCELLED_DATE')}
261 2     2 1 1074 sub CANCEL_ZONE {return $_[0]->_get_column('CANCEL_ZONE')}
262 2     2 1 1095 sub RESERVATION_MADE_FOR {return $_[0]->_get_column('RESERVATION_MADE_FOR')}
263 2     2 1 1083 sub RESERVATION_LOCATION {return $_[0]->_get_column('RESERVATION_LOCATION')}
264 2     2 1 1078 sub RESERVATION_MADE_ON {return $_[0]->_get_column('RESERVATION_MADE_ON')}
265 2     2 1 1084 sub RENTAL_AGREEMENT_NUMBER {return $_[0]->_get_column('RENTAL_AGREEMENT_NUMBER')}
266 2     2 1 1061 sub MERCHANDISE_TYPE {return $_[0]->_get_column('MERCHANDISE_TYPE')}
267 2     2 1 1061 sub MERCHANDISE_RETURNED {return $_[0]->_get_column('MERCHANDISE_RETURNED')}
268 2     2 1 1103 sub RETURNED_NAME {return $_[0]->_get_column('RETURNED_NAME')}
269 2     2 1 1081 sub RETURNED_DATE {return $_[0]->_get_column('RETURNED_DATE')}
270 2     2 1 1123 sub RETURNED_HOW {return $_[0]->_get_column('RETURNED_HOW')}
271 2     2 1 1129 sub RETURNED_REASON {return $_[0]->_get_column('RETURNED_REASON')}
272 2     2 1 1092 sub STORE_CREDIT_RECEIVED {return $_[0]->_get_column('STORE_CREDIT_RECEIVED')}
273              
274             1;
275              
276             __END__