Hi,

Try the following code. It only works if the class parent is Ens.DataTransformDTL

// Create a query to get only my class (in MyClass and sub folders)

set query="SELECT ID FROM %Dictionary.ClassDefinition WHERE ID LIKE 'MyClass.%' AND super='Ens.DataTransformDTL'"

set tStatement = ##class(%SQL.Statement).%New() 

set qStatus=tStatement.%Prepare(query)

set tResult = tStatement.%Execute()

while tResult.%Next() {

   set dtlName = tResult.%Get("ID")

   set classObject = $CLASSMETHOD(dtlName ,"%New")
   
   write !,"DTL: "_dtlName
   write !,"Source type: "_classObject.GetSourceType()
   write !,"Target type: "_classObject.GetTargetType()
   write !

}

Remember: It works only if the class inherits from Ens.DataTransformDTL , if you know which class is the one that inherits the DTL you want to examine, change the name of the value of 'Super' in the previous query

Best regards,

Francisco Lopez

Please, have a look the following links:

Ensemble XML Virtual Document Development Guide

Loading XML Schemas into Ensemble

Using File Adapters with Ensemble

Once you have the content of the file, you will be able to make the necessary transformations in HL7 to make the outbonding operation to out the content.

Best regards,

Francisco López

Dear all... problem solved.

I've created a new FTP server (based on IIS) and it works without problem.

The previous one was created with Filezilla server. 

Fortunately, the client has an FTP server based on IIS, so with this test we consider the integration in their preproduction environment will be fine.

Note: I've changed the "Server List Style" to "MSDOS" for this new server ;)

Thanks to all for your time.

Best regards,

Francisco López

Hi Dani,

This class uses EnsLib.FTP.InboundAdapter, according to the documentation, this is the path on the Ensemble server to save a copy of each file received from the FTP server. That is not a FTP folder.

If you want to move the file processed into a FTP folder after processed, you should get the file from this folder and put it manually.

Have a look the link Using the FTP Inbound Adapter and Settings for the FTP Inbound Adapter

Have a nice day

Francisco López

Hi Conor.

If you try to convert directly this datetime to a $HOROLOG format, you'll have problems :)

Date is a valid format, however the time needs to convert a valid format, so modify the variable to convert a valid datetime format.

set myTimeStamp="20160105125915"

set myTimeStampValid=$EXTRACT(fecha,1,4)_"-"_$EXTRACT(fecha,5,6)_"-"_$EXTRACT(fecha,7,8)_" "_$EXTRACT(fecha,9,10)_":"_$EXTRACT(fecha,11,12)_":"_$EXTRACT(fecha,13,14)

Then you have a datetime in format YYY-mm-dd HH:MM:ss

Now, you need to convert this variable to $HOROLOG format

set myTimeStampHorolog=$ZDATETIMEH(myTimeStampValid,3,1)

now, convert to UTC using your local time, if you know what is the UTC difference, apply directly.

Example: I'm in Spain, so is CET (UTC+1), however in summer (CEST) is UTC+2

If you use the method ##class(%SYSTEM.Util).LocalWithZTIMEZONEtoUTC you'll have the UTC as zone time, but your Ensemble doesn't know if it's Summer o Winter time.

if is Summer time, you need to reduce an hour your local time

set myTimeStampUTC=##class(%SYSTEM.Util).LocalWithZTIMEZONEtoUTC(myTimeStampHorolog)
;; IF SUMMER TIME, REDUCE ONE HOUR
set myTimeStampUTC=$ZDATETIMEH($SYSTEM.SQL.DATEADD("hour",-1,myTimeStampUTC),3,1)

if you want to compare both datetimes (now, I'm in CEST, so I'm in UTC+2)

write "My local time:"_$ZDATETIME(myTimeStampHorolog,3,1)
write "UTC time:"_$ZDATETIME(myTimeStampUTC,3,1)

The result is:

My local timestamp:2016-01-05 12:59:15

UTC timestamp:2016-01-05 10:59:15

Now, you have the same problem, you have a time separated by ":", so only need to revert the conversion

set myUTC=$ZDATE(myTimeStampUTC,8)_$REPLACE($ZTIME($PIECE(myTimeStampUTC,",",*),1),":","")

and compare:

write myTimeStamp

write myUTC

Check the info about theses methods:

$ZDATETIMEH

$ZDATETIME

$EXTRACT

##class(%SYSTEM.Util).LocalWithZTIMEZONEtoUTC

I hope I have solved your problem

Best regards,

Francisco Lopez

P.S. Don't forget check the answer if it's the correct answer.

P.P.S. [EDITED] According to Eduard Lebedyuk (see below), you can replace

set myTimeStampValid=$EXTRACT(fecha,1,4)_"-"_$EXTRACT(fecha,5,6)_"-"_$EXTRACT(fecha,7,8)_" "_$EXTRACT(fecha,9,10)_":"_$EXTRACT(fecha,11,12)_":"_$EXTRACT(fecha,13,14)

to

set myTimeStampValid=$SYSTEM.SQL.TOTIMESTAMP(myTimeStamp,"YYYYMMDDHHMISS")

Thanks Mr. Lebedyuk 

Hi, 

Currently, I created an acount using my working email (flopez@salutic.es), then all information, alerts, and everything has been sent using this email.

Then I was invited to participate in Global Master, and all my contributions in Developer Community are counted in GM.
Now, I want to unlink this email and use my personal one. I've modified the GM  and DC email, but the login still as it is, all alerts from GM are sent to the new email.

I think that, as I have modified my GM email, my new contributions will not be considered as points in GM, due it is waiting for the email flopez@salutic.es, I am right?

That is the aim of my question, is it possible to change the email login to link this one to my current GM account.

Best regards and thanks for your attention

Hi,

We are using Atelier with TFS and we haven't problems with it.

Sometimes, I have to check out the file manually because the synchronize process doesn't check out automatically. Some members of my team do it automatically but I don't. Don't know.

If you want to install TFS plugin, I've published a quick tutorial How to install and use TFS in Atelier. Please, have a look 

Best regards.

Solved...

I'm very sorry for this question, the answer was in my face and I didn't see it.

The plus sign is a special character in URL, so it should be replaced with "%2b" to escape the character.

I'm ashamed to think that this problem was too simple

I should call

http://localhost:57772/MyApp/login?login=flopez@salutic.es&password=7d%2brcUBPWF0wtMs4PHiluA==&app=MYAPP

Best regards,

Francisco