NAS - anbindung

23. März 2006 14:34

Hallo zusammen,

in einem Studienprojekt möchte ich gerne das Einlesen von bestimmten MSMQ in Navision automatisieren. Die Procedure zum anstoßen in Navision habe ich schon programmiert, lediglich das "horchen" auf einen bestimmten Ordner fehlt mir. Da wurde ich dann in der Literatur auf den NAS gestoßen und dass dieser die Aufgabe der autoamtisierung übernimmt. Leider bekomme ich diesen aber nicht wirklich ans laufen.

Bei der Installation des NAS gibt es eine Anleitung, allerdings komme ich nicht in die Punkte, die dort angegeben werden. Z.B. beschreibt die Doku, dass man bestimmten Preferences einstellen muss, aber die finde ich nicht.

Den Service manuell anstoßen geht bei mir auch nicht, dort bekomme ich den Fehler: "Fehler1 unzulässige Funktion"

In dem NAS-Manager kann ich auch keinen Application Server hinzufügen, dort kommt die Fehlermeldung: "unable to locate Application server"

Ich habe das Gefühl, dass der Server zwar installiert ist, aber noch nicht aktiv ist. Nach vielen erfolglosen Recherchen im Internet bin ich nun bei Euch gelandet und wollte Euch fragen, ob es eine "dummy"-Anleitung zu diesem Thema gibt, wie man den NAS richtig installiert und evtl. eine kleine automatisierung einstellt.

Die Systeme laufen alle local auf meinem Rechner und gehen nicht über das Netzwerk. Eigentlich sollte das ganz einfach sein, aber irgendwie scheine ich diesem Thema nicht gewachsen zu sein. Jedenfalls noch nicht.

Vielen Dank für Eure Hilfe

Gruß

Martin

24. März 2006 08:54

Hallo MartinSk!

Herzlich wilkommen hier im Forum.
Ich bin mir nicht ganz sicher, aber evtl. könnte es von der Lizenz abhängig sein!
Arbeitest du mit der CRONUS Lizenz oder habt Ihr eine eigene Firmenlizenz bei Euch?
Gruß Mikka

26. März 2006 23:00

Hallo Martin,

vielleicht hilft dir das weiter:

Was der NAS macht wird in der Codeunit 1 im Trigger NASHandler gesteuert. Abhänig von den Startup-Parametern werden bestimmte Codeunits gestartet.

Viele Grüße

Helge

hallo und danke

27. März 2006 08:27

hallo zusammen,

erstmal danke für die schnelle Antworten.

Ich habe mir auch schon gedacht, dass meine Lizenz evtl. nicht für das nutzen des NAS geeignet ist, die Frage ist allerdings, wie man das definitiv feststellen kann. NAS installieren ging ja und die Dienste wurden unter Windows auch installiert. Weiterhin konnte ich die Dienste deinstallieren und neu installieren, allerdings dies nur in der Eingabeaufforderung von windows (cmd). Dazu habe ich eine nette Beschreibung online gefunden. Aber nun geht die Beschreibung auf den Manager ein um Parameter und Einstellungen zu verändern, welcher bei mir nicht so aussieht wie in der Beschreibung.

die Beschreibung basiert auf den NAS 3.7 und ich benutze 4.0

Gibt es in diesen beiden Versionen so große Unterschiede?

@Helge
Wenn ich das logisch richtig verstehe, so kann ich in dem NAS einen bestimmten Ordner angeben, wo der NAS MSMQ einließt und die eingelesenen Parameter, welche vorher im NAS angegeben wurden an die codeunit 1 weitergibt, oder irre ich mich da?
Wenn ich die MSMQ dierekt an den NAS gebe, funktioniert das über einen Port? (Das wäre die zeite Variante die mir einfallen würde)

vielen Dank für eure Hilfe

Gruß

Martin

Nachtrag

27. März 2006 08:29

ein kleiner Nachtrag,

ich arbeite mit der Cronus AG, habe allerdings eine Entwicklerlizenz um u.a. Codeunits zu erstellen, Tabellenanlegen, etc.

gruß

Martin

27. März 2006 09:29

@MartinSk

>>"Fehler1 unzulässige Funktion"

Hast Du in der NavisionDB ein Login mit Windows-Anmeldung erstellt?
Danach musst Du sicherstellen, dass der Dienst (NAS) mit dem gleichen Windows-Benutzer gestartet wird.!

Gruss
Martin

irgendwie will das nicht...

30. März 2006 07:27

Hi,

danke für die Info mit dem Windowsbenutzer, den ich in der Tat noch nicht angelegt hatte, aber jetzt, wo er angelegt ist, kommt immer noch die selbe Fehlermeldung. Um sicherzugehen, dass mir kein Fehler unterlaufen ist, möchte ich kurz meine Vorgehensweise schildern.

