Home > Class Reference > ENSLIB namespace > EnsLib.EDI.Segmented

EnsLib.EDI.Segmented

abstract class EnsLib.EDI.Segmented extends %Library.RegisteredObject

Common (secondary) base class for VDoc classes that have segments, BuildMap(), and Separators

Property Inventory (Including Private)

Method Inventory (Including Private)

Properties (Including Private)

property AutoBuildMap as %Boolean [ InitialExpression = 0 , Transient ];
Determines if maps should be built automatically on segment insertion/deletion
Property methods: AutoBuildMapDisplayToLogical(), AutoBuildMapGet(), AutoBuildMapIsValid(), AutoBuildMapLogicalToDisplay(), AutoBuildMapNormalize(), AutoBuildMapSet()
property BuildMapStatus as %Status [ Transient , ReadOnly ];
The status of the last BuildMap() action, or empty if the map gets updated or discarded later. Note that the BuildMap() is not called automatically when a saved document gets opened.
Property methods: BuildMapStatusGet(), BuildMapStatusIsValid(), BuildMapStatusLogicalToOdbc()
property CacheSegsGotten as %Boolean [ InitialExpression = 1 , Transient ];
Flag to control whether segments retrieved from a document should be cached in the map of the document object. Segments not cached will be marked immutable because the document will have no record of them and therefore couldn't save any changes to them when it is saved
Property methods: CacheSegsGottenDisplayToLogical(), CacheSegsGottenGet(), CacheSegsGottenIsValid(), CacheSegsGottenLogicalToDisplay(), CacheSegsGottenNormalize(), CacheSegsGottenSet()
property SegCount as %Integer [ Calculated , Transient , ReadOnly ];
Number of Segments composing this Document
Property methods: SegCountCompute(), SegCountDisplayToLogical(), SegCountGet(), SegCountIsValid(), SegCountLogicalToDisplay(), SegCountNormalize(), SegCountSQLCompute()

Methods (Including Private)

method AppendSegment(pSegment As EnsLib.EDI.Segment) as %Status
Insert a segment at the end by index
method AppendSegmentId(pSegmentId As %String) as %Status
Insert a segment ID at the end by index
abstract method BuildMap(pKeepParsingAfterError As %Boolean = 1) as %Status
classmethod EnumerateSegTypesClose(ByRef qHandle As %Binary) as %Status
classmethod EnumerateSegTypesExecute(ByRef qHandle As %Binary, Category As %String, Level As %String, IncludeBase As %Boolean) as %Status
classmethod EnumerateSegTypesFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status
abstract method FindSegment(pSegName As %String, ByRef pIndex As %String = "", Output pStatus As %Status) as EnsLib.EDI.Segment
Gets the next segment after index pIndex with name pSegName. Supports pSegName = '*' to match any segment.
method FindSegmentValues(pSegmentPropertyPath As %String, pSeparators As %String, pValSepString As %String = "<>", Output pStatus As %Status, pSchemaCategory As %String = "", Output pIndices As %String) as %String
Finds all values matching a SegName:PropertyPath string, where the SegName is a simple segment type name (not a full schema-based seg path); PropertyPath describes a field or subfield within the segment.
Supports SegName = '*' to match any segment, and SegName(n) to match only the n'th segment of the given type.
Final parameter is an output of the list of segment indexes (separated by pValSepString) for the values found.
method FindSegmentValuesArray(pSegmentPropertyPath As %String, pSeparators As %String, ByRef pArray As %String, Output pStatus As %Status, pSchemaCategory As %String = "", ByRef pLongArray As %String)
Finds all values matching a SegName:PropertyPath string, where the SegName is a simple segment type name (not a full schema-based seg path); PropertyPath describes a field or subfield within the segment. Supports SegName = '*' to match any segment, and SegName(n) to match only the n'th segment of the given type.
method GetMutableSegmentAt(pIndexOrPath As %String, Output pStatus As %Status) as EnsLib.EDI.Segment
Gets a mutable segment object by path or index
method GetSegmentAt(pIndexOrPath As %String, Output pStatus As %Status) as EnsLib.EDI.Segment
Gets a immutable segment object by path or index
method GetSegmentIdAt(pIndexOrPath As %String, Output pStatus As %Status) as %String
Gets a immutable segment ID by path or index
abstract method GetSegmentTypeAt(pSegPath As %String, Output pStatus As %Status) as %String
method GetValues(pSegmentPropertyPath As %String, pSeparators As %String, pValSepString As %String = "<>", Output pStatus As %Status) as %String
Finds all values matching a SegPath:PropertyPath string that contains zero or more () implicit iterators Supports SegPath values with (), (n) to choose a specific one of the given type, or just plain (same as seg() or seg(*)).
method GetValuesArray(pSegmentPropertyPath As %String, pSeparators As %String, ByRef pArray As %String, Output pStatus As %Status, ByRef pLongArray As %String)