Without actually diving into your code, which looks like it should work, here are a couple suggestions:
Try to capture the error that is occurring so that you can diagnose the problem by changing your code like this:
for i=1:1:tCount {
//
set tSC = ..Adapter.PutLine(pRequest.Target_".txt",pRequest.Fragments.GetAt(i))
if $$$ISERR(tSC) Quit
set tSC =..Adapter.PutLine("RIS_FRL_ACK_T_OUT.txt",pRequest.Fragments.GetAt(i))
if $$$ISERR(tSC) Quit
}
Quit tSC
Also – it looks like you might be passing a path for your file into the PutLine method – is that your intention?
Thanks!
Matt Simpson
Information Systems | Inland Imaging Business Associates
Tel: 509.363.7759 | Cell: 509.370.7141 | Fax: 509.363.7082
--
You received this message because you are subscribed to the Google Groups "InterSystems: Ensemble in Healthcare Community" group.
To post to this group, send email to Ensemble-in...@googlegroups.com
To unsubscribe from this group, send email to Ensemble-in-Healt...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/Ensemble-in-Healthcare?hl=en
Many Thanks for that Matt,
Have updated but the error being posted is the same of that, that was before?
1 |
2082100 |
2010-10-22 |
Error |
7776 |
|
CRIS_PAS_FRL_ACK_T_OUT |
MEHT.PAS.CRISACKtoFILEOperation |
ERROR <Ens>ErrGeneral: No MessageBody classname for MessageHeader #662711 |
2 |
2082097 |
2010-10-22 |
Error |
7776 |
|
CRIS_PAS_FRL_ACK_T_OUT |
MEHT.PAS.CRISACKtoFILEOperation |
ERROR <Ens>ErrGeneral: No MessageBody classname for MessageHeader #662710 |
3 |
2082094 |
2010-10-22 |
Error |
7776 |
|
CRIS_PAS_FRL_ACK_T_OUT |
MEHT.PAS.CRISACKtoFILEOperation |
ERROR <Ens>ErrGeneral: No MessageBody classname for MessageHeader #662709 |
4 |
2082091 |
2010-10-22 |
Error |
7776 |
|
CRIS_PAS_FRL_ACK_T_OUT |
MEHT.PAS.CRISACKtoFILEOperation |
ERROR <Ens>ErrGeneral: No MessageBody classname for MessageHeader #662708 |
5 |
2082088 |
2010-10-22 |
Error |
7776 |
|
CRIS_PAS_FRL_ACK_T_OUT |
MEHT.PAS.CRISACKtoFILEOperation |
ERROR <Ens>ErrGeneral: No MessageBody classname for MessageHeader #662707 |
6 |
2082085 |
2010-10-22 |
Error |
7776 |
|
CRIS_PAS_FRL_ACK_T_OUT |
MEHT.PAS.CRISACKtoFILEOperation |
ERROR <Ens>ErrGeneral: No MessageBody classname for MessageHeader #662706 |
7 |
2082072 |
2010-10-22 |
Info |
7776 |
|
CRIS_PAS_FRL_ACK_T_OUT |
Ens.Job.Start() |
ConfigItem 'CRIS_PAS_FRL_ACK_T_OUT' (MEHT.PAS.CRISACKtoFILEOperation) started in job 7776 |
We do have a 'RISMainRequest' but this is however a copy of 'MainRequest' so both would work in the scenario I would have thought.
Its currently looks like:
Class MEHT.PAS.CRISACKtoFILEOperation Extends Ens.BusinessOperation [ ProcedureBlock ]
{
Parameter INVOCATION = "Queue";
/// The type of adapter used to communicate with external systems
Parameter ADAPTER = "EnsLib.File.OutboundAdapter";
Method CreateFRL(pRequest As MEHT.PAS.RISMainRequest, Output pResponse As EnsLib.HL7.Message) As %Status
{
set tCount=pRequest.Fragments.Count()
for i=1:1:tCount {
//do ..Adapter.PutLine(pRequest.Target_".txt",pRequest.Fragments.GetAt(i))
set tSC=..Adapter.PutLine("CRIS_FRL_ACK_T_OUT.txt",pRequest.Fragments.GetAt(i))
if $$$ISERR(tSC) Quit
}
Quit tSC
//Quit $$$OK
}
XData MessageMap
{
<MapItems>
<MapItem MessageType="MEHT.PAS.RISMainRequest">
<Method>CreateFRL</Method>
</MapItem>
</MapItems>
}
}
Having just updated:
Method CreateFRL(pRequest As MEHT.PAS.RISMainRequest
And adding a few edition to the name, without any joy.
RISMainRequest looks like:
Class MEHT.PAS.RISMainRequest Extends Ens.Request [ ClassType = persistent, ProcedureBlock ]
{
Property MessageType As %String(MAXLEN = 32000);
Property Fragments As list Of %String(MAXLEN = 32000);
Property DateTimeReceived As %StringTimeStamp [ InitialExpression = {$ZDateTime($Horolog,3)} ];
Property Source As %String(MAXLEN = 32000);
Index RISDateTimeReceivedIndex On DateTimeReceived;
Property Target As %String;
}
I was thinking it was this, as the ACK I am recording is a single string/line (only really a single fragment) and may not conform to this, yet not sure why?
Many Thanks
Method CreateFRL(pRequest As MEHT.PAS.MainRequest...
Method CreateFRL(pRequest As MEHT.PAS.RISMainRequest...
For more options, visit this group at http://groups.google.com/group/Ensemble-in-Healthcare?hl=en