Recompile deletes all Cached Queries !
See Dmitry's comment.
and Mgmt Portal > System Explorer > SQL > Actions > Purge...

- Log in to post comments
Recompile deletes all Cached Queries !
See Dmitry's comment.
and Mgmt Portal > System Explorer > SQL > Actions > Purge...

#1) check that there exists a valid class WINSURGE*...
#2) in Mgmt Portal > System Explorer > SQL you should see as Table WINSURGE_DMP.WINSURGE_RESULT_FACT
#3) #SQLCompile Path=cancreg
seems the real source of your problem as it sets a default package cancreg wherever that may come from
Eliminate it as your table is already full qualified WINSURGE_DMP.WINSURGE_RESULT_FACT
In addition : - VALUES :FIELD()
do you really write to ALL fields of the external table ???
Hint:
try to execute your SQL statement first from Mgmt Portal using dummy values before coding with strange macros directives
start with a simple statement to see if the connection works as expected:
SELECT COUNT(*) FROM WINSURGE_DMP.WINSURGE_RESULT_FACT
then try:
INSERT INTO WINSURGE_DMP.WINSURGE_RESULT_FACT VALUES (1,2,3,4,5,6) -- whatever it needs
I like that ! ![]()
BUT: as in the original request I seem to miss the file.Read() to fill Line somewhere in the loop. ![]()
Enable long strings in System Mgmt Portal and get strings up to 3.4 MB
System > Configuration > Memory and Startup
Time in Posix is the time as %Integer counting from Jan 1st, 1970. A UNIX definition.
dates before are negative integers (e.g. birthdate before 1970
)
[that was a reason to start $h with Jan 1st, 1840. The year the oldest veteran (in 1960) from civil war at MGH was born ]
the WRITE is just to visualize the example
the loop in YOUR class could be:
but that's just standard COS programming. Nothing special. see here
Then you have the local array msg with your SOAP message
Similiar the Try{ } Catch {} construct that ignores the error that you experience as you don't get a real SOAP response here.
You may create a normal SOAP Client in Studio using the Wizard.
Then you add a transport class to display / dump your request. (example in SAMPLES)
Example to use it :
so you get Envelope + Body well separated
that's default anyhow
in technology space it's nice and compatible to the UNIX/LINUX world
in the commercial arena it is just an alien
set s.TimeStamp=$zdt($H,3)
it is already in ODBC format.
%Date is just handling +$h, no time (that would be %Time)
%Timestamp is the real object equivalent of $h
That makes it more clear, but not easier.
Class %SOAP.WebClient is the base for any SOAP Client in Caché.
It has a property Transport to provide a registered class for alternate transport (or no immediate transport in your case)
check the code starting with Method InvokeClient(...
and look for transport within the next 50 lines to see how that works up to here
Just to be clear:
I personally won't do it that way because of all the related maintenance risks.
That's a possible end point.
If you don't do to detect the structure using TCPtrace or WireShark or similar you will not see it.
As I noted. It's an advice for hackers (and network engineers)
YES. and once you have identified the content you should be able to modify it in object script according to your needs with $REPLACE, $TRANSLATE, ...... as any other string
MgmtPortal : System Operation > Databases > Freespace > Compact / Truncate
Take a look to online docs first !
"Displaying Free Space Information"
http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=GSA_check_databases_freespace
In order to use a table in an external DB you need to LINK this table to your Caché instance.
There's a Wizard in Mgmt Portal System > SQL > Wizards > Link Table
It connects to your external table using SQLgateway and creates a proxy class in your namespace
that presents the table with all SQLnames ...( underscores, ...) as if it was a local table but with a special external storage
Then you use this proxy class as you would do with a local one.
Table 'WINSURGE_RESULT_FACT' should then be visible and accessible.
It might be somewhat slower than Globals ![]()
Hacker's advice:
Create a SOAP client with Studio - Assist.
Send your request anywhere and hijack it with TCPtrace or WireShark or similar.
Now you have the string that you intend to modify and to send.
Anyhow, I'm somewhat surprised about the subject.
Mike,
please create a new question as the solution is not related to the previous one.
Thx.
Evgeny,
The type of mirror depends on how it should be used:
Typically a Message in Ensemble is inheriting from Ens.Request
e.g. Class EnsLib.Testing.Request Extends Ens.Request
I have no Healthshare at hands to identify your correct message
just to confirm Enslib.HL7.Message does NOT extend Ens.Request as it is a Persistent object on it's own.
Your message might be locked by some other process at that time.
Try to raise your Lock level to have exclusive access to your persistent object %GetLock(id) which you need during %Save()
If it fails you should find out who else is locking it.
I like that
$lf($lb(1,s,y,s-y+1),x)
Log in. Then 1 >> 2 >> 3

That's mine:
Check if Output Frame is open.
IF it resists to appear.
If still invisible:


In Caché classes the general rule is to remove underscores for internal use.
For Properties you have the parameter SqlFieldName to keep the original name and also use it for SQL access. (e.g. INSERT)
" I found a utility in CACHE " which one ?
most likely you might pass column names as string parameters "ACCESSION_DATE"
Scott,
if you use this just once a day there is no added value to keep the connection up.
It's rather the risk that some piece in between terminates it and triggers an error on your side.
With any value other -1 you disconnect or get disconnected but it's no error but expected behavior
http://docs.intersystems.com/latest/csp/docbook/DocBook.UI.Page.cls?KEY=ETCP_settings_outbound#ETCP_C220762