Stephen Smith's Blog

Musings on Machine Learning…

Archive for April 2012

SData Training Videos

with 6 comments


A couple of weeks ago I blogged on Learning over the Web, in this blog I mentioned that I really like the Khan Academy and their video method of training. I’ve now started experimenting with making Khan Academy style videos. I’ve now done three, so far, as an introduction to SData. I plan to make more of these going forwards. Once I have a larger set of videos on SData, I may try branching out to other topics. Below is a picture of Sal Khan working on such videos:

New Video Page

I’ve added a Video page to my blog which will provide links to all the videos I produce. To start with there are three videos, which aren’t very many. However I hope to make a new one every week or so and then if I can keep that up, after a year there will be fifty or so videos. The first three videos are:

Introduction to SData
How to Practice with SData
SData Queries

The best way to learn something is by doing. So I recommend playing with SData and experimenting with the various items described in the video. To this end you can play with a locally installed version of Sage 300 ERP (or another Sage product) or you can access our demo server at The user id and password are ADMIN/ADMIN, make sure you enter them in upper case if prompted from the Browser or other client software. If you type the URL: into the Chrome browser and enter ADMIN/ADMIN for the userid/password then you should get back a large amount of XML containing the first 10 customer records in the SAMINC database. For information on how to perform other querying, see the third video.

If you want to try these with a different Sage product, then you might need to run Fiddler to see the exact form of their SData URLs. Once you have this, you can be up and running. Fiddler is a very useful tool for spying on HTTP requests made from your computer. You can spy on any program or website to see what it is doing.

For more background information on SData, see the SData Website or some of my previous blog posts: SData in Sage ERP Accpac 6, More on SData and Sage ERP Accpac 6, Stateful SData, On the Sage GCRM Contract, Fun with SData, A Roadmap for SData Integration to Sage Products or Defining SData Feeds for Sage 300 ERP. Jarett Smith has also started a blog on SData which is well worth checking out.


I find creating videos more time consuming than writing, mostly because it’s harder to jump around in videos and harder to edit them. I’m hoping I can get better at creating videos with more practice and time. Partly getting used to the process and learning by doing. I hope that as I keep doing these, they will get better. It certainly takes some practice to use the writing tablet for drawing (hopefully my handwriting will improve) and at the same time I need to watch myself to not say “Um” so much. So I consider these first three videos the first three steps on a longer journey.

For producing the videos I pretty much copied what they use at Khan Academy. It’s neat that you can create videos these days with very little equipment or post production software. I used entirely either open source or free software and a very inexpensive writing tablet. The items I used:

  • YouTube to post the videos to. Seemed the easiest and the URLs are easy to circulate.
  • SmoothDraw 3 for drawing. I start with a black rectangle 854×480 pixels (which is a preferred YouTube resolution that fits well on my monitor).
  • BB FlashBack Express for screen recording.
  • Wacom Bamboo Connect pen input tablet. Cost around $80CAD.
  • A Blue Snowball Microphone. This works a lot better than the microphone built into my laptop and we already have a few of these around the office. Original cost was about $65CAD.
  • Windows Live Movie Maker for video editing. Not a very good solution, but it has done what I need. Suspect I might need to buy Camtasia eventually.

It took me a bit of trial and error to get things to work right. I tried a couple of free screen recording utilities like Camstudio, which didn’t work for me. They either crashed or didn’t produce good results. Then in editing, for MovieMaker you need to change the project from 4×3 to 16×9 or it produces something that doesn’t work right on YouTube.

Generally handling video files is a bit of a pain since they are so large. Uploading from work is ok. Uploading from home is very slow, I suspect because cable modem is optimized for downloading content rather than uploading it. Either that or Shaw decided that uploading videos is a no no and throttled my connection.

I’m still undecided on whether I want to add vlogging to my blogging. This requires a camera, but web cams are cheap and for that matter both my phone and camera both take really good videos, certainly good enough for YouTube. When I’ve tried this in the past, I haven’t been happy with the results and found that much more video editing is required. But then again hopefully with some practice, I can get better over time.


I hope you find my new Video page useful. Hopefully over the coming month I’ll add quite a few videos and start to branch out to other topics.

Written by smist08

April 28, 2012 at 5:19 pm

Sage 300 ERP 2012 Payment Processing

with 4 comments


We introduced an integration from Sage 300 ERP (Accpac) to Sage Exchange in version 6.0A (with a retrofit to 5.6A). This integration allows ERP users to take credit card transactions directly from ERP screens including pre-authorizations and charges. I blogged about this in these two articles: Accpac Credit Card Processing and Accpac Payment Processing.

