locked
Check modifications to external content types/lists/sources RRS feed

  • Question

  • Hi

    I have a MS dynamics Nav and SharePoint. I want to be able to detect modifications in the Nav database in SharePoint. Can anyone point me in any direction to do this. An example would be:

    A new customer is created in Nav. A user in SharePoint would be noticed about this and receive a new task in a task list.

     

    Thanks

    /Johan

    Saturday, February 26, 2011 9:01 AM

Answers

  • Hi Johan,

    You can create a custom timer job. Please have a look at this http://dotnetfinder.wordpress.com/2010/07/24/creatingcustomsharepointtimerjob2010/

     

    Dmitry

     


    Lightning Tools Check out our SharePoint tools and web parts

     


    • Marked as answer by GuYuming Monday, March 7, 2011 1:41 AM
    Sunday, February 27, 2011 9:52 PM
  • In short .. you can't.

    If you could automatically detect when external databases / data-sources changed then you'd also be able to run event-receivers and workflows on External Lists ... you can't.

    At the end of the day, SharePoint only has native awareness and visibility of data stored within SharePoint .. sure you can create interfaces to other systems, but the fundamental issue is that you cannot stop someone from going directly to the data source and changing things there.

    You could use a Timer Job .. but obviously that requires some kind of data-source API or database access so that you can execute code in your Timer Job to query the Data Source.

    I would also suggest you try look at this from the other direction ... 

    How can you execute code in MS Dynamics Nav when data is modified? If you could crack that, then you could call SharePoint code remotely (client Object Model or Web Services) to make changes in your SharePoint farm ..


    regards
    Martin Hatch
    MCPD SharePoint 2010 | .Net Web Development
    MCTS WSS 3.0 | MOSS 2007
    Visit my Blog - www.martinhatch.com
    • Proposed as answer by Martin Hatch Tuesday, March 1, 2011 9:35 AM
    • Marked as answer by GuYuming Monday, March 7, 2011 1:42 AM
    Monday, February 28, 2011 11:50 AM
  • Martin is 100% correct. The only thing I would add is that you can use Pluggable Services to help solve the problem. Pluggable Services allow two-way communication between the External System and a workflow. This is a great way to bind together Dynamics and External Content Types.

    Scot

    • Proposed as answer by Martin Hatch Tuesday, March 1, 2011 9:35 AM
    • Marked as answer by GuYuming Monday, March 7, 2011 1:42 AM
    Monday, February 28, 2011 1:22 PM

All replies

  • Hi Johan,

    You can create a custom timer job. Please have a look at this http://dotnetfinder.wordpress.com/2010/07/24/creatingcustomsharepointtimerjob2010/

     

    Dmitry

     


    Lightning Tools Check out our SharePoint tools and web parts

     


    • Marked as answer by GuYuming Monday, March 7, 2011 1:41 AM
    Sunday, February 27, 2011 9:52 PM
  • Hi thanks for the answer.

    Timerjob seems to be an option.

    But how can i detect the changes to the Nav database (SQL) or the external list connected to the Nav database (SQL).

    /Johan

    Monday, February 28, 2011 11:33 AM
  • In short .. you can't.

    If you could automatically detect when external databases / data-sources changed then you'd also be able to run event-receivers and workflows on External Lists ... you can't.

    At the end of the day, SharePoint only has native awareness and visibility of data stored within SharePoint .. sure you can create interfaces to other systems, but the fundamental issue is that you cannot stop someone from going directly to the data source and changing things there.

    You could use a Timer Job .. but obviously that requires some kind of data-source API or database access so that you can execute code in your Timer Job to query the Data Source.

    I would also suggest you try look at this from the other direction ... 

    How can you execute code in MS Dynamics Nav when data is modified? If you could crack that, then you could call SharePoint code remotely (client Object Model or Web Services) to make changes in your SharePoint farm ..


    regards
    Martin Hatch
    MCPD SharePoint 2010 | .Net Web Development
    MCTS WSS 3.0 | MOSS 2007
    Visit my Blog - www.martinhatch.com
    • Proposed as answer by Martin Hatch Tuesday, March 1, 2011 9:35 AM
    • Marked as answer by GuYuming Monday, March 7, 2011 1:42 AM
    Monday, February 28, 2011 11:50 AM
  • Martin is 100% correct. The only thing I would add is that you can use Pluggable Services to help solve the problem. Pluggable Services allow two-way communication between the External System and a workflow. This is a great way to bind together Dynamics and External Content Types.

    Scot

    • Proposed as answer by Martin Hatch Tuesday, March 1, 2011 9:35 AM
    • Marked as answer by GuYuming Monday, March 7, 2011 1:42 AM
    Monday, February 28, 2011 1:22 PM
  • Thanks for your answers. I will look into this.

    /Johan

    Monday, February 28, 2011 7:30 PM