Files
DP44/enriched-qwen3-coder-next/Common/DTS.CommonCore/Enums/DBExport.md
2026-04-17 14:55:32 -04:00

8.3 KiB

source_files, generated_at, model, schema_version, sha256
source_files generated_at model schema_version sha256
Common/DTS.CommonCore/Enums/DBExport/TestObjectFields.cs
Common/DTS.CommonCore/Enums/DBExport/CustomDirectionFields.cs
Common/DTS.CommonCore/Enums/DBExport/CustomFinLoc2Fields.cs
Common/DTS.CommonCore/Enums/DBExport/CustomFinLoc1Fields.cs
Common/DTS.CommonCore/Enums/DBExport/CustomFinLoc3Fields.cs
Common/DTS.CommonCore/Enums/DBExport/CustomFilterFields.cs
Common/DTS.CommonCore/Enums/DBExport/PositionFields.cs
Common/DTS.CommonCore/Enums/DBExport/MainLocationFields.cs
Common/DTS.CommonCore/Enums/DBExport/PhysicalDimensionFields.cs
Common/DTS.CommonCore/Enums/DBExport/TopLevelFields.cs
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.TestObject entities.

CustomDirectionFields

  • Members: Direction, Expired, History, Last_Change, Last_Change_Text, Remarks, GUID, SortKey, Text_L1, Text_L2, Version
  • Purpose: Represents field names for ISODll.MMEDirection entities.

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.FineLocation1 entities.

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.FineLocation2 entities.

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.MMEFineLocation3 entities.

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_FilterClass entities.

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.MMEPositions entities.

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.MMETransducerMainLocation entities.

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.MMEPhysicalDimension entities.

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 SensorChangeHistory was introduced in version 7.

3. Invariants

  • Consistent casing and naming: All enum members use PascalCase for 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:
    • TestObjectFields uses s_GUID (lowercase s) instead of S_GUID.
    • MainLocationFields includes Picture_ShortName, Trans_Main_Loc, and Type instead of Fine_Loc_* fields.
    • PhysicalDimensionFields includes SI base unit exponent fields (Length_EXP, Mass_EXP, etc.) and Default_Unit, RecordType.
    • PositionFields includes RecordType and Position.
  • Top-level enum scope: TopLevelFields enumerates 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 shared DTS.CommonCore library.
  • 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 the ISODll native 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.Export or DTS.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.

5. Gotchas

  • Inconsistent GUID field naming: TestObjectFields uses s_GUID, while all other location/filter enums use S_GUID or GUID. 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_GUID vs GUID: CustomDirectionFields uses GUID, while others use S_GUID. This inconsistency could lead to bugs if field resolution is case- or prefix-sensitive.
  • PhysicalDimensionFields exponent naming: Exponent fields use inconsistent casing (Length_EXP, Luminous_Intensity_Exp, Electric_Current_EXP). The last two differ in suffix casing (_Exp vs _EXP). This may reflect legacy naming or external schema requirements but is error-prone.
  • TopLevelFields includes CustomTestObjects but no corresponding TestObjectFields enum member is named CustomTestObjects: 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, Expired likely indicates soft-deletion status, but this is not stated. Consumers must infer or reference external documentation.
  • SensorChangeHistory comment: The inline comment //introduce in V7, and //15390 Store the ZMO in EU in the DataPRO DB suggest 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.