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

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

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
7 3 11


Summary

This is a Business Operation class.

RequestResponse
EnsLib.EDI.EDIFACT.Document EnsLib.EDI.EDIFACT.Document

Properties
%AlertStartTime %ConfigName %ConfigQueueName %LastActionTime
%LastHandledTime %LastReportedError %Parser %QuitTask
%RequestHeader %SessionId %SuperSession %WarnedLatest
%isShadow %replyActionMap Adapter AlertGroups
AlertOnError AlertRetryGracePeriod ArchiveIO BusinessPartner
DeferResponse FailureTimeout 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 QueueName SaveIOLogEntry
SendAlert SendDeferredResponse SendMessage SendRequestAsync
SendRequestSync buildReplyActionMap getGroupReplyAction getReplyAction
getTSReplyAction resolveDocType validateAndIndex

Subclasses
EnsLib.EDI.EDIFACT.Operation.HTTPOperation

Parameters

• parameter AllowNonMSA = 0;
Don't report an error for reply messages containing no MSA:1 field (Deprecated - use Setting ReplyCodeActions instead of subclassing)
• 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 and MessageTypeCategory properties of the reply message if possible
• parameter WarnACKControlId = 1;
Log a Warning if the reply MSA:2 ControlId does not match the original message's control ID (Deprecated - use Setting ReplyCodeActions instead of subclassing)

Properties

• property %Parser as EnsLib.EDI.EDIFACT.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.
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.EDIFACT.Document, Output pResponse As EnsLib.EDI.EDIFACT.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.EDIFACT.Document, Output pResponse As EnsLib.EDI.EDIFACT.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.EDIFACT.Document, pRequest As EnsLib.EDI.EDIFACT.Document)
Override this method to modify or delete or log the reply (ACK) message document object
• method SendMessage(pMsgOut As EnsLib.EDI.EDIFACT.Document, Output pMsgIn As EnsLib.EDI.EDIFACT.Document) as %Status
• method buildReplyActionMap() as %Status
build parsed array property of ReplyCodeActions setting
• method getGroupReplyAction(pPosition As %Integer, pReplyMsg As EnsLib.EDI.EDIFACT.Document, pRequest As EnsLib.EDI.EDIFACT.Document, pReplyName As %String, Output pAction As %String, Output pErrCode As %String, Output pCIdText As %String, Output pTypeText As %String)
• method getReplyAction(pReplyMsg As EnsLib.EDI.EDIFACT.Document, pRequest As EnsLib.EDI.EDIFACT.Document, pReplyName As %String, Output pAction As %String, Output pErrCode As %String, Output pCIdText As %String, Output pTypeText As %String)
• method getTSReplyAction(pPosition As %Integer, pReplyMsg As EnsLib.EDI.EDIFACT.Document, pRequest As EnsLib.EDI.EDIFACT.Document, pReplyName As %String, Output pAction As %String, Output pErrCode As %String, Output pCIdText As %String, Output pTypeText As %String)


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