Avatar billede bendsen Nybegynder
09. december 2009 - 09:53 Der er 10 kommentarer og
1 løsning

Navision Application Server

Hej.

Har et problem hos en kunde, som batch-udveksler ordrer/fakturaer via FTP. Jeg har lavet nogle rettelser i forbindelse med nye filformater.

Alt fungerer perfekt, når man kører batch fra en ægte klient på serveren og logget ind som rigtig database-bruger i Nav.

Men når man starter NAS-servicen op med den bruger, der tidligere (før tilretninger) har virket, går 'noget' i fejl. Jeg har mistanke om at NAS-brugeren ikke kan se nye tabeller m.v.

Jeg har prøvet at genstarte Navision databaseserver og efterfølgende NAS'en, det hjælper ikke.

Jeg overvejer at genstarte serveren, men da den ikke står fysisk hos kunden, skal det jo helst være på et tidspunkt, hvor hosting-centret kan hjælpe, og lige netop da har kunden absolut ikke brug for en server-genstart. Men er det løsningen?

Navision 4.0 SP1
Server 2003 Small Business SP2

På forhånd tak.
Avatar billede didb Nybegynder
09. december 2009 - 10:00 #1
Hej.

Har du ændret noget der gør at licensfilen skal opdateres på NAS'en? Så skal du kopiere licensfilen ind i biblioteket hvor NAS'en ligger.

Start evt. NAS med parametret DEBUG, så kan du se hvor den fejler..

Anders
Avatar billede bendsen Nybegynder
09. december 2009 - 10:26 #2
Der er ikke lavet ændringer, der kræver nye licenser - den kan køre på klienten med kundens oprindelige licensfil.

Jeg vil prøve med debug på et tidspunkt, hvor der er 'ro i geledderne'. I Application Server Manager er der allerede angivet 'DIM' i Start-Up Parameter. Skal der blot tilføjes
', DEBUG' til denne?
Avatar billede cpfrande Nybegynder
09. december 2009 - 10:39 #3
Halløjsa,

Har du evt. kigget i EventVieweren på serveren, hvor NASen kører for at se, om den melder fejl der?

NASen bryder "aldrig ned" som sådan, men melder sine fejl ind i EventVieweren.

Desuden er NASen begrænset med de objekter, som den kan køre - den kan f.eks. ikke køre dataporte.

EventVieweren kan dog indeholder behjælpelige fejltekster.
Avatar billede bendsen Nybegynder
09. december 2009 - 11:27 #4
Har lige kigget i Event Vieweren, den giver ikke rigtig noget.

NAS'en bryder heller ikke ned som sådan, men i stedet for at indlæse ordrer, smider den dem i en fejlmappe. Det vil muligvis kunne ses hvorfor ved debug, men som tidligere beskrevet, er det ikke lige en mulighed i dagtimerne.

Nu siger du, den ikke kan køre dataporte - gælder det også, hvis de kaldes fra en codeunit, der afvikles af NAS? Så har jeg nemlig en spændende opgave forude, da jeg benytter dette princip til at indlæse ordrerne...
Avatar billede cpfrande Nybegynder
09. december 2009 - 11:59 #5
Halløj igen,

Ja, det gælder i alle tilfælde. Dataporte kan ikke startes fra en NAS - hvorfor ved jeg simpelthen ikke, fordi man kan nemt gøre det med f.eks. rapporter (som jo sådan set har samme måde at arbejde på).

Så det er helt sikkert fejlen her.

Dog plejer NASen at udskrive en "Warning"-besked i EventVieweren, der beskriver problemet. Det har den i hvert fald altid gjort for mit vedkommende.
Avatar billede bendsen Nybegynder
09. december 2009 - 12:31 #6
Av, ja så kan jeg godt se, der skal laves noget om.

