Stephen Smith's Blog

Musings on Machine Learning…

Migrating Customizations to Sage ERP Accpac 6

with 12 comments


As Accpac makes the transformation from being a Windows Desktop Application to becoming a true Web Based Application, people often ask: how will we migrate our current customizations to the new platform? I talked about how to customize the new Web Based screens in: https://smist08.wordpress.com/2010/02/05/sage-erp-accpac-6-customization/; but, didn’t really discuss a strategy for migrating existing customization to this new model.

Ultimately, the new customization model is far more powerful than the current model and this will allow far more complex customizations. It will also be much easier to perform some customizations that currently require quite a bit of code. However it took the channel quite a bit of time to master the current model. It took quite a while for everyone to learn the complexities of VBA programming and our UI customization model. Now we will be starting over.

Care will have to be taken when scheduling and estimating conversion projects. Perhaps starting with easier ones first, to learn from and become experienced in the new technologies before tackling the bigger more complex jobs.

Customization that Remain Largely Unchanged

For report customizations we are still using Crystal Reports and so all current Crystal customizations can still be used. There are fewer database changes for version 6 than we have had in the last few versions, so most customized Crystal Reports should work with no changes whatsoever. We will be moving to the newer Crystal 2008 reporting engine which means you can now use any features introduced in Crystal 2008. In the same way your Accpac Financial Reports will continue to work fine as will anything you have created with Accpac Intelligence or Accpac Insights. Additionally we now have the new “Accpac Inquiry” (https://smist08.wordpress.com/2009/12/11/sage-erp-accpac-6-0-adhoc-query/) which you might want to construct some custom queries for.

Any customizations that talk to the Accpac COM API or the Accpac .Net interface will also remain mostly unchanged and should continue to work. Basically just following the usual upgrade procedures that you follow for any new version.

Any customizations that use View subclassing will continue to work. The View layer is largely unchanged. You should re-instantiate your Views with the View template in the Accpac 6.0 SDK, but this is the same procedure you should do with any new version.

For these API type customizations, it usually involves running a VB EXE program or VBA macro. These can be run from any workstation that has workstation setup installed, but as we run workstation setup on fewer and fewer workstations, you might want to think about running these on the Web Server.

Customizations of the new Web Based UI model

First a couple of caveats:

  1. We will continue to ship the current VB based UI forms for many versions. This means you can continue to use your current screen customizations for quite some time.
  2. We will continue to ship the current Accpac Desktop to allow you to run things exactly as you do today.
  3. Version 6.0A will only have new screens running inside SageCRM. Most other screens will move to the new Web Based technology for 6.1A.

However you will want to consider a strategy for moving your customer’s VB based customization to the new Web Based forms.

If the customizations only involved changes to the form design or changing text, then the customization in 6.x will be very simple and won’t require any coding. All the screen definitions and strings are stored in simple text XML files that can be edited either with special purpose tools (like a visual screen designer) or with a simple text editor like Notepad.

If the customization requires quite a bit of extra processing logic, then this code will need to be written in Java. The programming model is similar to that for the VB UIs. You subclass the UI and add your logic. There are collections of data sources and controls that you can tap into to get events to trigger your logic and allow your logic to manipulate the forms.

Expect a learning curve, to learn the new technologies. To become familiar with Java programming. To understand the programming and customization model used in our new Web Based UIs and how to deploy your updated UI controls on the server.

Although you can customize the current UIs just like you could customize the VB UIs, there is also a new alternative that lets you extend/customize the Accpac SData feeds. With this you can customize the code on the server that generates the data for the UIs. Sometimes this will be a better place to apply customizations. And is a new option you have available.

Like when we introduced VBA, it was a while before people were using it to extensively customize our screens. It took time to learn it and it took time to figure out what could be done. Like then, we will need to provide quite a bit of training, either live at our various conferences or via on-line training on Sage University. The good news is that the new customization model is more powerful than the current model and once you do master it, you will be able to more easily customize the look and feel for the product than ever before.

If the customization involves communications with programs running on the client’s workstation or involves saving files on the client’s workstation, these sort of operations may not be allowed from a Browser based application. There are definite restrictions on what you can do, in order to maintain workstation security. There are some things that you might do right now on the workstation that you might consider moving to the server or might need to find another approach, perhaps by communicating with a cloud service using web service calls. These will be dependent on what exactly you are trying to do and what is allowed.

The main points of customization are:

  • Various text files such as XML Screen definition files, XML string resource files and configuration files.
  • Cascading Style Sheets (CSS) that control the overall look and feel of the web pages.
  • Using Java to programmatically enhance the UIs.
  • Using Java on the server to programmatically enhance the Accpac SData feeds.

Older Web Technologies are Being Dropped

The Accpac SOAP Web Services are being removed in version 6.0A, so you will need to move any customizations using these to either the Accpac COM API, the Accpac .Net interface or to the new REST based SData Web Services being introduced in version 6.0A.

The Web Desktop is being removed. We will only be including CAB files for screens used by the SageCRM integration. All other Web Based VB screens are being removed. Any customizations that require the old Web Desktop will need to be moved to the new Web Desktop/Portal.

Summary

Any customizations that involve only the database, reporting or the business logic will continue to work or only require minor tweaks similar to the past few versions.

For screen customizations, you can continue to use your current VB customization for quite some time. However you should start to plan how to move these customizations over to the new Web base model.

Any customizations based on our older Web Technologies need to be moved over the new sooner than later.

Written by smist08

July 3, 2010 at 5:15 pm

Posted in sage 300

Tagged with , , , ,

12 Responses

Subscribe to comments with RSS.

  1. […] Migrating Customizations to Sage ERP Accpac 6 « Stephen Smith's Blog […]

  2. Still the same API’s (COMAPI/XAPI) can be used to customise or integrate with other applications in ACCPAC 6.x?

    Sham

    July 18, 2010 at 6:49 am

    • Yes, those APIs are still there.

      smist08

      July 18, 2010 at 4:38 pm

  3. […] ERP Accpac 6 Customization Migrating Customizations to Sage ERP Accpac 6 Customizing Quotes to Orders Customizing the Order Details in Quote to […]

  4. So if there is nothing on the client workstation but a browser, where is the COMAPI/XAPI you’re talking about? Doesn’t accessing those depend on a local installation (eg, a COM reference to c:\Program Files\Accpac\Runtime\a4wcomex.dll that results in generating a Interop.AccpacCOMAPI.dll)? The many vs.2005 .NET extensions I’ve written up to v5.6 of Accpac reference COMAPI and XAPI in my .NET programs running on the local PC. They aren’t ASP apps running on a server, but windows apps. What obvious thing am I missing?

    Tim Brodie

    March 10, 2011 at 7:50 am

    • For your application you will still need to install Workstation setup on any computers running your application. Workstation setup is still there and available, it just isn’t required for any of our pure web screens. We will be supporting this indefinitely due to development of this nature. If you want to move away from this dependency, perhaps consider accessing our SData web services from your .Net programs.

      smist08

      March 10, 2011 at 3:37 pm

      • Ah, that makes sense – thanks. I’m definitely looking at moving to SData. The workstation setup will keep everything working as we migrate customers to v6.x, and give me time to implement.

        Tim Brodie

        March 10, 2011 at 5:28 pm

  5. Hi, We have done some macros for customer’s that do some importing from .txt files (AR invoices, GL entreis) or even print some custom reports (they have a form to enter the selection criteria).

    How should we migrate them? In the 5.x versions we did the macro and we just added it to the desktop.

    Thanks

    Adriana

    March 31, 2011 at 1:50 pm

    • Depending on who does the importing, you might want to just leave this as running on the server the way it does now. To move the custom print forms, you would need to implement a SWT form. Creating such a form and hooking the fields up to report parameters isn’t really any harder than it was in VBA.

      smist08

      March 31, 2011 at 7:46 pm

  6. Hi Stephen
    We have been connecting into the SData services successfully, but I am currently unsure of the available scope of these services. I imagine that the number of objects exposed as standard will increase with each release (we can currently see 83). Is this the plan, and if so what is planned to be available when?

    Paul Garratt

    January 30, 2012 at 10:37 am

    • This will increase going forwards, 6.1A will add all the SData feeds for O/E. Plus you can add specific feeds if you need them. To create a regular feed on a View is just a matter of adding/editing some XML files.

      smist08

      January 30, 2012 at 4:19 pm


Leave a reply to smist08 Cancel reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.