views:

48

answers:

1

I'm in the midst of upgrading a MS Dynamics SL (6.5sp1) installation, and was wondering if there was an easy way to review the BSL/VBA code involved in screen customizations.

Or at least a way to be able to discover each and every form that has customizations.

A: 

To discover each and every form that has customizations (by type), one can look at the database. The SQL would look something like this (I left the exact statement at the client's site and am recreating this from memory):

SELECT DISTINCT s.Module, s.Name
    FROM CustomVBA c
     INNER JOIN Screen s ON c.ScreenId = s.Number
WHERE c.Sequence = 300
Union
SELECT DISTINCT s.Module, s.Name
    FROM Custom2 c
     INNER JOIN Screen s ON c.ScreenId = s.Number
WHERE c.Sequence = 300

The "Sequence=300" means that this will return the screen number and name where there is a modification for "All Users" (500 will be for a specific user and 100 will be for third party add-ons)

Now, the CustomVBA table is where the VBA customizations are stored, while the Custom2 table is where the BSL customizations is stored.

Alternatively, one can look at the EXPORT list, though that displays changes in all sequences.

Now, that we have a distinct list of the forms, we can export those changes from within Solomon, as a single CST file per modification (and those CST files do open in notepad or any other text editor). At the top of these files will be a list of controls which the modification manipulates (beneath that is a binary-encoded string detailing the code modifications). Any controls that are created via the customizations will have the "Created=True" property attached to them.

And now that we know what screens have been modified, and which controls are created brand new (as well as which ones are turned off, or moved or what not as the CST lists that data) we can now compare the changes between 6.5 and 7.0FP1 and ensure that the migration accepted all of the customizations and that they are all functioning as expected.

Stephen Wrighton