SQL Shipper

SQLShipper – BarcodeShipping mit Datenbank Direktanbindung

Sie wollen für den Versand Waren und Paketen keine extra Text-, CSV-, XML- oder ähnliche Dateischnittstelle für Ihre proprietäre ERP- oder Versand-Software teuer programmieren lassen?

Dann haben wir die ideale Lösung für Sie, mit der Sie jede beliebige Datenbank an unsere Versandlösung für Ihren (Online-)Shop zwecks automatisiertem Versandlabeldruck ganz einfach anbinden können.


Nutzen Sie BarcodeShipping mit unserem Modul „SQL Datenbank Direktanbindung“!


Unser Software-Modul SQLShipper versetzt Sie in die Lage passend zu Ihren Aufträgen aus jeglicher Art von Datenbank mittels proprietärer und ODBC-Treiber, sofern ein entsprechender JDBC-Treiber verfügbar ist, über ein einfaches SQL-Mapping die für den Labeldruck notwendigen Datensätze zu ziehen und über unsere Software BarcodeShipping z.B. das notwendige Versandlabel zu drucken.
Des Weiteren stehen Ihnen selbstverständlich alle Möglichkeiten von BarcodeShipping zur Verarbeitung dieser Daten zur Verfügung.
Auch z.B. Trackingnummern des jeweiligen Versanddienstleisters können über das Modul SQLShipper an Ihre Datenbank respektive Ihr Shopsystem zurückgemeldet und genutzt werden.

SQLShipper – Einsatzmöglichkeiten der SQL Datenbank Direktanbindung mit BarcodeShipping

    • BarcodeShipping verbindet SQL Datenbank Direktanbindung mit Ihren genutzten Versanddienstleistern. Nutzen Sie zahlreiche Funktionen, mit denen Sie den Versandprozess automatisieren und damit vereinfachen:
    • BarcodeShipping als zentrale Schnittstelle: Die Anwendung lädt alle notwendigen Daten aus der SQL Datenbank Direktanbindung, wie Artikelnummer oder Empfängeradressen. Nachdem alle Artikel eingegeben oder eingescannt wurden und damit der Versand abgeschlossen werden kann, speichert BarcodeShipping den Status der Bestellung sowie Trackingnummer in Ihrer SQL Datenbank ab.
    • BarcodeShipping als Automatisierung: Nach der Eingabe der Artikel wird automatisch ein Versandlabel generiert und gedruckt. Sie nutzen verschiedene Versanddienstleister? Sie können die Auswahl entweder beim Versand manuell treffen oder ein Skript einstellen. Mit diesem kann BarcodeShipping den passenden Dienstleister nach Ihren Vorgaben automatisch auswählen.
    • BarcodeShipping ist Qualitätssicherung: Ein Versandetikett wird erst erstellt und die Bestellung damit als „vollständig“ markiert, wenn alle enthaltenen Artikel eingegeben oder eine Teilsendung bestätigt wurde. Damit wird die korrekte Abwicklung sichergestellt.

Anleitung gesucht?

Dann klicken sie doch gerne hier!

Wie funktioniert der SQLShipper?

Da Barcodeshipping eine JAVA-basierte Anwendung ist, kann diese mittels der JDBC-API auf jede beliebige Datenbank, welche über JDBC-Treiber verfügt zugreifen und dort Operationen – sogenannte SQL-Statements – ausführen. Abhängig von den Befehlen können somit die Daten gelesen (select) oder geschrieben bzw. aktualisiert (insert / update) werden.
Auch Datenbank, die lediglich über einen nativen oder einen ODBC-Treiber verfügen, können über entsprechende „JDBC ODBC Bridge Driver“ bzw. „Partial Java JDBC Driver“ erreicht und angebunden werden.
Sogar Systeme, deren Datenbank z.B. lediglich über eine Middleware zugreifbar ist, können über „Pure Java JDBC Driver“ verknüpft werden.

Ist der JDBC Datenbankzugriff erst definiert können Sie nun Abfragen mittels des SQLShippers an Ihre Datenbank senden.

Im Prinzip funktioniert jede Abfrage an Ihre Shop-Datenbank per SQL-Befehl, bei dem die Inhalte- auch kombinierte – auf das entsprechende Attribut in BarcodeShipping gemappt werden: 

SELECT ID AS orderID, …, strasse AS shipToStreet
FROM Customers;

Es stehen hierzu 5 verschiedene Typen von SQL-Statements im SQLShipper zur Verfügung, die im folgenden beschrieben werden. 

Über die „PreviewQuery“ können Sie per einfachem SQL-Statement Auftragsdaten aus Ihrer ggf. proprietären Shop-Datenbank ins BarcodeShipping holen und zur Anzeige bringen. 

Bsp. „previewQuery“:

