Options

How reliable is NAS?

ashu_gargsashu_gargs Member Posts: 16
I am planning to route all the posting routines through NAS for almost all versions of navision (which supports NAS). Need help to assess the strength of NAS .. Is it stable as other MS services or crashes when loaded ?? any prerequisite for NAS stability (any hotfix , dll etc.)
If you have faced any problem with handling NAS pls do let me know .. with solution... Thanks in advance..

Comments

  • Options
    Soft_TodSoft_Tod Member Posts: 43
    Hello.

    I use NAS a lot for other tasks than CP or CG and my experience is that NAS is very stable.

    Important is to know (especially in your case, by posting actions) that NAS stops (!) by any error occured.
    It is impossible to make anything foolproof, because fools are so ingenious.
  • Options
    pduckpduck Member Posts: 147
    you can handle the errors with the timer-onerror functionality ...

    another problem: nas will stop when running a piece of code with a form-variable. we used the functions of the checkavailability form without running the form but the nas stops with a message " variable of type form are not allowed" ...
  • Options
    Soft_TodSoft_Tod Member Posts: 43
    Where do you find a timer-onerror event? I never seen/heard of it... If you refering to the Automation Control used to trig the single instance codeunit I doubt it would help if an error occurred in the application, but I'm very interested if it really do! :D

    To prevent break on errors, you could call the Codeunit.RUN method with an IF- Statement, i.e. IF Codeunit.RUN() THEN;...

    Frequent use of the System-variable GUIALLOWED() is also recommended as the NAS doesn't have a UI. Therefore no Forms or Dataports (read a document it'd work in 4.0, doesn't though) even as Variables. Dialogs of any kind can't work either.
    It is impossible to make anything foolproof, because fools are so ingenious.
  • Options
    Lars_WestmanLars_Westman Member Posts: 116
    NAS itself is very stable, but You really need to have a fult tolerant C/AL-code since there is no user that can respond to events, errors etc.

    And of course You need to insert at lots of "IF GUIALLOWED THEN"
  • Options
    WaldoWaldo Member Posts: 3,412
    You can keep it running when an error occurs:
    OnTimer:
    myTimer.ENABLED := FALSE;
    myCodeunit.RUN;
    myTimer.ENABLED := TRUE;
    
    OnTimerError:
    HandleError;
    myTimer.ENABLED := TRUE;
    

    We wrote some kind of NAS Scheduler to schedule all kinds of functionality in Navision. Things can go wrong, but the scheduler keeps on running... . If you're interested: http://www.ifacto.be/default.aspx?tabid=130

    It works like a charm!

    Eric Wauters
    MVP - Microsoft Dynamics NAV
    My blog
  • Options
    DenSterDenSter Member Posts: 8,304
    Or.... you use the posting codeunit's return value, no need for tier objects.
    IF Codeunit80.RUN THEN;
    
    This codeunit can error out from here to Tokyo, but it will never cause NAS to stop.

    I have programmaed a message queue monitor that waits for incoming XML documents from a manufacturing system, and it posts output/consumption automatically. You can make this work for sales/purchase order posting too.
  • Options
    WaldoWaldo Member Posts: 3,412
    Bottom line ...

    \:D/ ... NAS is stable ... \:D/

    Eric Wauters
    MVP - Microsoft Dynamics NAV
    My blog
  • Options
    DenSterDenSter Member Posts: 8,304
    if you stay away from TCPS that is.
  • Options
    WaldoWaldo Member Posts: 3,412
    Really?

    That's the first I hear of it ... . Could you clarify?

    :-k

    Eric Wauters
    MVP - Microsoft Dynamics NAV
    My blog
  • Options
    DenSterDenSter Member Posts: 8,304
    I don't know what the deal is, but every single problem that I have had with NAS had something to do with TCPS. Once I change everything to regular TCP everything is stable.

    This is very frustrating, because all Navision components are installed with TCPS by default. Add to that the fact the NAS snap-in for NAS-SQL doesn't even show the nettype, and you can't change it from the snap-in.
Sign In or Register to comment.