Author |
Message
|
matuwe |
Posted: Fri Apr 16, 2010 12:54 am Post subject: Read ESQL PROCEDURE name from DB |
|
|
 Master
Joined: 05 Dec 2007 Posts: 296
|
HI , I need to store the EQSL procedure name or Module name on the database. I want to try and make a dynamic call using one compute node and use the value I got from there database to call the relavent procedure.
Is this possible or am I just sucking my thumb?  |
|
Back to top |
|
 |
matuwe |
Posted: Fri Apr 16, 2010 1:32 am Post subject: |
|
|
 Master
Joined: 05 Dec 2007 Posts: 296
|
Hi sorry, just to explain myself better, I want to be able to save trasformation types on the DB per interface. So I have XSLT and ESQL.
I managed to get XSLT file name read from the database, change the XSLT Dynamically at runtime to use the name from the DB and do the trasformation.
Can I do the same for ESQL? or will I have to create multiple compute nodes and use a route node to send to the right one? |
|
Back to top |
|
 |
kimbert |
Posted: Fri Apr 16, 2010 2:00 am Post subject: |
|
|
 Jedi Council
Joined: 29 Jul 2003 Posts: 5542 Location: Southampton
|
I believe others have implemented dynamic transformations using XSLT taken out of a WSRR repository. |
|
Back to top |
|
 |
matuwe |
Posted: Fri Apr 16, 2010 2:05 am Post subject: |
|
|
 Master
Joined: 05 Dec 2007 Posts: 296
|
I am good with XSLT, works like magic. Only ESQL is my problem for now..
Can I do something like this
Quote: |
DECLARE s_First CHARACTER 'CopyMessageHeaders()';
DECLARE s_Second CHARACTER 'CopyEntireMessage()';
DECLARE I INTEGER 1;
DECLARE J INTEGER 2;
WHILE I < J DO
IF I = J THEN
EVAL(s_Second); OR
CALL s_Second;
--
ELSE
EVAL(s_First); OR
CALL s_First;
END IF;
|
Or can I have a dynamically set the computeNode module name, like we would do it for other node (FileOutput, email, MQOut) ? |
|
Back to top |
|
 |
matuwe |
Posted: Tue Apr 20, 2010 11:11 pm Post subject: |
|
|
 Master
Joined: 05 Dec 2007 Posts: 296
|
OWWW It works. I havd to put the whole command as a string including the CALL. Hope this helps someone in future.
Code: |
DECLARE s_First CHARACTER 'CALL CopyMessageHeaders();' ;
DECLARE s_Second CHARACTER 'CALL CopyEntireMessage();' ;
DECLARE I INTEGER 1;
DECLARE J INTEGER 2;
WHILE I < J DO
IF I = J THEN
EVAL(s_Second);
ELSE
EVAL(s_First);
END IF;
|
|
|
Back to top |
|
 |
|