InterSystems IRIS Data Platform 2020.4 > 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 [ Language = objectscript ]
Insert a segment at the end by index
method AppendSegmentId(pSegmentId As %String) as %Status [ Language = objectscript ]
Insert a segment ID at the end by index
abstract method BuildMap(pKeepParsingAfterError As %Boolean = 1, pReportMissingLoopAsFirstSeg As %Boolean = 0) as %Status [ Language = objectscript ]
pReportMissingLoopAsFirstSeg not implemented except for in EnsLib.EDI.X12.Document
classmethod EnumerateSegTypesClose(ByRef qHandle As %Binary) as %Status [ Language = objectscript ]
classmethod EnumerateSegTypesExecute(ByRef qHandle As %Binary, Category As %String, Level As %String, IncludeBase As %Boolean) as %Status [ Language = objectscript ]
classmethod EnumerateSegTypesFetch(ByRef qHandle As %Binary, ByRef Row As %List, ByRef AtEnd As %Integer = 0) as %Status [ Language = objectscript ]
abstract method FindSegment(pSegName As %String, ByRef pIndex As %String = "", Output pStatus As %Status) as EnsLib.EDI.Segment [ Language = objectscript ]
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 [ Language = objectscript ]
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) [ Language = objectscript ]
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 [ Language = objectscript ]
Gets a mutable segment object by path or index
method GetSegmentAt(pIndexOrPath As %String, Output pStatus As %Status) as EnsLib.EDI.Segment [ Language = objectscript ]
Gets a immutable segment object by path or index
method GetSegmentIdAt(pIndexOrPath As %String, Output pStatus As %Status) as %String [ Language = objectscript ]
Gets a immutable segment ID by path or index
abstract method GetSegmentTypeAt(pSegPath As %String, Output pStatus As %Status) as %String [ Language = objectscript ]
method GetValues(pSegmentPropertyPath As %String, pSeparators As %String, pValSepString As %String = "<>", Output pStatus As %Status) as %String [ Language = objectscript ]
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) [ Language = objectscript ]
Finds all values matching a SegPath:PropertyPath string that contains zero or more () implicit iterators
method InsertSegmentAt(pSegment As EnsLib.EDI.Segment, pIndex As %Integer = "") as %Status [ Language = objectscript ]
Insert a segment object by index
method InsertSegmentIdAt(pSegmentId As %String, pIndex As %Integer = "") as %Status [ Language = objectscript ]
Insert a segment ID by index
abstract method NewSegment(pSegPath As %String, pSeparators As %String, Output pStatus As %Status) as EnsLib.EDI.Segment [ Language = objectscript ]
Returns a new segment of type suitable for inserting in the current transaction type at the position given by pSegPath
method RemoveSegmentAt(pIndexOrPath As %String = "") as %Status [ Language = objectscript ]
Removes a segment by path or index
method SetSegmentAt(pSegment As EnsLib.EDI.Segment, pIndexOrPath As %String = "") as %Status [ Language = objectscript ]
Set a segment object by path or index
method SetSegmentIdAt(pSegmentId As %String, pIndexOrPath As %String = "") as %Status [ Language = objectscript ]
Set a segment ID by path or index
method getValsArray(pSegmentPropertyPath As %String, pSeparators As %String, ByRef pArray As %String, Output pStatus As %Status, ByRef pLongArray As %String) [ Language = objectscript ]
Finds all values matching a SegPath:PropertyPath string that contains zero or more () implicit iterators

Queries

query EnumerateSegTypes(Category As %String = "", Level As %String = "", IncludeBase As %Boolean = 0)
Selects SegType As %String, Field As %String, Description As %String, IsStandard As %Boolean
Returns a list of schema categories and segment types and segment fields for the document class.
The Category and Level parameters can be used to restrict the list.
If Category is:
0 - return only standard categories
+ - return only user-defined categories
empty - return all categories
a category name - return only SegTypes in the named category
a category name:segment type name - return only information about the named SegType
a partial name suffixed with '%' - return only SegTypes in categories matching the partial category name
other - return nothing
If Level is:
0 - return all segment names
n - return the given number of levels of nested field names within each segment
empty - return all levels of nested field names within each segment
If IncludeBase is:
0 - return only segment names defined in the current schema category itself
1 - return all segment names in the current schema category's base category in addition to those defined in the current category itself

Inherited Members

Inherited Methods (Including Private)

Subclasses

Feedback