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"