Summary Table

Categories Total Count
PII 0
URL 0
DNS 0
EKL 0
IP 0
PORT 0
VsID 0
CF 0
AI 0
VPD 0
PL 0
Other 0

File Content

<?xml version="1.0" encoding="UTF-8"?>
<Export generator="Cache" version="25">
<Class name="EDIGW.BPL.ST837.Thread1">
<Description>
This class is generated by the EDIGW.BPL.ST837 BPL class.
This class should not be edited or modified in any way.
Do not make direct use of this class in your application.</Description>
<ClassType>persistent</ClassType>
<CompileAfter>EDIGW.BPL.ST837</CompileAfter>
<IncludeCode/>
<ProcedureBlock>1</ProcedureBlock>
<Super>Ens.BP.Thread</Super>
<TimeCreated>65076,35522.787261</TimeCreated>
<GeneratedBy>Ens.BPL.Compiler.CLS</GeneratedBy>

<Method name="S1">
<FormalSpec>process:Ens.BusinessProcess,context:Ens.BP.Context,synctimedout:%Boolean,syncresponses:%ArrayOfObjects(ELEMENTTYPE="%Library.Persistent"),request:%Library.Persistent,response:%Library.Persistent</FormalSpec>
<Language>cache</Language>
<PublicList>process,context</PublicList>
<ReturnType>%Status</ReturnType>
<Implementation><![CDATA[
Set $ZT="Trap",status=$$$OK do {
Do {
set context.ST02 = ""
if request.Name = "837" set context.ST02=request.GetValueAt("1:2")
do ##class(EDIGW.Utility).DebugBPL("BPL ST "_request.Name_":"_context.ST02)

} while (0)
If $$$ISERR(status) Quit
#; --- Begin Call Validation ---
#; --- Begin Request ---
Set callrequest=##class(EnsLib.EDI.X12.Document).%New()
If '$IsObject(callrequest) Set status=%objlasterror Quit
Set status=$$$OK,callrequest=request
If $$$ISERR(status) Quit
Set status=..MakeAsyncCall("OnResponse1","ST 837 Validation",callrequest,"Validation",1,0,"Validation",0)
If $$$ISERR(status) Quit
Kill callrequest
#; --- End Request ---
#; --- End Call Validation ---
Do ..%PendingResponses.Clear(),..%SyncResponses.Clear()
Set ..%SyncTimedOut=0,..%PendingTimeout="",..%PendingAlarmHandle="",..%SyncName=""
If ..%Process.IsResponsePending("Validation") Do ..%PendingResponses.SetAt("","Validation")
If ..%PendingResponses.Count()>0 {
Set %name="",%alarmhandle=""
Set status=..%Process.MakeTimerCall("_Timeout",.%name,1,"Validation",.%alarmhandle,"Wait for VAL")
If $$$ISERR(status) Quit
Do ..%PendingResponses.SetAt("",%name) Set ..%PendingTimeout=%name,..%PendingAlarmHandle=%alarmhandle,..%SyncName="Wait for VAL"
}
If ..%PendingResponses.Count()=0 {
Set ..%NextState="S3"
} else {
Set ..%NextState="S2",..%Wait=1
}
} while (0)
Exit Quit ..ManageState(status)
Trap Set $ZT="",status=..ManageStatus(status,"S1") Goto Exit
]]></Implementation>
</Method>

<Method name="S2">
<FormalSpec>process:Ens.BusinessProcess,context:Ens.BP.Context,synctimedout:%Boolean,syncresponses:%ArrayOfObjects(ELEMENTTYPE="%Library.Persistent"),request:%Library.Persistent,response:%Library.Persistent</FormalSpec>
<Language>cache</Language>
<PublicList>process,context</PublicList>
<ReturnType>%Status</ReturnType>
<Implementation><![CDATA[
Set $ZT="Trap",status=$$$OK do {
If ..%PendingResponses.Count()=0 {
Set ..%NextState="S3"
} else {
Set ..%NextState="S2",..%Wait=1
}
} while (0)
Exit Quit ..ManageState(status)
Trap Set $ZT="",status=..ManageStatus(status,"S2") Goto Exit
]]></Implementation>
</Method>

<Method name="S3">
<FormalSpec>process:Ens.BusinessProcess,context:Ens.BP.Context,synctimedout:%Boolean,syncresponses:%ArrayOfObjects(ELEMENTTYPE="%Library.Persistent"),request:%Library.Persistent,response:%Library.Persistent</FormalSpec>
<Language>cache</Language>
<PublicList>process,context</PublicList>
<ReturnType>%Status</ReturnType>
<Implementation><![CDATA[
Set $ZT="Trap",status=$$$OK do {
Do {
do ##class(EDIGW.Utility).DebugBPL("BPL ST837 callresp: "_context.ST02_" "_context.valStatus)
} while (0)
If $$$ISERR(status) Quit
If (context.valStatus) {
Set ..%NextState="S5"
} else {
Set ..%NextState="S4"
}
} while (0)
Exit Quit ..ManageState(status)
Trap Set $ZT="",status=..ManageStatus(status,"S3") Goto Exit
]]></Implementation>
</Method>

<Method name="S4">
<FormalSpec>process:Ens.BusinessProcess,context:Ens.BP.Context,synctimedout:%Boolean,syncresponses:%ArrayOfObjects(ELEMENTTYPE="%Library.Persistent"),request:%Library.Persistent,response:%Library.Persistent</FormalSpec>
<Language>cache</Language>
<PublicList>process,context</PublicList>
<ReturnType>%Status</ReturnType>
<Implementation><![CDATA[
Set $ZT="Trap",status=$$$OK do {
Do {
Do ##class(EDIGW.Utility).DebugBPL("BPL ST at end valStatus is "_context.valStatus)
} while (0)
If $$$ISERR(status) Quit
Do process.ClearAllPendingResponses()
Set ..%NextState="Stop"
} while (0)
Exit Quit ..ManageState(status)
Trap Set $ZT="",status=..ManageStatus(status,"S4") Goto Exit
]]></Implementation>
</Method>

<Method name="S5">
<FormalSpec>process:Ens.BusinessProcess,context:Ens.BP.Context,synctimedout:%Boolean,syncresponses:%ArrayOfObjects(ELEMENTTYPE="%Library.Persistent"),request:%Library.Persistent,response:%Library.Persistent</FormalSpec>
<Language>cache</Language>
<PublicList>process,context</PublicList>
<ReturnType>%Status</ReturnType>
<Implementation><![CDATA[
Set $ZT="Trap",status=$$$OK do {
#; --- Begin Call Good Transaction Handling ---
#; --- Begin Request ---
Set callrequest=##class(EnsLib.EDI.X12.Document).%New()
If '$IsObject(callrequest) Set status=%objlasterror Quit
Set status=$$$OK,callrequest=request
If $$$ISERR(status) Quit
Set status=..MakeAsyncCall("","837 Good ST",callrequest,"Good Transaction Handling",1,0,"Good Transaction Handling",0)
If $$$ISERR(status) Quit
Kill callrequest
#; --- End Request ---
#; --- End Call Good Transaction Handling ---
Set ..%NextState="S4"
} while (0)
Exit Quit ..ManageState(status)
Trap Set $ZT="",status=..ManageStatus(status,"S5") Goto Exit
]]></Implementation>
</Method>

<Storage name="Default">
<Type>%Library.CacheStorage</Type>
</Storage>
</Class>
</Export>