locked
Create Custom Events or Modify events in CRM 4.0 RRS feed

  • Question

  • hi,

    I need to call a dtsx Packge on load on the Contacts and Accouts Entity to perform a certain treatment in CRM 4.0. How can i append on the On Load Event (not javascript ) or the Save Event in order to add some code that calls my DTSX package and execute it ?

     

    is it feasible in CRM 4.0 if not, is there any work around ?

     

    Thanks


    GKSPLB
    Friday, May 6, 2011 1:39 PM

All replies

  • I think you might have to think for a plugin

    http://www.codeproject.com/KB/database/CallSSISFromCSharp.aspx


    Regards Faisal
    Friday, May 6, 2011 2:24 PM
  • But can i Attach a Plugin on Load event in CRM 4.0 ?
    GKSPLB
    Friday, May 6, 2011 2:54 PM
  • You can trigger plugin on change of bit field. Onload of form you can set the value of bit field. You will have to do a crmForm.Save() in order for plugin to trigger. It will reload the form. 

    I would suggest using Javascript to manupulate database is better option.

     


    Regards Faisal
    Friday, May 6, 2011 2:59 PM
  • Well the real target of using SSIS packages is to integrate between an external system and CRM. the external system is built on SYbase or Oracle Database and i need to synchronize the Clients Data between both system (CRM and the external System). Since the client don't want to have or buy any middleware, i'm maping the fields manually in a Script component in a DTSX package after querying the data from the external system to DTSX. 

    The issue is that on each record change in the external system i need to get notified in CRM and call the DTSX package to perform the synchronization. the other option is that whenever any user in CRM refresh the Contacts or Accounts Screen, I want to call the DTSX package to get the lastest changes from the external system, manipulate the data in CRM DB and then display it on the screen. This is why i need to know how to be able to call the SSIS package from the CRM on the REfresh event or Onload Event . 

     

    Thanks 


    GKSPLB
    Saturday, May 7, 2011 8:44 AM
  • Please consider the following.

    I suggest you should write a webservice which can be called from the onload of the form. The webservice method should take the mapping Id between both the systems and get the latest data and update CRM but to be frank this is not the best option as it will affect the performance opening crm form, this may be affected by network speed, database performance etc.

    You should seriously consider not using DTSX on formLoad but it is ok to use it for datasync which will happen asynchronously behind the scene to synchronise data from an external system into crm.

    Update From CRM:

    You should consider using plugins for updating external systems because synchronization should be triggered only after the core operation (again you could use a web service/wcf service)

    The otherway is what you are implementing using SSIS. I'm not sure about the details of your implementation but you should carefully consider your options.


    Hope this helps. Amar

    CRM Forum Guidance on how to Help Us Help You

    • Proposed as answer by Faisal Fiaz Tuesday, May 10, 2011 9:37 AM
    Saturday, May 7, 2011 10:03 AM