Listy przewozowe DHL

Program Studio System można skonfigurować aby pobierał dane z dowolnych tabel i przekazywał je do transakcji generującej plik XML na potrzeby aplikacji e-case firmy logistycznej DHL.

Transakcja role_sys/dhl2xml.aspx odczytuje ustawienia ze skorowidza prx=XML i na tej podstawie tworzy plik XML, który może być importowany do generowania listu przewozowego.

Uruchomienie

W celu uruchomienia transakcji należy ja uruchomić z następującymi parametrami

  • typ – identyfikator pozycji skorowidza XML
  • refno – identyfikator dokumentu dla którego chcemy utworzyć list przewozowy

Przykład ustawienia wywołania transakcji z rejestru dokumentów wydań z magazynu Wz

uruchom dhl2xml

list przewozowy dhl

Po kliknięciu w przycisk  List przewozowy DHL wyświetla się okno

pobierz list przewozowy dhl

Przycisk pobierz to link do pliku, który po kliknięciu otwiera plik w nowym oknie. Jeżeli chcemy plik zapisać na dysku należy na przycisku kliknąć prawy klawisz myszki i wybrać polecenie ZAPISZ JAKO.

 

Skorowidz XML

W skorowidzu XML definiujemy dane do wykonania zapytania SQL, które zwraca dane pozwalające na utworzenie listy przewozowego. Zapytanie można tworzyć dowolnie podając źródło danych, tak więc listy przewozowe mogą być tworzone z dowolnych dokumentów i kartotek. Wymagane jest jedynie zachowanie zwracanych kolumn i ich nazw zgodnie ze specyfikacją e-case DHL.

skoorowidz XML

 

Gdzie:

  • kolumna tabela zawiera definicję skąd mają być pobierane dane, np. kartoteka kontrahentów wpisujemy KNKON
  • kolumny to lista nazwa kolumn z tabeli KNKON z nazwami zgodnymi z wymaganiami e-case DHL, a więc:
    • NRIDODN AS RECEIVER_ID,
    • SKROCO AS RECEIVER_NAME,
    • KODPOCZTOWY AS RECEIVER_POSTCODE,
    • MIEJSCOWOSC AS RECEIVER_CITY,
    • ULICA AS RECEIVER_STREET,
    • TELEFON AS RECEIVER_TEL,
    • EMAIL AS PRE_REC_EMAIL,
    • ” AS RECEIVER_HOUSENUMBER,
    • ” AS PRE_REC_EMAIL_ADDTEXT,
    • ‚AH’ AS PRODUCT,
    • ‚N’ AS INVOICE_TO,
    • ‚P’ AS PAYMENT_TYPE,
    • ‚0’ AS DOCUMENT,
    • ‚0’ AS GOODS_VALUE,
    • ‚0’ AS CASH_ON_DELIVERY,
    • ‚1’ AS BLP
  • Warunek to klauzula WHERE wskazująca jaki rekord należy odczytać z tabeli np. NRIDODN=(SELECT TOP(1) NRIDODN FROM DPMAG WHERE REFNO=@REFNO)

W efekcie zostanie wykonanie zapytanie:

SELECT TOP(1) NRIDODN AS RECEIVER_ID, SKROCO AS RECEIVER_NAME, KODPOCZTOWY AS RECEIVER_POSTCODE, MIEJSCOWOSC AS RECEIVER_CITY, ULICA AS RECEIVER_STREET, TELEFON AS RECEIVER_TEL, EMAIL AS PRE_REC_EMAIL, '' AS RECEIVER_HOUSENUMBER, '' AS PRE_REC_EMAIL_ADDTEXT, 'AH' AS PRODUCT, 'N' AS INVOICE_TO, 'P' AS PAYMENT_TYPE, '0' AS DOCUMENT, '0' AS GOODS_VALUE, '0' AS CASH_ON_DELIVERY, '1' AS BLP FROM KNKON WHERE NRIDODN=(SELECT TOP(1) NRIDODN FROM DPMAG WHERE REFNO=@REFNO)

które zwróci nam dane z kartoteki kontrahenta, dla którego wystawiono dokument magazynowy o określonym numerze referencyjnym. Numer zostanie podstawiony na podstawie zmiennej (@REFNO) odczytany z parametru refno przekazanego przy uruchamianiu transakcji.

 

Jeżeli błędnie ustawimy konfigurację kolumn lub nie podamy parametrów uruchomienia to plik nie zostanie utworzony, wyświetlony w oknie zostanie komunikat.

 

Podsumowanie

Pliki są tworzone na serwerze w folderze App_Xml gdzie nazwa pliku to dhl-@REFNO, gdzie @REFNO to wartość parametru refno przekazywana przy uruchamianiu.