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

abstract class EnsLib.EDI.EDIFACT.Service.Standard extends Ens.BusinessService, EnsLib.EDI.ServiceInterface

Inventory

Parameters Properties Methods Queries Indices ForeignKeys Triggers
3 18 21


Summary

This is a Business Service class.

Properties
%AlertStartTime %ConfigName %ConfigQueueName
%Errors %LastActionTime %LastHandledTime
%LastReportedError %OutsideCreated %Parser
%PreserveSession %ProcessInputCalled %QuitTask
%ReplyDocuments %RequestHeader %SessionId
%SuperSession %SuperSessionCreatedBeforeSession %WaitForNextCallInterval
%WarnedLatest %isShadow Adapter
AlertGracePeriod AlertGroups AlertOnError
ArchiveIO BatchHandling BusinessPartner
DocSchemaCategory GenerateSuperSessionID IOLogEntry
InactivityTimeout LocalApplicationID ReplyMode
SearchTableClass TargetConfigNames ThrottleDelay
TolerateNewlines Validation isNewBatch

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 EnumerateSettingsClose EnumerateSettingsExecute
EnumerateSettingsFetch ForceSessionId GenerateSuperSession GetDeferredResponseToken
GetMsgHdrRequestKey GetProductionSettingValue GetProductionSettings GetPropertyConnections
GetRequestClassList GetResponseClassList GetSegmentTerminator GetSettings
GetShadowInstance IOLogDiscard NewIOLogEntry OnConstructBatchReply
OnConstructReply OnDocumentEnd OnDocumentStart OnError
OnGenerateSuperSession OnGetConnections OnInit OnKeepalive
OnMonitor OnParsingError OnPostDocument OnPreDocument
OnProcessInput OnProductionStart OnProductionStop OnResolveDocType
OnTearDown OnValidate PopulateSuperSession QueueName
SaveIOLogEntry SendAlert SendDeferredResponse SendReply
SendRequestAsync SendRequestSync constructBatchReply constructReply
getReplyCode getUNAAckRequested reportReply resolveAndIndex
resolveDocType standardOnProcessInput

Subclasses
EnsLib.EDI.EDIFACT.Service.FTPService EnsLib.EDI.EDIFACT.Service.FileService EnsLib.EDI.EDIFACT.Service.HTTPService

Parameters

• parameter DOCCLASS = "EnsLib.EDI.EDIFACT.Document";
• parameter IndexReplies = 0;
If SearchTableClass is set, use it to index any reply documents
• parameter SETTINGS = "TargetConfigNames:Basic:selector?multiSelect=1&context={Ens.ContextSearch/ProductionItems?targets=1&productionName=@productionId},SearchTableClass::selector?context={Ens.ContextSearch/SearchTableClasses?host=EnsLib.EDI.EDIFACT.Service.Standard},DocSchemaCategory:Basic:selector?context={Ens.ContextSearch/SchemaCategories?host=EnsLib.EDI.EDIFACT.Service.Standard},Validation,ReplyMode,BatchHandling,LocalApplicationID,TolerateNewlines";
List of properties can be set as settings in the configuration file format is a comma separated list of property names

Properties

• property %Errors as %String [ MultiDimensional ];
• property %Parser as EnsLib.EDI.EDIFACT.Parser;
• property %ReplyDocuments  [ InitialExpression = 0,MultiDimensional ];
This holds Reply Documents As EnsLib.EDI.Document
• property BatchHandling as %String(DISPLAYLIST=",Whole Batch,Single-Session Batch,Multi-Session Batch,Individual",VALUELIST=",Whole,1Session,MSession,Indiv") [ InitialExpression = "1Session",Required ];
How to treat received batch Interchange documents:
- Whole Batch : Don't process child documents individually; accumulate and send the whole batch as one composite document
- Single-Session Batch : Forward each document in the batch as part of a single session, including a final parent document object containing the batch header and trailer segments
- Multi-Session Batch : Forward each document in the batch in its own session, followed by the parent document object containing the batch header and trailer segments
- Individual : Forward each child document in the batch in its own session; do not forward parent batch document objects
• property DocSchemaCategory as %String(MAXLEN=1000);
Category to apply to incoming EDIFACT document type names to produce a complete DocType specification.

Combines with the document type name to produce a DocType assignment. This setting may also contain multiple comma-separated type names followed by = and then a DocTypeCategory or full DocType value to apply to documents declared as that type.
A trailing asterisk (*) at the end of a given partial type Name will match any types with that beginning part.

An example: DocSchemaCategory='D96A, REC*=D04A, REQOTE=D05B'
Note that a DocType assignment may be needed for Validation or SearchTableClass indexing.

• property LocalApplicationID as %String(MAXLEN=1000) [ InitialExpression = "EDIFACTService:ENS" ];
Colon-separated Local ID:Qualifier codes representing this (receiving) facility and application

These are used in constructing reply document headers.

The '@' symbol represents using the corresponding field from the incoming message.

If your ID must contain a literal @ symbol, escape it with backslash: '\@'

