// Licensed Materials - Property of IBM // // IBM Cognos Products: pps // // (C) Copyright IBM Corp. 2005, 2017 // // US Government Users Restricted Rights - Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. // Message Utilities function CMsgUtil() {}; // perform message substitution // message text contains %x where x defines the parameter number to be substituted CMsgUtil.SubstituteMessage = function (msgText, parm0, parm1, parm2, parm3, parm4, parm5, parm6) { // build parameter array var parmArray = new Array(); for (var i = 0; i < 7; ++i) { var parmName = 'parm' + i; if (typeof eval(parmName) != 'undefined') { parmArray[i] = eval('parm' + i); } } // break the message up into pre-insertion parts // split for '%' followed by a single digit // store the substring and message parm index var msgParts = new Array(); var parmRegExp = /%\d\b/; var testText = msgText; var splice = testText.match(parmRegExp); var idx = 0; while (splice != null) { msgParts[idx] = new Object(); msgParts[idx].value = testText.substring(0, splice.index); msgParts[idx].msgNum = parseInt(splice[0].charAt(1)); testText = testText.substring(splice.index + splice[0].length); splice = testText.match(parmRegExp); ++idx; } var last = new Object(); last.value = testText; last.msgNum = 999; // choose invalid index for last string msgParts[msgParts.length] = last; // now generate result message var _result = ""; for (var i = 0; i < msgParts.length; ++i) { _result += msgParts[i].value; if (msgParts[i].msgNum < parmArray.length) { _result += parmArray[msgParts[i].msgNum]; } } return _result; }