Table Methods Generator

Table Methods Generator is tool for automated creating table methods find, exist, checkExist and txtNotExist. Because it is Best Practice to create these methods on every table with unique index, that is quite frequent task. This tools tries to minimize developers' handwork.



Download
Table Methods Generator 0.1

Features

 * Supports multiple tables in a single run
 * Supports unlimited number of fields in composite indexes
 * Quick access to generated code using Infolog actions
 * Generated methods complies with Best Practices

Usage
After adding menu item to context menu (see Installation), simply select one or more tables in AOT, open context menu and click on item "Generate table methods". For every table generator tries to find property PrimaryIndex and generate methods find, exist, checkExist and txtNotExist. Existing methods are skipped. Result is written to Infolog and InfoActions are used for quick access to code or table object.

Installation
At first, import downloaded XPO file to Dynamics AX. Installation XPO does not contain any standard objects (objects existing in standard application), therefore no conficts through import are expected. On the other hand, integration to context menu must be done manually.
 * 1) Add menu item DEV_TableMethodsGenerator to menu SysContextMenu
 * 2) Restrict visibility of menu item by editing SysContextMenu class, method verifyItem. Job DEV_TMG_installationNotes contains appropriate code.

Detailed description
Table Methods Generator is tool for automated creating some table methods in Microsoft Dynamics AX enviroment. These methods are used for finding record by primary index or checking existence of the record. Best Practices for Table Methods demands to create them on tables with unique key. These methods are: All these methods are created by the Table Methods Generator. They can be generally used without changes but for txtNotExist is necessary to create label manually. Generated methods complies with Best Practices for Dynamics AX Development, specifically with best practices for find, exist and X++ Layout (see References).
 * find
 * exist
 * checkExist
 * txtNotExist

Fields used for searching in the database are defined by index. This index must be set in property PrimaryIndex on proper tables during methods generating.

Existing methods are preserved. Because method checkExist uses methods exist and txtNotExist, compilation issues can appear if these methods already exists and they have another signature then is expected.

Supported Dynamics AX versions

 * Developed in Dynamics AX 4.0 SP2
 * Tested in Dynamics AX 2009

Using InfoActions
InfoActions helps user to do actions directly from Infolog. Table Methods Generator uses InfoActions in two different situations:
 * 1) Error messages: If it is possible, InfoAction is used for opening proper table in AOT. It is particularly useful if you are working with multiple tables.
 * 2) Methods list: Names of newly created as well as existing methods are written to Infolog. In both cases it is possible to use InfoAction for opening content of the method.

Labels
Hard-coded English texts are used instead of labels.

Customization
There is no configuration available for Table Methods Generator. Of course, you can change source code easily. For example, if you do not want to generate checkExist method, simply remove appropriate line from class DEV_TableMethodsGenerator, method initMethods.