Skip to main content

EnsLib.EDI.SEF.Parser

class EnsLib.EDI.SEF.Parser extends %Library.RegisteredObject

Property Inventory

Method Inventory

Properties

property Agency as %String;
This holds the agency identifier
Property methods: AgencyDisplayToLogical(), AgencyGet(), AgencyIsValid(), AgencyLogicalToDisplay(), AgencyLogicalToOdbc(), AgencyNormalize(), AgencySet()
property ComOrdinal as %Integer;
This holds the element ordinal withing the COMS definition
Property methods: ComOrdinalDisplayToLogical(), ComOrdinalGet(), ComOrdinalIsValid(), ComOrdinalLogicalToDisplay(), ComOrdinalNormalize(), ComOrdinalSet()
property DefaultStdRequirement as %String;
This holds the calculated default standard requirement
Property methods: DefaultStdRequirementDisplayToLogical(), DefaultStdRequirementIsValid(), DefaultStdRequirementLogicalToDisplay(), DefaultStdRequirementLogicalToOdbc(), DefaultStdRequirementNormalize(), DefaultStdRequirementSet()
property DocKey as %String;
This holds the document key
Property methods: DocKeyDisplayToLogical(), DocKeyGet(), DocKeyIsValid(), DocKeyLogicalToDisplay(), DocKeyLogicalToOdbc(), DocKeyNormalize(), DocKeySet()
property ParsedElements as array of EnsLib.EDI.SEF.Element;
This holds already parsed elements, as elements may appear in multiple segments,composites there is no point in parsing these multiple times
Property methods: ParsedElementsBuildValueArray(), ParsedElementsCollectionToDisplay(), ParsedElementsCollectionToOdbc(), ParsedElementsDisplayToCollection(), ParsedElementsGet(), ParsedElementsGetObject(), ParsedElementsGetObjectId(), ParsedElementsGetSwizzled(), ParsedElementsIsValid(), ParsedElementsOdbcToCollection(), ParsedElementsSet(), ParsedElementsSetObject(), ParsedElementsSetObjectId()
property ParsedSegments as array of EnsLib.EDI.SEF.Segment;
This holds already parsed elements, as elements may appear in multiple segments,composites there is no point in parsing these multiple times
Property methods: ParsedSegmentsBuildValueArray(), ParsedSegmentsCollectionToDisplay(), ParsedSegmentsCollectionToOdbc(), ParsedSegmentsDisplayToCollection(), ParsedSegmentsGet(), ParsedSegmentsGetObject(), ParsedSegmentsGetObjectId(), ParsedSegmentsGetSwizzled(), ParsedSegmentsIsValid(), ParsedSegmentsOdbcToCollection(), ParsedSegmentsSet(), ParsedSegmentsSetObject(), ParsedSegmentsSetObjectId()
property STD as %String;
This holds the 'Standard Variations' specification from the .STD section
Property methods: STDDisplayToLogical(), STDGet(), STDIsValid(), STDLogicalToDisplay(), STDLogicalToOdbc(), STDNormalize(), STDSet()
property Scanner as EnsLib.EDI.SEF.Scanner;
This holds the scanner
Property methods: ScannerGet(), ScannerGetSwizzled(), ScannerIsValid(), ScannerNewObject(), ScannerSet()
property ScannerStack as EnsLib.EDI.SEF.Util.Stack;
This holds the scanner stack
Property methods: ScannerStackGet(), ScannerStackGetSwizzled(), ScannerStackIsValid(), ScannerStackNewObject(), ScannerStackSet()
property SegOrdinal as %Integer;
This holds the element/composite ordinal within SEG definition
Property methods: SegOrdinalDisplayToLogical(), SegOrdinalGet(), SegOrdinalIsValid(), SegOrdinalLogicalToDisplay(), SegOrdinalNormalize(), SegOrdinalSet()
property SetIncrement as %Integer;
This holds the set segment position increment value for the SET definition
Property methods: SetIncrementDisplayToLogical(), SetIncrementGet(), SetIncrementIsValid(), SetIncrementLogicalToDisplay(), SetIncrementNormalize(), SetIncrementSet()
property SetOrdinal as %Integer;
This holds the segment ordinal within the SET defintion
Property methods: SetOrdinalDisplayToLogical(), SetOrdinalGet(), SetOrdinalIsValid(), SetOrdinalLogicalToDisplay(), SetOrdinalNormalize(), SetOrdinalSet()
property SetPosition as %Integer;
This holds the segment position withing the SET definition
Property methods: SetPositionDisplayToLogical(), SetPositionGet(), SetPositionIsValid(), SetPositionLogicalToDisplay(), SetPositionNormalize(), SetPositionSet()
property Standard as %String;
This holds the standard identifier
Property methods: StandardDisplayToLogical(), StandardGet(), StandardIsValid(), StandardLogicalToDisplay(), StandardLogicalToOdbc(), StandardNormalize(), StandardSet()
property TableCounter as %Integer;
This holds the table counter
Property methods: TableCounterDisplayToLogical(), TableCounterGet(), TableCounterIsValid(), TableCounterLogicalToDisplay(), TableCounterNormalize(), TableCounterSet()

Methods

