Add-On: SAP Ariba cXML PunchOut-Schnittstelle


XML

Zusatzfelder vom Dienstleister für die Bestellung

Die Dienstleister Zusatzfelder können mit der folgenden Abfrage abgerufen werden:

{foreach key=cartId item=item from=$order.cart}
    {if isset($item['serviceProviderTemplateObject'])} 
        {foreach from=$item['serviceProviderTemplateObject']->additionalFields item=additionalField}
            <AdditionalField name="{$additionalField->name}">{$additionalField->value}</AdditionalField>
        {/foreach} 
    {/if} 
{/foreach}

Freigabeprozess

Innerhalb der Ariba-Modulkonfiguration im Shop muss die Option "Freigabeworklow aktivieren?" aktiviert sein um den Ariba-Freigabeprozess zu nutzen. Dieser gilt dann generell für die Aribaschnittstelle für diesen Shop.

Hierbei werden die von Lead-Print an Ariba übergebene Bestellungen zunächst "geparkt." Bei der Übergabe wird an Ariba ein Referenzcode übergeben. Sobald in Ariba eine finale Bestellung erfolgt, wird an das Lead-Print die zurvor übergebene Bestellung als Bestelleinlieferung freigegeben. Bei der Bestelleinlieferung werden folgende Schritte durchgeführt:

  • Aktualisierung Liefer-/Rechungsanschrift
  • Vermerk der PO Nummer (externe Bestellnummer)
  • Übertragung der Lead-Print Bestellung an die jeweiligen Dienstleister


Bestellung freigeben

Die Freigabe von Bestellungen funktioniert im Moment nur, wenn Innerhalb der Ariba-Modulkonfiguration im Shop die Option "Freigabeworklow aktivieren?" ist.

Um die Bestellung freizugeben, muss zum einen im Shop unter Api dies aktiviert sein und Zugangsdaten hinterlegt werden. Zum anderen wird die Freigabe XML unter folgender URL: https://<shop-Url>/api/module/ariba/process/order als POST erwartet, wo die XML im Contentbereich übermittelt wird.

Dabei werden die zuvor im Shop hinterlegten Api Zugangsdaten als HTTP-Authentifizierung (Authorization: Basic ) erwartet.

Der Aufbau dieser XML enspricht dem cXML Standard.

Wobei die in der XML die zuvor übergebenen Referenzcodes (OrderId und OrderItemId) wie folgt übergeben werden müssen:

<ItemID>
<SupplierPartID>{OrderItemId}</SupplierPartID>
<SupplierPartAuxiliaryID>{OrderId}</SupplierPartAuxiliaryID>
</ItemID>


(Warnung) Sollte keine HTTP-Authentifizierung möglich sein, kann die Freigabe auch ohne Authorization-Header über die URL https://<shop-Url>/module/ariba/process/order erfolgen.


Beispiel einer Punchout XML

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cXML SYSTEM "http://xml.cxml.org/schemas/cXML/1.2.044/cXML.dtd">
<cXML payloadID="1664533983574.692485289.000000302@DSDE4KyexLliGePxG31D+SXAADk=" timestamp="2022-09-30T03:33:03-07:00"
version="1.2.044" xml:lang="en-US">
<Header>
From Credentials (required)
<From>
<Credential domain="NetworkId">
<Identity>AN040784</Identity>
</Credential>
</From>

To Credentials (required)
<To>
<Credential domain="sap">
<Identity>050470</Identity>
</Credential>

<Correspondent preferredLanguage="de-DE">

<Contact role="correspondent">
<Name xml:lang="de">Manufacturer AG GmbH
</Name>

<PostalAddress name="Standardwert">
<Street>Manufacturer Straße 10</Street>
<City>Düsseldorf</City>
<State></State>
<PostalCode>40000</PostalCode>
<Country isoCountryCode="DE">Deutschland
</Country>
</PostalAddress>

<Email name="work" preferredLang="de-DE">peter@manufacturer.de
</Email>
<Email name="routing" preferredLang="de-DE">peter@manufacturer.de
</Email>
<Phone name="work">
<TelephoneNumber>
<CountryCode isoCountryCode="DE">49
</CountryCode>
<AreaOrCityCode>211</AreaOrCityCode>
<Number>456</Number>
</TelephoneNumber>
</Phone>
<Fax name="work">
<TelephoneNumber>
<CountryCode isoCountryCode="DE">49
</CountryCode>
<AreaOrCityCode>211</AreaOrCityCode>
<Number>45454</Number>
</TelephoneNumber>
</Fax>
</Contact>
</Correspondent>
</To>

Sender Credentials (required)
<Sender>
<Credential domain="AribaNetworkUserId">
<Identity>sysadmin@ariba.com</Identity>
<SharedSecret>Secret</SharedSecret>
</Credential>
<UserAgent>Buyer</UserAgent>
</Sender>
</Header>