Problemet er, at de data, der skal læses ind, er i én lang tekststreng (EDIFACT), hvor hver del-info adskilles med en apostrof (det er med garanti ikke en programmør, der har fundet på det ¤#!§&*), som vist herunder:

UNA:+.? 'UNB+UNOC:3+7365565995042:14+DK01234567:92+091027:1317+ORD1141639++++++1'UNH+1+ORDERS:D:96A:UN:PDO002' osv...

Datastrengen kan sagtens være over 1024 karakterer. Jeg kender simpelthen ikke nok til READ/WRITE i C/AL til at vide, hvordan man hakker sådan én i læsbare stykker, derfor var dataporten jo en dejlig simpel løsning... indtil for en time siden...

Håber, nogen kan hjælpe.
Avatar billede cpfrande Nybegynder
09. december 2009 - 13:13 #7
Hej igen,

Der er jo metoderne STRPOS og COPYSTR som kan bruges til at søge samt "cutte" i en streng.

Lad os sige linjen så således ud (for at starte med noget nemt):
1;Kristian;blog.frande.dk
2;Peter;peter.frande.dk

Så kunne man jo bruge STRPOS til at finde positionen af det næste ; og bruge COPYSTR til dels at hive værdien ud før ; og finde "reststrengen". Dvs. strengen man søger I bliver mindre og mindre:

1;Kristian;blog.frande.dk
Kristian;blog.frande.dk
blog.frande.dk

Selve fillæsningen sker jo blot ved en simpel fil-variable.READ, hvor du i en iteration hele tiden READ'er en ny linje i filen.

Husk der nok kan være noget Ansi til Ascii konvertering af værdierne så man ikke få læst "sjove" tegn ind.

Hvis du slet ikke har nogen erfaring (og har begrænset udviklingserfaringer i Navision) vil jeg da råde dig til at finde en Navision-leverandør, der kan hjælpe dig i stedet. Der hvor jeg arbejder står vi naturligvis gerne til rådighed med en endelig løsning, hvis du skulle ønske det.

Men jeg håber det hjalp dig lidt på vej...
Avatar billede bendsen Nybegynder
09. december 2009 - 13:34 #8
Ja men problemet er jo at der én linie, som kan være flere tusinde karakterer lang og derfor ikke passer ind i en tekstvariabel (max 1024). Ellers havde problemet ikke været så stort.

Udfordringen er at få READ til at stoppe, når den møder en apostrof, behandle det indlæste (skille ved +-:, det er der styr på) og så læse næste stump indtil apostrof.

Jeg har 5 års erfaring i C/AL, har bare aldrig brugt READ/WRITE før.
Avatar billede cpfrande Nybegynder
09. december 2009 - 14:01 #9
Hej igen,

I det tilfælde kan du bruge TEXTMODE(FALSE) på filen til at angive du vil læse den binært - så læser den ikke én linje af gangen, men i stedet et antal bytes.

Så skal du jo så blot selv finde ud af at finde skellet hele tiden...

Det er selvf. en større ting, men desværre er Navision ikke så handy til det - og skal man gøre det igennem en NAS, ja, så vil det desværre ikke være muligt med en dataport.

En meget ufin løsning kunne også være at have en alm. klient stående, der står med en form åben og som opdatere sig selv efter x tid. Den vil så kunne køre dataportene. Der vil man dog ikke kunne køre det som en service og går klienten ned, jamen... så går den jo desværre ned. Men der er da leverandører, der gør det på den måde.
Avatar billede bendsen Nybegynder
10. december 2009 - 12:09 #10
Det med TEXTMODE lyder som en løsning, så er tingene i hvert fald kommet ind i Nav til viderebehandling.

At have klienten stående og snurre er ikke langtidsholdbart - det kører sådan lige nu af nød, men skal laves rigtigt.

Så jeg lukker sagen her og bokser videre på egen hånd ;o)

cpfrande, points'ene er på vej
Avatar billede cpfrande Nybegynder
10. december 2009 - 12:53 #11
Det er bare i orden.

Ja, det med at bruge klienten som en "NAS" er ikke godt procedure - og langt fra holdbart. Det var som sagt også en "ufin" metode til det.

Men held og lykke med det...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester