Message

Berichten naar ByDesign sturen, moeilijk?

Hoe moeilijk is het om in een SAP systeem vanuit een webshop een verkooporder in te schieten? Als je ByDesign hebt is dat eigenlijk heel erg eenvoudig! ByDesign heeft standaard enkele honderden webservices beschikbaar en dus ook eentje voor het aanmaken van een verkooporder.

$wsdl = 'ManageSalesOrderIn.wsdl';

$trace = true;
$exceptions = false;

$xml_array['BasicMessageHeader'] = '';
$xml_array['SalesOrder']['ObjectNodeSenderTechnicalID'] = '#ORDERNUMMER_VERZENDER#';
$xml_array['SalesOrder']['AccountParty']['PartyID'] = '#HET_KLANTNUMMER#';
$xml_array['SalesOrder']['Item']['ID'] = '#REGELNUMMER_1#';
$xml_array['SalesOrder']['Item']['ItemProduct']['ProductInternalID'] = '#ARTIKELNUMMER_1#';
$xml_array['SalesOrder']['Item']['ItemScheduleLine']['Quantity'] = '#HOEVEELHEID_1#';
$xml_array['SalesOrder']['Item']['ID'] = '#REGELNUMMER_2#';
$xml_array['SalesOrder']['Item']['ItemProduct']['ProductInternalID'] = '#ARTIKELNUMMER_2#';
$xml_array['SalesOrder']['Item']['ItemScheduleLine']['Quantity'] = '#HOEVEELHEID_2#';

try
{
$client = new SoapClient($wsdl, array('login' => 'USERNAME', 'password' => 'Abcd123', 'trace' => $trace, 'exceptions' => $exceptions));
$response = $client->MaintainBundle($xml_array);
}

catch (Exception $e)
{
echo "Error!";
echo $e -> getMessage ();
echo 'Last response: '. $client->__getLastResponse();
}

In het antwoord van SAP komt het aangemaakte ordernummer terug zodat deze opgeslagen kan worden in het verzendende systeem. Het voorbeeldbericht is het minimale wat SAP nodig heeft. Uiteraard heeft de webservice vele mogelijkheden om meer details door te geven over bijvoorbeeld het afleveradres of aanvullende klantopmerkingen voor de logistieke uitvoering. Deze leiden echter alleen tot extra elementen in de XML array.

{{ message }}

{{ 'Comments are closed.' | trans }}