Kurro Lopez · May 3, 2019 go to post

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

Kurro Lopez · Apr 30, 2019 go to post

Please, use the DTL class properties

set obj=##class(EXC.DTL.Lamont).%New()

write 'Source type: '_obj.GetSourceType()

write 'Target type: '_obj.GetTargetType()

Have a look the following documentation

Ens.DataTransformDTL

Best regards,

Francisco López

Kurro Lopez · Apr 18, 2019 go to post

Please, you have to map the class too. It is into Routine database.

Check previously what is the Global name to map it.

Kurro Lopez · Apr 18, 2019 go to post

Hi,

You need to map the other Global database into your namespace. This is the only way to have visibility of other database

Kurro Lopez · Feb 21, 2019 go to post

Thanks Eduard,

Note: I've udpdated my comment, to show that there is two customers

Currently we are not able to rename the link of the Client1 to http://localhost:57772/api/myprocess/Client1/method1, the new customer will have this prefix without problem (http://localhost:57772/api/myprocess/Client2/method1)

Now we have solved this problem adding the forward in Class1, and not using the My.Code.BS.ApiRoute.

Of course, In Security - Applications - Web Applications, I've defined the Dispatch class to My.Code.BS.Class1

Next iteration we'll try to change the URL of Client1 and use the ApiRoute class.

Best regards

Kurro Lopez · Feb 21, 2019 go to post

I've tried to forward to "class1" when Prefix is nothing (or "/") and other prefix ("/client2") to "class2"

XData UrlMap [ XMLNamespace = "http://www.intersystems.com/urlmap" ]
{
<Routes>        
    <Map Prefix="/" Forward="My.Code.BS.Class1" />
    <Map Prefix="/Client2" Forward="My.Code.BS.Class2" />
</Routes>
}

In Security - Applications - Web Applications, I've defined the following entry

Then I've called using the following links

  1. http://localhost:57772/api/myprocess/method1 (I'm calling to a method in Class1)
  2. http://localhost:57772/api/myprocess/Client2/method1 (I'm calling to a method in Class2)

The first link doesn't work (404 Not found), the second one works fine.

Is not possible to add a prefix for link 1 because this is the current link for class1 in production environment, the new deploy is for class2

Any idea?

Kurro Lopez · Oct 30, 2018 go to post

Yes, the account has permission to write and delete. Also to create and remove folders.

Kurro Lopez · Oct 30, 2018 go to post

Done !!!

I wanna be a Master Developer of Full Stack Cosmic and all universe like you laugh

Kurro Lopez · Oct 8, 2018 go to post

Just a quick question...

May I use "Community license" for learning? I mean, If I want to improve in IRIS or other Intersystems product, can I use this licence even I haven't a final developer licence?

Kurro Lopez · Sep 5, 2018 go to post

Nan... it was a duplicated comment (We need a remove comment/answer button)

Kurro Lopez · Sep 5, 2018 go to post

Thanks Eduard,

Using ^COLLATE I've seen that the collation 51 was not installed (I don't know why, because it is the Spanish collation and we have using this instance long time ago).

I've installed this collation and it works.

Thanks for the point.

Best regards.

Kurro Lopez · Sep 5, 2018 go to post

Updated: I've restored the backup but this message is in cconsole.log

Failed to mount c:\ensemble\healthshare\data\clientes\clientes_g\ because its default collation (51) is not available...(repeated 5 times)

Any idea?

Kurro Lopez · Aug 30, 2018 go to post

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

Kurro Lopez · Aug 29, 2018 go to post

Hello Antonio

Yes, I am using a custom BS, I have overwritten OnProcessInput from EnsLib.RecordMap.Service.FTPService because I want to store the content in a table instead of processing each line.

This service works well until we have changed the FTP server, so I do not know if it's a problem about Passive mode, or anything

Kurro Lopez · Jul 26, 2018 go to post

can I use * to add all of them?

I mean

all("Salutic.Prj.*.MAC")=""
all("Salutic.Prj.*.INT")=""
all("Salutic.Prj.*.INC")=""
all("Salutic.Prj.*.OBJ")=""
all("Salutic.Prj.*.CLS")=""

; ...

d $system.OBJ.Export(.all,"C:\temp\all.xml")

EDITED: Please, ignore.. I've read the help page and it is possible.. Thanks for all

Kurro Lopez · Jun 28, 2018 go to post

Hi Evgeny,

I'll publish another article explaining how it works and how other languages are added. I'll have to take etymology and grammar classes to understand how some languages are structured. laugh

Kurro Lopez · Jun 22, 2018 go to post

Hi,
Unfortunately, you should remove it manually. after, you should remove it in your local workspace, because if you want to synchronize your application, the package would be in your workspace again.

Best regards