Unter Navision habe ich einen neuen Windowsbenutzer mit der Rolle super angelegt, welcher genauso heißt wie derjenige, der sich an Windows anmeldet. Nennen wir den User mal MartinSk. Für die ID ist aber auch der PC-Name wichtig, daher steht nun bei mir ID = MeinRechner\MartinSk mit der Rolle super.
Unter Windows melde ich mich nun mit dem Konto MartinSk an (alles gleich geschrieben) und gehe in die Verwaltung unter die Dienste. Dort gibt es dann die NAS-Dienste, die in dem Feld "anmelden als" .\MartinSk stehen haben, also dürfte es hier keine Probs geben. Habe auch mal anstatt .\ MeinRechner eingegeben, das macht keinen Unterschied. Ich bekomme immer noch die Fehlermeldung "Fehler1 unzulässige Funktion".

Liegt denn das wirklich an dem Key den ich besitze? Habe ich eine Möglichkeit das irgendwie festzustellen? In der Lizenzvereinbarung steht, dass ich eine Schul- und Entwicklerlizenz habe. Aber was das genau umfasst konnte ich nicht feststellen.

Ach, ist irgendwie alles sehr frustrierend.

Danke für die Hilfe

Gruß

MartinSk

30. März 2006 09:42

Martin

Nun eine ganz blöde Frage:
Du hast den NAS konfiguriert? StartUpParameter gesetzt?
Du hast im Trigger 99 der CodeUnit 1 den StartUpParameter abgehandelt?

Gruss

30. März 2006 11:18

hi,

vermutlich hast du die codeunit 1 noch nicht eingerichtet.
Du musst in dieser cu eine neue Funktion erstellen und ihr in den properties (also den properties der Funktion selber) den "ID" Wert 99 zuweisen. Zusaetzlich braucht die Funktion einen Text Parameter mit der Laenge 1024.

Um im NAS Manager einen neuen NAS (den man ja bei der Installation bereits angegeben hat) zu erstellen, musst du den Namen eingeben, den du bei der Installation vorhin verwendet hast (allerdings die kurze Version ohne dem "Navision Attain Application Server").

gruesse
feri

30. März 2006 20:36

@martin
zwischen dem nas 3.7 und 4.0 gibt es keine großen Unterschiede, die Doku vom 3.7 sollte okay sein. Wie feri richtig bemerkt ist es nötig, in der Codeunit 1 - Function 99 die Startup-Parameter (einzustellen über das NAS-Snap in in der MMC oder als Parameter in der Kommandouzeile) abzufragen. Üblicherweise wird aus diese Codeunit heraus eine weitere Codeunit aufgerufen, die die Kommunikation mit z.B. der MSMQ übernimmt. Wie das aus Navision heraus angesteuert wird ist in der Onlinehilfe ganz gut beschrieben.

Viele Grüße

Helge

26. April 2006 17:24

feri hat geschrieben:Du musst in dieser cu eine neue Funktion erstellen und ihr in den properties (also den properties der Funktion selber) den "ID" Wert 99 zuweisen. Zusaetzlich braucht die Funktion einen Text Parameter mit der Laenge 1024.


Ich beschäftige mich zur Zeit gerade auch mit NAS und hab da so meine Probleme. In CU1 gibt es vom Standard her bereits einen Trigger mit der ID 99, er heisst NASHandler. Einen zweiten kann ich da natürlich nicht mehr anlegen. Der Textparameter hat da nur die Länge von 260.

Wenn ich NAS ab command-prompt starte erhalte ich die Fehlermeldung: Mit dem Startparameter xy konnte kein Service gestartet werden. xy ist der Wert, den ich in startupparameter mitgebe.

Weiss jemand Rat?

Installation NAS

26. April 2006 20:39

Hi,

ich habe meine Probleme lösen können und möchte nun versuchen Dir weiterzuhelfen.

Zuerst musst Du den Navision Server vor dem Client und NAS installieren, dann den Client bzw. den NAS. Logge Dich mit dem Client direkt auf die Datenbank ein und lege dort Windowsbenutzer an. (beachte auch die Rolle "super"). Ändere nun Dein Navision-login, so dass Du Dich mit den Client auf den NS einloggst, welcher sich auf die Datenbank connectet.

Es wurden vom NAS schon services installiert, welche Du benutzen kannst, oder aber auch neu anlegen kannst.

deinstalleiren

Nas appservername=[machinename]-CLASSIC, uninstallasservice

installieren

Nas appservername=NAS, installasservice

jetzt hast Du einen Service mit dem Namen NAS.

Gehe nun in die Eigenschaften und ändere den Part "anmelden als" wähle hier den User, den Du auch in Navision hinterlegt hast. Nachdem nun User und Passwort geändert ist, müssen nun noch einige andere Dinge eingestellt werden, die man von hier aus nicht mehr machen kann. Eine komplizierte Möglichkeit ist die konfiguration in der Registry, die einfachere im NAS-Manager.

Im NAS-Manager muss nun ein neuer NAS angelegt werden. Wähle hostname und Service (wenn Du meinen oben genannten Service nimmst "NAS"). Nun ändere noch den Mandanten ab, so wie er in Navision angegeben ist. Cronus AG war bei mir im NAS etwas anders geschrieben als im Client.