Now as we approach our next release we are including a number of enhancements to this integration. We are in the process of changing our version numbering scheme, so the next release of Sage 300 ERP will be Sage 300 ERP 2012 rather than 6.1A. However it is still the next version of Sage 300 ERP after 6.0A.

With this upcoming release we are going to add three main features:

  • Ability to capture pre-authorizations in Shipment Entry, Invoice Entry or either. Currently users can only capture pre-authorizations in Shipment Entry when items are shipped.  Many customers tell us that they would prefer to have office personnel perform the capture rather than have this done during Shipment Entry.
  • Ability to capture a number of orders from different customers in a batch rather than individually. This will streamline operations, especially in high-volume companies.
  • System will automatically ‘force’ an expired pre-authorizations without prompting the user whether they want to force a pre-authorization. “Force” is the process of doing a capture (post-authorization) for a pre-authorization that has expired. Currently there is a prompt that appears if it has expired and users have to select whether they want to force a payment.  This change streamlines operations and removes unnecessary user interaction with the software.

Capture Pre-Authorizations During Invoice Entry

This feature basically means exposing the functionality already available from Shipment Entry in Invoice Entry. Capturing a pre-authorization, really just means charging the credit card for real, so you get paid. The earliest you are allowed to capture (or charge) the credit card is when the item ships as per credit card processing rules. However due to separation of duties, in many companies the people doing the shipping aren’t the right people to process the credit card. Usually this needs to be done by a finance person and it is most convenient for them to do this when they prepare the Invoice (since the shipment has already been done).

Here is the Invoice Entry screen displaying Invoice Prepayments screen with full credit card functionality. Notice the “Capture…” button on the main form.

When you hit Charge, you get the “Capture Pre-authorization” screen:

And then you when you hit “Process Payment” it will capture the Pre-Authorization, so you will be paid.

Capture a Batch of Orders

Now, let’s look at how we will “capture” a number of orders in a batch. For any orders that have been pre-authorized, this means to really charge their credit card. To do this we have create a new Form in the Order Entry Transactions folder:

When you run this Form you get:

From this screen you specify the A/R Batch to add the transactions to (or create a new one). Then you can get a list of Orders which are candidates for charging. To be in the list, the Order must have an outstanding pre-authorization and have shipped. It is a rule from the Credit Card companies that you can only charge for items that have shipped to the customer. Select which Orders you want to capture (charge). Once you have chosen all the Orders, then all you need to do is hit the “Process” button and away it goes.

This should make it easier for companies to process a high volume of Orders.

Automatically “Force” Expired Pre-Authorizations

In the current system if a pre-authorization has expired then we put up a yes/no question when you go to capture the transaction asking whether you want to “force” it. Forcing a transaction may not work for various reasons and usually causes higher transaction fees on the transaction. This is why we put up the warning dialog, so if people don’t want the extra fees then they can avoid them.

However the feedback we have received is that this prompt is just annoying. If you are taking credit card transactions then you are willing to put up with the fees and you would like to try to get any money you can. For instance if the transaction fails because they have maxed their credit card, well if you hadn’t tried, you wouldn’t get anything anyway (or would get something like a bad check which has its own fees).

We may offer an option for this, but it seems like the consensus is that people would like the process streamlined.


The original credit card processing support that we previously added has been quite successful and we are looking to build on this by continuing to add functionality in each release based on customer feedback. Hopefully these new features will keep our Sage Exchange integration growing and as it grows we will get more feedback and enhance the integration further. Notice that sometime listening to feedback means streamlining a process or removing a feature, not just adding new bells and whistles.

Written by smist08

April 21, 2012 at 4:12 pm

Sage 300 on Windows 8

with 8 comments


I must say that I really like Windows 7 it’s a very powerful 64-Bit operating system that is relatively fast, powerful and stable. I really liked Windows XP and I hated Vista. Now it is time to consider Windows 8 as it prepares for a pre-Christmas release. To some degree Windows 8 reminds me a lot of Vista, in that it has changed a lot of UI elements that I liked to rather bizarre elements that I hate. Supposedly new users will like them better and supposedly I will grow to like them after using them for a few months, but I’m nowhere near there at this point and rather dubious that I’ll ever like them.

