ACH

 view release on metacpan or  search on metacpan

README  view on Meta::CPAN

NAME
	ACH - ACH perl object
	
VERSION
	Version: 0.01
	May 2006

DESCRIPTION
	ACH is a simple, generic perl object that contains the data necesary to
	create an ACH file.  It's intentional use is for testing purposes ONLY.  
	ACH will allow a developer to manipulate specific data fields in an ACH 
	formatted object.

USING ACH
	my $ACH = new ACH;

METHODS
  new
	Creates a new ACH object
	
  printAllData
	Prints all the ACH data

  getData
	Returns the ACH data

CAVEATS
	This package is created for testing purposes only.  It shouldn't be used 
	for production programs or scripts.  There are other commercial products
	out there that may be a more efficient solution for accomplishing your
	goals.

	All records in an ACH file must be formatted in the following sequence
	of records.  IF the file is not formatted in this exact sequence, it
	may be rejected.

lib/ACH.pm  view on Meta::CPAN


ACH - ACH perl object
	
=head1 VERSION

Version: 0.01
May 2006

=head1 DESCRIPTION

ACH is a simple, generic perl object that contains the data necesary to
create an ACH file.  It's intentional use is for testing purposes ONLY.  
ACH will allow a developer to manipulate specific data fields in an ACH 
formatted object.

=head1 USING ACH

	my $ACH = new ACH;

=cut

### Variables and functions

lib/ACH.pm  view on Meta::CPAN

# File Control fields and field sizes
my @fileControl = ({'File Control Record' => 1}, {'Batch Count' => 6}, {'Block Count' => 6}, 
{'Entry/Addenda Count' => 8}, {'Entry Hash' => 10}, {'Total Debit Entry Dollar Amount' => 12}, 
{'Total Credit Entry Dollar Amount' => 12}, {'Reserved/Blank' => 39});

# All of the ACH File Formats
my %achFormats = (1 => \@fileFormat, 5 => \@batchFormat, 6 => \@detailFormat, 
7 => \@addendaFormat, 8 => \@controlFormat, 9 => \@fileControl);
##

# ACH data
my @achData;

=head1 METHODS

=head2 new

Creates a new ACH object

=cut

lib/ACH.pm  view on Meta::CPAN

    my $self  = {};         # allocate new hash for object
    
    bless {
      _achData         => [],
      _achFormats      => \%achFormats,
    }, $class;
}

=head2 printAllData

Prints all the ACH data

=cut

# Print all data from the ACH object
sub printAllData {
  my $self = shift;
  foreach my $item (@{$self->{_achData}}) { # Array of ACH file Sections
    my @achSections = map { defined $_ ? $_ : '' } @{$item};
    foreach my $section (@achSections) { # Array of ACH file Section data
      my %hash = map { defined $_ ? $_ : '' } %{$section};
      foreach my $hashItem (keys (%hash)) { # Hash containing the ACH field name and value
        print "$hashItem: $hash{$hashItem}\n";
      }
    }
  }
}

=head2 getData

Returns the ACH data

=cut

# Get data
sub getData {
  my $self = shift;
  return \@{$self->{_achData}};
}


=head2 CAVEATS

This package is created for testing purposes only.  It shouldn't be used 
for production programs or scripts.  There are other commercial products



( run in 0.245 second using v1.01-cache-2.11-cpan-8d75d55dd25 )