List Objects Overview

Refer to Function: StellaTools.Tools.UI.ListObjects
  • Ever wanted to know which functions in your model are external and which are internal?
  • Ever wanted to list your fields and their properties?
  • Ever want to know the current implementation triples of your views and physical tables?
  • New Version1.2! Ever been asked for a list of your Plex generated tables and their fields? 
  • New Version1.2! Ever wanted to judge the file impact of changing a field length of a class object, why not dump and pre and post version of your DB tables to XML/XHTML/CSV and do a text comparison
    then maybe List Objects is for you.


This model api tool allows you to restrict on a CA Plex object type and list the occurrences and properties from your local model while also allowing for some fundamental filtering.

Add-In Setting


Instructions

Launch application from Plex Add-In tool bar. If you are unable to see the Add-In toolbar from View, Toolbars… menu option choose Show toolbar.

Alert Message “Application Models Dialog”


This message is to alert the developer to the current application models found in their template plex.in file (found in CA Plex installation directory).

System Section: [Options]
System Key: GMFileX

which will make up the list of libraries shown in the combo box.

If you don’t see all your models that you want termed as application models you need to copy GMFile settings from your user plex.ini file to your template plex.ini file found in the CA Plex installation directory.

It is important to have a complete list because not only does this define which models are application models but also the logic is anything else must be a shipped library

Search Criteria Entry

  1. Object Type single select list box: Choose the object type you want to list. Listed are all the object types currently supported by CA Plex. Please be aware of the performance issues of choosing some of the object types that exist in your model. To give you an idea it takes about 1.5 hours to list 35,000 functions 
  2. Library editable combo: Select one of the following options or enter a library name you are interested in making sure you get the case correct: 
    • Host Model – Only objects belonging to the current local model will be included in the list
    • Application Model(s) - Only objects belonging to any of the application models (See Alert Message “Application Models Dialog”) will be included in the list
    • Shipped Libraries - Only objects belonging to any of the NON application models (See Alert Message “Application Models Dialog”) will be included in the list
    • All Libraries – No library restriction
  3. Last Modified Date edit box: Allows you to set a cut off date for objects that have been modified on or after the date (See GetObjLastChangedDate Method) 
  4. Super Size Me check box: By default EnumNamedObjects Method is used to create a container of objects which have the same object type but it became clear the method supplied was not fit for purpose and when interrogating large models the API would fail such as the object browser fails when filtering on Values. Check this option to use a slower process that uses a work around breaking the EnumNamedObjects query into 40 separate queries but 'Unscoped Object Name' filtering is not possible.
  5. Unscoped Object Name: Enter and UNSCOPED object name you want to restrict on or use '*' wild card. 
  6. Language Sys Combo: Filter returned list of objects by langauge (Applicable only to Generatable Objects)
  7. Fnc Type Sys ComboFilter returned list of functions by Fnc Type (Applicable only to Function Type) 
  8. Press OK button or Enter button to start the search

Example

List all Functions with the unscoped name starting with 'Edit' that at the current local model configuration have the following settings
  • Language SYS  set to WinC 
  • Fnc Type SYS  set to External
  • and have been modified on or after 04/05/2014

Example Results


Create XML/XHTML/CSV Files of your Tables/Views (and their Fields) 

Go to C:\StellaTools\Docs directory and see for yourself what StellaTools Tables v1.2  look like in XML / XHTML / CSV


Example of XHTML output


Example of CSV output

Model,StellaTL,2014-05-16 21:59:55.782,Admin,V1.0,V1.0,Base,English

Object,28,StellaTL,View:StellaTools.AutoTestBox.Data.Repository.Location.Fetch,
STREPLV1,ODBC,Yes,Y

Field,StellaTools.AutoTestBox.Data.Repository.Location.Fields.Identifier,Numeric,9,
Undefined,STjaA,Undefined,Long,Undefined,StellaTL

Field,StellaTools.AutoTestBox.Data.Repository.Location.Fields.LocationName,Character,
16,Undefined,STpwA,Undefined,Undefined,Undefined,StellaTL


Example of XML output


Performance

“Good things come to those who wait” is a phrase propounding the virtue of patience OR a pint of Guinness which ever you prefer

Listings can take hours depending on sheer numbers of objects in your local.

At least you can run a listing in the back ground or conduct the search at the end of the day, but what you can be sure of is the results will not contain human error and you can arguably have greater confidence in the results in contrast to you picking through the model(s) yourself. You could argue with your boss that you were working after hours also ;)

Silly jokes aside performance is not great but the results are

Earlier versions of the model api did lead to gpfs which would have been very frustrating had a process been running for hours for it then to fail but version 3.0 of the model api has greater error handling and reduced memory leaks etc

Performance Matrix 2014 - CPU 3.30GHz, 8GB RAM, 64-Bit Windows7

List Object Type Number of objects Average Response Time
Function 31,827 1 hour 30minutes