+sub _get_data_buff {
+ my %args=@_;
+ my $buff;
+ if ($args{data}) {
+ $buff = $args{data};
+ }
+ elsif ($args{file}) {
+ CORE::open (F, $args{file}) || warn ("Cannot open $args{file}");
+ $buff = join('',(<F>));
+ CORE::close (F);
+ }
+ return $buff;
+}
+
+sub insert_record {
+ my ($self, %args) = @_;
+ $self->checkzh;
+ my $rectype = $args{recordType} ? $args{recordType} : "";
+ my $fname = $args{file} ? $args{file} : "<no file>";
+ my $force = $args{force} ? $args{force} : 0;
+ my $buff =_get_data_buff(%args);
+ if (!$buff) { die ("insert_record needs a {data} or a {file}");}
+ my $len = length($buff);
+ my @args = ($rectype, 0, "", $fname, $buff, $len, $force);
+ my @ret = IDZebra::insert_record($self->{zh}, @args);
+ return @ret; # returns ($status, $sysno)
+}