method DefaultStdRequirementGet() as %String
The DefaultStdRequirement depends upon the standard inforce
method ParseCode(pParent As EnsLib.EDI.SEF.Node, Output pNode As EnsLib.EDI.SEF.Node)
method ParseCodeSet(pParent As EnsLib.EDI.SEF.Codes, Output pCodeSet As EnsLib.EDI.SEF.CodeSet) as %Status
method ParseCodeTransactionSet(pParent As EnsLib.EDI.SEF.CodeSet, Output pTransactionSet As EnsLib.EDI.SEF.CodeTransactionSet) as %Status
method ParseCodes(pElementID, pParent, Output pCodes As EnsLib.EDI.SEF.Codes)
method ParseComposite(pName As %String, pParent As EnsLib.EDI.SEF.SegmentComposite, Output pComposite As EnsLib.EDI.SEF.Composite) as %Status
:- [ '+' ] [ ',' ]
method ParseCompositeElement(pUsrRequirement As %String, pParent As EnsLib.EDI.SEF.Node, Output pCompositeElement As EnsLib.EDI.SEF.CompositeElement) as %Status
Parse a composite element
method ParseCompositeElementGroup(pParent As EnsLib.EDI.SEF.Composite, Output pGroup As EnsLib.EDI.SEF.CompositeElementGroup) as %Status
:- '{' [ ]+ '}'
method ParseCompositeElementMask(pParent As EnsLib.EDI.SEF.SegmentMask, Output pElementMask As EnsLib.EDI.SEF.CompositeElementMask) as %Status
method ParseCompositeMask(pParent As EnsLib.EDI.SEF.Node, Output pComMaskList As EnsLib.EDI.SEF.CompositeMaskList) as %Status
method ParseDependencyNote(pParent As EnsLib.EDI.SEF.Segment, Output pNote As EnsLib.EDI.SEF.DependencyNote) as %Status
method ParseDocument(pDocKey As %String, pFileType As %String, Output pDocument As EnsLib.EDI.SEF.Document) as %Status
Parse a document
method ParseElement(pElementID As %Integer, pParent As EnsLib.EDI.SEF.Node, Output pElement As EnsLib.EDI.SEF.Element) as %Status
:- ',' ','
method ParseExpressionList(Output pExpressionList As ExpressionList) as %Status
method ParseLocation(pString As %String, Output pLocation As Location) as %Status
Parse a location
method ParseObjectVariables(pParent As Document, Output pObjVars As ObjectVariableList) as %Status
method ParseRelations(pParent As EnsLib.EDI.SEF.Node, Output pNodeList As EnsLib.EDI.SEF.NodeList) as %Status
Element relations may be X12 SyntaxRules or EDIFACT Dependency Notes
method ParseRule(pString As %String, Output pRule As Rule) as %Status
Parse a Rule
method ParseSegment(pSegmentName As %String, pParent As EnsLib.EDI.SEF.Node, Output pSegment As EnsLib.EDI.SEF.Segment) as %Status
method ParseSegmentComposite(pUsrRequirement As %String, pParent As EnsLib.EDI.SEF.Node, Output pSegmentComposite As EnsLib.EDI.SEF.SegmentComposite) as %Status
method ParseSegmentElement(pUsrRequirement As %String, pParent As EnsLib.EDI.SEF.Node, Output pSegmentElement As EnsLib.EDI.SEF.SegmentElement) as %Status
method ParseSegmentItemGroup(pParent As EnsLib.EDI.SEF.Segment, Output pGroup As EnsLib.EDI.SEF.SegmentItemGroup) as %Status
method ParseSegmentItemMask(pParent As EnsLib.EDI.SEF.SegmentMask, Output pItemMask As EnsLib.EDI.SEF.SegmentItemMask) as %Status
method ParseSegmentMask(pParent As EnsLib.EDI.SEF.Node, Output pSegMaskList As EnsLib.EDI.SEF.SegmentMaskList) as %Status
method ParseSemanticReferences(pParent As Document, Output pSemRefs As SemanticReferenceList) as %Status
method ParseSet(pSetName As %String, pParent As EnsLib.EDI.SEF.Node, Output pSet As EnsLib.EDI.SEF.Set) as %Status
Parse a single set, e.g for ASCX12 this could be 835
method ParseSetItemGroup(pParent As EnsLib.EDI.SEF.Node, Output pGroup As EnsLib.EDI.SEF.SetItemGroup, pPositionModifier As %Integer = "") as %Status
method ParseSetSegment(pGroupTrigger As %Boolean, pParent As EnsLib.EDI.SEF.Node, Output pSetSegDef As EnsLib.EDI.SEF.Segment) as %Status
Parse a segment. The loop trigger tells us whether this segment is a loop, i.e the first segment in a loop. There is special processing for loop triggers
method ParseSyntaxRule(pParent As EnsLib.EDI.SEF.Segment, Output pRule As EnsLib.EDI.SEF.SyntaxRule) as %Status
method ParseTable(pParent As EnsLib.EDI.SEF.Node, Output pTable As EnsLib.EDI.SEF.Table) as %Status
method ParserError(pError As %String) as %Status
Form an error message
method ValidateSegRequirement(pRequirement As %String) as %Status
method ValidateSetRequirement(pRequirement As %String) as %Status

Inherited Members

Inherited Methods

FeedbackOpens in a new tab