2016-06-02 5 views
0
CREATE COMPUTE MODULE TestFlow_Compute1 
    CREATE FUNCTION Main() RETURNS BOOLEAN 
    BEGIN 
     CALL CopyMessageHeaders(); 
     --CALL CopyEntireMessage(); 

     SET OutputRoot.EmailOutputHeader.To = '[email protected]'; 
     SET OutputRoot.EmailOutputHeader.From = '[email protected]'; 
     SET OutputLocalEnvironment.Destination.Email.SMTPServer ='smtpout.secureserver.net:25'; 

     DECLARE sid INTEGER InputRoot.XMLNSC.emp.eid; 
     DECLARE track CHARACTER InputRoot.XMLNSC.emp.etid; 
     DECLARE sname CHARACTER InputRoot.XMLNSC.emp.ename; 
     DECLARE sorg CHARACTER InputRoot.XMLNSC.emp.eorg; 
     DECLARE ssal INTEGER InputRoot.XMLNSC.emp.esal; 

     SET OutputRoot.XMLNSC.Data.Result.cty=PASSTHRU('SELECT city from ITGDB.mssusr14.collector where targetid='||track TO Database.mss); 
     SET OutputRoot.XMLNSC.Data.Result.id1=sid; 
     SET OutputRoot.XMLNSC.Data.Result.nme=sname; 
     SET OutputRoot.XMLNSC.Data.Result.or=sorg; 
     SET OutputRoot.XMLNSC.Data.Result.sl=ssal; 

     RETURN TRUE; 
    END; 

    CREATE PROCEDURE CopyMessageHeaders() BEGIN 
     DECLARE I INTEGER 1; 
     DECLARE J INTEGER; 

     SET J = CARDINALITY(InputRoot.*[]); 

     WHILE I < J DO 
      SET OutputRoot.*[I] = InputRoot.*[I]; 
      SET I = I + 1; 
     END WHILE; 
    END; 

    CREATE PROCEDURE CopyEntireMessage() BEGIN 
     SET OutputRoot = InputRoot; 
    END; 
END MODULE; 

Я использовал выше код esql для отправки данных на выходной узел электронной почты, но он не распространяется. Не могли бы вы предложить мне, что является ошибкой в ​​коде?Узел вывода электронной почты

ответ

0

Я не вижу вызова PROPAGATE.

 PROPAGATE TO TERMINAL 'out' DELETE NONE; 

Для примера. Надеюсь, это поможет вам двигаться. Мне также пришлось ВОЗВРАТИТЬ ЛОЖЬ; а не TRUE, чтобы предотвратить добавление дополнительного сообщения через терминал.

 Смежные вопросы

  • Нет связанных вопросов^_^