web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :
Microsoft Dynamics SL (Archived)

Beginning w/Dynamics VBA

(0) ShareShare
ReportReport
Posted on by 20

I'm an experienced VBA and SQL Server programmer with a work assignment to integrate an app with an existing Dyamics SL 7.0 installation.  Can someone get me started with where to begin with any VBA tools for Solomon

*This post is locked for comments

I have the same question (0)
  • Paul Phillips Profile Picture
    590 on at

    Here is a quick rundown of some areas that may be relevant to you. Unfortunately there aren't a lot of samples and documentation around to help you learn - it's mostly trial and error, experience, and a lot of patience. It's best to connect with a VAR who can direct you to technical resources to help out in a pinch. There are also some training courses offered. Spend some time familiarizing yourself with CustomerSource as well.

    SL is a two tier achitecture - there is no middle service layer. You have fat client executables ('screens') running code against the database, with a runtime kernel (referred to as swimapi, 'the kernel', 'the API', or others) that manages security rights, multi-user contention, database connection management, etc.

    Customization Manager usually uses VBA but there is also a Basic Script Language (BSL) option that some environments are set to use (only one language can be configured at a time). Customization Manager is layered on top of existing screens and loads from the system database for the screen at the current customization level. The sl_vb.pdf help document goes into detail. There is a somewhat steep learning curve to understand screen structure and the API. I recommend only creating customizations at the All Users level, otherwise it can get out of control.

    The SL SDK (formerly VBTools) is used to create brand new screens in VB.net. The API calls are basically the same set as what is exposed in VBA, with some differences. Also a significant learning curve. sl_sdk.pdf is the main help doc. It must be licensed separately if it isn't already unlocked in your license codes.

    If you just need to import data in batches look into Transaction Import (TI). The system can generate a control macro that you can pair with a flat data file to import into just about any screen. The control macro is BSL code, but the syntax and API is similar to VBA if you need to customize the import process, which can be somewhat common to get things working. This is the easiest technique to learn. It is included with the base product.

    There is also Object Model, which lets you launch and automate an existing screen from a .Net program. I have used this before to transfer data into a target screen from a custom screen. Also a steep learning curve, especially to understand how to work with screen levels and the message event. It must be licensed separately if it isn't already unlocked in your license codes.

    I don't recommend going database direct unless your code 'owns' the underlying table (meaning you created it for your customization and it is not a standard part of the application), though at times it is tempting and some people do. This is because the business rules and validation are bypassed, and over time the system is likely to become unstable and effectively unsupportable. If you create any custom database objects, prefix them with an 'x'.

    All of these integration points are all dependent on having a parent session running by an interactive user (and are as a result single-threaded), so you won't be able to do anything like put a web service over the system, though that feature has been released in SL 2011 (the major version after 7.0).

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Neeraj Kumar – Community Spotlight

We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…

Leaderboard > 🔒一 Microsoft Dynamics SL (Archived)

Last 30 days Overall leaderboard

Featured topics

Product updates

Dynamics 365 release plans