File Coverage

blib/lib/Finance/AMEX/Transaction/GRRCN/Submission.pm
Criterion Covered Total %
statement 44 44 100.0
branch 2 2 100.0
condition n/a
subroutine 37 37 100.0
pod 32 34 94.1
total 115 117 98.2


line stmt bran cond sub pod time code
1             package Finance::AMEX::Transaction::GRRCN::Submission;
2             $Finance::AMEX::Transaction::GRRCN::Submission::VERSION = '0.004';
3 8     8   58 use strict;
  8         19  
  8         246  
4 8     8   43 use warnings;
  8         21  
  8         234  
5              
6             # ABSTRACT: Parse AMEX Global Reconciliation (GRRCN) Submission or summary of charge (SOC) Rows
7              
8 8     8   42 use base 'Finance::AMEX::Transaction::GRRCN::Base';
  8         20  
  8         9404  
9              
10             sub field_map {
11 6     6 0 46 my ($self) = @_;
12              
13             return {
14 6 100       49 RECORD_TYPE => [1, 10],
15             PAYEE_MERCHANT_ID => [11, 15],
16             SETTLEMENT_ACCOUNT_TYPE_CODE => [26, 3],
17             AMERICAN_EXPRESS_PAYMENT_NUMBER => [29, 10],
18             PAYMENT_DATE => [39, 8],
19             PAYMENT_CURRENCY => [47, 3],
20              
21             SUBMISSION_MERCHANT_ID => [50, 15],
22             BUSINESS_SUBMISSION_DATE => [65, 8],
23             AMERICAN_EXPRESS_PROCESSING_DATE => [73, 18],
24             SUBMISSION_INVOICE_NUMBER => [81, 15],
25             SUBMISSION_CURRENCY => [96, 3],
26              
27             (
28             $self->version >= 2.01
29             ? ( FILLER => [99, 15] )
30             : ()
31             ),
32              
33             SUBMISSION_EXCHANGE_RATE => [114, 15],
34             SUBMISSION_GROSS_AMOUNT_IN_SUBMISSION_CURRENCY => [129, 15],
35             SUBMISSION_GROSS_AMOUNT_IN_PAYMENT_CURRENCY => [145, 16],
36             SUBMISSION_DISCOUNT_AMOUNT => [161, 16],
37             SUBMISSION_SERVICE_FEE_AMOUNT => [177, 16],
38             SUBMISSION_TAX_AMOUNT => [193, 16],
39             SUBMISSION_NET_AMOUNT => [209, 16],
40             SUBMISSION_DISCOUNT_RATE => [225, 7],
41             SUBMISSION_TAX_RATE => [232, 7],
42             TRANSACTION_COUNT => [239, 7],
43             TRACKING_ID => [246, 11],
44             INSTALLMENT_NUMBER => [257, 5],
45             ACCELERATION_NUMBER => [262, 9],
46             ORIGINAL_SETTLEMENT_DATE => [271, 8],
47             ACCELERATION_DATE => [279, 8],
48             NUMBER_OF_DAYS_IN_ADVANCE => [287, 5],
49             SUBMISSION_ACCELERATION_FEE_AMOUNT => [292, 16],
50             SUBMISSION_ACCELERATION_FEE_NET_AMOUNT => [308, 16],
51             SUBMISSION_DEBIT_GROSS_AMOUNT => [324, 16],
52             SUBMISSION_CREDIT_GROSS_AMOUNT => [340, 16],
53             };
54             }
55              
56 6     6 1 1930 sub type {return 'SUBMISSION'}
57              
58 3     3 1 1786 sub RECORD_TYPE {return $_[0]->_get_column('RECORD_TYPE')}
59 3     3 1 1824 sub PAYEE_MERCHANT_ID {return $_[0]->_get_column('PAYEE_MERCHANT_ID')}
60 3     3 1 1735 sub SETTLEMENT_ACCOUNT_TYPE_CODE {return $_[0]->_get_column('SETTLEMENT_ACCOUNT_TYPE_CODE')}
61 3     3 1 1807 sub AMERICAN_EXPRESS_PAYMENT_NUMBER {return $_[0]->_get_column('AMERICAN_EXPRESS_PAYMENT_NUMBER')}
62 3     3 1 1784 sub PAYMENT_DATE {return $_[0]->_get_column('PAYMENT_DATE')}
63 1     1 0 455 sub FILLER {return $_[0]->_get_column('FILLER')}
64              
65 3     3 1 1817 sub PAYMENT_CURRENCY {return $_[0]->_get_column('PAYMENT_CURRENCY')}
66 3     3 1 1794 sub SUBMISSION_MERCHANT_ID {return $_[0]->_get_column('SUBMISSION_MERCHANT_ID')}
67 3     3 1 1742 sub BUSINESS_SUBMISSION_DATE {return $_[0]->_get_column('BUSINESS_SUBMISSION_DATE')}
68 3     3 1 1856 sub AMERICAN_EXPRESS_PROCESSING_DATE {return $_[0]->_get_column('AMERICAN_EXPRESS_PROCESSING_DATE')}
69 3     3 1 3186 sub SUBMISSION_INVOICE_NUMBER {return $_[0]->_get_column('SUBMISSION_INVOICE_NUMBER')}
70 3     3 1 1846 sub SUBMISSION_CURRENCY {return $_[0]->_get_column('SUBMISSION_CURRENCY')}
71 3     3 1 1761 sub SUBMISSION_EXCHANGE_RATE {return $_[0]->_get_column('SUBMISSION_EXCHANGE_RATE')}
72 3     3 1 1771 sub SUBMISSION_GROSS_AMOUNT_IN_SUBMISSION_CURRENCY {return $_[0]->_get_column('SUBMISSION_GROSS_AMOUNT_IN_SUBMISSION_CURRENCY')}
73 3     3 1 1829 sub SUBMISSION_GROSS_AMOUNT_IN_PAYMENT_CURRENCY {return $_[0]->_get_column('SUBMISSION_GROSS_AMOUNT_IN_PAYMENT_CURRENCY')}
74 3     3 1 1789 sub SUBMISSION_DISCOUNT_AMOUNT {return $_[0]->_get_column('SUBMISSION_DISCOUNT_AMOUNT')}
75 3     3 1 1818 sub SUBMISSION_SERVICE_FEE_AMOUNT {return $_[0]->_get_column('SUBMISSION_SERVICE_FEE_AMOUNT')}
76 3     3 1 2397 sub SUBMISSION_TAX_AMOUNT {return $_[0]->_get_column('SUBMISSION_TAX_AMOUNT')}
77 3     3 1 1811 sub SUBMISSION_NET_AMOUNT {return $_[0]->_get_column('SUBMISSION_NET_AMOUNT')}
78 3     3 1 1769 sub SUBMISSION_DISCOUNT_RATE {return $_[0]->_get_column('SUBMISSION_DISCOUNT_RATE')}
79 3     3 1 1163 sub SUBMISSION_TAX_RATE {return $_[0]->_get_column('SUBMISSION_TAX_RATE')}
80 3     3 1 1832 sub TRANSACTION_COUNT {return $_[0]->_get_column('TRANSACTION_COUNT')}
81 3     3 1 1064 sub TRACKING_ID {return $_[0]->_get_column('TRACKING_ID')}
82 3     3 1 1756 sub INSTALLMENT_NUMBER {return $_[0]->_get_column('INSTALLMENT_NUMBER')}
83 3     3 1 1815 sub ACCELERATION_NUMBER {return $_[0]->_get_column('ACCELERATION_NUMBER')}
84 3     3 1 1783 sub ORIGINAL_SETTLEMENT_DATE {return $_[0]->_get_column('ORIGINAL_SETTLEMENT_DATE')}
85 3     3 1 1753 sub ACCELERATION_DATE {return $_[0]->_get_column('ACCELERATION_DATE')}
86 3     3 1 1774 sub NUMBER_OF_DAYS_IN_ADVANCE {return $_[0]->_get_column('NUMBER_OF_DAYS_IN_ADVANCE')}
87 3     3 1 1838 sub SUBMISSION_ACCELERATION_FEE_AMOUNT {return $_[0]->_get_column('SUBMISSION_ACCELERATION_FEE_AMOUNT')}
88 3     3 1 1404 sub SUBMISSION_ACCELERATION_FEE_NET_AMOUNT {return $_[0]->_get_column('SUBMISSION_ACCELERATION_FEE_NET_AMOUNT')}
89 3     3 1 1750 sub SUBMISSION_DEBIT_GROSS_AMOUNT {return $_[0]->_get_column('SUBMISSION_DEBIT_GROSS_AMOUNT')}
90 3     3 1 1821 sub SUBMISSION_CREDIT_GROSS_AMOUNT {return $_[0]->_get_column('SUBMISSION_CREDIT_GROSS_AMOUNT')}
91              
92             1;
93              
94             __END__