Ophalen bestellingen

Datum: 2018-10-10
Versie: 2.0

Algemeen

Ingevoerde bestellingen kunnen in Ecmanage opgehaald en of geexporteerd worden naar de leverancier via een download tool. De bestellingen moeten hiervoor in een bepaald processtap verzameld worden. Dit wordt bereikt door het aanpassen van een klant instelling van automatisch naar handmatig, zie onderstaande schermvoorbeeld.

image5

De export functionaliteit in Ecmanage is gebaseerd op het onderstaande mechanisme. Hierbij worden orders verzameld en klaargezet. De orders kunnen geautomatiseerd opgehaald worden, zo vaak als nodig. En als laatste vindt een vertaalstap plaats die zorgt dat de orders in het voor de leverancier benodigde formaat.

image0

Het proces komt neer op de volgende stappen:

In Ecmanage draait een proces dat een xml bestand met orders per leverancier en per klant in de database aanmaakt. (stap a)

Vervolgens is er een routine in Ecmanage die bij deze xml bestanden een oplopend uniek nummer koppelt en dit bestand beschikbaar stelt via http protocol. Daarbij is dit bestand alleen toegankelijk voor gebruikers met de juiste rechten. (stap b)

Vanuit de leverancier wordt middels een downloadtool het xml bestand met orders opgehaald. (stap c)

Na ontvangst van de xml bestanden kunnen deze aan de Ecmanage converter aangeboden worden. Deze kan afhankelijk van configuratie de XML vertalen naar een EDI bestand, of een nog te definiëren ander bestand. (stap d)

Uitgangspunt:

Voor wat betreft het ophalen van de ordergegevens van Ecmanage naar de leverancier, ligt het initiatief bij de leverancier.

Export order data voorbeeld

image1

De structuur van de XML is vastgesteld middels een schema definitie, deze kan je hier downloaden.

Ophalen order bestanden door de leverancier

De order bestanden kunnen automatisch door de leverancier opgehaald worden door de downloadtool.

Deze voert de volgende handelingen uit:

  1. Verzamel alle klaar staande orders
  2. Converteer de orders naar een xml bestand
  3. Verplaats deze xml orders naar een zip bestand

Alle orders van alle klantomgevingen worden verzameld. In het order bestand is wel zichtbaar welke order bij welke klant omgeving hoort.

In het xml bestand wordt een zogenaamd TAGNR opgeslagen. Dit is een oplopend en uniek nummer. Het is mogelijk een eerder opgehaald xml bestand nogmaals op te vragen.

Indien er geen orders in de database aanwezig zijn voor de leverancier dan wordt er wel een TAGNR en een xml bestand aangemaakt. Er zitten alleen geen orders in dit bestand.

Een leeg order bestand ziet er als volgt uit:

image2

Mogelijke foutsituaties

De downloadtool maakt gebruik van een reguliere webpagina om de gegevens te downloaden. Het is in bepaalde situaties mogelijk dat de webpagina geen response geeft, in dat geval zou er in de browser een foutmelding getoond worden, het tool stopt deze foutmelding echter in het bestand dat opgeslagen wordt.

Hoe kan er dan een fout gedetecteerd worden?

Er zal eerst gekeken moeten worden of het bestand orderexport.zip niet eigenlijk een html pagina is. Indien dat het geval is dan staat daar de foutmelding in, als de orderexport.zip een echt zip bestand is dan is het downloaden correct gegaan.

Een voorbeeld:

image3

Of

image4

Mocht het niet goed zijn gegaan dan zijn er geen orders vermist, het is immers altijd mogelijk op basis van het tagnr een bestaande bestand op te halen.

Mogelijke foutsituaties:

1. Ecmanage is niet in de lucht ivm onderhoud.

Er wordt dan een html pagina gedownload met de titel “Tijdelijk niet bereikbaar”.

2. url is niet correct in het curl commando.

Er wordt dan een html pagina gedownload met de tekst Object moved to here.

3. bestandnaam achter url is niet correct.

Er wordt dan een tekst gedownload met de inhoud “Error : Filetype not Found. Please check spelling.”

4. gebruiker gegevens in curl commando zijn niet correct.

Er wordt dan een html pagina gedownload met de tekst Object moved to here.

5. technische storing, bijvoorbeeld uitvallen internet verbinding tijdens download.

Bestand dat gedownload is kan dan corrupt zijn.

Informatie over herkenning zip bestanden

Volgens de informatie op de volgende pagina: http://en.wikipedia.org/wiki/Unzip#Structure

begint een zip bestand met de volgende hexadecimale bytes: 0x04034b50

Zie als voorbeeld de onderstaande dump:

D:Transfer>debug export.zip

-D

0CD2:0100 50 4B 03 04 14 00 00 00-08 00 FC 65 09 3F 57 B1 PK………e.?W.

0CD2:0110 FF B4 D0 00 00 00 51 01-00 00 18 00 00 00 4F 52 ……Q…….OR

0CD2:0120 44 45 52 45 58 50 4F 52-54 5F 30 30 30 30 30 34 DEREXPORT_000004

0CD2:0130 32 31 2E 78 6D 6C 65 50-D1 6A C3 30 0C 7C EF 57 21.xmleP.j.0.|.W

0CD2:0140 08 BD 97 DA 5E D7 66 A5-29 EC 03 C6 3E 61 98 59 ….^.f.)…>a.Y

0CD2:0150 09 A6 B1 1D 64 17 B2 BF-9F 1C A7 30 D8 83 E1 4E ….d……0…N

0CD2:0160 77 3E 89 BB D2 32 27 2E-89 1D 71 86 46 BC EB D1 w>…2’…q.F…

0CD2:0170 28 A5 10 8A 1D 23 F7 78-34 1A E1 3B 85 D9 C6 9F (….#.x4..;….

-^C

-quit

D:Transfer>

Letop in bovenstaand voorbeeld kan het dos debug commando alleen bestanden aan met een ouderwetse naam in formaat “8.3”.

Configuratie nieuwe Ecmanage klant omgevingen.

Indien u reeds een koppeling heeft dan moeten nieuw aangemaakte omgevingen goed geconfigureerd worden voordat deze werken via de koppel route.

Stap 1: Zorg voor de juiste configuratie van de bestel workflow:

Log in op de klant omgeving. Ga naar het menu SysteemKlant Instellingen.

Daar staat een lijst mogelijke instellingen, ga naar de sectie Workflow Settings en zoek de optie met de omschrijving: “Moeten de bestellingen automatisch naar de leverancier verzonden worden? Indien N dan moeten de bestellingen handmatig opgehaald worden via het leveranciers portal.”

Die optie dient Uit te staan. Dit zorgt ervoor dat orders blijven wachten in Ecmanage totdat ze opgehaald worden door de koppel programmatuur.

Stap 2: Geef in Ecmanage het juiste debiteurnummer op voor deze klant.

Log in op de klant omgeving en ga naar Onderhoud \ Stamgegevens\ Afdelingen.

Kies daar de hoogste afdelingen. Aan de rechterkant is dan een wijzig scherm met het veld Referentiecode, daar kan het debiteuren nummer ingevoerd worden.