Gehe nun in Navision und lege eine neue Function in der Codeunit 1 an und benenne diese mit der ID 99. Den NAS-HAndler setze zu Probe auf 1000 oder auf eine andere ZAhl, die frei ist. Nun kannst Du den Service starten und benutzen.

So, ich hoffe, ich konnte Dir etwas weiterhelfen. Übrigens findest Du im Internet eine nette Doku mit dem Namen

"NAS TUTORIAL

How to create an application using Navision Application Server in 30 mins.
"

Dort kann man sich eine Datei mit dem Namen nastest.zip runterladen. Habe jetzt auf die schnelle keinen Link gefunden, einfach ein bißchen googeln...

viel Spaß noch mit dem NAS

Gruß

Martin

27. April 2006 09:45

Hallo Martin

Ganz herzlichen dank für Deine Ausführungen. Damit habe ich es geschafft, einen NAS-Services einzurichten, Startparameter zu übergeben und in Trigger 99 einen Report als HTML auf die Platte zu speichern. Soweit war ich bis jetzt noch nie. Nochmals danke für die Hilfe!

Nastest

29. Dezember 2006 12:11

Vielen Dank für die Infos!

Anbei die Datei "nastest.zip" für die Nachwelt ;)
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Kein ausführen des NAS

1. März 2007 18:06

Hi Zusammen,

ich stehen derzeit vor dem selben Problem und hoffe ihr könnt mir nun weiter helfen.

Ich habe mich akribisch an die Anweisung von Martin gehalten bzw das Tutorial durchgearbeitet, dennoch bekomme ich folgende Meldung im Ereignisprotokoll mit der ich leider nichts anfangen kann.

"The server does not exist in the 'hosts' file (TCP/IP error NO_DATA)."

In der hosts Datei ist die IP eingetragen die Standardmäßig bei der Installation von Win2003 vergeben wird, Änderungen habe ich keine vorgenommen.


1. Serverläuft ohne weitere Fehlermeldungen
2. Benutzerkonto zur Anmeldung im Dienst ist hinterlegt.
3. Benutzerkonto entspricht dem NavWinLogIn
4. Parameter im NAS-Manager: Datenbankservernam
Mandantenname(gleich dem Lizenzfile)
StartUpParameter
5. Nav Datenbankserver läuft auch.

Vielleicht habt ihr ja noch ein Tip.

Grüße
Marc

1. März 2007 18:14

Mandantenname(gleich dem Lizenzfile)
Wieso? Der Mandantenname muss ja nicht mit dem Namen aus der Lizenzdatei übereinstimmen.
Du musst den Mandanten angeben, wie er in der Datenbank heisst.

Du hast den richtigen Servernamen (Name des DBServers) angegeben?

Gruss

2. März 2007 13:40

Du hast recht, wichtig ist nur das der NAS im Liznezfile enthalten ist.

Der Servername ist korrekt, entspricht dem des NavServerDB.

Grüße

2. März 2007 14:31

Eine ganz blöde Frage:
Kannst Du den DBServer, mit dem Namen den Du beim ApplicationServer eingetragen hast, ab dem ApplicationServer pingen?

Gruss

8. März 2007 10:51

Ne ne, kein blöde Frage.
Die Fragen hat mich auf eine Idee gebracht.
Es ist so, das alles in VPC installiert ist und das somit nur eine IP vorhanden ist, allerdings weist die Hostsdatei eine andere IP aus als vom System vergeben.
Ich werde mal testen wie sich der NAS verhält wenn ich die korrekte IP hinterlege.
Hab ich nicht die Möglichkeit irgendwo zu hinterlegen, das nicht über die Hostsdatei gegangen wird, sondern direkt über einen Namen(Servername)?

Grüße
Marc

12. März 2007 17:02

Das gewünschte Ergebnis konnte ich leider nicht erzielen, also bin ich hergegangen und habe eine SQL Datenbank genommen und versucht den NAS zum laufen zu bringen.

Mit Erfolgt, die eingebundenen Messages werden mir schön im Ereignisprotokoll angezeigt.

Allerdings habe ich nun ein neues Problem, das Ereignisprotokoll zeigt den Hinweis, das mein Parameter(ATASID=TOM) nicht im Application Server eingerichtet sei. Weiter führt der aufgerufene Report aus der Codeunit 1 zwar die Messages aus aber nicht das Coding.

Wieso zeigt er die Messages macht aber keine Verarbeitung?!

Grüße
Marc

12. März 2007 17:13

Hallo
Allerdings habe ich nun ein neues Problem, das Ereignisprotokoll zeigt den Hinweis, das mein Parameter(ATASID=TOM) nicht im Application Server eingerichtet sei.

Dann ist die Konfiguration des NAS falsch.
Hast einen PrintScreen der Einrichtung (Management-Console)?

Weiter führt der aufgerufene Report aus der Codeunit 1 zwar die Messages aus aber nicht das Coding.

Wie meinst Du das?

Gruss