Skip to main content


abstract class EnsLib.EDI.X12.Operation.Standard extends Ens.BusinessOperation, EnsLib.EDI.X12.Util.IOFraming

This is an abstract superclass for X12 Operations that send an X12 message

Property Inventory

Method Inventory


parameter SETTINGS = Separators,SearchTableClass::selector?context={Ens.ContextSearch/SearchTableClasses?host=EnsLib.EDI.X12.Operation.Standard},DefCharEncoding::selector?context={Ens.ContextSearch/CharacterSets},Validation;
Inherited description: List of properties can be set as settings in the configuration file format is a comma separated list of property names


property FailureTimeout as %Numeric (MINVAL = -1) [ InitialExpression = -1 ];
How long to keep retrying before giving up and returning an error code
Property methods: FailureTimeoutDisplayToLogical(), FailureTimeoutGet(), FailureTimeoutIsValid(), FailureTimeoutLogicalToDisplay(), FailureTimeoutNormalize(), FailureTimeoutSet()
property SearchTableClass as %String (MAXLEN = 100);
Store a set of searchable properties in SearchTable records associated with each document processed.

These records will be of the named SearchTable class, if any.

Property methods: SearchTableClassDisplayToLogical(), SearchTableClassGet(), SearchTableClassIsValid(), SearchTableClassLogicalToDisplay(), SearchTableClassLogicalToOdbc(), SearchTableClassNormalize(), SearchTableClassSet()
property Separators as %String (MAXLEN = 10) [ InitialExpression = $$$X12DefSeparatorsEsc_$$$X12DefSegTerminator_"\r\n" ];
String of separator characters to use in encoding outbound documents. Order is DataElementSeparator, ComponentSeparator, RepetitionSeparator.

Empty string means use the default values of the outbound document.

Additional characters will be used to override the Segment Terminator; may be up to 3 chars for output with newlines.

After position 3, '\r' means Ascii 13 (Carriage Return), '\n' means Ascii 10 (Linefeed / Newline), and '\a' means Ascii 30 (Record Separator).

You can also pad the separators up to position 3 with \x if you need to specify a line terminator but want your output messages to show less than 3 separators. The separators designated by \x will not be written out.

Property methods: SeparatorsDisplayToLogical(), SeparatorsGet(), SeparatorsIsValid(), SeparatorsLogicalToDisplay(), SeparatorsLogicalToOdbc(), SeparatorsNormalize(), SeparatorsSet()
property Validation as %String;
String specifying types of Validation to perform

Set to 1 to block documents that don't pass default validation. Default validation blocks messages with any error encountered while mapping the document's sequence of segments using the X12 schema structure specified by the document's DocType. This is equivalent to 'm'.

All flags relating to fields/components apply only if 's'/'c' also specified (eg. if set to 'dmslt' then the length and datatype of fields will be checked, but the length and datatype of components will not be)

'd' - require DocType
'm' - don't tolerate BuildMap segment mapping errors
's' - enforce segment structures (number and repetition of fields)
'c' - enforce composite structures (number of components)
'r' - enforce required fields/components being present
'u' - enforce non-use of fields/components marked 'Not Used' - Note this is not available when using a new-style only schema
'l' - enforce field/component length restrictions
't' - enforce correct datatypes used for field/component values
'v' - enforce correct code table values used where specified in the schema - Note this is not available when using a new-style only schema
'x' - enforce relational conditions where specified in the schema - Note this is not available when using a new-style only schema
'n' - perform all validation available to new style schemas. This is equivalent to 'dmscrlt'
'a' - perform all available validation. This is equivalent to 'dmscrultv'
'e' - continue validating after errors are encountered - specify this to scan the entire document and report all errors

Property methods: ValidationDisplayToLogical(), ValidationGet(), ValidationIsValid(), ValidationLogicalToDisplay(), ValidationLogicalToOdbc(), ValidationNormalize(), ValidationSet()


method OnInit() as %Status
Inherited description: This user callback method is called via initConfig() from %OnNew() or in the case of SOAP Services from OnPreSOAP()
method OnValidate(pDoc As EnsLib.EDI.Document, pValSpec As %String, Output pStatus As %Status) as %Boolean
Override this method to implement your own custom method for validating of an incoming Document
method validateAndIndex(pDoc As EnsLib.EDI.Document) as %Status

Inherited Members

Inherited Properties

Inherited Methods


FeedbackOpens in a new tab