Class Reference
IRIS for UNIX 2024.1.2
InterSystems: The power behind what matters   
Documentation  Search
  [USER] >  [EnsLib] >  [EDI] >  [SEF] >  [Parser]
Private  Storage   

class EnsLib.EDI.SEF.Parser extends %RegisteredObject

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
15 34


Summary

Properties
Agency ComOrdinal DefaultStdRequirement DocKey
ParsedElements ParsedSegments STD Scanner
ScannerStack SegOrdinal SetIncrement SetOrdinal
SetPosition Standard TableCounter

Methods
%AddToSaveSet %ClassIsLatestVersion %ClassName %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IsA %IsModified %New
%NormalizeObject %ObjectModified %OriginalNamespace %PackageName
%RemoveFromSaveSet %SerializeObject %SetModified %ValidateObject
DefaultStdRequirementGet ParseCode ParseCodeSet ParseCodeTransactionSet
ParseCodes ParseComposite ParseCompositeElement ParseCompositeElementGroup
ParseCompositeElementMask ParseCompositeMask ParseDependencyNote ParseDocument
ParseElement ParseExpressionList ParseLocation ParseObjectVariables
ParseRelations ParseRule ParseSegment ParseSegmentComposite
ParseSegmentElement ParseSegmentItemGroup ParseSegmentItemMask ParseSegmentMask
ParseSemanticReferences ParseSet ParseSetItemGroup ParseSetSegment
ParseSyntaxRule ParseTable ParserError ValidateSegRequirement
ValidateSetRequirement


Properties

• property Agency as %String;
This holds the agency identifier
• property ComOrdinal as %Integer;
This holds the element ordinal withing the COMS definition
• property DefaultStdRequirement as %String;
This holds the calculated default standard requirement
• property DocKey as %String;
This holds the document key
• 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 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 STD as %String;
This holds the 'Standard Variations' specification from the .STD section
• property Scanner as EnsLib.EDI.SEF.Scanner;
This holds the scanner
• property ScannerStack as EnsLib.EDI.SEF.Util.Stack;
This holds the scanner stack
• property SegOrdinal as %Integer;
This holds the element/composite ordinal within SEG definition
• property SetIncrement as %Integer;
This holds the set segment position increment value for the SET definition
• property SetOrdinal as %Integer;
This holds the segment ordinal within the SET defintion
• property SetPosition as %Integer;
This holds the segment position withing the SET definition
• property Standard as %String;
This holds the standard identifier
• property TableCounter as %Integer;
This holds the table counter

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
ParseCode
• method ParseCodeTransactionSet(pParent As EnsLib.EDI.SEF.CodeSet, Output pTransactionSet As EnsLib.EDI.SEF.CodeTransactionSet) as %Status
ParseCodeTransaction
• 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


Copyright (c) 2025 by InterSystems Corporation. Cambridge, Massachusetts, U.S.A. All rights reserved. Confidential property of InterSystems Corporation.