ARS-Simple
view release on metacpan or search on metacpan
lib/ARS/Simple.pm view on Meta::CPAN
package ARS::Simple;
use 5.006;
use strict;
use warnings FATAL => 'all';
use ARS 1.68;
use Carp;
use Data::Dumper;
our $VERSION = '0.01';
$Data::Dumper::Indent=1;
$Data::Dumper::Sortkeys=1;
our %config;
my $user;
my $pword;
BEGIN
{
my $module = 'ARS/Simple.pm';
my $cfg = $INC{$module};
unless ($cfg)
{
die "Wrong case in use statement or $module module renamed. Perl is case sensitive!!!\n";
}
my $compiled = !(-e $cfg); # if the module was not read from disk => the script has been "compiled"
$cfg =~ s/\.pm$/.cfg/;
if ($compiled or -e $cfg)
{
# In a Perl2Exe or PerlApp created executable or PerlCtrl
# generated COM object or the cfg is known to exist
eval {require $cfg};
if ($@ and $@ !~ /Can't locate /) #' <-- syntax higlighter
{
carp "Error in $cfg : $@";
}
}
}
sub new
{
my $proto = shift;
my $class = ref($proto) || $proto;
my $self = {};
bless($self, $class);
# Run initialisation code
$self->_init(@_);
return $self;
}
sub DESTROY
{
my $self = shift;
if ($self->{ctl})
{
ars_Logoff($self->{ctl});
}
}
sub _check_initialised
{
my $self = shift;
unless ($self->{ctl})
{
$self->_carp("Connected to Remedy ARSystem has not been establised yet.\n");
return;
}
return 1;
}
sub get_list
{
my ($self, $args) = @_; # Expect args keys of 'form', 'query', optionally 'max_returns'
# Check ARSystem initailised
return unless $self->_check_initialised();
# Check required args
unless ($args->{form} && $args->{query})
{
$self->_carp("get_list() requires 'form' and 'query' arguments\n");
return;
}
# Create a qualifier struct
my $qual = $self->_load_qualifier($args);
return unless $qual;
# Set the limit
$self->set_max_entries($args->{max_returns});
# Get the entryId
my @entries = ars_GetListEntry($self->{ctl}, $args->{form}, $qual, 0, 0,
[{columnWidth => 1, separator => ' ', fieldId => 1 }] # Minimise the amount of data returned
);
# Reset the limit
$self->_reset_max_entries();
( run in 1.918 second using v1.01-cache-2.11-cpan-39bf76dae61 )