class EnsLib.EDI.SEF.Compiler extends EnsLib.EDI.SEF.MaskNavigator

This is the SEF Compiler. For each transaction set defined in the SEF file, a parser will be generated that can import and validate documents which conform to that transaction set specification


Parameters Properties Methods Queries Indices ForeignKeys Triggers
8 10


CatOnly CompositeModifierStack CurrentRequirement DocKey
LoopStack MaskActive MaskStack SegmentModifierStack
SetName State StructureIndex
%AddToSaveSet %ClassIsLatestVersion %ClassName %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IsA %IsModified %New
%NormalizeObject %ObjectModified %OriginalNamespace %PackageName
%RemoveFromSaveSet %SerializeObject %SetModified %ValidateObject
AddDescriptor Compile CreateShortName GetImportCategory
Import InitState Initialize ParseDocument
UpdateDescriptor buildSchemaMap


property CatOnly as %Boolean;
property CompositeModifierStack as EnsLib.EDI.SEF.Util.Stack;
This holds the CompositeOrdinalModifier stack
property DocKey as %String;
This holds the key derived from parsing a document
property LoopStack as EnsLib.EDI.SEF.Util.Stack;
This holds the LoopStack for map resolution
property SegmentModifierStack as EnsLib.EDI.SEF.Util.Stack;
This holds the SegmentOrdinalModifier stack
property SetName as %String;
This holds the current set name
property State as %String [ MultiDimensional ];
This holds the State for map resolution
property StructureIndex as %Integer [ InitialExpression = 0 ];
This holds the current structure index


method AddDescriptor(pType As %String, pDescriptor As %String, Output pDescriptorIndex As %Integer)
This adds a descriptor to the master descriptor for a particular Doc/Set
method Compile(pFilename As %String, pFamily As %String, Output pCategory As %String, Output pValidationErrors As %String, pUseOld As %Boolean) as %Status
This method imports the specified SEF file, parsing and generating descriptors which are used to drive the SEF Parser.
classmethod CreateShortName(pDesc As %String) as %String
Given a element/composite description, generate an short-form name
classmethod GetImportCategory(pFilename As %String) as %String
This retrieves the import category from a file without further compilation
classmethod Import(pFiles As %String, pFamily As %String = "X12", Output pCategoryImported As %String, Output pValidationErrors As %String, pUseOld As %Boolean) as %Status
Load a set of SEF files. Give just the filename (without the .SEF extension) if in the standard location, otherwise the full path with ".SEF".
method InitState(pIndex As %Integer, pType As %String, pStructure As %String) as %Status
Given structure index, structure type and structure, intialize state
method Initialize() as %Status
Put Compiler into the initial state, ready to generate set descriptors
method ParseDocument(pFilename As %String, pFamily As %String, Output pCategory As %String, Output pDocument As EnsLib.EDI.SEF.Document) as %Status
method UpdateDescriptor(pIndex As %Integer, pPieceNumber As %Integer, pValue As %String)
method buildSchemaMap(pDocTypeCategory As %String, pDocTypeName As %String) as %Status
Returns the Schema structure, showing sequence and hierarchy of segments
Copyright © 1997-2021 InterSystems Corporation, Cambridge, MA