Stephen Smith's Blog

All things Sage 300…

Sage ERP Accpac 6 Customization

with 14 comments

With the next generation of Accpac’s Web based screens, we wanted to greatly improve the customizability of Accpac. We have a User Centered Design team that is working hard to improve the general usability of the product with the hope that fewer customizations are required. But as a mid market product we know that in most cases the 80 – 20 rule still applies, to ensure we deliver at least 80% of the customer’s required functionality, but be flexible enough that the remaining 20% can be filled by ISV partners and customizations.

With-in Accpac 6 there are three categories of screen customization:

  • In product. Basically screens and dialogs that allow users to customize their own screens and workspace. This includes things like adding shortcuts to the shortcuts bar and choosing their Data Portlets for their Portal home page. Configuring the Data Portlets to display what the customer requires.
  • Codeless customization. These are customization that can be performed exclusively inside the screen/form designer. These customizations don’t require any Java programming.
  • Coded customization. Here you are writing Java code to extend and modify the shipped forms.

For any customization we want to ensure that the user can easily upgrade to the next version without having to re-create the customizations from scratch. Ideally this should be handled transparently via the upgrade process. But once coding is involved then there is quite a bit of room to break this, we will publish best practices, so your code will just need to be re-compiled on the new version, but it’s up to the partner performing the customizations to follow these guidelines.

For codeless customizations, all the User Interface screens are saved on the server as XML files separate from the UI program. This means you can edit/customize these XML files without needing to use programming code or development tools. However we do provide a screen designer to edit these XML files in a friendlier manner. In Sage ERP Accpac 6.0, this tool will be available for developers via the SDK, and in 6.1 will be part of the standard product for use by anyone with sufficient security rights. Below is a screen shot of the UI designer editing the A/R Billing Cycles form. You can see some of the controls you can select as well as some of the control properties that can be set.

Some typical customization you can do here include:

  • Changing text. The form will automatically resize as you change text lengths.
  • Adding controls. Controls are controlled via layout, hence you can’t put a control on top of another control. The controls will move out of the way to allow you to insert an new control. You can attach the control to fields in the SData feeds.
  • Adding data sources. You can add SData feeds to the form.
  • Re-arrange all the control. Change the layout.
  • Remove unwanted elements from the form.
  • Change the tab order.
  • Change existing control properties and CSS styles.
  • Change the columns in list controls.
  • Assign actions (like button presses) to standard actions provided by the system.
  • Include JavaScript code to be run when various events happen (ok, so it’s almost codeless).

For coded customizations, there are two places you can extend the UI logic. As a Web based application, some of the code resides on the server and some in the browser on the client. Both of these can be extended via extending their Java classes. Doing either of these requires writing Java code, in the server case you create a number of Java classes and store the .class files in the correct place on the server, for the browser classes, you need to feed your code through the GWT compiler to generate JavaScript code to run in the Browser.

On the server we have classes that receive the SData requests from the clients, and translate these requests into Accpac View (Business Logic) calls. There are a number of classes that do this in a standard manner. However applications can extend the default class for this to do things like add extra fields to the feed. These extra fields may be to provide additional database fields from other places or to perform calculations on the server rather than the client. These classes can also change things like the read-only status of a field. ISV’s or sophisticated customizers can also added classes that extend the existing classes to add additional fields, say for their customizations or change the behavior/values of the existing fields. Since Java fully supports object oriented class inheritance, creating these classes is far easier than creating View subclasses (which you can still do).

On the client, you can extend the classes that comprise the User Interface program that runs in the browser. This is very much like how you wrap our current ActiveX VB UIs. You basically extend the main UI class and get access to a collection of all the controls and SData feeds. You can also add listeners to receive any event you are interested in. Then programming is very similar to how you customize the current UIs. The difference being that you now program in Java rather than VB or VBA, and you have to feed your program through the GWT Compiler to generate a new extended UI.

Hopefully this gives an overview of how customizations work in the new Sage ERP Accpac 6 Web-based world. Generally we are looking to continuously improve our customization model to make it easier to accomplish the customizations that customers require.

Written by smist08

February 5, 2010 at 9:08 pm

Posted in Uncategorized

Tagged with , ,

14 Responses

Subscribe to comments with RSS.

  1. Any recommendations on a Java programming environment/IDE?

    Django Dunn

    February 6, 2010 at 6:44 pm

    • We use Eclipse. Works well, just slow to start.


      February 7, 2010 at 1:36 am

  2. […] customizations to the new platform? I talked about how to customize the new Web Based screens in:; but, didn’t really discuss a strategy for migrating existing customization to this new […]

  3. […] more background on Accpac’s new customization model and the XML Declarative layout files see: and […]

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

  5. Hi,
    Is it possible that you can provide the details of the Drill down links that accpac use to drill down into the sub ledgers? Ex: What “112200000000000003” stands for.
    If you can give me the details of cracking Drilldown link it will be great help for me.


    May 7, 2012 at 7:22 am

    • This depends which module it is for. For A/R the first digit is the size of the posting sequence number =x, the second is the size of the batch number = y. Then the next x digits are the posting sequence number, the next y are the batch number and the rest are the entry number.


      May 7, 2012 at 3:31 pm

      • So for your example if this is from A/R then the posting seq number = 2, the batch number= 2 and the entry number = 3.


        May 7, 2012 at 3:32 pm

  6. Thanks great, Thanks a ton. Now I saw AP Drill down link is also a same I think. But the entries coming from PO, OE or IC having different type of link, May you please explain the following:
    Link from GLPOST Table
    11159 PO
    9461 PO
    5 IC
    Link from APIBH
    PO 9120
    PO 10231



    May 8, 2012 at 12:07 am

    • Transaction Type: Source Type: Drill down Link


      Receipt: 1: ICREEH.DOCUNIQ
      Shipment: 2: ICSHEH.DOCUNIQ
      Adjustment: 3: ICADEH.DOCUNIQ
      Transfer: 4: ICTREH.DOCUNIQ
      Assembly: 5: ICASEN.DOCUNIQ


      Shipment: 3: OESHIH.SHIUNIQ
      Invoice: 1: OEINVH.DAYENDNUM
      Credit and Debit Note: 2: OECRDH.CRDUNIQ


      Receipt: 3: PORCPH1.RCPHSEQ
      Invoice: 5: POINVH1.INVHSEQ
      Return: 4: PORETH1.RETHSEQ
      Credit Note: 6: POCRNH1.CRNHSEQ
      Debit Note: 7: POCRNH1.CRNHSEQ


      May 8, 2012 at 10:08 pm

      • Hello Smith,

        Thanks for giving me the details. I got what I was looking for.



        May 14, 2012 at 1:18 pm

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: