Thanks a million Martin.
Your sub code woked perfectly for me, you are really helped me to continue
my learning in ARSPerl.

Thanks again.
Kishor


Martin, Conny wrote:
> 
> The return value (structure) of ars_GetField has changed. I don't know
> exact version when this was changed.
> 
> This sub takes the return value of ars_GetField and returns an array. This
> sub is also compatible to the old structure returned in earlier versions
> of ARSPerl.
> 
> sub enum_values ($) {
> 
>   my $limit = $_[0]->{'limit'};
>   my @values;
>   if (ref($limit) eq 'HASH') {
>     my $h = $limit->{'enumLimits'};
>     if (ref($h) eq 'HASH') {
>       if (defined($h->{'regularList'} )){
>         my $z = $h->{'regularList'};
>         @values = @$z;
>       } elsif (defined($h->{'customList'} )){
>         foreach my $item (@{$h->{'customList'}}){
>           $values[$item->{'itemNumber'}] = $item->{'itemName'};
>         }
>       }
>     } else {
>       @values = @$h;
>     }
>   } else {
>     @values = @$limit;
>   }
> 
>   return @values;
> 
> } 
> 
> -----Ursprüngliche Nachricht-----
> Von: Action Request System discussion list(ARSList)
> [mailto:[email protected]] Im Auftrag von kishorkv
> Gesendet: Freitag, 12. Dezember 2008 23:32
> An: [email protected]
> Betreff: Please Help - my enumvals ARS Perl 1.91 Remedy 7.1
> 
> I am new to Perl and ARSPerl. I have experience in Java Working on upgrade
> project ARS 6.3 to 7.1 Upgrade.
> I have started learning Perl and ARSPerl but NOT that good so far.
> 
> With Remedy 7.1 Perl api (1.91) and latest Active perl I get following
> error for my existing (6.3 working) perl script.
> CGI Error
> The specified CGI application misbehaved by not returning a complete set
> of HTTP headers.
> 
> 
> My Perl script functions looks like this, after using log4perl and
> debuggin I got the point where I have the issue, it is getting enum
> values.
> Line: my @enumvals = @{$fieldinfo->{limit}};
> 
> sub ARS_getreportformat {
>    # returns a ptr to an array of ptrs (to arrays) containing display data
> for this view
>    # NOTE: the returned data is sorted by display_order!!
>    my $c = $_[0];
>    my $view = $_[1];
>    my $ret_form;
>    my %ret_report_format;
>    # get grid defintions
>    my $form_def = "rdpv_grid_def";
>    my $qualification = qq,'View Name' = "$view",;
>    unless ($qual = ars_LoadQualifier($c, "$form_def", "$qualification")) {
>        print "$ars_errstr\n";
>         die;
>    }
>       %entries = ars_GetListEntry($c, "$form_def", $qual, 0, 0) ;
>    print "Grid definition not found : $view \n" if scalar(%entries) == 0 ;
>    
>    # should only be one!!
>    foreach $entryid(keys %entries) {
>       unless (%fidvals = ars_GetEntry($c, "$form_def", "$entryid")) {
>         print "$ars_errstr\n";
>         die ;
>       }
>       $ret_report_format{display}{title} = $fidvals{536870913};
>       $ret_report_format{display}{excel} = $fidvals{536870914};
>       $ret_report_format{sql}{order} = $fidvals{536870915};
>       $ret_report_format{display}{denote_new_sorted_val} =
> $fidvals{536870916};
>       $ret_report_format{display}{javascript} = $fidvals{536870918};
>       $ret_report_format{display}{percmain1} = $fidvals{536870919};
>       }
>    # get grid-column defintions
>    my $form_cols = "rdpv_grid_def_cols";
>    my $display_order_fid = 536870916;
>    $qualification = qq,'View Name' = "$view",;
>    unless ($qual = ars_LoadQualifier($c, "$form_cols", "$qualification"))
> {
>         print "$ars_errstr\n";
>         die;
>    }
>       %entries = ars_GetListEntry($c, "$form_cols", $qual, 0, 0);
>    foreach $entryid(keys %entries) {
>       unless (%fidvals = ars_GetEntry($c, "$form_cols", "$entryid")) {
>               print "$ars_errstr\n";
>               die;
>       }
>       $order = $fidvals{$display_order_fid};
>       $ret_report_format{display}{columns}{$order}->{form} =
> $fidvals{536870913};
>       $ret_report_format{display}{columns}{$order}->{field} =
> &RAD_fid_til_semi($fidvals{536870914});
>       $ret_report_format{display}{columns}{$order}->{display_type} =
> $fidvals{536870915};
> 
>       # if enum, pass form and fid for reference
>       if ($fidvals{536870915} eq "enum") {
>             $fidvals{536870913};
>             my $frs_para = $c;
>             my $sec_para = $fidvals{536870913};
>             my $thrd_para =
> $ret_report_format{display}{columns}{$order}->{field};
>       $ret_report_format{display}{columns}{$order}->{enum} =
> &ARS_getEnumVals($c, $fidvals{536870913},
> $ret_report_format{display}{columns}{$order}->{field});
>         }
>       $ret_report_format{display}{columns}{$order}->{alternate_label} =
> $fidvals{536870917}; 
>       $ret_report_format{display}{columns}{$order}->{special_instructions}
> = $fidvals{536870918};
>       $ret_report_format{display}{columns}{$order}->{max_width} =
> $fidvals{536870919};
>       $ret_report_format{display}{columns}{$order}->{wrap_at} =
> $fidvals{536870920};
>       $ret_report_format{display}{columns}{$order}->{convert_to} =
> $fidvals{536870921};
>       $ret_report_format{display}{columns}{$order}->{url} =
> $fidvals{536870924};
>       $ret_report_format{display}{columns}{$order}->{sortorder} =
> $fidvals{536870925};
>       $ret_report_format{display}{columns}{$order}->{sortedby} =
> $fidvals{536870926};
>       $ret_form = $fidvals{536870913};
>       }
> 
>    return ($ret_form, \%ret_report_format);
>    }
>    
>    
>    
>    sub ARS_getEnumVals {
>    my $xc = $_[0];
>    my $xform = $_[1];
>    my $xfid = $_[2];
>       (my $fieldinfo = ars_GetField($xc, $xform, $xfid)) ||
>           die "GetField: $ars_errstr";
>    my @enumvals = @{$fieldinfo->{limit}};
>    return (\...@enumvals);
>       }
> 
> I did try different options but NO luck, I really appreciate if you can
> help me fix this issue.
> 
> Thanks,
> kishorkv
> --
> View this message in context:
> http://www.nabble.com/Please-Help---my-enumvals-ARS-Perl-1.91-Remedy-7.1-tp20984758p20984758.html
> Sent from the ARS (Action Request System) mailing list archive at
> Nabble.com.
> 
> _______________________________________________________________________________
> UNSUBSCRIBE or access ARSlist Archives at www.arslist.org Platinum
> Sponsor: www.rmsportal.com ARSlist: "Where the Answers Are"
> 
> _______________________________________________________________________________
> UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
> Platinum Sponsor: www.rmsportal.com ARSlist: "Where the Answers Are"
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Please-Help---my-enumvals-ARS-Perl-1.91-Remedy-7.1-tp20984758p20996044.html
Sent from the ARS (Action Request System) mailing list archive at Nabble.com.

_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at www.arslist.org
Platinum Sponsor: www.rmsportal.com ARSlist: "Where the Answers Are"

Reply via email to