Generates a random number. When a token reaches this automated step, a numerical value within the specified range is generated each time. The decimal is rounded down to 0 according to the workflow data definition.
Configs
A: Set Lower Limit (e.g. “0”, “-0.5”) *#{EL}
B: Set Upper Limit (e.g. “10”, “0.5”) *#{EL}
C: Select NUMERIC DATA for Generated Number (update) *
Script (click to open)
// GraalJS Script (engine type: 2)
// (c) 2021, Questetra, Inc. (the MIT License)
//////// START "main()" ////////
main();
function main(){
//// == Config Retrieving / 工程コンフィグの参照 ==
const lower = configs.get( "conf_Lower" ) + ""; // config required
const upper = configs.get( "conf_Upper" ) + ""; // config required
const dataIdC = configs.get( "conf_DataIdC" ) + ""; // config required
// 'java.lang.String' (String Obj) to javascript primitive 'string'
// Design-time Config Format Check
const numLower = parseFloat( lower );
engine.log( " AutomatedTask Lower Limit: " + numLower );
const numUpper = parseFloat( upper );
engine.log( " AutomatedTask Upper Limit: " + numUpper );
if( isNaN(numLower) ){
throw new Error( "\n AutomatedTask ConfigError:" +
" Config {Lower} is not a number \n" );
}
if( isNaN(numUpper) ){
throw new Error( "\n AutomatedTask ConfigError:" +
" Config {Upper} is not a number \n" );
}
if( numLower > numUpper ){
throw new Error( "\n AutomatedTask ConfigError:" +
" Config {Lower} is greater than {Upper} \n" );
}
//// == Data Retrieving / ワークフローデータの参照 ==
// nothing (This Service Task is a CREATE type)
//// == Calculating / 演算 ==
let numDiff = numUpper - numLower;
let mathRand = Math.random(); // Math.random(): 0.00 to 0.99
engine.log( " AutomatedTask Math.random(): " + mathRand );
let numRand = mathRand * numDiff + numLower;
engine.log( " AutomatedTask Generated Random: " + numRand );
//// == Data Updating / ワークフローデータへの代入 ==
engine.setDataByNumber( dataIdC, new java.math.BigDecimal( numRand ) );
} //////// END "main()" ////////
Pingback: Number, Generate Random – Questetra Support
Pingback: String, Generate Password – Questetra Support