Documentation Martin Dráb 8/19/2010
TABLE OF CONTENT Table of content... 1 Basic information... 2 Supported versions of Microsoft Dynamics AX... 2 Supported languages... 2 Installation... 3 User guide... 4 How to use Data Reference Searcher... 4 Type specification... 4 Fields searching... 4 Definition of values to search... 4 Reference searching... 4 Program launching... 4 Forms description... 4 Reference data type... 4 Reference field... 5 Value to search... 5 Values generating... 5 Reference... 6 Bug reporting... 7 Page 1 of 7
Data Reference Searcher is an extension for Microsoft Dynamics AX that allows searching in a database for references to specific values of a data type. Its primary goal is searching for references to objects, which names or IDs have to be changed, but it can be used to search for any values. Data Reference Searcher doesn't handle any updates to other values. BASIC INFORMATION Example: A Dynamics AX module is being moved to a layer with different ID range and therefore all table IDs will be changed. Using Data Reference Searcher, it is possible to finf all references to original table numbers, e.g. in Document reference, and update them to keep the database consistency. Data update should be implemented as a regular data upgrade script. Supported versions of Microsoft Dynamics AX Current version of Data Reference Searcher supports Dynamics AX 2009 only. Support of Dynamics AX 4.0 a Axapta 3.0 is planned to a next version. Supported languages User interface and documentation are created in Czech and English (EN-US). Page 2 of 7
INSTALLATION Installation of Data Reference Searcher consists of single installation file of.xpo type. The file contains both applications objects and labels (Czech and English (EN-US)). Installation procedure Import of application files and labels (You can specify the label file (option Create labels in the label file), or choose an action for each label, if needed (tab Labels)). Database synchronization Page 3 of 7
How to use Data Reference Searcher USER GUIDE Type specification First step is a specification of a data type, whose values will be searched for (e.g. RefTableId or TableId for ID of a table). All fields with the given data type, or with a derived data type (e.g. FatherTableId), will be searched. Fields searching After data type specification, it is necessary to find all field with the given data type. Values will be searched in these fields only. Definition of values to search Next step is to define values, which will be used for searching. It is possible to enter them manually or (for some types) generate them based on some criteria (e.g. ID of all tables with the name beginning with MyPrefix). Reference searching If both values and fields for searching are defined, it is possible to start searching. System tries to find all defined values in all defined fields. Found references are saved to database. Program launching Data Reference Searcher is not integrated to the main menu. Open shared project DataReferenceSearcher, group Start and run menu item DataReferenceSearcher. Forms description Reference data type The Reference data type form is the main form of the whole solution. Data types, whose values will be searched, are defined here. Also all other functions are accessible from this form. Buttons Fields, Values and References open corresponding forms. The Updates button makes accessible searching for fields and references (for all currently selected data types). Page 4 of 7
Reference field The Reference field form shows database fields for reference searching. Records can be manually added and removed, or they can be generated automatically based on the data type. Technical details Not all fields are included in results. Concretely, all system fields are ignored (e.g. searching for the TableId type does not return the TableId system field existing in all tables). Conditions are placed in the DevRefAnalysisSeekFields class, in istablewanted() and isfieldwanted() methods. Value to search The Value to search form shows values which will be searched in database. Records can be manually added and removed; for some types the Generate button is available (see below). Values generating Values of some types can be generated based on a database query. This typically concerns finding of an application object with a specific name or from a specific layer. Following types (and their children) are supported by default: ClassId, ClassName, TableId, TableName a UserId. Extension to additional types requires a simple program modification. Page 5 of 7
Technical details Implementation of a new generator requires following steps: Creation of new descendant of the DevRefValueType class Methods implementation: o static boolean issupportedtype() Pro zadané jméno typu vrací informaci, zda mohou být jeho hodnoty vytvořeny tímto generátorem. o Query generatorquery() Dotaz použitý pro generování hodnot. Pole Hledaná hodnota a Popis mohou být získány pouze z prvního datového zdroje tohoto dotazu. o DevRefValue value() Vrací hodnotu pro hledání na základě konkrétního záznamu z dotazu. o Description valuedescription() - Vrací Popis hodnoty pro hledání na základě konkrétního záznamu z dotazu. (Volitelné) Integrate to DevRefValueType::construct() As a trivial example can be used the DevRefValueType_UserId class. Reference The Reference form shows found occurrences of searched values in scanned database fields. In the dialog for reference update, it is possible to select searching across all companies (DataArea). Page 6 of 7
BUG REPORTING All found bugs (eventually other feedback) please send to e-mail address bug@goshoom.net. Page 7 of 7