Home > Class Reference > ENSLIB namespace > EnsLib.EDI.SEF.Compiler
Private  Storage   


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