#!/oratest/perl/bin/perl
use ARS;
$c = ars_Login(shift, shift, shift);
%f = ars_GetFieldTable($c, "ARSperl Test");
foreach (keys %f) {
$r{$f{$_}} = $_;
}
print "Creating new entry with an attachment..\n";
($id = ars_CreateEntry($c, "ARSperl Test",
$f{'Attachment Field'}, { file => "/tmp/test", size => 0 },
#$f{'Attachment Field'}, { buffer => "/tmp/test", size => 9 },
$f{'Submitter'}, "jeff",
$f{'Status'}, 1,
$f{'Short Description'}, "none")) ||
die "CreateEntry: $ars_errstr";
print "Created entry $id\n";
print "Fetching the entry we just made..\n";
%v = ars_GetEntry($c, "ARSperl Test", $id);
foreach (keys %v) {
print "$r{$_} = $v{$_}\n";
dh($v{$_}) if $r{$_} eq "Attachment Field";
ra($_) if $r{$_} eq "Attachment Field";
}
ars_Logoff($c);
exit 0;
#sub AR_LOC_FILENAME { 1;}
#sub AR_LOC_BUFFER { 2;}
sub ra {
my $fid = shift;
print "\t[Retrieving attachment.]\n";
# file: $a = 0 || 1
# buff: $a = undef || attachment
ars_GetEntryBLOB($c, "ARSperl Test", $id,
$fid,
ARS::AR_LOC_FILENAME,
"/tmp/attachtest") ||
die ("GetEntryBLOB: $ars_errstr");
my $a = ars_GetEntryBLOB($c, "ARSperl Test", $id,,
$fid,
ARS::AR_LOC_BUFFER);
die "GetEntryBLOB: $ars_errstr" if(!defined($a));
print "\tattachment size = ".length($a)."\n";
open(FD, ">/tmp/attachtest2") || die "open: $!";
print FD $a;
close(FD);
}
sub dh {
my $h = shift;
foreach (keys %$h) {
print "\t$_ = $h->{$_}\n";
}
}