Class Reference
EnsLib.EDI.X12.Util.IOFraming
Server:appadmin-00044-deployment-6bf4cbc86d-9f4xc
Instance:IRIS
User:SuperUser
 
-
  [USER] >  [EnsLib] >  [EDI] >  [X12] >  [Util] >  [IOFraming]
Private  Storage

abstract class EnsLib.EDI.X12.Util.IOFraming

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
1 3 3


Summary

Properties
%outFraming DefCharEncoding Framing

Methods
OutputFramedToDevice OutputFramedToIOStream SetOutFraming

Subclasses
EnsLib.EDI.X12.Operation.Standard EnsLib.EDI.X12.Service.Standard

Parameters

• parameter SETTINGS = "Framing:Connection:selector?context={Ens.ContextSearch/getDisplayList?host=@currHostId&prop=Framing}";

Properties

• property %outFraming as %String [ InitialExpression = "uninitialized" ];
Framing to use on output if input framing is "Flexible"
• property DefCharEncoding as %String(MAXLEN=20) [ InitialExpression = "latin1" ];
Default Character Encoding to use when reading or writing X12 Documents.

Choices you can use for this setting include:

  • Native - use the default character encoding of the installed locale of the InterSystems IRIS server
  • latin1 - the ISO Latin1 8-bit encoding; this is the default
  • ISO-8859-1 - the ISO Latin1 8-bit encoding
  • UTF-8 - the Unicode 8-bit encoding
  • Unicode - the Unicode 16-bit encoding (Little-Endian)
  • UnicodeBig - the Unicode 16-bit encoding (Big-Endian)
  • Any other NLS definitions installed on this InterSystems IRIS server
  • @<ttable> - <ttable> means a raw InterSystems character translation table name. A prefix of '@' means to use the named table.
• property Framing as %String(DISPLAYLIST=",None,Epic02/03,Ascii11/28,Ascii11,AsciiLF,AsciiCR,MLLP,MLLP11/28,MsgEnvelope,MLLPMsgEnvelope") [ InitialExpression = "None" ];
X12 Document outbound framing protocol; options:
- None : No framing - Each document is output without prefix or suffix characters
- Epic02/03 : same as Ascii02/03 : EPIC sometimes uses this for TCP. Frame documents with an Ascii(02) prefix character before each document and an Ascii(03) suffix character
- Ascii[nn]/[mm] : Frame documents with an Ascii(nn) prefix character before each document and an Ascii(mm) suffix character, but no trailing Ascii(13) as in MLLP
- Ascii[nn] : Frame documents with an Ascii(nn) suffix character separating each document from the subsequent one.
- AsciiLF : Frame documents with Ascii(10) (Linefeed) separating each document from the subsequent one
- AsciiCR : Frame documents with an extra Ascii(13) (Carriage Return) separating each document from the subsequent one
- MLLP : Minimal Lower Level Protocol (HL7 style) - Frame each X12 Document with Ascii(11) prefix and Ascii(28,13) suffix
- MLLP[nn]/[mm] : Minimal Lower Level Protocol - Frame each X12 Document with Ascii(nn) prefix and Ascii(mm),Ascii(13) suffix
- MsgEnvelope : Use the document's Envelope property verbatim if it is present. The string <!--X12DOC--> if present in the Envelope will be replaced with the document content. Otherwise the document will simply follow the 'Envelope' text
- MLLPMsgEnvelope : Same as 'MsgEnvelope', but with MLLP prefix and suffix also around the document inside the 'Envelope'

Note: All Ascii values should be given in decimal; Ascii(120) ('x') is not allowed as an Ascii framing character. Also, if an asterisk (*) is appended to the framing specification, Flexible framing will be used in parsing received acknowledgement response messages. Otherwise the response messages will be expected with the same kind of framing as that specified here for outbound messages.


Methods

• method OutputFramedToDevice(pDoc As EnsLib.EDI.X12.Document, pSeparators As %String, pInbound As %Boolean = 0, ByRef pIOLogEntry As Ens.Util.IOLog = $$$NULLOREF, pDoFraming As %Integer) as %Status
• method OutputFramedToIOStream(pIOStream As %IO.I.CharacterStream, pDoc As EnsLib.EDI.X12.Document, pSeparators As %String, pInbound As %Boolean = 1, ByRef pIOLogEntry As Ens.Util.IOLog = $$$NULLOREF, pDoFraming As %Integer = 1) as %Status
Write an X12 Document to the given IO Stream Returned %Status codes are not logged, except for Exceptions pDoFraming: 0=no framing, 1=full framing, -1=prefix only, 2=suffix only
• method SetOutFraming(pFraming As %String)
Call this method after initializing or resetting the parser to force a particular output framing style different from the input framing style that is either specified or detected.


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