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

abstract class EnsLib.EDI.X12.Operation.ReplyStandard extends EnsLib.EDI.X12.Operation.Standard, EnsLib.EDI.ServiceInterface

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
5 3 9


Summary

This is a Business Operation class.

RequestResponse
EnsLib.EDI.X12.Document EnsLib.EDI.X12.Document

Properties
%AlertStartTime %ConfigName %ConfigQueueName %LastActionTime
%LastHandledTime %LastReportedError %Parser %QuitTask
%RequestHeader %SessionId %SuperSession %WarnedLatest
%isShadow %outFraming %replyActionMap Adapter
AlertGroups AlertOnError AlertRetryGracePeriod ArchiveIO
BusinessPartner DefCharEncoding DeferResponse FailureTimeout
Framing IOLogEntry InactivityTimeout NoFailWhileDisconnected
QueueCountAlert QueueWaitAlert ReplyCodeActions Retry
RetryCount RetryInterval SearchTableClass SendSuperSession
Separators SuspendMessage ThrottleDelay Validation

Methods
%AddToSaveSet %ClassIsLatestVersion %ClassName %ConstructClone
%DispatchClassMethod %DispatchGetModified %DispatchGetProperty %DispatchMethod
%DispatchSetModified %DispatchSetMultidimProperty %DispatchSetProperty %Extends
%GetParameter %IsA %IsModified %New
%NormalizeObject %ObjectModified %OnClose %OnNew
%OriginalNamespace %PackageName %RemoveFromSaveSet %SerializeObject
%SetModified %SuperSessionSet %ValidateObject AdapterName
AssignOneSetting CloseIOLogEntry DeferResponse EnumerateSettingsClose
EnumerateSettingsExecute EnumerateSettingsFetch GenerateSuperSession GetDeferredResponseToken
GetMessageList GetMsgHdrRequestKey GetProductionSettingValue GetProductionSettings
GetPropertyConnections GetSegmentTerminator GetSettings GetShadowInstance
IOLogDiscard IncludeSuperSession NewIOLogEntry OnDocumentEnd
OnDocumentStart OnError OnFailureTimeout OnGenerateSuperSession
OnGetConnections OnGetReplyAction OnInit OnKeepalive
OnMessage OnMonitor OnParsingError OnPostDocument
OnPreDocument OnProductionStart OnProductionStop OnReplyDocument
OnTearDown OnValidate OutputFramedToDevice OutputFramedToIOStream
QueueName SaveIOLogEntry SendAlert SendDeferredResponse
SendMessage SendRequestAsync SendRequestSync SetOutFraming
buildReplyActionMap resolveDocType validateAndIndex

Subclasses
EnsLib.EDI.X12.Operation.SOAPOperation EnsLib.EDI.X12.Operation.TCPOperation

Parameters

• parameter IndexACKs = 0;
Index ACKs if IndexReplies is also true and SearchTable class is given
• parameter IndexReplies = 1;
If SearchTableClass is given, use it to index any replies (including ACKs unless IndexACKs=0 or OK and SaveOKACKs=0)
• parameter SETTINGS = "ReplyCodeActions,NoFailWhileDisconnected";
List of properties can be set as settings in the configuration file format is a comma separated list of property names
• parameter SaveOKACKs = 0;
Save OK ACKs
• parameter SetReplyDocType = 1;
Set the DocType property of the reply message if possible

Properties

• property %Parser as EnsLib.EDI.X12.Parser;
• property %replyActionMap  [ MultiDimensional ];
parsed array property of ReplyCodeActions setting
• property ReplyCodeActions as %String(MAXLEN=1000);

A comma-separated list of codes specifying what action this Operation will take on receipt of various types of acknowledgement messages and other reply status conditions. The format of the list is:
<code>=<action>,<code>=<action>,...
A <code> value starting with a colon - e.g. :<char> represents a literal value found in field TA1:4,AK5:1,or AK9:1 of the response message. The expected values in these fields include:

  • :A - Accepted
  • :E - Accepted, but Errors Were Noted
  • :P - Partially Accepted
  • :R - Rejected
  • :M - Rejected; Message Authentication Code (MAC) Failed
  • :W - Rejected; Failed Validity Tests
  • :X - Rejected; Content Decryption Failed

