CUX+2:$c{currency_type}:9'
EDI
- # EDI lineitem segments
- $edi .= $self->build_lineitem_segments($_) for @lis;
-
my $li_count = scalar(@lis);
+ # EDI lineitem segments
+ for (my $i = 1; $i <= $li_count; $i++) {
+ $lis[$i]->{seq_id} = $i;
+ $edi .= $self->build_lineitem_segments($lis[$i]);
+ }
+
# Count the number of segments in the EDI message by counting the
# number of newlines. Add to count for lines below, not including
# the UNZ segment.
my $idqual = $li_hash->{idqual};
my $quantity = $li_hash->{quantity};
my $price = $li_hash->{estimated_unit_price};
+ my $seq_id = $li_hash->{seq_id};
# Line item identifier segments
- my $edi = "LIN+$id++$idval:$idqual'\n";
+ my $edi = "LIN+$seq_id++$idval:$idqual'\n";
$edi .= "PIA+5+$idval:$idqual'\n";
$edi .= $self->IMD('BTI', $li_hash->{title});
for my $note (@{$li_hash->{notes}}) {
if ($note) {
- $edi .= "FTX+LIN+1+$note'\n"
+ $edi .= "FTX+LIN+1++$note'\n"
} else {
$edi .= "FTX+LIN+1'\n"
}