aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xbin/send-reports123
-rw-r--r--conf/general.yml-example4
-rw-r--r--perllib/BarnetElements/Z_CRM_SERVICE_ORDER_CREATE.pm248
-rw-r--r--perllib/BarnetElements/Z_CRM_SERVICE_ORDER_CREATE/Exception.pm64
-rw-r--r--perllib/BarnetElements/Z_CRM_SERVICE_ORDER_CREATEResponse.pm183
-rw-r--r--perllib/BarnetInterfaces/service/ZLBB_SERVICE_ORDER.pm166
-rw-r--r--perllib/BarnetTypemaps/service.pm103
-rw-r--r--perllib/BarnetTypes/BAPIRET2.pm219
-rw-r--r--perllib/BarnetTypes/BAPI_TTET_ADDRESS_COM.pm165
-rw-r--r--perllib/BarnetTypes/CRMT_SERVICE_REQUEST_TEXT.pm102
-rw-r--r--perllib/BarnetTypes/RfcException/Message.pm111
-rw-r--r--perllib/BarnetTypes/RfcException/Message/Number.pm65
-rw-r--r--perllib/BarnetTypes/TABLE_OF_BAPIRET2.pm117
-rw-r--r--perllib/BarnetTypes/TABLE_OF_CRMT_SERVICE_REQUEST_TEXT.pm104
-rw-r--r--perllib/BarnetTypes/Z_CRM_SERVICE_ORDER_CREATE/RfcException.pm123
-rw-r--r--perllib/BarnetTypes/Z_CRM_SERVICE_ORDER_CREATE/RfcExceptions.pm65
-rw-r--r--perllib/BarnetTypes/char1.pm65
-rw-r--r--perllib/BarnetTypes/char10.pm65
-rw-r--r--perllib/BarnetTypes/char132.pm65
-rw-r--r--perllib/BarnetTypes/char2.pm65
-rw-r--r--perllib/BarnetTypes/char20.pm65
-rw-r--r--perllib/BarnetTypes/char220.pm65
-rw-r--r--perllib/BarnetTypes/char241.pm65
-rw-r--r--perllib/BarnetTypes/char3.pm65
-rw-r--r--perllib/BarnetTypes/char30.pm65
-rw-r--r--perllib/BarnetTypes/char32.pm65
-rw-r--r--perllib/BarnetTypes/char35.pm65
-rw-r--r--perllib/BarnetTypes/char40.pm65
-rw-r--r--perllib/BarnetTypes/char5.pm65
-rw-r--r--perllib/BarnetTypes/char50.pm65
-rw-r--r--perllib/BarnetTypes/numeric3.pm65
-rw-r--r--perllib/BarnetTypes/numeric6.pm65
32 files changed, 2973 insertions, 29 deletions
diff --git a/bin/send-reports b/bin/send-reports
index 61aad69e7..d11cf6c5c 100755
--- a/bin/send-reports
+++ b/bin/send-reports
@@ -21,7 +21,6 @@ use CronFns;
use FixMyStreet::App;
-use BarnetWSDL;
use EastHantsWSDL;
use Utils;
use mySociety::Config;
@@ -34,6 +33,7 @@ use Open311;
# specific council numbers
use constant COUNCIL_ID_BARNET => 2489;
use constant COUNCIL_ID_EAST_HANTS => 2330;
+use constant MAX_LINE_LENGTH => 132;
# Set up site, language etc.
my ($verbose, $nomail) = CronFns::options();
@@ -143,7 +143,7 @@ while (my $row = $unsent->next) {
$h{category} = 'Customer Services' if $h{category} eq 'Other';
} elsif ($council == COUNCIL_ID_BARNET) { # Barnet have a web service
$send_web = 'barnet';
- $h{category} = 'BARNET CRM'; # FIXME force category (by arrangement with Barnet)
+ $h{category} = 'BARNET CRM'; # FIXME category is lookup (by arrangement with Barnet)
} elsif ($areas_info->{$council}->{type} eq 'LBO') { # London
$send_web = 'london';
} elsif ( my $endpoint = FixMyStreet::App->model("DB::Open311conf")->search( { area_id => $council, endpoint => { '!=', '' } } )->first ) {
@@ -426,33 +426,47 @@ EOF
my $barnet_service;
sub post_barnet_message {
my %h = @_;
- my $return = 1;
- $barnet_service ||= BarnetWSDL->on_fault(sub { my($soap, $res) = @_; die ref $res ? $res->faultstring : $soap->transport->status, "\n"; });
- try {
- my $kbid = $h{category}; # TODO: KBID is 50-char category ID: map our category -> Barnet KBID
- # TODO: certainly won't validate until we are using KBID values provided by Barnet
- my $message = ent(encode_utf8($h{message}));
- my $name = ent(encode_utf8($h{name}));
- my $location = $h{easting_northing}; # TODO: need to construct complex type for this: it's actually GEOCODE within BAPI_TTET_ADDRESS_COM:
- # comprising: COUNTRY2, REGION, COUNTY, CITY, POSTALCODE, STREET, STREETNUMBER, GEOCODE
-
- # TODO: username/password authentication will be required to access the webservice
-
- my $result = $barnet_service->Z_CRM_SERVICE_ORDER_CREATE(
- '', # ET_RETURN (?)
- $message, # IT_PROBLEM_DESC (SAP defines this as a table of text lines: might need this broken up?)
- $h{email}, # IV_CUST_EMAIL
- $name, # IV_CUST_NAME
- $kbid, # IV_KBID
- $h{id}, # IV_PROBLEM_ID
- $location, # IV_PROBLEM_LOC (see above)
- '', # IV_PROBLEM_SUB (?)
- );
- $return = 0 if $result eq 'Report received';
- } otherwise {
- my $e = shift;
- print "Caught an error: $e\n"; # anticipate: DUPLICATE_ORDER
- };
+ my $kbid = $h{category}; # TODO: KBID is 50-char category ID: map our category -> Barnet KBID
+ my $geo_code = "$h{easting} $h{northing}";
+
+ my $interface = BarnetInterfaces::service::ZLBB_SERVICE_ORDER->new();
+
+ # note: config can be of form 'http://username@password:url' (or https, hopefully)
+ if (my $barnet_endpoint = mySociety::Config::get('OPTION_BARNET_WEBSERVICE_ENDPOINT')) {
+ $interface->set_proxy($barnet_endpoint) if $barnet_endpoint;
+ }
+
+ # FIXME handle return errors
+ my $return = $interface->Z_CRM_SERVICE_ORDER_CREATE( {
+ ET_RETURN => { # ignored by server
+ item => {
+ TYPE => "", ID => "", NUMBER => "", MESSAGE => "", LOG_NO => "", LOG_MSG_NO => "",
+ MESSAGE_V1 => "", MESSAGE_V2 => "", MESSAGE_V3 => "", MESSAGE_V4 => "", PARAMETER => "",
+ ROW => "", FIELD => "", SYSTEM => "",
+ },
+ },
+ IT_PROBLEM_DESC => { # MyTypes::TABLE_OF_CRMT_SERVICE_REQUEST_TEXT
+ item => { # MyTypes::CRMT_SERVICE_REQUEST_TEXT
+ TEXT_LINE => split_text_into_lines(ent(encode_utf8($h{message})), 132) # char132
+ },
+ },
+ IV_CUST_EMAIL => truncate_string(ent(encode_utf8($h{email})), 241), # char241
+ IV_CUST_NAME => truncate_string(ent(encode_utf8($h{name})), 50), # char50
+ IV_KBID => $kbid, # char50
+ IV_PROBLEM_ID => $h{id}, # char35
+ IV_PROBLEM_LOC => { # MyTypes::BAPI_TTET_ADDRESS_COM
+ COUNTRY2 => 'GB', # char2
+ REGION => "", # char3
+ COUNTY => "", # char30
+ CITY => "", # char30
+ POSTALCODE => $h{postcode}, # char10
+ STREET => "", # char30
+ STREETNUMBER => "", # char5
+ GEOCODE => $geo_code, # char32
+ },
+ IV_PROBLEM_SUB => truncate_string(ent(encode_utf8($h{title})), 40), # char40
+ },,
+ );
return $return;
}
@@ -555,3 +569,54 @@ sub london_lookup {
return $str;
}
+# truncate_string
+# args: text to truncate
+# max number of chars
+# returns: string truncated
+# Note: must not partially truncate an entity (e.g., &)
+sub truncate_string {
+ my ($str, $max_len) = @_;
+ my $retVal = "";
+ foreach my $chunk (split /(\&\w+;)/, $str) {
+ if ($chunk=~/^\&\w+;$/){
+ my $next = $retVal.$chunk;
+ if (length $next > $max_len) {
+ last
+ } else {
+ $retVal = $next
+ }
+ } else {
+ $retVal.=$chunk;
+ if (length $retVal > $max_len) {
+ $retVal = substr($retVal, 0, $max_len);
+ last
+ }
+ }
+ }
+ return $retVal
+}
+
+# split_text_into_lines
+# args: text to be broken into lines
+# max length (option: uses constant MAX_LINE_LENGTH)
+# returns: ref to array of lines
+# Important not to split an entity (e.g., &)
+# Not worrying about hyphenating here, since a word is only ever split if
+# it's longer than the whole line, which is uncommon in genuine problem reports
+sub split_text_into_lines {
+ my ($text, $max_line_length) = @_;
+ $max_line_length ||= MAX_LINE_LENGTH;
+ my @lines;
+ foreach my $line (split "\n", $text) {
+ while (length $line > $max_line_length) {
+ if (! ($line =~ s/^(.{1,$max_line_length})\s// # break on a space
+ or $line =~ s/^(.{1,$max_line_length})(\&\w+;)/$2/ # break before an entity
+ or $line =~ s/(.{$max_line_length})//)) { # break the word ruthlessly
+ $line =~ s/(.*)//; # otherwise gobble whole line (which is now shorter than max length)
+ }
+ push @lines, $1;
+ }
+ push @lines, $line;
+ }
+ return \@lines
+}
diff --git a/conf/general.yml-example b/conf/general.yml-example
index 06af11a55..704008875 100644
--- a/conf/general.yml-example
+++ b/conf/general.yml-example
@@ -61,3 +61,7 @@ RSS_LIMIT: '20'
# Should problem reports link to the council summary pages?
AREA_LINKS_FROM_PROBLEMS: '0'
+
+# webservice for Barnet: expected format: user:password@https_url
+OPTION_BARNET_WEBSERVICE_ENDPOINT: ''
+
diff --git a/perllib/BarnetElements/Z_CRM_SERVICE_ORDER_CREATE.pm b/perllib/BarnetElements/Z_CRM_SERVICE_ORDER_CREATE.pm
new file mode 100644
index 000000000..2c398ab1b
--- /dev/null
+++ b/perllib/BarnetElements/Z_CRM_SERVICE_ORDER_CREATE.pm
@@ -0,0 +1,248 @@
+
+package BarnetElements::Z_CRM_SERVICE_ORDER_CREATE;
+use strict;
+use warnings;
+
+{ # BLOCK to scope variables
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions' }
+
+__PACKAGE__->__set_name('Z_CRM_SERVICE_ORDER_CREATE');
+__PACKAGE__->__set_nillable();
+__PACKAGE__->__set_minOccurs();
+__PACKAGE__->__set_maxOccurs();
+__PACKAGE__->__set_ref();
+
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Element
+ SOAP::WSDL::XSD::Typelib::ComplexType
+);
+
+our $XML_ATTRIBUTE_CLASS;
+undef $XML_ATTRIBUTE_CLASS;
+
+sub __get_attr_class {
+ return $XML_ATTRIBUTE_CLASS;
+}
+
+use Class::Std::Fast::Storable constructor => 'none';
+use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
+
+Class::Std::initialize();
+
+{ # BLOCK to scope variables
+
+my %ET_RETURN_of :ATTR(:get<ET_RETURN>);
+my %IT_PROBLEM_DESC_of :ATTR(:get<IT_PROBLEM_DESC>);
+my %IV_CUST_EMAIL_of :ATTR(:get<IV_CUST_EMAIL>);
+my %IV_CUST_NAME_of :ATTR(:get<IV_CUST_NAME>);
+my %IV_KBID_of :ATTR(:get<IV_KBID>);
+my %IV_PROBLEM_ID_of :ATTR(:get<IV_PROBLEM_ID>);
+my %IV_PROBLEM_LOC_of :ATTR(:get<IV_PROBLEM_LOC>);
+my %IV_PROBLEM_SUB_of :ATTR(:get<IV_PROBLEM_SUB>);
+
+__PACKAGE__->_factory(
+ [ qw( ET_RETURN
+ IT_PROBLEM_DESC
+ IV_CUST_EMAIL
+ IV_CUST_NAME
+ IV_KBID
+ IV_PROBLEM_ID
+ IV_PROBLEM_LOC
+ IV_PROBLEM_SUB
+
+ ) ],
+ {
+ 'ET_RETURN' => \%ET_RETURN_of,
+ 'IT_PROBLEM_DESC' => \%IT_PROBLEM_DESC_of,
+ 'IV_CUST_EMAIL' => \%IV_CUST_EMAIL_of,
+ 'IV_CUST_NAME' => \%IV_CUST_NAME_of,
+ 'IV_KBID' => \%IV_KBID_of,
+ 'IV_PROBLEM_ID' => \%IV_PROBLEM_ID_of,
+ 'IV_PROBLEM_LOC' => \%IV_PROBLEM_LOC_of,
+ 'IV_PROBLEM_SUB' => \%IV_PROBLEM_SUB_of,
+ },
+ {
+ 'ET_RETURN' => 'BarnetTypes::TABLE_OF_BAPIRET2',
+ 'IT_PROBLEM_DESC' => 'BarnetTypes::TABLE_OF_CRMT_SERVICE_REQUEST_TEXT',
+ 'IV_CUST_EMAIL' => 'BarnetTypes::char241',
+ 'IV_CUST_NAME' => 'BarnetTypes::char50',
+ 'IV_KBID' => 'BarnetTypes::char50',
+ 'IV_PROBLEM_ID' => 'BarnetTypes::char35',
+ 'IV_PROBLEM_LOC' => 'BarnetTypes::BAPI_TTET_ADDRESS_COM',
+ 'IV_PROBLEM_SUB' => 'BarnetTypes::char40',
+ },
+ {
+
+ 'ET_RETURN' => 'ET_RETURN',
+ 'IT_PROBLEM_DESC' => 'IT_PROBLEM_DESC',
+ 'IV_CUST_EMAIL' => 'IV_CUST_EMAIL',
+ 'IV_CUST_NAME' => 'IV_CUST_NAME',
+ 'IV_KBID' => 'IV_KBID',
+ 'IV_PROBLEM_ID' => 'IV_PROBLEM_ID',
+ 'IV_PROBLEM_LOC' => 'IV_PROBLEM_LOC',
+ 'IV_PROBLEM_SUB' => 'IV_PROBLEM_SUB',
+ }
+);
+
+} # end BLOCK
+
+
+
+
+
+
+} # end of BLOCK
+
+
+
+1;
+
+
+=pod
+
+=head1 NAME
+
+BarnetElements::Z_CRM_SERVICE_ORDER_CREATE
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined element
+Z_CRM_SERVICE_ORDER_CREATE from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+
+
+=head1 PROPERTIES
+
+The following properties may be accessed using get_PROPERTY / set_PROPERTY
+methods:
+
+=over
+
+=item * ET_RETURN
+
+ $element->set_ET_RETURN($data);
+ $element->get_ET_RETURN();
+
+
+
+
+=item * IT_PROBLEM_DESC
+
+ $element->set_IT_PROBLEM_DESC($data);
+ $element->get_IT_PROBLEM_DESC();
+
+
+
+
+=item * IV_CUST_EMAIL
+
+ $element->set_IV_CUST_EMAIL($data);
+ $element->get_IV_CUST_EMAIL();
+
+
+
+
+=item * IV_CUST_NAME
+
+ $element->set_IV_CUST_NAME($data);
+ $element->get_IV_CUST_NAME();
+
+
+
+
+=item * IV_KBID
+
+ $element->set_IV_KBID($data);
+ $element->get_IV_KBID();
+
+
+
+
+=item * IV_PROBLEM_ID
+
+ $element->set_IV_PROBLEM_ID($data);
+ $element->get_IV_PROBLEM_ID();
+
+
+
+
+=item * IV_PROBLEM_LOC
+
+ $element->set_IV_PROBLEM_LOC($data);
+ $element->get_IV_PROBLEM_LOC();
+
+
+
+
+=item * IV_PROBLEM_SUB
+
+ $element->set_IV_PROBLEM_SUB($data);
+ $element->get_IV_PROBLEM_SUB();
+
+
+
+
+
+=back
+
+
+=head1 METHODS
+
+=head2 new
+
+ my $element = BarnetElements::Z_CRM_SERVICE_ORDER_CREATE->new($data);
+
+Constructor. The following data structure may be passed to new():
+
+ {
+ ET_RETURN => { # BarnetTypes::TABLE_OF_BAPIRET2
+ item => { # BarnetTypes::BAPIRET2
+ TYPE => $some_value, # char1
+ ID => $some_value, # char20
+ NUMBER => $some_value, # numeric3
+ MESSAGE => $some_value, # char220
+ LOG_NO => $some_value, # char20
+ LOG_MSG_NO => $some_value, # numeric6
+ MESSAGE_V1 => $some_value, # char50
+ MESSAGE_V2 => $some_value, # char50
+ MESSAGE_V3 => $some_value, # char50
+ MESSAGE_V4 => $some_value, # char50
+ PARAMETER => $some_value, # char32
+ ROW => $some_value, # int
+ FIELD => $some_value, # char30
+ SYSTEM => $some_value, # char10
+ },
+ },
+ IT_PROBLEM_DESC => { # BarnetTypes::TABLE_OF_CRMT_SERVICE_REQUEST_TEXT
+ item => { # BarnetTypes::CRMT_SERVICE_REQUEST_TEXT
+ TEXT_LINE => $some_value, # char132
+ },
+ },
+ IV_CUST_EMAIL => $some_value, # char241
+ IV_CUST_NAME => $some_value, # char50
+ IV_KBID => $some_value, # char50
+ IV_PROBLEM_ID => $some_value, # char35
+ IV_PROBLEM_LOC => { # BarnetTypes::BAPI_TTET_ADDRESS_COM
+ COUNTRY2 => $some_value, # char2
+ REGION => $some_value, # char3
+ COUNTY => $some_value, # char30
+ CITY => $some_value, # char30
+ POSTALCODE => $some_value, # char10
+ STREET => $some_value, # char30
+ STREETNUMBER => $some_value, # char5
+ GEOCODE => $some_value, # char32
+ },
+ IV_PROBLEM_SUB => $some_value, # char40
+ },
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetElements/Z_CRM_SERVICE_ORDER_CREATE/Exception.pm b/perllib/BarnetElements/Z_CRM_SERVICE_ORDER_CREATE/Exception.pm
new file mode 100644
index 000000000..ae95d3234
--- /dev/null
+++ b/perllib/BarnetElements/Z_CRM_SERVICE_ORDER_CREATE/Exception.pm
@@ -0,0 +1,64 @@
+
+package BarnetElements::Z_CRM_SERVICE_ORDER_CREATE::Exception;
+use strict;
+use warnings;
+
+{ # BLOCK to scope variables
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions' }
+
+__PACKAGE__->__set_name('Z_CRM_SERVICE_ORDER_CREATE.Exception');
+__PACKAGE__->__set_nillable();
+__PACKAGE__->__set_minOccurs();
+__PACKAGE__->__set_maxOccurs();
+__PACKAGE__->__set_ref();
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Element
+ BarnetTypes::Z_CRM_SERVICE_ORDER_CREATE::RfcException
+);
+
+}
+
+1;
+
+
+=pod
+
+=head1 NAME
+
+BarnetElements::Z_CRM_SERVICE_ORDER_CREATE::Exception
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined element
+Z_CRM_SERVICE_ORDER_CREATE.Exception from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+
+
+=head1 METHODS
+
+=head2 new
+
+ my $element = BarnetElements::Z_CRM_SERVICE_ORDER_CREATE::Exception->new($data);
+
+Constructor. The following data structure may be passed to new():
+
+ { # BarnetTypes::Z_CRM_SERVICE_ORDER_CREATE::RfcException
+ Name => $some_value, # Z_CRM_SERVICE_ORDER_CREATE.RfcExceptions
+ Text => $some_value, # string
+ Message => { # BarnetTypes::RfcException::Message
+ ID => $some_value, # string
+ Number => $some_value, # RfcException.Message.Number
+ },
+ },
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetElements/Z_CRM_SERVICE_ORDER_CREATEResponse.pm b/perllib/BarnetElements/Z_CRM_SERVICE_ORDER_CREATEResponse.pm
new file mode 100644
index 000000000..5755d0b49
--- /dev/null
+++ b/perllib/BarnetElements/Z_CRM_SERVICE_ORDER_CREATEResponse.pm
@@ -0,0 +1,183 @@
+
+package BarnetElements::Z_CRM_SERVICE_ORDER_CREATEResponse;
+use strict;
+use warnings;
+
+{ # BLOCK to scope variables
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions' }
+
+__PACKAGE__->__set_name('Z_CRM_SERVICE_ORDER_CREATEResponse');
+__PACKAGE__->__set_nillable();
+__PACKAGE__->__set_minOccurs();
+__PACKAGE__->__set_maxOccurs();
+__PACKAGE__->__set_ref();
+
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Element
+ SOAP::WSDL::XSD::Typelib::ComplexType
+);
+
+our $XML_ATTRIBUTE_CLASS;
+undef $XML_ATTRIBUTE_CLASS;
+
+sub __get_attr_class {
+ return $XML_ATTRIBUTE_CLASS;
+}
+
+use Class::Std::Fast::Storable constructor => 'none';
+use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
+
+Class::Std::initialize();
+
+{ # BLOCK to scope variables
+
+my %ET_RETURN_of :ATTR(:get<ET_RETURN>);
+my %EV_ORDER_GUID_of :ATTR(:get<EV_ORDER_GUID>);
+my %EV_ORDER_NO_of :ATTR(:get<EV_ORDER_NO>);
+my %IT_PROBLEM_DESC_of :ATTR(:get<IT_PROBLEM_DESC>);
+
+__PACKAGE__->_factory(
+ [ qw( ET_RETURN
+ EV_ORDER_GUID
+ EV_ORDER_NO
+ IT_PROBLEM_DESC
+
+ ) ],
+ {
+ 'ET_RETURN' => \%ET_RETURN_of,
+ 'EV_ORDER_GUID' => \%EV_ORDER_GUID_of,
+ 'EV_ORDER_NO' => \%EV_ORDER_NO_of,
+ 'IT_PROBLEM_DESC' => \%IT_PROBLEM_DESC_of,
+ },
+ {
+ 'ET_RETURN' => 'BarnetTypes::TABLE_OF_BAPIRET2',
+ 'EV_ORDER_GUID' => 'BarnetTypes::char32',
+ 'EV_ORDER_NO' => 'BarnetTypes::char10',
+ 'IT_PROBLEM_DESC' => 'BarnetTypes::TABLE_OF_CRMT_SERVICE_REQUEST_TEXT',
+ },
+ {
+
+ 'ET_RETURN' => 'ET_RETURN',
+ 'EV_ORDER_GUID' => 'EV_ORDER_GUID',
+ 'EV_ORDER_NO' => 'EV_ORDER_NO',
+ 'IT_PROBLEM_DESC' => 'IT_PROBLEM_DESC',
+ }
+);
+
+} # end BLOCK
+
+
+
+
+
+
+} # end of BLOCK
+
+
+
+1;
+
+
+=pod
+
+=head1 NAME
+
+BarnetElements::Z_CRM_SERVICE_ORDER_CREATEResponse
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined element
+Z_CRM_SERVICE_ORDER_CREATEResponse from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+
+
+=head1 PROPERTIES
+
+The following properties may be accessed using get_PROPERTY / set_PROPERTY
+methods:
+
+=over
+
+=item * ET_RETURN
+
+ $element->set_ET_RETURN($data);
+ $element->get_ET_RETURN();
+
+
+
+
+=item * EV_ORDER_GUID
+
+ $element->set_EV_ORDER_GUID($data);
+ $element->get_EV_ORDER_GUID();
+
+
+
+
+=item * EV_ORDER_NO
+
+ $element->set_EV_ORDER_NO($data);
+ $element->get_EV_ORDER_NO();
+
+
+
+
+=item * IT_PROBLEM_DESC
+
+ $element->set_IT_PROBLEM_DESC($data);
+ $element->get_IT_PROBLEM_DESC();
+
+
+
+
+
+=back
+
+
+=head1 METHODS
+
+=head2 new
+
+ my $element = BarnetElements::Z_CRM_SERVICE_ORDER_CREATEResponse->new($data);
+
+Constructor. The following data structure may be passed to new():
+
+ {
+ ET_RETURN => { # BarnetTypes::TABLE_OF_BAPIRET2
+ item => { # BarnetTypes::BAPIRET2
+ TYPE => $some_value, # char1
+ ID => $some_value, # char20
+ NUMBER => $some_value, # numeric3
+ MESSAGE => $some_value, # char220
+ LOG_NO => $some_value, # char20
+ LOG_MSG_NO => $some_value, # numeric6
+ MESSAGE_V1 => $some_value, # char50
+ MESSAGE_V2 => $some_value, # char50
+ MESSAGE_V3 => $some_value, # char50
+ MESSAGE_V4 => $some_value, # char50
+ PARAMETER => $some_value, # char32
+ ROW => $some_value, # int
+ FIELD => $some_value, # char30
+ SYSTEM => $some_value, # char10
+ },
+ },
+ EV_ORDER_GUID => $some_value, # char32
+ EV_ORDER_NO => $some_value, # char10
+ IT_PROBLEM_DESC => { # BarnetTypes::TABLE_OF_CRMT_SERVICE_REQUEST_TEXT
+ item => { # BarnetTypes::CRMT_SERVICE_REQUEST_TEXT
+ TEXT_LINE => $some_value, # char132
+ },
+ },
+ },
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetInterfaces/service/ZLBB_SERVICE_ORDER.pm b/perllib/BarnetInterfaces/service/ZLBB_SERVICE_ORDER.pm
new file mode 100644
index 000000000..94e0cd4db
--- /dev/null
+++ b/perllib/BarnetInterfaces/service/ZLBB_SERVICE_ORDER.pm
@@ -0,0 +1,166 @@
+package BarnetInterfaces::service::ZLBB_SERVICE_ORDER;
+use strict;
+use warnings;
+use Class::Std::Fast::Storable;
+use Scalar::Util qw(blessed);
+use base qw(SOAP::WSDL::Client::Base);
+
+# only load if it hasn't been loaded before
+require BarnetTypemaps::service
+ if not BarnetTypemaps::service->can('get_class');
+
+sub START {
+ $_[0]->set_proxy('http://lbbcrmdev.barnet.gov.uk:8000/sap/bc/srt/rfc/sap/zlbb_service_order/200/zlbb_service_order/zlbb_service_order') if not $_[2]->{proxy};
+ $_[0]->set_class_resolver('BarnetTypemaps::service')
+ if not $_[2]->{class_resolver};
+
+ $_[0]->set_prefix($_[2]->{use_prefix}) if exists $_[2]->{use_prefix};
+}
+
+sub Z_CRM_SERVICE_ORDER_CREATE {
+ my ($self, $body, $header) = @_;
+ die "Z_CRM_SERVICE_ORDER_CREATE must be called as object method (\$self is <$self>)" if not blessed($self);
+ return $self->SUPER::call({
+ operation => 'Z_CRM_SERVICE_ORDER_CREATE',
+ soap_action => '',
+ style => 'document',
+ body => {
+
+
+ 'use' => 'literal',
+ namespace => 'http://schemas.xmlsoap.org/wsdl/soap/',
+ encodingStyle => '',
+ parts => [qw( BarnetElements::Z_CRM_SERVICE_ORDER_CREATE )],
+ },
+ header => {
+
+ },
+ headerfault => {
+
+ }
+ }, $body, $header);
+}
+
+
+
+
+1;
+
+
+
+__END__
+
+=pod
+
+=head1 NAME
+
+BarnetInterfaces::service::ZLBB_SERVICE_ORDER - SOAP Interface for the service Web Service
+
+=head1 SYNOPSIS
+
+ use BarnetInterfaces::service::ZLBB_SERVICE_ORDER;
+ my $interface = BarnetInterfaces::service::ZLBB_SERVICE_ORDER->new();
+
+ my $response;
+ $response = $interface->Z_CRM_SERVICE_ORDER_CREATE();
+
+
+
+=head1 DESCRIPTION
+
+SOAP Interface for the service web service
+located at http://lbbcrmdev.barnet.gov.uk:8000/sap/bc/srt/rfc/sap/zlbb_service_order/200/zlbb_service_order/zlbb_service_order.
+
+=head1 SERVICE service
+
+
+
+=head2 Port ZLBB_SERVICE_ORDER
+
+
+
+=head1 METHODS
+
+=head2 General methods
+
+=head3 new
+
+Constructor.
+
+All arguments are forwarded to L<SOAP::WSDL::Client|SOAP::WSDL::Client>.
+
+=head2 SOAP Service methods
+
+Method synopsis is displayed with hash refs as parameters.
+
+The commented class names in the method's parameters denote that objects
+of the corresponding class can be passed instead of the marked hash ref.
+
+You may pass any combination of objects, hash and list refs to these
+methods, as long as you meet the structure.
+
+List items (i.e. multiple occurences) are not displayed in the synopsis.
+You may generally pass a list ref of hash refs (or objects) instead of a hash
+ref - this may result in invalid XML if used improperly, though. Note that
+SOAP::WSDL always expects list references at maximum depth position.
+
+XML attributes are not displayed in this synopsis and cannot be set using
+hash refs. See the respective class' documentation for additional information.
+
+
+
+=head3 Z_CRM_SERVICE_ORDER_CREATE
+
+
+
+Returns a L<BarnetElements::Z_CRM_SERVICE_ORDER_CREATEResponse|BarnetElements::Z_CRM_SERVICE_ORDER_CREATEResponse> object.
+
+ $response = $interface->Z_CRM_SERVICE_ORDER_CREATE( {
+ ET_RETURN => { # BarnetTypes::TABLE_OF_BAPIRET2
+ item => { # BarnetTypes::BAPIRET2
+ TYPE => $some_value, # char1
+ ID => $some_value, # char20
+ NUMBER => $some_value, # numeric3
+ MESSAGE => $some_value, # char220
+ LOG_NO => $some_value, # char20
+ LOG_MSG_NO => $some_value, # numeric6
+ MESSAGE_V1 => $some_value, # char50
+ MESSAGE_V2 => $some_value, # char50
+ MESSAGE_V3 => $some_value, # char50
+ MESSAGE_V4 => $some_value, # char50
+ PARAMETER => $some_value, # char32
+ ROW => $some_value, # int
+ FIELD => $some_value, # char30
+ SYSTEM => $some_value, # char10
+ },
+ },
+ IT_PROBLEM_DESC => { # BarnetTypes::TABLE_OF_CRMT_SERVICE_REQUEST_TEXT
+ item => { # BarnetTypes::CRMT_SERVICE_REQUEST_TEXT
+ TEXT_LINE => $some_value, # char132
+ },
+ },
+ IV_CUST_EMAIL => $some_value, # char241
+ IV_CUST_NAME => $some_value, # char50
+ IV_KBID => $some_value, # char50
+ IV_PROBLEM_ID => $some_value, # char35
+ IV_PROBLEM_LOC => { # BarnetTypes::BAPI_TTET_ADDRESS_COM
+ COUNTRY2 => $some_value, # char2
+ REGION => $some_value, # char3
+ COUNTY => $some_value, # char30
+ CITY => $some_value, # char30
+ POSTALCODE => $some_value, # char10
+ STREET => $some_value, # char30
+ STREETNUMBER => $some_value, # char5
+ GEOCODE => $some_value, # char32
+ },
+ IV_PROBLEM_SUB => $some_value, # char40
+ },,
+ );
+
+
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL on Fri Apr 8 10:23:03 2011
+
+=cut
diff --git a/perllib/BarnetTypemaps/service.pm b/perllib/BarnetTypemaps/service.pm
new file mode 100644
index 000000000..dd9f98162
--- /dev/null
+++ b/perllib/BarnetTypemaps/service.pm
@@ -0,0 +1,103 @@
+
+package BarnetTypemaps::service;
+use strict;
+use warnings;
+
+our $typemap_1 = {
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/EV_ORDER_NO' => 'BarnetTypes::char10',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_PROBLEM_LOC/GEOCODE' => 'BarnetTypes::char32',
+ 'Fault/faultcode' => 'SOAP::WSDL::XSD::Typelib::Builtin::anyURI',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_PROBLEM_LOC/COUNTRY2' => 'BarnetTypes::char2',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/NUMBER' => 'BarnetTypes::numeric3',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IT_PROBLEM_DESC/item' => 'BarnetTypes::CRMT_SERVICE_REQUEST_TEXT',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/MESSAGE_V1' => 'BarnetTypes::char50',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_PROBLEM_LOC/POSTALCODE' => 'BarnetTypes::char10',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/LOG_NO' => 'BarnetTypes::char20',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/MESSAGE_V2' => 'BarnetTypes::char50',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/MESSAGE_V3' => 'BarnetTypes::char50',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_PROBLEM_SUB' => 'BarnetTypes::char40',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IT_PROBLEM_DESC/item/TEXT_LINE' => 'BarnetTypes::char132',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/LOG_NO' => 'BarnetTypes::char20',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN' => 'BarnetTypes::TABLE_OF_BAPIRET2',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/ROW' => 'SOAP::WSDL::XSD::Typelib::Builtin::int',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/IT_PROBLEM_DESC/item' => 'BarnetTypes::CRMT_SERVICE_REQUEST_TEXT',
+ 'Fault/faultstring' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/PARAMETER' => 'BarnetTypes::char32',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item' => 'BarnetTypes::BAPIRET2',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_CUST_NAME' => 'BarnetTypes::char50',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/MESSAGE_V2' => 'BarnetTypes::char50',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/ROW' => 'SOAP::WSDL::XSD::Typelib::Builtin::int',
+ 'Fault/detail' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
+ 'Z_CRM_SERVICE_ORDER_CREATE.Exception/Message/ID' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/IT_PROBLEM_DESC' => 'BarnetTypes::TABLE_OF_CRMT_SERVICE_REQUEST_TEXT',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/NUMBER' => 'BarnetTypes::numeric3',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse' => 'BarnetElements::Z_CRM_SERVICE_ORDER_CREATEResponse',
+ 'Z_CRM_SERVICE_ORDER_CREATE.Exception/Text' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/MESSAGE_V1' => 'BarnetTypes::char50',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/PARAMETER' => 'BarnetTypes::char32',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/MESSAGE' => 'BarnetTypes::char220',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/TYPE' => 'BarnetTypes::char1',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/MESSAGE' => 'BarnetTypes::char220',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_PROBLEM_LOC' => 'BarnetTypes::BAPI_TTET_ADDRESS_COM',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/TYPE' => 'BarnetTypes::char1',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_CUST_EMAIL' => 'BarnetTypes::char241',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/FIELD' => 'BarnetTypes::char30',
+ 'Z_CRM_SERVICE_ORDER_CREATE.Exception/Name' => 'BarnetTypes::Z_CRM_SERVICE_ORDER_CREATE::RfcExceptions',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/IT_PROBLEM_DESC/item/TEXT_LINE' => 'BarnetTypes::char132',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/ID' => 'BarnetTypes::char20',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/EV_ORDER_GUID' => 'BarnetTypes::char32',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/SYSTEM' => 'BarnetTypes::char10',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN' => 'BarnetTypes::TABLE_OF_BAPIRET2',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_PROBLEM_ID' => 'BarnetTypes::char35',
+ 'Z_CRM_SERVICE_ORDER_CREATE' => 'BarnetElements::Z_CRM_SERVICE_ORDER_CREATE',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_PROBLEM_LOC/REGION' => 'BarnetTypes::char3',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/LOG_MSG_NO' => 'BarnetTypes::numeric6',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/MESSAGE_V4' => 'BarnetTypes::char50',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/FIELD' => 'BarnetTypes::char30',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/SYSTEM' => 'BarnetTypes::char10',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_PROBLEM_LOC/COUNTY' => 'BarnetTypes::char30',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item/LOG_MSG_NO' => 'BarnetTypes::numeric6',
+ 'Z_CRM_SERVICE_ORDER_CREATE.Exception/Message' => 'BarnetTypes::RfcException::Message',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IT_PROBLEM_DESC' => 'BarnetTypes::TABLE_OF_CRMT_SERVICE_REQUEST_TEXT',
+ 'Z_CRM_SERVICE_ORDER_CREATE/ET_RETURN/item' => 'BarnetTypes::BAPIRET2',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_PROBLEM_LOC/CITY' => 'BarnetTypes::char30',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/MESSAGE_V4' => 'BarnetTypes::char50',
+ 'Z_CRM_SERVICE_ORDER_CREATE.Exception' => 'BarnetElements::Z_CRM_SERVICE_ORDER_CREATE::Exception',
+ 'Fault' => 'SOAP::WSDL::SOAP::Typelib::Fault11',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_PROBLEM_LOC/STREETNUMBER' => 'BarnetTypes::char5',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/ID' => 'BarnetTypes::char20',
+ 'Fault/faultactor' => 'SOAP::WSDL::XSD::Typelib::Builtin::token',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_PROBLEM_LOC/STREET' => 'BarnetTypes::char30',
+ 'Z_CRM_SERVICE_ORDER_CREATE.Exception/Message/Number' => 'BarnetTypes::RfcException::Message::Number',
+ 'Z_CRM_SERVICE_ORDER_CREATE/IV_KBID' => 'BarnetTypes::char50',
+ 'Z_CRM_SERVICE_ORDER_CREATEResponse/ET_RETURN/item/MESSAGE_V3' => 'BarnetTypes::char50'
+ };
+;
+
+sub get_class {
+ my $name = join '/', @{ $_[1] };
+ return $typemap_1->{ $name };
+}
+
+sub get_typemap {
+ return $typemap_1;
+}
+
+1;
+
+__END__
+
+__END__
+
+=pod
+
+=head1 NAME
+
+BarnetTypemaps::service - typemap for service
+
+=head1 DESCRIPTION
+
+Typemap created by SOAP::WSDL for map-based SOAP message parsers.
+
+=cut
+
diff --git a/perllib/BarnetTypes/BAPIRET2.pm b/perllib/BarnetTypes/BAPIRET2.pm
new file mode 100644
index 000000000..2ca20894c
--- /dev/null
+++ b/perllib/BarnetTypes/BAPIRET2.pm
@@ -0,0 +1,219 @@
+package BarnetTypes::BAPIRET2;
+use strict;
+use warnings;
+
+
+__PACKAGE__->_set_element_form_qualified(0);
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions' };
+
+our $XML_ATTRIBUTE_CLASS;
+undef $XML_ATTRIBUTE_CLASS;
+
+sub __get_attr_class {
+ return $XML_ATTRIBUTE_CLASS;
+}
+
+use Class::Std::Fast::Storable constructor => 'none';
+use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
+
+Class::Std::initialize();
+
+{ # BLOCK to scope variables
+
+my %TYPE_of :ATTR(:get<TYPE>);
+my %ID_of :ATTR(:get<ID>);
+my %NUMBER_of :ATTR(:get<NUMBER>);
+my %MESSAGE_of :ATTR(:get<MESSAGE>);
+my %LOG_NO_of :ATTR(:get<LOG_NO>);
+my %LOG_MSG_NO_of :ATTR(:get<LOG_MSG_NO>);
+my %MESSAGE_V1_of :ATTR(:get<MESSAGE_V1>);
+my %MESSAGE_V2_of :ATTR(:get<MESSAGE_V2>);
+my %MESSAGE_V3_of :ATTR(:get<MESSAGE_V3>);
+my %MESSAGE_V4_of :ATTR(:get<MESSAGE_V4>);
+my %PARAMETER_of :ATTR(:get<PARAMETER>);
+my %ROW_of :ATTR(:get<ROW>);
+my %FIELD_of :ATTR(:get<FIELD>);
+my %SYSTEM_of :ATTR(:get<SYSTEM>);
+
+__PACKAGE__->_factory(
+ [ qw( TYPE
+ ID
+ NUMBER
+ MESSAGE
+ LOG_NO
+ LOG_MSG_NO
+ MESSAGE_V1
+ MESSAGE_V2
+ MESSAGE_V3
+ MESSAGE_V4
+ PARAMETER
+ ROW
+ FIELD
+ SYSTEM
+
+ ) ],
+ {
+ 'TYPE' => \%TYPE_of,
+ 'ID' => \%ID_of,
+ 'NUMBER' => \%NUMBER_of,
+ 'MESSAGE' => \%MESSAGE_of,
+ 'LOG_NO' => \%LOG_NO_of,
+ 'LOG_MSG_NO' => \%LOG_MSG_NO_of,
+ 'MESSAGE_V1' => \%MESSAGE_V1_of,
+ 'MESSAGE_V2' => \%MESSAGE_V2_of,
+ 'MESSAGE_V3' => \%MESSAGE_V3_of,
+ 'MESSAGE_V4' => \%MESSAGE_V4_of,
+ 'PARAMETER' => \%PARAMETER_of,
+ 'ROW' => \%ROW_of,
+ 'FIELD' => \%FIELD_of,
+ 'SYSTEM' => \%SYSTEM_of,
+ },
+ {
+ 'TYPE' => 'BarnetTypes::char1',
+ 'ID' => 'BarnetTypes::char20',
+ 'NUMBER' => 'BarnetTypes::numeric3',
+ 'MESSAGE' => 'BarnetTypes::char220',
+ 'LOG_NO' => 'BarnetTypes::char20',
+ 'LOG_MSG_NO' => 'BarnetTypes::numeric6',
+ 'MESSAGE_V1' => 'BarnetTypes::char50',
+ 'MESSAGE_V2' => 'BarnetTypes::char50',
+ 'MESSAGE_V3' => 'BarnetTypes::char50',
+ 'MESSAGE_V4' => 'BarnetTypes::char50',
+ 'PARAMETER' => 'BarnetTypes::char32',
+ 'ROW' => 'SOAP::WSDL::XSD::Typelib::Builtin::int',
+ 'FIELD' => 'BarnetTypes::char30',
+ 'SYSTEM' => 'BarnetTypes::char10',
+ },
+ {
+
+ 'TYPE' => 'TYPE',
+ 'ID' => 'ID',
+ 'NUMBER' => 'NUMBER',
+ 'MESSAGE' => 'MESSAGE',
+ 'LOG_NO' => 'LOG_NO',
+ 'LOG_MSG_NO' => 'LOG_MSG_NO',
+ 'MESSAGE_V1' => 'MESSAGE_V1',
+ 'MESSAGE_V2' => 'MESSAGE_V2',
+ 'MESSAGE_V3' => 'MESSAGE_V3',
+ 'MESSAGE_V4' => 'MESSAGE_V4',
+ 'PARAMETER' => 'PARAMETER',
+ 'ROW' => 'ROW',
+ 'FIELD' => 'FIELD',
+ 'SYSTEM' => 'SYSTEM',
+ }
+);
+
+} # end BLOCK
+
+
+
+
+
+
+
+1;
+
+
+=pod
+
+=head1 NAME
+
+BarnetTypes::BAPIRET2
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined complexType
+BAPIRET2 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+
+=head2 PROPERTIES
+
+The following properties may be accessed using get_PROPERTY / set_PROPERTY
+methods:
+
+=over
+
+=item * TYPE
+
+
+=item * ID
+
+
+=item * NUMBER
+
+
+=item * MESSAGE
+
+
+=item * LOG_NO
+
+
+=item * LOG_MSG_NO
+
+
+=item * MESSAGE_V1
+
+
+=item * MESSAGE_V2
+
+
+=item * MESSAGE_V3
+
+
+=item * MESSAGE_V4
+
+
+=item * PARAMETER
+
+
+=item * ROW
+
+
+=item * FIELD
+
+
+=item * SYSTEM
+
+
+
+
+=back
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor. The following data structure may be passed to new():
+
+ { # BarnetTypes::BAPIRET2
+ TYPE => $some_value, # char1
+ ID => $some_value, # char20
+ NUMBER => $some_value, # numeric3
+ MESSAGE => $some_value, # char220
+ LOG_NO => $some_value, # char20
+ LOG_MSG_NO => $some_value, # numeric6
+ MESSAGE_V1 => $some_value, # char50
+ MESSAGE_V2 => $some_value, # char50
+ MESSAGE_V3 => $some_value, # char50
+ MESSAGE_V4 => $some_value, # char50
+ PARAMETER => $some_value, # char32
+ ROW => $some_value, # int
+ FIELD => $some_value, # char30
+ SYSTEM => $some_value, # char10
+ },
+
+
+
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/BAPI_TTET_ADDRESS_COM.pm b/perllib/BarnetTypes/BAPI_TTET_ADDRESS_COM.pm
new file mode 100644
index 000000000..b4a8b00ca
--- /dev/null
+++ b/perllib/BarnetTypes/BAPI_TTET_ADDRESS_COM.pm
@@ -0,0 +1,165 @@
+package BarnetTypes::BAPI_TTET_ADDRESS_COM;
+use strict;
+use warnings;
+
+
+__PACKAGE__->_set_element_form_qualified(0);
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions' };
+
+our $XML_ATTRIBUTE_CLASS;
+undef $XML_ATTRIBUTE_CLASS;
+
+sub __get_attr_class {
+ return $XML_ATTRIBUTE_CLASS;
+}
+
+use Class::Std::Fast::Storable constructor => 'none';
+use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
+
+Class::Std::initialize();
+
+{ # BLOCK to scope variables
+
+my %COUNTRY2_of :ATTR(:get<COUNTRY2>);
+my %REGION_of :ATTR(:get<REGION>);
+my %COUNTY_of :ATTR(:get<COUNTY>);
+my %CITY_of :ATTR(:get<CITY>);
+my %POSTALCODE_of :ATTR(:get<POSTALCODE>);
+my %STREET_of :ATTR(:get<STREET>);
+my %STREETNUMBER_of :ATTR(:get<STREETNUMBER>);
+my %GEOCODE_of :ATTR(:get<GEOCODE>);
+
+__PACKAGE__->_factory(
+ [ qw( COUNTRY2
+ REGION
+ COUNTY
+ CITY
+ POSTALCODE
+ STREET
+ STREETNUMBER
+ GEOCODE
+
+ ) ],
+ {
+ 'COUNTRY2' => \%COUNTRY2_of,
+ 'REGION' => \%REGION_of,
+ 'COUNTY' => \%COUNTY_of,
+ 'CITY' => \%CITY_of,
+ 'POSTALCODE' => \%POSTALCODE_of,
+ 'STREET' => \%STREET_of,
+ 'STREETNUMBER' => \%STREETNUMBER_of,
+ 'GEOCODE' => \%GEOCODE_of,
+ },
+ {
+ 'COUNTRY2' => 'BarnetTypes::char2',
+ 'REGION' => 'BarnetTypes::char3',
+ 'COUNTY' => 'BarnetTypes::char30',
+ 'CITY' => 'BarnetTypes::char30',
+ 'POSTALCODE' => 'BarnetTypes::char10',
+ 'STREET' => 'BarnetTypes::char30',
+ 'STREETNUMBER' => 'BarnetTypes::char5',
+ 'GEOCODE' => 'BarnetTypes::char32',
+ },
+ {
+
+ 'COUNTRY2' => 'COUNTRY2',
+ 'REGION' => 'REGION',
+ 'COUNTY' => 'COUNTY',
+ 'CITY' => 'CITY',
+ 'POSTALCODE' => 'POSTALCODE',
+ 'STREET' => 'STREET',
+ 'STREETNUMBER' => 'STREETNUMBER',
+ 'GEOCODE' => 'GEOCODE',
+ }
+);
+
+} # end BLOCK
+
+
+
+
+
+
+
+1;
+
+
+=pod
+
+=head1 NAME
+
+BarnetTypes::BAPI_TTET_ADDRESS_COM
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined complexType
+BAPI_TTET_ADDRESS_COM from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+
+=head2 PROPERTIES
+
+The following properties may be accessed using get_PROPERTY / set_PROPERTY
+methods:
+
+=over
+
+=item * COUNTRY2
+
+
+=item * REGION
+
+
+=item * COUNTY
+
+
+=item * CITY
+
+
+=item * POSTALCODE
+
+
+=item * STREET
+
+
+=item * STREETNUMBER
+
+
+=item * GEOCODE
+
+
+
+
+=back
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor. The following data structure may be passed to new():
+
+ { # BarnetTypes::BAPI_TTET_ADDRESS_COM
+ COUNTRY2 => $some_value, # char2
+ REGION => $some_value, # char3
+ COUNTY => $some_value, # char30
+ CITY => $some_value, # char30
+ POSTALCODE => $some_value, # char10
+ STREET => $some_value, # char30
+ STREETNUMBER => $some_value, # char5
+ GEOCODE => $some_value, # char32
+ },
+
+
+
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/CRMT_SERVICE_REQUEST_TEXT.pm b/perllib/BarnetTypes/CRMT_SERVICE_REQUEST_TEXT.pm
new file mode 100644
index 000000000..39e2ad1ce
--- /dev/null
+++ b/perllib/BarnetTypes/CRMT_SERVICE_REQUEST_TEXT.pm
@@ -0,0 +1,102 @@
+package BarnetTypes::CRMT_SERVICE_REQUEST_TEXT;
+use strict;
+use warnings;
+
+
+__PACKAGE__->_set_element_form_qualified(0);
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions' };
+
+our $XML_ATTRIBUTE_CLASS;
+undef $XML_ATTRIBUTE_CLASS;
+
+sub __get_attr_class {
+ return $XML_ATTRIBUTE_CLASS;
+}
+
+use Class::Std::Fast::Storable constructor => 'none';
+use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
+
+Class::Std::initialize();
+
+{ # BLOCK to scope variables
+
+my %TEXT_LINE_of :ATTR(:get<TEXT_LINE>);
+
+__PACKAGE__->_factory(
+ [ qw( TEXT_LINE
+
+ ) ],
+ {
+ 'TEXT_LINE' => \%TEXT_LINE_of,
+ },
+ {
+ 'TEXT_LINE' => 'BarnetTypes::char132',
+ },
+ {
+
+ 'TEXT_LINE' => 'TEXT_LINE',
+ }
+);
+
+} # end BLOCK
+
+
+
+
+
+
+
+1;
+
+
+=pod
+
+=head1 NAME
+
+BarnetTypes::CRMT_SERVICE_REQUEST_TEXT
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined complexType
+CRMT_SERVICE_REQUEST_TEXT from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+
+=head2 PROPERTIES
+
+The following properties may be accessed using get_PROPERTY / set_PROPERTY
+methods:
+
+=over
+
+=item * TEXT_LINE
+
+
+
+
+=back
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor. The following data structure may be passed to new():
+
+ { # BarnetTypes::CRMT_SERVICE_REQUEST_TEXT
+ TEXT_LINE => $some_value, # char132
+ },
+
+
+
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/RfcException/Message.pm b/perllib/BarnetTypes/RfcException/Message.pm
new file mode 100644
index 000000000..71b94bf7c
--- /dev/null
+++ b/perllib/BarnetTypes/RfcException/Message.pm
@@ -0,0 +1,111 @@
+package BarnetTypes::RfcException::Message;
+use strict;
+use warnings;
+
+
+__PACKAGE__->_set_element_form_qualified(0);
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions' };
+
+our $XML_ATTRIBUTE_CLASS;
+undef $XML_ATTRIBUTE_CLASS;
+
+sub __get_attr_class {
+ return $XML_ATTRIBUTE_CLASS;
+}
+
+use Class::Std::Fast::Storable constructor => 'none';
+use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
+
+Class::Std::initialize();
+
+{ # BLOCK to scope variables
+
+my %ID_of :ATTR(:get<ID>);
+my %Number_of :ATTR(:get<Number>);
+
+__PACKAGE__->_factory(
+ [ qw( ID
+ Number
+
+ ) ],
+ {
+ 'ID' => \%ID_of,
+ 'Number' => \%Number_of,
+ },
+ {
+ 'ID' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
+ 'Number' => 'BarnetTypes::RfcException::Message::Number',
+ },
+ {
+
+ 'ID' => 'ID',
+ 'Number' => 'Number',
+ }
+);
+
+} # end BLOCK
+
+
+
+
+
+
+
+1;
+
+
+=pod
+
+=head1 NAME
+
+BarnetTypes::RfcException::Message
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined complexType
+RfcException.Message from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+
+=head2 PROPERTIES
+
+The following properties may be accessed using get_PROPERTY / set_PROPERTY
+methods:
+
+=over
+
+=item * ID
+
+
+=item * Number
+
+
+
+
+=back
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor. The following data structure may be passed to new():
+
+ { # BarnetTypes::RfcException::Message
+ ID => $some_value, # string
+ Number => $some_value, # RfcException.Message.Number
+ },
+
+
+
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/RfcException/Message/Number.pm b/perllib/BarnetTypes/RfcException/Message/Number.pm
new file mode 100644
index 000000000..9353df454
--- /dev/null
+++ b/perllib/BarnetTypes/RfcException/Message/Number.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::RfcException::Message::Number;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+RfcException.Message.Number from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/TABLE_OF_BAPIRET2.pm b/perllib/BarnetTypes/TABLE_OF_BAPIRET2.pm
new file mode 100644
index 000000000..c248bc907
--- /dev/null
+++ b/perllib/BarnetTypes/TABLE_OF_BAPIRET2.pm
@@ -0,0 +1,117 @@
+package BarnetTypes::TABLE_OF_BAPIRET2;
+use strict;
+use warnings;
+
+
+__PACKAGE__->_set_element_form_qualified(0);
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions' };
+
+our $XML_ATTRIBUTE_CLASS;
+undef $XML_ATTRIBUTE_CLASS;
+
+sub __get_attr_class {
+ return $XML_ATTRIBUTE_CLASS;
+}
+
+use Class::Std::Fast::Storable constructor => 'none';
+use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
+
+Class::Std::initialize();
+
+{ # BLOCK to scope variables
+
+my %item_of :ATTR(:get<item>);
+
+__PACKAGE__->_factory(
+ [ qw( item
+
+ ) ],
+ {
+ 'item' => \%item_of,
+ },
+ {
+ 'item' => 'BarnetTypes::BAPIRET2',
+ },
+ {
+
+ 'item' => 'item',
+ }
+);
+
+} # end BLOCK
+
+
+
+
+
+
+
+1;
+
+
+=pod
+
+=head1 NAME
+
+BarnetTypes::TABLE_OF_BAPIRET2
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined complexType
+TABLE_OF_BAPIRET2 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+
+=head2 PROPERTIES
+
+The following properties may be accessed using get_PROPERTY / set_PROPERTY
+methods:
+
+=over
+
+=item * item
+
+
+
+
+=back
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor. The following data structure may be passed to new():
+
+ { # BarnetTypes::TABLE_OF_BAPIRET2
+ item => { # BarnetTypes::BAPIRET2
+ TYPE => $some_value, # char1
+ ID => $some_value, # char20
+ NUMBER => $some_value, # numeric3
+ MESSAGE => $some_value, # char220
+ LOG_NO => $some_value, # char20
+ LOG_MSG_NO => $some_value, # numeric6
+ MESSAGE_V1 => $some_value, # char50
+ MESSAGE_V2 => $some_value, # char50
+ MESSAGE_V3 => $some_value, # char50
+ MESSAGE_V4 => $some_value, # char50
+ PARAMETER => $some_value, # char32
+ ROW => $some_value, # int
+ FIELD => $some_value, # char30
+ SYSTEM => $some_value, # char10
+ },
+ },
+
+
+
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/TABLE_OF_CRMT_SERVICE_REQUEST_TEXT.pm b/perllib/BarnetTypes/TABLE_OF_CRMT_SERVICE_REQUEST_TEXT.pm
new file mode 100644
index 000000000..62eb7b774
--- /dev/null
+++ b/perllib/BarnetTypes/TABLE_OF_CRMT_SERVICE_REQUEST_TEXT.pm
@@ -0,0 +1,104 @@
+package BarnetTypes::TABLE_OF_CRMT_SERVICE_REQUEST_TEXT;
+use strict;
+use warnings;
+
+
+__PACKAGE__->_set_element_form_qualified(0);
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions' };
+
+our $XML_ATTRIBUTE_CLASS;
+undef $XML_ATTRIBUTE_CLASS;
+
+sub __get_attr_class {
+ return $XML_ATTRIBUTE_CLASS;
+}
+
+use Class::Std::Fast::Storable constructor => 'none';
+use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
+
+Class::Std::initialize();
+
+{ # BLOCK to scope variables
+
+my %item_of :ATTR(:get<item>);
+
+__PACKAGE__->_factory(
+ [ qw( item
+
+ ) ],
+ {
+ 'item' => \%item_of,
+ },
+ {
+ 'item' => 'BarnetTypes::CRMT_SERVICE_REQUEST_TEXT',
+ },
+ {
+
+ 'item' => 'item',
+ }
+);
+
+} # end BLOCK
+
+
+
+
+
+
+
+1;
+
+
+=pod
+
+=head1 NAME
+
+BarnetTypes::TABLE_OF_CRMT_SERVICE_REQUEST_TEXT
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined complexType
+TABLE_OF_CRMT_SERVICE_REQUEST_TEXT from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+
+=head2 PROPERTIES
+
+The following properties may be accessed using get_PROPERTY / set_PROPERTY
+methods:
+
+=over
+
+=item * item
+
+
+
+
+=back
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor. The following data structure may be passed to new():
+
+ { # BarnetTypes::TABLE_OF_CRMT_SERVICE_REQUEST_TEXT
+ item => { # BarnetTypes::CRMT_SERVICE_REQUEST_TEXT
+ TEXT_LINE => $some_value, # char132
+ },
+ },
+
+
+
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/Z_CRM_SERVICE_ORDER_CREATE/RfcException.pm b/perllib/BarnetTypes/Z_CRM_SERVICE_ORDER_CREATE/RfcException.pm
new file mode 100644
index 000000000..8d04adf53
--- /dev/null
+++ b/perllib/BarnetTypes/Z_CRM_SERVICE_ORDER_CREATE/RfcException.pm
@@ -0,0 +1,123 @@
+package BarnetTypes::Z_CRM_SERVICE_ORDER_CREATE::RfcException;
+use strict;
+use warnings;
+
+
+__PACKAGE__->_set_element_form_qualified(0);
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions' };
+
+our $XML_ATTRIBUTE_CLASS;
+undef $XML_ATTRIBUTE_CLASS;
+
+sub __get_attr_class {
+ return $XML_ATTRIBUTE_CLASS;
+}
+
+use Class::Std::Fast::Storable constructor => 'none';
+use base qw(SOAP::WSDL::XSD::Typelib::ComplexType);
+
+Class::Std::initialize();
+
+{ # BLOCK to scope variables
+
+my %Name_of :ATTR(:get<Name>);
+my %Text_of :ATTR(:get<Text>);
+my %Message_of :ATTR(:get<Message>);
+
+__PACKAGE__->_factory(
+ [ qw( Name
+ Text
+ Message
+
+ ) ],
+ {
+ 'Name' => \%Name_of,
+ 'Text' => \%Text_of,
+ 'Message' => \%Message_of,
+ },
+ {
+ 'Name' => 'BarnetTypes::Z_CRM_SERVICE_ORDER_CREATE::RfcExceptions',
+ 'Text' => 'SOAP::WSDL::XSD::Typelib::Builtin::string',
+ 'Message' => 'BarnetTypes::RfcException::Message',
+ },
+ {
+
+ 'Name' => 'Name',
+ 'Text' => 'Text',
+ 'Message' => 'Message',
+ }
+);
+
+} # end BLOCK
+
+
+
+
+
+
+
+1;
+
+
+=pod
+
+=head1 NAME
+
+BarnetTypes::Z_CRM_SERVICE_ORDER_CREATE::RfcException
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined complexType
+Z_CRM_SERVICE_ORDER_CREATE.RfcException from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+
+=head2 PROPERTIES
+
+The following properties may be accessed using get_PROPERTY / set_PROPERTY
+methods:
+
+=over
+
+=item * Name
+
+
+=item * Text
+
+
+=item * Message
+
+
+
+
+=back
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor. The following data structure may be passed to new():
+
+ { # BarnetTypes::Z_CRM_SERVICE_ORDER_CREATE::RfcException
+ Name => $some_value, # Z_CRM_SERVICE_ORDER_CREATE.RfcExceptions
+ Text => $some_value, # string
+ Message => { # BarnetTypes::RfcException::Message
+ ID => $some_value, # string
+ Number => $some_value, # RfcException.Message.Number
+ },
+ },
+
+
+
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/Z_CRM_SERVICE_ORDER_CREATE/RfcExceptions.pm b/perllib/BarnetTypes/Z_CRM_SERVICE_ORDER_CREATE/RfcExceptions.pm
new file mode 100644
index 000000000..ffc2237bc
--- /dev/null
+++ b/perllib/BarnetTypes/Z_CRM_SERVICE_ORDER_CREATE/RfcExceptions.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::Z_CRM_SERVICE_ORDER_CREATE::RfcExceptions;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+Z_CRM_SERVICE_ORDER_CREATE.RfcExceptions from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char1.pm b/perllib/BarnetTypes/char1.pm
new file mode 100644
index 000000000..d0bab8e5e
--- /dev/null
+++ b/perllib/BarnetTypes/char1.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char1;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char1 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char10.pm b/perllib/BarnetTypes/char10.pm
new file mode 100644
index 000000000..6ff454e4b
--- /dev/null
+++ b/perllib/BarnetTypes/char10.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char10;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char10 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char132.pm b/perllib/BarnetTypes/char132.pm
new file mode 100644
index 000000000..46a41077b
--- /dev/null
+++ b/perllib/BarnetTypes/char132.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char132;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char132 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char2.pm b/perllib/BarnetTypes/char2.pm
new file mode 100644
index 000000000..35c476fbe
--- /dev/null
+++ b/perllib/BarnetTypes/char2.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char2;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char2 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char20.pm b/perllib/BarnetTypes/char20.pm
new file mode 100644
index 000000000..1c2df092a
--- /dev/null
+++ b/perllib/BarnetTypes/char20.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char20;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char20 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char220.pm b/perllib/BarnetTypes/char220.pm
new file mode 100644
index 000000000..7ccde81f8
--- /dev/null
+++ b/perllib/BarnetTypes/char220.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char220;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char220 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char241.pm b/perllib/BarnetTypes/char241.pm
new file mode 100644
index 000000000..e6567554f
--- /dev/null
+++ b/perllib/BarnetTypes/char241.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char241;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char241 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char3.pm b/perllib/BarnetTypes/char3.pm
new file mode 100644
index 000000000..f9d001cda
--- /dev/null
+++ b/perllib/BarnetTypes/char3.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char3;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char3 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char30.pm b/perllib/BarnetTypes/char30.pm
new file mode 100644
index 000000000..91d98eb30
--- /dev/null
+++ b/perllib/BarnetTypes/char30.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char30;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char30 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char32.pm b/perllib/BarnetTypes/char32.pm
new file mode 100644
index 000000000..c5efdaabd
--- /dev/null
+++ b/perllib/BarnetTypes/char32.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char32;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char32 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char35.pm b/perllib/BarnetTypes/char35.pm
new file mode 100644
index 000000000..40aef3d7a
--- /dev/null
+++ b/perllib/BarnetTypes/char35.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char35;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char35 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char40.pm b/perllib/BarnetTypes/char40.pm
new file mode 100644
index 000000000..4402875c1
--- /dev/null
+++ b/perllib/BarnetTypes/char40.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char40;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char40 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char5.pm b/perllib/BarnetTypes/char5.pm
new file mode 100644
index 000000000..fed108437
--- /dev/null
+++ b/perllib/BarnetTypes/char5.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char5;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char5 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/char50.pm b/perllib/BarnetTypes/char50.pm
new file mode 100644
index 000000000..34e5720d1
--- /dev/null
+++ b/perllib/BarnetTypes/char50.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::char50;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+char50 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/numeric3.pm b/perllib/BarnetTypes/numeric3.pm
new file mode 100644
index 000000000..c473d2866
--- /dev/null
+++ b/perllib/BarnetTypes/numeric3.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::numeric3;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+numeric3 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+
diff --git a/perllib/BarnetTypes/numeric6.pm b/perllib/BarnetTypes/numeric6.pm
new file mode 100644
index 000000000..b5438c1aa
--- /dev/null
+++ b/perllib/BarnetTypes/numeric6.pm
@@ -0,0 +1,65 @@
+package BarnetTypes::numeric6;
+use strict;
+use warnings;
+
+sub get_xmlns { 'urn:sap-com:document:sap:rfc:functions'};
+
+# derivation by restriction
+use base qw(
+ SOAP::WSDL::XSD::Typelib::Builtin::string);
+
+
+
+1;
+
+__END__
+
+=pod
+
+=head1 NAME
+
+
+
+=head1 DESCRIPTION
+
+Perl data type class for the XML Schema defined simpleType
+numeric6 from the namespace urn:sap-com:document:sap:rfc:functions.
+
+
+
+
+
+This clase is derived from
+ SOAP::WSDL::XSD::Typelib::Builtin::string
+. SOAP::WSDL's schema implementation does not validate data, so you can use it exactly
+like it's base type.
+
+# Description of restrictions not implemented yet.
+
+
+=head1 METHODS
+
+=head2 new
+
+Constructor.
+
+=head2 get_value / set_value
+
+Getter and setter for the simpleType's value.
+
+=head1 OVERLOADING
+
+Depending on the simple type's base type, the following operations are overloaded
+
+ Stringification
+ Numerification
+ Boolification
+
+Check L<SOAP::WSDL::XSD::Typelib::Builtin> for more information.
+
+=head1 AUTHOR
+
+Generated by SOAP::WSDL
+
+=cut
+