Also, the following special code values may be used:
  • :~ - matches replies that do not contain a TA1, AK5 or AK9 segment
  • :_ - matches replies with an empty value in the field
  • :* - matches any value not matched otherwise
  • :E? - matches any literal value except :A
  • :R? - matches any literal value except :A, :E or :P
  • :I? - matches where the reply ControlId does not match the ControlId of the original message

The default behavior is ':A=C,:E=WC,:P=WC,:*=S,:~=S,:I?=W'
This means for responses with TA1 code E or P issue a warning, while all other codes except A suspend the current outbound message and move on to the next.

Also, the following standard status conditions may be used:

  • E - Error status returned from message handler
  • E#<statuscode> - Error status returned from message handler has status code equal to <statuscode>
  • E*<text> - Error status returned from message handler contains text string <text>
  • X - there is no reply message at all

The following values for <actions> may be used alone or in combinations:

  • C - Treat the message as Completed OK.
  • W - Log a warning. If no other non-warning <actions> are triggered, the message will be treated as Completed OK.
  • R - Retry the message according to the configured RetryInterval and FailureTimeout; finally Fail unless a different action is also specified. Note this setting is separate from the Retry property.
  • S - Suspend the message, log an error, and move on to try the next message.
  • D - Disable the Operation, log an error and restore the message to the front of the Operation's queue.
  • F - Fail with an error and move on to try the next message from the Operation's queue subject to the Retry property value set in the code. If the Retry property is set in the code then moving on to try the next message will be subject to the configured RetryInterval and FailureTimeout. The X12 TCP outbound adapter sets the operation's Retry property to true when there are network connection errors.
An example of a valid ReplyCodeActions specification is 'E#6301=R,E#<Ens>ErrGeneral=RD,E=F'. This specification will result in a retry when error code 6301 is encountered. When error code <Ens>ErrGeneral is encountered, the Operation first retries to send the message until FailureTimeout and then, if the error continues, it disables the Operation instead of failing. Any other errors will cause the Operation to fail processing of the current message and return the error status to the caller, without retrying first unless the property Retry has been set to true by the operation code.

All codes where <actions> consists of only 'W' (for 'log a Warning') will be evaluated, and a warning will be generated for each matching <code>. Other <code> values will be evaluated in left-to-right order, executing the first matching <code> that has a non-warning <actions> value. As noted in the details for the 'W' flag, an error that only triggers 'W' <actions> will be treated as Completed OK.


Methods

• method GetSegmentTerminator() as %String
Return the segment terminator string that the Parser will use.
• method IOLogDiscard(pSC As %Status, pNote As %String, pDiscard As %GlobalCharacterStream)
Add discarded characters to IO Archive
• method OnGetReplyAction(pRequest As EnsLib.EDI.X12.Document, Output pResponse As EnsLib.EDI.X12.Document, ByRef pSC As %Status) as %String
Construct and return an Action string consisting of supported action code letters, based on qualities of the Request, Response, and Error Status.
• method OnInit() as %Status
This user callback method is called via initConfig() from %OnNew() or in the case of SOAP Services from OnPreSOAP()
• method OnMessage(pRequest As EnsLib.EDI.X12.Document, Output pResponse As EnsLib.EDI.X12.Document) as %Status
This is the default message handler. All request types not declared in the message map are delivered here
• method OnReplyDocument(ByRef pReplyDocument As EnsLib.EDI.X12.Document, pRequest As EnsLib.EDI.X12.Document)
Override this method to modify or delete or log the reply (ACK) message document object
• method SendMessage(pMsgOut As EnsLib.EDI.X12.Document, Output pMsgIn As EnsLib.EDI.X12.Document) as %Status
• method buildReplyActionMap() as %Status
build parsed array property of ReplyCodeActions setting


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