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

class EnsLib.EDI.EDIFACT.Parser extends %RegisteredObject

This is the EDIFACT Interchange parser

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
21 7


Summary

Properties
%CharCount %CurrentDocument %CurrentParentSegIndex %CurrentParents
%LineCount %LookaheadLine %LookaheadLineIsNew %LookaheadLineTerminator
%NumChildren %ParentIds %SegmentCount %ServiceInterface
%Stream ControlVersion Done ReadTimeout
SegmentTerminator Separators StartTimeout TransactionSetCount
Whitespace

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
DoneGet ParseIOStream Reset ResetPosition
StripWhitespace


Properties

• property %CharCount as %Integer;
• property %CurrentDocument as EnsLib.EDI.Document;
The current Document
• property %CurrentParentSegIndex as %String;
The segment position within the current parent Document
• property %CurrentParents  [ InitialExpression = 0,MultiDimensional ];
List of enclosing parent objects ordered from outermost to immediate As EnsLib.EDI.Document
• property %LineCount as %Integer;
• property %LookaheadLine as %String;
Lookahead line left over from previous document parse
• property %LookaheadLineIsNew as %Boolean;
Lookahead buffer for line terminator of unframed MSH
• property %LookaheadLineTerminator as %String;
Lookahead buffer for line terminator of unframed MSH
• property %NumChildren as %Integer [ MultiDimensional ];
List of counts of nested documents, ordered from outer to innermost
• property %ParentIds as %String;
List of enclosing parent objects ordered from immediate to outermost
• property %SegmentCount as %Integer;
Count of Segments tallied during parse of a TransactionSet
• property %ServiceInterface as EnsLib.EDI.ServiceInterface;
The config provider
• property %Stream as %IO.I.CharacterStream;
• property ControlVersion as %String(MAXLEN=5);
This allows you to pre-set a ControlVersion to use when reading TransactionSets without an UNA or UNG
• property Done as %Boolean [ Calculated,ReadOnly ];
• property ReadTimeout as %Numeric(MINVAL=-1) [ InitialExpression = 5 ];
Number of seconds to wait for each read of document data inside a started document to be available on the input stream
• property SegmentTerminator as %String(MAXLEN=1,MINLEN=1);
This remembers the terminator defined in the UNA, but you can pre-set it to read TransactionSets without an UNA
• property Separators as %String(MAXLEN=4,MINLEN=4);
This remembers separators defined in the UNA, but you can pre-set it to read TransactionSets without an UNA
• property StartTimeout as %Numeric(MINVAL=-1) [ InitialExpression = 5 ];
Number of seconds to wait for the start of a document to be available on the input stream
• property TransactionSetCount as %Integer;
Count of TransactionSets in a Group
• property Whitespace as %String;
This property controls the skipping of whitespace in the data stream. Set it to a string of characters that should be considered whitespace and not part of the data

Methods

• method DoneGet() as %Boolean
This is a Get accessor method for the Done property.
• method ParseIOStream(pIOStream As %IO.I.CharacterStream, Output pDocument As EnsLib.EDI.EDIFACT.Document, ByRef pControlVersion As %String = "", pInbound As %Boolean = 0) as %Status
Parse a complete EDIFACT interchange document from the stream, including any nested TransactionSet documents inside it. An Interchange contains zero or more functional groups which in turn contain TransactionSets.
• method Reset()
• method ResetPosition()
• method StripWhitespace(pLine As %String) as %String
Strip off leading whitespace from the line


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