There are situations where we need mimic simulation for various scenario likeĀ success, error, failure etc. We do the same by creating a mock test flow which drops files into the destination randomly and here is the ESQL code to pick those random files.
CREATE COMPUTE MODULE RandomFiles CREATE FUNCTION Main() RETURNS BOOLEAN BEGIN DECLARE R DECIMAL RAND(1); DECLARE fileName CHARACTER getRootElement(InputRoot); SET fileName = CASE WHEN R > 0.0 AND R < 0.3 THEN fileName ||'_success.txt' WHEN R > 0.3 AND R < 0.6 THEN fileName ||'_error.txt' ELSE fileName ||'_timeout.txt' END; CALL SetDestinationFileName(OutputLocalEnvironment, fileName); 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; CREATE PROCEDURE SetDestinationFileName(IN LocalEnvironment REFERENCE,IN Name CHARACTER) BEGIN SET LocalEnvironment.Destination.File.Name = Name; END; CREATE FUNCTION getRootElement (In ipRef REFERENCE ) RETURNS CHARACTER BEGIN RETURN FIELDNAME(ipRef.*:*[<].*:*[<]); END;
If you are looking for IIB training, ESQL training and support, please connect with us at support@vaithu.com/WhatsApp +1 6123058684.