Fri Nov 26, 2021 11:36 pm
Login Register Lost Password? Contact Us


Locate ECL files in ECL code Generated at Run Time

Comments and questions related to the Enterprise Control Language

Thu Sep 21, 2017 12:42 pm Change Time Zone

Dear Sir,

Can you please assist me solving this problem.

How can locate ECL files which is in different folder into ECL file which is generated at runtime?

Problem Statement:
In ECL command line, there are ways to set some options (compile/run time args)
ecl run -legacy -I directorylocation

How can this be achieved if ECL code is generated run time and soap call is made to submit generated Run time ecl code on ecl server.

Sample Code:

String eclCode := 'india_ecl_common.Testing.Test();';

soapcall('http://' + ESPAddress + ':' + ESPPort + '/WsWorkunits',
'WUSubmit',
Request,
Response,
XPATH('WUSubmitResponse/Exceptions/Exception')
);
abhayamishra
 
Posts: 6
Joined: Thu Sep 21, 2017 7:27 am

Fri Sep 22, 2017 2:16 pm Change Time Zone

abhayamishra,

I am not sure we fully understand your question.

How is your ECL code generated at runtime? Did you write some type of code generator? If so, you should know the location where it is writing ECL files.

If you know the location, you can IMPORT definitions from the location specified in the -I<directorylocation> argument.

Jim
JimD
 
Posts: 157
Joined: Wed May 18, 2011 1:35 pm

Mon Sep 25, 2017 7:45 am Change Time Zone

Thanks Jim For your reply.

ECL code is submitted as Query String onto ECL server by using SOAP call.
ESP SOAP Url is
http://ESPAddress:Port/WsWorkunits?ver_=1.62
Two methods has been called successively.
WUCreateAndUpdate
WUSubmit

We have GITlab VCS for ECL repository. And it has folder structure like below
-ecl_common
-ecl_project1
-ecl_project2

This is not working specially in this case because project1 ecl files are using some of ecl_common ecl files.
Similar to -I <Import Directories>, what is similar option while making SOAP call?
We have used -legacy and -I option in ECL IDE and ecl run/eclcc command lines and it worked without any issues. but here we stuck.
Please suggest your views.
abhayamishra
 
Posts: 6
Joined: Thu Sep 21, 2017 7:27 am

Mon Sep 25, 2017 3:14 pm Change Time Zone

In the WsWorkunits/WUCreateAndUpdate method, have you tried using
Code: Select all
<DebugValues>
  <DebugValue>
    <Name>*****</Name>
    <Value>****</Value>
  </DebugValue>
</DebugValues>


HTH,

Jim
JimD
 
Posts: 157
Joined: Wed May 18, 2011 1:35 pm

Tue Sep 26, 2017 7:10 am Change Time Zone

Jim,

I tried doing this, but it failed.

<urn:DebugValues>

<urn:DebugValue>
<urn:Name>eclcc-I</urn:Name>
<urn:Value>ecl_project1</urn:Value>
</urn:DebugValue>

<urn:DebugValue>
<urn:Name>eclcc-I</urn:Name>
<urn:Value>ecl_common</urn:Value>
</urn:DebugValue>
<urn:DebugValue>
<urn:Name>eclcc-legacyimport</urn:Name>
<urn:Value>ecl_project1</urn:Value>
</urn:DebugValue>

<urn:DebugValue>
<urn:Name>eclcc-legacyimport</urn:Name>
<urn:Value>ecl_common</urn:Value>
</urn:DebugValue>

</urn:DebugValues>

First i called WUCreateAndUpdate method and generated workunit is passed to WUSubmit.
Error received -

<Debug>
<created_by>ws_workunits</created_by>
<created_for>amishra</created_for>
<eclcc-i>ecl_project</eclcc-i>
<eclcc-legacyimport>ecl_health</eclcc-legacyimport>
<target64bit>1</target64bit>
<targetclustertype>thorlcr</targetclustertype>
</Debug>
<Exceptions>
<Exception code="2167"
col="17"
row="1"
sequence="0"
severity="2"
source="eclserver">
Unknown identifier before &quot;.&quot; (expected :=)
</Exception>
</Exceptions>

This Name-Value Debug values pair take only allowed values. It is not allowing like below one. It is getting failed while making soap call.

<urn:DebugValues>
<urn:DebugValue>
<urn:Name>-I</urn:Name>
<urn:Value>ecl_project1</urn:Value>
</urn:DebugValue>
<urn:DebugValue>
<urn:Name>eclcc-I</urn:Name>
<urn:Value>ecl_common</urn:Value>
</urn:DebugValue>
</urn:DebugValues>
abhayamishra
 
Posts: 6
Joined: Thu Sep 21, 2017 7:27 am


Return to ECL

Who is online

Users browsing this forum: No registered users and 1 guest

cron