So why did Microsoft make these changes that I dislike so much? Their big goal was to have one operating system that works exactly the same on phones, tablets, laptops and desktops. Phone and tablets operate using touch and laptops and desktops use a mouse and keyboard. One of the claims is that laptops will start incorporating touch and so will stop using the mouse (or track-pad), but that is yet to be seen. Windows 8 also has a dual personality, it has the traditional Windows desktop where traditional Windows applications run and then the new Metro world where phone/tablet optimized applications run (as long as they are written to the Metro standards). Windows 8 also supports ARM based devices as well as Intel based devices. If you run on an ARM based device then you only get the Metro personality, you cannot run any traditional Windows applications.

If you’ve ever used a current Windows tablet, one hard element to use by touch is menus. These tend to be very fiddly. So Windows 8 spends a certain amount of time trying to eliminate menus. The first menu they have attacked is the Start menu. Windows 8 has a new “Start Page” as pictured below:

This is then your starting point for the new Metro applications as well as the traditional Windows Desktop applications.

Microsoft UCD

Microsoft has spent quite a bit of time defending the Windows 8 Start Page against a barrage of criticism on the Web. A few blog posts from Microsoft explaining the User Centered Design methodology and thinking are: Evolving the Start Menu, Designing the Start Screen and Reflecting on your comments on the Start Screen. These make interesting reading, especially the comments at the end of the postings. Obviously the Start Menu had a number of problems besides being difficult to control via touch. It always seemed strange that you shut down your computer by clicking “Start”. Once you have many programs it becomes quite unwieldy and performance starts to suck.

These are all legitimate concerns; however the solution of the jarring switch from the desktop to this completely different screen that takes over the entire monitor seems rather an inelegant solution. Is this a case of the solution being worse than the problem? I guess time will tell. It will also be interesting to see if Microsoft takes any of all this feedback being provided and makes any changes before they release. Plus the Start Page doesn’t really address the scalability issue, instead it just introduces a lot of horizontal scrolling.

Touch Control

Once you are in the Windows desktop, things work pretty much as you would expect and you can get your work done. However when you are in the Metro or Start Page side of things, I find Windows 8 can be quite difficult to use. To keep the screens “clean” and “pretty”, there are no indicators of where you need to click or swipe to do things. Many times I had to Google to find out how to do basic operation like sign-in or close IE. Since things are oriented to touch, often when using a mouse you have to drag things right across the screen to do things which usually makes my mouse come off the edge of my mouse pad, which I find annoying. I dread to think how this works on a track pad.

The native Metro applications (including built-in things like IE) all operate in full screen mode (like apps do on an iPhone or iPad). On my laptop and desktop, I find this extremely annoying. I have large high resolution monitors and I can have quite a few Windows open and visible at once. On Windows 8, this is all gone.

Back to Windows 1.0

With the Metro apps they either operate in full screen mode or you can tile them and they stay live on the Start Page. This reminds me very much of Windows 1.0 before the days of overlapping Windows when all your open Windows were tiled:

Really back to the future for UI design there. Of course the quality of the graphics are much better now, so the picture looks better, but the idea somehow feels old fashioned.

Sage 300 Runs Fine

Here is a screen shot of running the Sage 300 ERP Desktop and the main Order Entry screen on the Windows 8 Consumer Preview. Looks and acts pretty much like on Windows 7. Notes the lack of the “Start Menu” along the bottom of the screen.

We’ve tried various things like reporting and editing data and it all seems the same as Windows 7 which is good.

Looking at this screen, how do you bring up the “Start Page” to run another program? From the task bar you can only run IE and Explorer. Here is a funny video of someone’s dad trying to figure out what to do. (I had to Google this, to find out which cryptic key to press).

Need to Fix Our Installation

The one thing that currently isn’t doing a good job is the installation of what we used to put in the Start Menu. These now end up on the Start Page and since we used to have sub-menus for things like tools, the Start Page doesn’t support this so we get a whole bunch of items (with bad graphics) messing up the page:

We’ll have to fix this up before our next release, if we can, given that Windows 8 is a bit of a moving target at the moment. Anyway we need to figure out a better way to organize our items and provide better graphics.


Is Windows 8 a step forward or a step backwards? I think it’s a step backwards for desktop and laptop users. For Microsoft, it’s a step forwards for phone and tablet users. However, is it enough to compete with Apples iPhone and iPad? Can it compete with low cost Android devices? Personally, I think Apple has established the standard for how touch works in these environments and with Android largely copying Apple, it makes Microsoft seem rather odd and not following established standards. Will users accept these? I guess the market will decide once it’s released.

Written by smist08

April 14, 2012 at 7:04 pm