<Request deploymentMode="test">
<OrderRequest>
<OrderRequestHeader agreementID="CW42640" agreementPayloadID=""
orderDate="2022-09-30T03:33:02-07:00" orderID="FR1497"
orderType="release" orderVersion="1" type="new">
<Total>
<Money alternateAmount="" alternateCurrency="" currency="EUR">16
</Money>
</Total>

Lieferanschrift
<ShipTo>
<Address addressID="0001_1128" isoCountryCode="DE">
<Name xml:lang="en">Manufacturer AG
</Name>

<PostalAddress name="Standardwert">
<DeliverTo>Standard User</DeliverTo>
<DeliverTo>Manufacturer AG</DeliverTo>
<Street>Manufaturer Street 100 </Street>
<City>Düsseldorf</City>
<PostalCode>40000</PostalCode>
<Country isoCountryCode="DE">Deutschland
</Country>
</PostalAddress>

<Email name="Standardwert" preferredLang="en-US">user01@gmail.com
</Email>
</Address>

</ShipTo>

Rechnungsanschrift
<BillTo>
<Address addressID="0001" isoCountryCode="DE">
<Name xml:lang="en">Company AG
</Name>

<PostalAddress name="Standardwert">
<Street>Manufacturer Street 12</Street>
<City>Düsseldorf</City>
<State>NRW</State>
<PostalCode>40000</PostalCode>
<Country isoCountryCode="DE">Deutschland
</Country>
</PostalAddress>

<Phone name="work">
<TelephoneNumber>
<CountryCode isoCountryCode="DE">49
</CountryCode>
<AreaOrCityCode>211</AreaOrCityCode>
<Number>3780</Number>
</TelephoneNumber>
</Phone>
</Address>
</BillTo>

<PaymentTerm payInNumberOfDays="30">
</PaymentTerm>

<Comments>
Terms and Conditions
</Comments>

<Extrinsic name="Title">PO TEST Manufacturer AG
</Extrinsic>
<Extrinsic name="Are there any Interferency Cost?">No
</Extrinsic>
<Extrinsic name="LogoURL">https://s1-eu.ariba.com/Buyer/Main/logo3.png
</Extrinsic>
<Extrinsic name="CompanyCode">0001
</Extrinsic>
<Extrinsic name="PUName">Company AG
</Extrinsic>
<Extrinsic name="InvoicingConditions">Please consider for invoicing:

In case of ERS supplier: The Order confirmation (with shipping date) has to be provided in Ariba
Network
</Extrinsic>

<Contact addressID="0001" isoCountryCode="DE">
<Name xml:lang="en">Company AG
</Name>
</Contact>

</OrderRequestHeader>

Bestellpositionen
<ItemOut quantity="1" requestedDeliveryDate="2022-10-31T03:30:00-07:00" lineNumber="1">
<ItemID>
<SupplierPartID>{OrderItemId}</SupplierPartID>
<SupplierPartAuxiliaryID>{OrderId}</SupplierPartAuxiliaryID>
</ItemID>
<ItemDetail>
<UnitPrice>
<Money alternateCurrency="" alternateAmount="" currency="EUR">16</Money>
</UnitPrice>
<Description xml:lang="en">100 Stück x Manufacturer Testartikel - EINTXI</Description>
<UnitOfMeasure>EA</UnitOfMeasure>
<Classification domain="UNSPSC">10161707</Classification>
<ManufacturerName>Manufacturer AG</ManufacturerName>
<URL name="__lr2bb">https://test-ariba.print-server.net/ariba/punchout.php</URL>
<LeadTime>5</LeadTime>
<Extrinsic name="Req. Line No.">1</Extrinsic>
<Extrinsic name="Requester">HVB Standard User</Extrinsic>
<Extrinsic name="PR No.">Prt7951</Extrinsic>
<Extrinsic name="Contract ID">wewqe-CW42640</Extrinsic>
<Extrinsic name="Product Type">Material</Extrinsic>
<Extrinsic name="Service subject Art 4"></Extrinsic>
<Extrinsic name="Contract WorkSpace ID"></Extrinsic>
<Extrinsic name="IsERSVendor">Yes</Extrinsic>
<Extrinsic name="incoTerm"></Extrinsic>
<Extrinsic name="incoTermLocation"></Extrinsic>
<Extrinsic name="QuoteReference"></Extrinsic>
<Extrinsic name="QuoteLineReference"></Extrinsic>
</ItemDetail>

<Tax>
<Money alternateCurrency="" alternateAmount="" currency="EUR">3.04</Money>
<Description xml:lang="en">€3.04 EUR</Description>
<TaxDetail percentageRate="19" category="vat" purpose="">
<TaxableAmount>
<Money alternateCurrency="" alternateAmount="" currency="EUR">16.00</Money>
</TaxableAmount>
<TaxAmount>
<Money alternateCurrency="" alternateAmount="" currency="EUR">3.04</Money>
</TaxAmount>
<Description xml:lang="en-US">V3</Description>
</TaxDetail>
</Tax>
</ItemOut>
</OrderRequest>
</Request>
</cXML>