pixiFederalStatisticReport
Liefert einen monatlichen Bericht für die Bundesstatistik (Intrastat) über gelieferte Lieferantenartikel, gruppiert nach Lieferantenland, Zolltarifnummer und Ursprungsland.
Erstellt einen Bericht über Wareneingänge von Lieferanten für die Außenhandelsstatistik (Bundesstatistik).
Zeitraum
- Fehlt
DateFrom, wird der erste Tag des Vormonats verwendet. - Fehlt
DateTo, wird der letzte Tag des Vormonats verwendet. DateFromwird auf den Tagesbeginn (00:00:00) undDateToauf das Tagesende (23:59:59.997) gesetzt; maßgeblich ist also nur das Datum.- Liegt
DateTonicht nachDateFromoder umfasst der Zeitraum mehr als 24 Monate, wird statt des Berichts eine Fehlerzeile geliefert.
Auswahl
- Lieferantenlieferungen (
SDelHeader) mit StatusINV(berechnet) oderCLS(abgeschlossen). - Das letzte Änderungsdatum des Lieferungskopfs (
SDelHUpdateDate) muss im Zeitraum liegen. - Nur Lieferpositionen mit gelieferter Menge größer 0.
- Optionaler Filter auf die Lieferantennummer
SupplNR; der Wert wird getrimmt, ein leerer Wert bedeutet alle Lieferanten.
Verdichtung
Gruppiert wird nach Jahr und Monat des Änderungsdatums, Lieferantenland (ISO2-Code, N/A falls dem Lieferanten kein bekanntes Land zugeordnet ist), Ursprungsland des Artikels, Zolltarifnummer, Zolltariftext (bei leerem Wert der Artikelname) und Homepage-URL des Lieferanten. Je Gruppe werden das summierte Gewicht (Artikelgewicht × gelieferte Menge, als int), die summierte gelieferte Menge und der summierte Betrag (gelieferte Menge × finaler Lieferantenpreis, als money) geliefert.
Sortiert wird nach Jahr, Monat und Lieferantenland.
Hinweise
- Alle Tabellen werden
WITH (NOLOCK)gelesen; das Ergebnis kann nicht festgeschriebene Daten enthalten. - Fehler (auch aus den Parameterprüfungen) werden abgefangen und als Zeile mit
Status=ErrorundMessagegeliefert, nicht als SOAP-Fault. - Der Zeitraum bezieht sich auf
SDelHUpdateDate(letzte Änderung des Lieferungskopfs), nicht auf ein separates Wareneingangsdatum. Eine spätere Änderung an einer alten Lieferung verschiebt sie in einen späteren Zeitraum. - Wird nur
DateFromübergeben, bleibtDateToauf dem Ende des Vormonats; einDateFromim laufenden Monat führt daher zum Fehler, dassDateTokleiner ist. - Die 24-Monats-Prüfung verwendet
DATEDIFF(MONTH, ...)und zählt damit Monatswechsel, nicht volle Monate. - Die Lieferantennummer ist nicht Teil der Gruppierung,
HomePageUrljedoch schon: Mehrere Lieferanten aus demselben Land mit unterschiedlicher Homepage-URL ergeben getrennte Zeilen. - Artikel ohne Gewicht (
NULL) fließen nicht inDeliveredWeightein. Das Gewicht wird nach dem Summieren auf eine Ganzzahl gekürzt. - Die Hilfsprozedur
util.TempTableDropzum Löschen der temporären Tabelle liegt nicht vor.
Parameter
| Parameter | Typ | Standardwert | Beschreibung |
|---|---|---|---|
DateFrom
|
datetime dateTime |
NULL |
Beginn des Zeitraums (nur Datum, Tagesbeginn). Standard: erster Tag des Vormonats. Beispiel: |
DateTo
|
datetime dateTime |
NULL |
Ende des Zeitraums (nur Datum, Tagesende). Standard: letzter Tag des Vormonats. Muss nach Beispiel: |
SupplNR
|
varchar(4) string |
NULL |
Optionale Lieferantennummer zur Einschränkung des Berichts. Wird getrimmt; leer oder NULL bedeutet alle Lieferanten. Beispiel: |
Antwort
Result-Set 1 · Bei Erfolg (gültiger Zeitraum)
Verdichtete gelieferte Mengen, Gewichte und Beträge je Monat, Lieferantenland und Zolldaten.
| Spalte | Typ | Beschreibung |
|---|---|---|
Year
|
int |
Jahr des letzten Änderungsdatums des Lieferungskopfs. |
Month
|
int |
Monat (1–12) des letzten Änderungsdatums des Lieferungskopfs. |
SupplierCountry
|
varchar(3) string |
ISO2-Code des Lieferantenlands, |
CustomsCountryOfOrigin
|
string |
Ursprungsland des Artikels für den Zoll; Leerstring falls nicht gepflegt. |
CustomsTariffNumber
|
string |
Zolltarifnummer des Artikels; Leerstring falls nicht gepflegt. |
CustomsTariffText
Kann leer sein |
string |
Zolltariftext des Artikels bzw. der Artikelname, falls der Text leer ist. |
DeliveredWeight
Kann leer sein |
int |
Summe aus Artikelgewicht × gelieferter Menge, als Ganzzahl. |
DeliveredQty
Kann leer sein |
decimal |
Summe der gelieferten Mengen. |
DeliveredAmount
Kann leer sein |
money decimal |
Summe aus gelieferter Menge × finalem Lieferantenpreis. |
HomePageUrl
Kann leer sein |
string |
Homepage-URL des Lieferanten. |
Result-Set 2 · Bei Fehler (ungültiger Zeitraum oder beliebiger SQL-Fehler)
Statuszeile mit der Fehlermeldung.
| Spalte | Typ | Beschreibung |
|---|---|---|
Status
|
varchar(5) string |
Immer |
Message
Kann leer sein |
nvarchar(4000) string |
Fehlermeldung. |
Beispielantwort
<SqlRowSet1>
<row>
<Year>2024</Year>
<Month>5</Month>
<SupplierCountry>CN</SupplierCountry>
<CustomsCountryOfOrigin>CN</CustomsCountryOfOrigin>
<CustomsTariffNumber>85176200</CustomsTariffNumber>
<CustomsTariffText>Bluetooth headset</CustomsTariffText>
<DeliveredWeight>48</DeliveredWeight>
<DeliveredQty>240</DeliveredQty>
<DeliveredAmount>3120.0000</DeliveredAmount>
<HomePageUrl>www.example-supplier.cn</HomePageUrl>
</row>
<row>
<Year>2024</Year>
<Month>5</Month>
<SupplierCountry>DE</SupplierCountry>
<CustomsCountryOfOrigin>DE</CustomsCountryOfOrigin>
<CustomsTariffNumber>49019900</CustomsTariffNumber>
<CustomsTariffText>Printed books</CustomsTariffText>
<DeliveredWeight>150</DeliveredWeight>
<DeliveredQty>300</DeliveredQty>
<DeliveredAmount>2850.0000</DeliveredAmount>
<HomePageUrl>www.verlag-beispiel.de</HomePageUrl>
</row>
</SqlRowSet1>
Fehlermeldungen
| Status | Meldung | Ursache |
|---|---|---|
| Error | DateTo parameter is smaller then DateFrom parameter. | `DateTo` (Tagesende) liegt nicht nach `DateFrom` (Tagesbeginn). `DateTo` am oder nach `DateFrom` übergeben; ein fehlendes `DateTo` steht auf dem Ende des Vormonats. |
| Error | Time span of more than 24 months is not alowed. | Der Zeitraum umfasst mehr als 24 Monatswechsel. Die Abfrage auf kürzere Zeiträume aufteilen. |
Beispiele
POST https://apigateway.descartes.com/tms/pixi/
Content-Type: text/xml; charset=utf-8
Authorization: Basic BASE64(USERNAME:PASSWORD)
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://apigateway.descartes.com/tms/pixi/">
<SOAP-ENV:Body>
<ns1:pixiFederalStatisticReport>
<!-- <DateFrom>2024-05-01T00:00:00</DateFrom> -->
<!-- <DateTo>2024-05-31T00:00:00</DateTo> -->
<!-- <SupplNR>S001</SupplNR> -->
</ns1:pixiFederalStatisticReport>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
curl -X POST 'https://apigateway.descartes.com/tms/pixi/' \
--user 'USERNAME:PASSWORD' \
--header 'Content-Type: text/xml; charset=utf-8' \
--data-binary @- <<'XML'
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="https://apigateway.descartes.com/tms/pixi/">
<SOAP-ENV:Body>
<ns1:pixiFederalStatisticReport>
<!-- <DateFrom>2024-05-01T00:00:00</DateFrom> -->
<!-- <DateTo>2024-05-31T00:00:00</DateTo> -->
<!-- <SupplNR>S001</SupplNR> -->
</ns1:pixiFederalStatisticReport>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
XML
<?php
$soapClient = new SoapClient(null, [
'login' => 'USERNAME',
'password' => 'PASSWORD',
'location' => 'https://apigateway.descartes.com/tms/pixi/',
'uri' => 'https://apigateway.descartes.com/tms/pixi/',
]);
$arguments = [
// 'DateFrom' => '2024-05-01T00:00:00',
// 'DateTo' => '2024-05-31T00:00:00',
// 'SupplNR' => 'S001',
];
$soapArguments = [];
foreach ($arguments as $name => $value) {
$soapArguments[] = new SoapVar($value, XSD_STRING, '', '', $name);
}
$response = $soapClient->__soapCall('pixiFederalStatisticReport', $soapArguments);
Verwendete Tabellen
- SQL-Objekt:
- dbo.pipiFederalStatisticReport