• property ReplyMode as %String(DISPLAYLIST=",Never,All,Errors,Success",VALUELIST=",Never,All,Err,Succ") [ InitialExpression = "Never" ];
Control of response handling - Send back reply documents immediately upon receipt of an Interchange:
- Never : Do not send back any Immediate reply
- All : Generate a reply for every TransactionSet in an Interchange
- Errors : Only generate a reply for TransactionSets in which errors are detected
- Success : Only generate a reply for TransactionSets in which are accepted without errors
• property SearchTableClass as %String [ InitialExpression = "EnsLib.EDI.EDIFACT.SearchTable" ];
Store a set of searchable properties associated with each EDIFACT TransactionSet processed.

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

• property TargetConfigNames as %String(MAXLEN=1000);
Configuration items to which to send Documents
• property TolerateNewlines as %Boolean [ InitialExpression = 1 ];
Process the file without error even if to enhance readability newlines have been added after or in place of segment terminators
• property Validation as %String;
Comma-separated string specifying types of Validation to perform

Set to 1 to block documents that don't pass default validation. Default validation checks for DocType assignment and BuildMapStatus success. This is equivalent to 'dm'

'd' - require DocType
'm' - require successful BuildMap status

• property isNewBatch as %Boolean [ InitialExpression = 1 ];
Is the current message the first in a batch? (used for starting a new session on the first message in a batch)

Methods

• classmethod GetRequestClassList() as %String
• classmethod GetResponseClassList(pRequest As %String = "") as %String
• method GetSegmentTerminator() as %String
Return the segment terminator string that the Parser and the document.ImportFromIOStream() method will use.
• method IOLogDiscard(pSC As %Status, pNote As %String, pDiscard As %GlobalCharacterStream)
Add discarded characters to IO Archive
• method OnConstructBatchReply(Output pReplyDoc As EnsLib.EDI.Document, pOriginalDoc As EnsLib.EDI.Document, ByRef pChildArray, ByRef pSC As %Status, pEarlyReply As %Boolean) as %Status
Override this method to construct a customized batch reply document. Inputs are the original document and the child reply array and the status code that the framework produced in processing the original document.
• method OnConstructReply(Output pReplyDoc As EnsLib.EDI.Document, pOriginalDoc As EnsLib.EDI.Document, ByRef pReplyCode As %String, ByRef pSC As %Status, pEarlyReply As %Boolean) as %Status
Override this method to construct a customized reply document. Inputs are the original document and the reply code and the status code that the framework produced in processing the original document. If you change the status code but do not construct a reply document, the framework will use the new value to construct a standard reply document.
• method OnDocumentEnd(pDocument As EnsLib.EDI.Document, pSource As %String, pStatus As %Status) as %Status
Callbacks from Parser: Called by the Parser at the end of a document
• classmethod OnGetConnections(Output pArray As %String, pItem As Ens.Config.Item)
Return an array of connections for drawing lines on the config diagram
• method OnInit() as %Status
This user callback method is called via initConfig() from %OnNew() or in the case of SOAP Services from OnPreSOAP()
• method OnProcessInput(pDocIn As %RegisteredObject, Output pDocOut As %RegisteredObject) as %Status
Note: pDocIn is not declared as EnsLib.EDI.EDIFACT.Document so that subclasses can handle other types and transform them before calling ##super().
• method OnResolveDocType(pDoc As EnsLib.EDI.Document, ByRef pDocType As %String) as %Boolean
Override this method to implement your own custom method for resolving the DocType of an incoming Message Returning nonzero means you are overriding the framework's standard DocType resolution.
• 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 an incoming Document Return non-zero to prevent default validation of the message (if any);
• method SendReply(pReplyDocument As EnsLib.EDI.Document, pOriginalDoc As EnsLib.EDI.Document) as %Status
• method constructBatchReply(pOriginalDoc As EnsLib.EDI.Document, ByRef pChildArray, ByRef pSC As %Status, pEarlyReply As %Boolean) as EnsLib.EDI.Document
• method constructReply(pOriginalDoc As EnsLib.EDI.Document, pReplyCode As %String, ByRef pSC As %Status, pEarlyReply As %Integer) as EnsLib.EDI.Document
• method getReplyCode(pMSH As EnsLib.EDI.EDIFACT.Segment, pSC As %Status, pSCVal As %Status, pAppACK As %Boolean) as %String
• classmethod getUNAAckRequested(pTxn As EnsLib.EDI.EDIFACT.Document) as %String
• method reportReply(pOriginalDoc As EnsLib.EDI.Document, pReplyCode As %String = "", ByRef pSC As %Status, pEarlyReply As %Integer = 0) as EnsLib.EDI.Document
• method resolveAndIndex(pDoc As EnsLib.EDI.Document) as %Status
Accept only specified document names; resolve DocType and perform requested validation if any
• method resolveDocType(pDoc As EnsLib.EDI.EDIFACT.Document) as %String
Return the DocType that this service will assign to this document
• method standardOnProcessInput(pDocIn As EnsLib.EDI.EDIFACT.Document, Output pDocOut As EnsLib.EDI.EDIFACT.Document) as %Status


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