diff options
author | Ivan Kohler <ivan@freeside.biz> | 2015-06-25 10:33:09 -0700 |
---|---|---|
committer | Ivan Kohler <ivan@freeside.biz> | 2015-06-25 10:33:09 -0700 |
commit | a92e8a944ee4781bee060f41f8e66209616aff6d (patch) | |
tree | 8dc0f64c93e6af6d0433d2568df9600054784eac | |
parent | 680f04697ae0d522589d3928ec7297ce7af3a922 (diff) |
padding with lines of all 9999s to blocks of 10 lines, RT#33622
-rw-r--r-- | FS/FS/pay_batch/nacha.pm | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/FS/FS/pay_batch/nacha.pm b/FS/FS/pay_batch/nacha.pm index c8d784d70..0361304e3 100644 --- a/FS/FS/pay_batch/nacha.pm +++ b/FS/FS/pay_batch/nacha.pm @@ -174,6 +174,15 @@ $DEBUG = 0; my $batchnum = substr( ('0'x7). $pay_batch->batchnum, -7); + my $lines = $batchcount + 4; + my $blocks = int($lines/10); + my $fill = ''; + + if ( my $remainder = $lines % 10 ) { + $blocks++; + $fill = ("\n".('9'x94))x( 10 - $remainder ); + } + warn "building Batch & File Control Records\n" if $DEBUG; ### @@ -199,12 +208,18 @@ $DEBUG = 0; '9'. #Record Type Code '000001'. #Batch Counter (# of batch header recs) - sprintf('%06d', $batchcount + 4). #num of physical blocks on the file..? + sprintf('%06d', $blocks). #num of physical blocks on the file sprintf('%08d', $batchcount). #total # of entry detail and addenda $entry_hash. sprintf('%012.0f', $batchtotal * 100). #Debit total '000000000000'. #Credit total - ( ' 'x39 ) #Reserved / blank + ( ' 'x39 ). #Reserved / blank + + ### + # Pad with 9999 records to blocks of 10 + ### + + $fill }, |