abahko
abahko

Reputation: 3

Accessing Specific OTRS Dynamic Field value via SOAP

How do I further access this dynamic field value? Upon using below dumper,

print Dumper( $Body->{$ResponseKey} );

The result is :

$VAR1 = {
          'Ticket' => {
                      'Title' => 'TPLUS Service PIC',
                      'DynamicField' => [
                                        {
                                          'Value' => '43312',
                                          'Name' => 'BugID'
                                        },                                       
                                        {
                                          'Value' => '6',
                                          'Name' => 'OTRSMV'
                                        },
                                        {
                                          'Value' => '6.13',
                                          'Name' => 'OTRSPLV'
                                        },
                                        {
                                          'Value' => 'Dev',
                                          'Name' => 'OTRSUse'
                                        },
                                        {
                                          'Value' => '2018-03-02 00:28:00',
                                          'Name' => 'RefDate'
                                        },
                                        {
                                          'Value' => '0',
                                          'Name' => 'RefNumber'
                                        },
                                        {
                                          'Value' => '',
                                          'Name' => 'StartTime'
                                        }
                                      ],
                      'StateType' => 'open',
                      'SLAID' => ''
                }
    };

How can I access the single value of DynamicField->RefDate ? Thanks

Upvotes: 0

Views: 217

Answers (1)

ikegami
ikegami

Reputation: 386361

my $fields = $Body->{$ResponseKey}{Ticket}{DynamicField};

my ($ref_date) =
   map $_->{Value},
      grep $_->{Name} eq 'RefDate',
         @$fields;

or

my %fields;
$fields{ $_->{Name} } = $fields{ $_->{Value} }
   for @{ $Body->{$ResponseKey}{Ticket}{DynamicField} };

my $ref_date = $fields{RefDate};

Upvotes: 3

Related Questions