8.3 KiB
source_files, generated_at, model, schema_version, sha256
| source_files | generated_at | model | schema_version | sha256 | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
2026-04-16T02:43:28.798360+00:00 | Qwen/Qwen3-Coder-Next-FP8 | 1 | fd04c3848328d69e |
Documentation: DBExport Enumerations
1. Purpose
This module defines a set of strongly-typed enumerations used to represent field names (tags) for various database-exported objects in XML or structured data formats. These enums serve as canonical identifiers for fields associated with core domain entities—such as test objects, locations (fine and main), filters, positions, physical dimensions, and directions—within the DTS (Data Transfer System) ecosystem. They ensure consistency across serialization/deserialization logic, mapping XML element names or database column aliases to compile-time-safe identifiers, and are likely consumed by data export/import modules (e.g., XML exporters, database mappers, or UI binding layers).
2. Public Interface
All public members are public enum types in the DTS.Common.Enums.DBExport namespace.
TestObjectFields
- Members:
s_GUID,TEST_OBJECT,TEXT_L1,TEXT_L2,VERSION,DATE,REMARKS,EXPIRED,SORTKEY,LAST_CHANGE,LAST_CHANGE_TEXT,HISTORY - Purpose: Represents field names for
ISODll.TestObjectentities.
CustomDirectionFields
- Members:
Direction,Expired,History,Last_Change,Last_Change_Text,Remarks,GUID,SortKey,Text_L1,Text_L2,Version - Purpose: Represents field names for
ISODll.MMEDirectionentities.
CustomFinLoc1Fields
- Members:
Date,Expired,Fine_Loc_1,History,Last_Change,Last_Change_Text,Remarks,S_GUID,SortKey,Text_L1,Text_L2,Version - Purpose: Represents field names for
ISODll.FineLocation1entities.
CustomFinLoc2Fields
- Members:
Date,Expired,Fine_Loc_2,History,Last_Change,Last_Change_Text,Remarks,S_GUID,SortKey,Text_L1,Text_L2,Version - Purpose: Represents field names for
ISODll.FineLocation2entities.
CustomFinLoc3Fields
- Members:
Date,Expired,Fine_Loc_3,History,Last_Change,Last_Change_Text,Remarks,S_GUID,SortKey,Text_L1,Text_L2,Version - Purpose: Represents field names for
ISODll.MMEFineLocation3entities.
CustomFilterFields
- Members:
Date,Expired,Filter_Class,History,Last_Change,Last_Change_Text,Remarks,S_GUID,SortKey,Text_L1,Text_L2,Version - Purpose: Represents field names for
ISODll.MME_FilterClassentities.
PositionFields
- Members:
Date,Expired,History,Last_Change,Last_Change_Text,Position,RecordType,Remarks,S_GUID,SortKey,Text_L1,Text_L2,Version - Purpose: Represents field names for
ISODll.MMEPositionsentities.
MainLocationFields
- Members:
Date,Expired,History,Last_Change,Last_Change_Text,Picture_ShortName,Remarks,S_GUID,SortKey,Text_L1,Text_L2,Trans_Main_Loc,Type,Version - Purpose: Represents field names for
ISODll.MMETransducerMainLocationentities.
PhysicalDimensionFields
- Members:
Amount_Of_Substance_EXP,Date,Default_Unit,Electric_Current_EXP,Expired,History,Last_Change,Last_Change_Text,Length_EXP,Luminous_Intensity_Exp,Mass_EXP,Physical_Dimension,RecordType,Remarks,S_GUID,SortKey,Temperature_EXP,Text_L1,Text_L2,Time_EXP,Version - Purpose: Represents field names for
ISODll.MMEPhysicalDimensionentities.
TopLevelFields
- Members:
CustomerDetails,TestEngineerDetails,LabDetails,DASList,SensorModels,Sensors,Calibrations,CustomDirections,CustomFilterClasses,CustomTestObjects,CustomFinLoc1s,CustomFinLoc2s,CustomFinLoc3s,CustomMainLocs,CustomPhysicalDimensions,CustomPositions,CustomChannels,GroupTemplates,Groups,TestSetups,Users,GlobalSettings,SensorChangeHistory - Purpose: Represents top-level XML element names (root tags) in exported data structures. Includes a comment indicating
SensorChangeHistorywas introduced in version 7.
3. Invariants
- Consistent casing and naming: All enum members use
PascalCasefor multi-word identifiers (e.g.,Last_Change,Fine_Loc_1,Amount_Of_Substance_EXP). Underscores are used to separate words or components (e.g.,Last_Change_Text,Electric_Current_EXP). - Field name alignment: For most entity-specific enums, the following fields appear consistently:
S_GUID/GUID,DATE,VERSION,EXPIRED,HISTORY,LAST_CHANGE,LAST_CHANGE_TEXT,REMARKS,SORTKEY,TEXT_L1,TEXT_L2. Notable exceptions:TestObjectFieldsusess_GUID(lowercases) instead ofS_GUID.MainLocationFieldsincludesPicture_ShortName,Trans_Main_Loc, andTypeinstead ofFine_Loc_*fields.PhysicalDimensionFieldsincludes SI base unit exponent fields (Length_EXP,Mass_EXP, etc.) andDefault_Unit,RecordType.PositionFieldsincludesRecordTypeandPosition.
- Top-level enum scope:
TopLevelFieldsenumerates only root-level XML elements, not nested fields. Its values map to container elements in the XML schema.
4. Dependencies
- Namespace usage: All enums reside in
DTS.Common.Enums.DBExport, implying they are part of a sharedDTS.CommonCorelibrary. - External references (inferred): Each enum is explicitly documented as mapping to an
ISODll.*type (e.g.,ISODll.FineLocation1,ISODll.MME_FilterClass). This suggests a dependency on theISODllnative or interop library (likely containing COM or P/Invoke definitions). - Consumers (inferred): These enums are likely used by:
- XML serialization/deserialization logic (e.g., custom
XmlSerializer-based exporters/importers). - Database export modules (e.g.,
DTS.ExportorDTS.DataExport). - UI components that bind to field names (e.g., grid column headers, filter builders).
- Code generators or template engines that produce XML schemas or data contracts.
- XML serialization/deserialization logic (e.g., custom
5. Gotchas
- Inconsistent GUID field naming:
TestObjectFieldsusess_GUID, while all other location/filter enums useS_GUIDorGUID. This may cause mismatches if logic assumes uniformity (e.g., case-insensitive matching or pattern-based field resolution). - Mixed underscore usage: Some fields use underscores in the middle (
Last_Change,Fine_Loc_1), while others do not (Date,Version). This is likely intentional but may confuse developers expecting consistent naming. S_GUIDvsGUID:CustomDirectionFieldsusesGUID, while others useS_GUID. This inconsistency could lead to bugs if field resolution is case- or prefix-sensitive.PhysicalDimensionFieldsexponent naming: Exponent fields use inconsistent casing (Length_EXP,Luminous_Intensity_Exp,Electric_Current_EXP). The last two differ in suffix casing (_Expvs_EXP). This may reflect legacy naming or external schema requirements but is error-prone.TopLevelFieldsincludesCustomTestObjectsbut no correspondingTestObjectFieldsenum member is namedCustomTestObjects: This enum is for root tags, not field names, but the naming similarity could cause confusion.- No documentation for field semantics: The enums define names, not meanings. For example,
Expiredlikely indicates soft-deletion status, but this is not stated. Consumers must infer or reference external documentation. SensorChangeHistorycomment: The inline comment//introduce in V7,and//15390 Store the ZMO in EU in the DataPRO DBsuggest a version-specific addition. Developers working with older versions may encounter missing support or unexpected behavior if this enum value is used unconditionally.
None identified beyond the above.