SELECT df_empfstat
              ||-|| df_niederlas
              ||-|| df_datauftannahme
              ||-|| df_lfdnrauftrag                       AS orderid,
       df_pod                                          AS ordernumber,
       df_empfname1                                    AS shiptoname,
       l.df_lkz_iata                                   AS shiptocountry,
       ’processing‘                                AS status,
       df_datauftannahme                               AS orderedat,
       df_datauftannahme                               AS createdat,
       df_niederlas                                          AS paymentmethod,
df_pod_reference ex_hwb from “dba“.tb_auftragsdaten aleft JOIN dba.tb_laender lon a.df_empflkz = l.df_lkzwheredf_datauftannahme > CONVERT(date, now()1 ) AND df_niederlas = ‚cas’and df_pod_reference IS NULL
AND df_auftrags_status IN (3,1) AND df_empfstat IN ( ‚r03‘) AND l.df_lkz_iata != ‚kv’“

Mit der „OrderQuery“ können Sie über einen weiteren SQL-Befehl die Daten einzelner Bestellungen aus Ihrem Auftragsvolumen einsehen und zur Verarbeitung innerhalb BarcodeShippings nutzen. 

Bsp. „orderQuery“:

SELECTDF_NDL ||-|| df_datauftannahme ||-|| df_lfdnrauftrag AS ordernumber,df_pod AS orderid,df_pod ||
(
       SELECT char(13)
                     || ‚mfr-|| z.df_nr_ausfuhranmeldung
       FROM   dba.tb_zolldaten z
       WHERE  a.df_datauftannahme = z.df_datauftannahme
       AND    a.df_lfdnrauftrag = z.df_lfdnrauftrag
       AND    a.df_niederlas = z.df_niederlas ) AS ‚reference‘,’processing‘ AS status,df_niederlas AS paymentmethod, ‚eur‘ AS currency,df_empfname1 AS shiptofirstname,df_empfname2 AS shiptomiddlenme, df_empfname3 AS shiptolastname,l.df_lkz_iata AS shiptocountry,df_empfstr AS shiptostreet,df_empfhnr AS shiptohousenumber,df_empfhnrzusatz AS shiptoadditionallines, df_empfplz AS shiptopostcode,df_empfort AS shiptocity,df_ruf_empf AS shiptophone FROM dba.tb_auftragsdaten a LEFT JOIN dba.tb_laender l ON a.df_empflkz = l.df_lkz where df_datauftannahme > CONVERT(date, now()30 )
AND df_niederlas = ‚cas‘ AND df_pod_reference IS nulland df_auftrags_status IN (3,
1) AND df_empfstat IN (‚r01‘, ‚r03‘) AND df_pod = :orderId“

Mittels dem SQL-Befehl in der ItemQuery können SIe wiederum einzelne Items aus einer Bestellung anzeigen und verarbeiten. 

Bsp. „itemQuery“

SELECT1AS itemid,1AS sku,123AS ean,
       a.df_inhalt                           AS NAME,
       ‚de‘                              AS country,123456789AS commoditycode,
       a.df_warenwert                        AS price,
       Replace(a.df_real_kg,,,‘.‘) AS weight,
       a.df_anzpack                          AS quantityinvoiced,
       a.df_anzpack                          AS quantityordered,0AS quantityshipped from “dba“.tb_auftragsdaten a where df_datauftannahme > CONVERT(date, now()30 )
AND    df_niederlas = ‚cas’and df_pod_reference IS nulland df_auftrags_status IN (3,1)
AND df_empfstat IN (‚r01‘, ‚r03‘) AND df_pod = :orderId“IGNOREGENERATEDKEYS: true

Damit Informationen wie z.B. die Trackingnummer zu einer Bestellung an die gewünschte Stelle Ihrer Datenbank zurückgeschrieben wird, steht das „UpdateOrderStatement“ zur Vergügung.
Somit werden die benötigten Versandinformation auch in Ihrem Shopsystem verfügbar gemacht.

Bsp. „updateOrderStatements“:

UPDATE „dba“.tb_auftragsdaten
SET    df_pod_reference = :shipment.trackingnumber
WHERE  df_pod = :orderId
AND    df_niederlas
||-|| df_datauftannahme ||-|| df_lfdnrauftrag = :orderNumber AND df_niederlas = ‚cas‘
AND df_pod_reference IS NULL AND df_auftrags_status IN (3,1)
AND df_empfstat IN (‚r01‘, ‚r03‘)“UPDATEORDERITEMSTATEMENTS: []

Bsp „OrderItemUpdateStatement“

Kann frei formuliert und genutzt werden, um ein UPDATE oder INSERT Statement auszuführen. Beispielsweise, um den Bestand eines Artikels oder den Versandstatus zu aktualisieren.

Beispielkonfiguration SQLShipper innerhalb BarcodeShippings:

UPDATE kbestellpositionen
SET    shipped_qantity = :item.quantitycomplete
WHERE  bestellpost_id = :item.id