123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794 |
- var gsUTIL_EMPTY = "";
- var gsUTIL_string = "string";
- var gsUTIL_undefined = "undefined";
- var gsUTIL_APOS = "'";
- var gsUTIL_BACKSLASH = "\\";
- var gsUTIL_GREATERTHAN = ">";
- var gsUTIL_LESSTHAN = "<";
- var gsUTIL_QUOTE = '"';
- var greUTIL_APOS_ESCAPE = /\\'/g;
- var greUTIL_BACKSLASH_ESCAPE = /\\\\/g;
- var greUTIL_GREATERTHAN_ESCAPE = /\\>/g;
- var greUTIL_LESSTHAN_ESCAPE = /\\</g;
- var greUTIL_QUOTE_ESCAPE = /\\"/g;
- var DATA_TYPE_NUMERIC = 0;
- var DATA_TYPE_DATE = 1;
- var DATA_TYPE_TIME = 2;
- var DATA_TYPE_DATETIME = 3;
- var DATA_TYPE_INTERVAL = 4;
- var DATA_TYPE_STRING = 5;
- var DATA_TYPE_BLOB = 6;
- var DATA_TYPE_YMINTERVAL = 7;
- var DATA_TYPE_REPORT_EXPRESSION = 8;
- var USAGE_VALUE_MEASURE = 3;
- function isNumeric(idx)
- {
- return (getDataType(idx) === 0);
- };
- function isOldTypeNumeric(idx)
- {
- if (goApplicationManager.getMiniQueryManager().isFakeMeasure(idx) === false)
- {
- return false;
- }
- return (getDataTypeFromArray(idx, "oldType") === 0);
- };
- function isString(idx)
- {
- return (getDataType(idx) === 5);
- };
- function isDateTime(idx)
- {
- var type = getDataType(idx);
- return (type > 0 && type < 5);
- };
- function isOldTypeDateTime(idx)
- {
- if (goApplicationManager.getMiniQueryManager().isFakeMeasure(idx) === false)
- {
- return false;
- }
- var type = getDataTypeFromArray(idx, "oldType");
- return (type > 0 && type < 5);
- };
- function isDate(idx)
- {
- var type = getDataType(idx);
- return (type === 1);
- };
- function isTime(idx)
- {
- var type = getDataType(idx);
- return (type === 2);
- };
- function isInterval(idx)
- {
- var type = getDataType(idx);
- return (type === 4);
- };
- function isOldTypeInterval(idx)
- {
- if (goApplicationManager.getMiniQueryManager().isFakeMeasure(idx) === false)
- {
- return false;
- }
- var type = getDataTypeFromArray(idx, "oldType");
- return (type === 4);
- };
- function getCalcType(idx)
- {
- var calcOp = goApplicationManager.getMiniQueryManager().getCalcOp(idx);
- if (calcOp !== MINI_QUERY_ATTRIBUTE_NOT_FOUND)
- {
- switch (calcOp)
- {
-
- case "sum":
- case "difference":
- case "division":
- case "product":
- case "average":
- case "maximum":
- case "minimum":
- case "percent":
- case "percentDifference":
- case "percentTotal":
- case "percentile":
- case "rank":
- case "quartile":
- case "quantile":
- case "number":
- case "round":
- case "round down":
- case "absolute":
- case "sqrt":
- case "power":
-
- case "yearDateTime":
- case "monthYearDateTime":
- case "hourDateTime":
- case "minuteDateTime":
- case "secondDateTime":
- case "dayWeekDateTime":
- case "dayMonthDateTime":
- case "dayYearDateTime":
- case "weekDateTime":
-
- case "hourTime":
- case "minuteTime":
- case "secondTime":
- case "yearDate":
-
- case "monthYearDate":
- case "dayWeekDate":
- case "dayMonthDate":
- case "dayYearDate":
-
- case "rankInterval":
- case "daysInterval":
- case "daysBetweenDate":
- case "monthsBetweenDate":
- case "yearsBetweenDate":
- case "daysBetweenDateTime":
- case "monthsBetweenDateTime":
- case "yearsBetweenDateTime":
- case "weekDate":
- return "number";
-
- case "rangeString":
- case "rangeNumber":
- case "rangeDate":
- case "rangeTime":
- case "rangeInterval":
- case "rangeDateTime":
- return "range";
-
- case "groupString":
- case "groupNumber":
- return "group";
-
- case "left":
- case "right":
- case "trim":
-
- case "monthNameDate":
- case "dayNameDate":
-
- case "monthNameDateTime":
- case "dayNameDateTime":
-
- case "concatString":
- case "concatNumber":
- case "concatInterval":
- case "concatDatetime":
- case "concatDefault":
- return "string";
-
- case "dayFirstDate":
- case "dayLastDate":
- case "adddaysDate":
- case "addmonthsDate":
- case "addyearsDate":
- case "maxDate":
- case "minDate":
- return "date";
-
- case "maxTime":
- case "minTime":
- return "time";
-
- case "dayFirstDateTime":
- case "dayLastDateTime":
- case "adddaysDateTime":
- case "addmonthsDateTime":
- case "addyearsDateTime":
- case "maxDateTime":
- case "minDateTime":
- return "datetime";
-
- case "sumInterval":
- case "differenceDate":
- case "differenceTime":
- case "differenceDateTime":
- case "differenceInterval":
- case "minInterval":
- case "maxInterval":
- return "interval";
-
- case "model":
- return "model";
- }
- }
- return "unknown";
- };
- function getDataType(idx)
- {
- return getDataTypeFromArray(idx, "type");
- };
- function getDataTypeFromArray(iIdx, sAttrName)
- {
- var nDatatype = goApplicationManager.getMiniQueryManager().getAttributeOnColumn(iIdx, sAttrName, "string");
- if (nDatatype == "reportExpression")
- {
-
- return 7;
- }
- else
- {
- return determineDataType(parseInt(nDatatype));
- }
- };
- function determineDataType(nDatatype)
- {
- switch (nDatatype)
- {
- case 2:
- case 3:
- case 10:
- case 11:
- case 12:
- case 20:
- case 21:
- case 30:
- case 31:
- case 32:
- case 40:
- case 41:
- case "number":
- return 0;
- case 50:
- case "date":
- return 1;
- case 51:
- case "time":
- return 2;
- case 52:
- case 94:
- case "datetime":
- return 3;
- case 53:
- case "interval":
- return 4;
- case 60:
- case 61:
- case 62:
- case 80:
- case 95:
- case 96:
- case "string":
- return 5;
- case 70:
- case 71:
- case 72:
- return 6;
- case 92:
- case "yminterval":
- return 7;
- case "reportExpression":
- return 8;
- default:
- return -1;
- }
- };
- function getDataTypeFromString(sDatatype)
- {
- switch (sDatatype)
- {
- case "boolean":
- return 4;
- case "int16":
- return 10;
- case "int32":
- return 11;
- case "int64":
- return 12;
- case "decimal":
- return 20;
- case "numeric":
- return 21;
- case "float":
- return 30;
- case "float32":
- return 31;
- case "float64":
- return 32;
- case "binary":
- return 40;
- case "binarylength":
- return 41;
- case "date":
- case "date2":
- return 50;
- case "time":
- case "time2":
- return 51;
- case "dateTime":
- case "datetime":
- case "datetime2":
- return 52;
- case "interval":
- case "interval2":
- return 53;
- case "character":
- return 60;
- case "characterlength16":
- return 61;
- case "characterlength32":
- return 62;
- case "blob":
- return 70;
- case "textblob":
- return 71;
- case "array":
- return 72;
- case "key":
- return 80;
- case "bit":
- return 90;
- case "varbit":
- return 91;
- case "intervalYM":
- return 92;
- case "timeTZ":
- return 93;
- case "timeStampTZ":
- return 94;
- case "nationalchar":
- return 95;
- case "nationalcharvarying":
- return 96;
- case "munliteral":
- return 101;
- case "memberUniqueName":
- return -1;
- default:
- return -1;
- }
- };
- function getStringFromDataType(iDatatype)
- {
- switch (iDatatype)
- {
- case 1: return dataTypeMsgStrings["unsupported"];
- case 3: return dataTypeMsgStrings["null"];
- case 4: return dataTypeMsgStrings["boolean"];
- case 10: return dataTypeMsgStrings["int16"];
- case 11: return dataTypeMsgStrings["int32"];
- case 12: return dataTypeMsgStrings["int64"];
- case 20: return dataTypeMsgStrings["decimal"];
- case 21: return dataTypeMsgStrings["numeric"];
- case 30: return dataTypeMsgStrings["float"];
- case 31: return dataTypeMsgStrings["float32"];
- case 32: return dataTypeMsgStrings["float64"];
- case 40: return dataTypeMsgStrings["binary"];
- case 41: return dataTypeMsgStrings["binarylength"];
- case 50: return dataTypeMsgStrings["date"];
- case 51: return dataTypeMsgStrings["time"];
- case 52: return dataTypeMsgStrings["datetime"];
- case 53: return dataTypeMsgStrings["interval"];
- case 60: return dataTypeMsgStrings["character"];
- case 61: return dataTypeMsgStrings["characterlength16"];
- case 62: return dataTypeMsgStrings["characterlength32"];
- case 70: return dataTypeMsgStrings["blob"];
- case 71: return dataTypeMsgStrings["textblob"];
- case 72: return dataTypeMsgStrings["array"];
- case 80: return dataTypeMsgStrings["key"];
- case 90: return dataTypeMsgStrings["bit"];
- case 91: return dataTypeMsgStrings["varbit"];
- case 92: return dataTypeMsgStrings["intervalYM"];
- case 93: return dataTypeMsgStrings["timeTZ"];
- case 94: return dataTypeMsgStrings["timeStampTZ"];
- case 95: return dataTypeMsgStrings["nationalchar"];
- case 96: return dataTypeMsgStrings["nationalcharvarying"];
- case 101: return dataTypeMsgStrings["munliteral"];
- default:
- return dataTypeMsgStrings["unknown"];
- }
- };
- function getDisplayValueForOption(o)
- {
- var text = '';
- if (typeof o == "object")
- {
- if (o.text != null)
- {
- text = o.text;
- }
- else if (o.firstChild != null)
- {
-
- text = o.firstChild.nodeValue;
- }
- else if (o.nextSibling != null)
- {
-
- text = o.nextSibling.nodeValue;
- }
- else if (o.value != null)
- {
-
- text = o.value;
- }
- }
- if ( typeof text == "string" )
- {
-
-
-
- text = text.replace( /\xA0/gi, ' ' );
- }
- return text;
- };
- function getSelectionsDataType()
- {
- var numSel = cfgSize("SelColumns");
- if (numSel < 1)
- {
- return -1;
- }
- var dataType = getDataType(cfgGetAt("SelColumns", 0));
- for (var i = 1; i < numSel; i++)
- {
- if (dataType != getDataType(cfgGetAt("SelColumns", i)))
- {
- return -1;
- }
- }
- return dataType;
- };
- function determineRegAggType(regAggVal, isDate)
- {
- if (typeof regAggVal == "number")
- {
- switch (parseInt(regAggVal))
- {
- case 2:
- return summaryMsgStrings["SUMMARY_TOTAL"];
- case 3:
- if (typeof isDate == "boolean" && isDate === true)
- {
- return summaryMsgStrings["SUMMARY_EARLIEST"];
- }
- return summaryMsgStrings["SUMMARY_MINIMUM"];
- case 4:
- if (typeof isDate == "boolean" && isDate === true)
- {
- return summaryMsgStrings["SUMMARY_LATEST"];
- }
- return summaryMsgStrings["SUMMARY_MAXIMUM"];
- case 5:
- return summaryMsgStrings["SUMMARY_AVERAGE"];
- case 6:
- return summaryMsgStrings["SUMMARY_COUNT"];
- case 13:
- return summaryMsgStrings["SUMMARY_COUNT_DISTINCT"];
- case 15:
- return summaryMsgStrings["SUMMARY_STANDARD_DEVIATION"];
- case 16:
- return summaryMsgStrings["SUMMARY_VARIANCE"];
- case 17:
- return summaryMsgStrings["SUMMARY_MEDIAN"];
- case 1:
- case 10:
- case 11:
- case 12:
- case 14:
- case 18:
- return summaryMsgStrings["SUMMARY_AUTOMATIC"];
- }
- }
- return summaryMsgStrings["SUMMARY_NOSUMMARY"];
- };
- function isHierarchy(c)
- {
- return (c !== null && c instanceof XMLElement && c.getAttribute("hierarchy") == "true");
- };
- function isLevel(c)
- {
- return (c !== null && c instanceof XMLElement && (c.getAttribute("metadataType") == "level" || c.getAttribute("metadataType") == "namedSet" || (c.getAttribute("metadataType") === "" && c.getAttribute("levelNumber") !== "")));
- };
- function isMember(c)
- {
- return (c !== null && c instanceof XMLElement && c.getAttribute("metadataType") == "member");
- };
- function isMUN(c)
- {
- return (isLevel(c) || isHierarchy(c) || isMember(c));
- };
- function isMUNFromMetadata(oNode)
- {
- if (!oNode || typeof oNode == "undefined" || !oNode.nodeMetaType || oNode.nodeMetaType == "undefined")
- {
- return false;
- }
-
- var oColumn = new XMLElement("Column", null);
- oColumn.setAttribute("metadataType", getMetaType(oNode));
- return isMUN(oColumn);
- };
- function getMetaType(oNode)
- {
- var metaType = oNode.nodeMetaType ? oNode.nodeMetaType : "none";
- var nodeMetaType = null;
- if (metaType == "queryItem")
- {
-
- var parentNode = oNode.getParent();
- if (parentNode)
- {
- while (parentNode.nodeMetaType == "queryFolder")
- {
- parentNode = parentNode.getParent();
- }
- nodeMetaType = parentNode.nodeMetaType;
- if (nodeMetaType == "level" || nodeMetaType == "dimension" || nodeMetaType == "hierarchy")
- {
- metaType = "attribute";
- }
- }
- }
- return metaType;
- };
- function jsdecode(str)
- {
- if (typeof str == gsUTIL_undefined || str === gsUTIL_EMPTY)
- {
- return gsUTIL_EMPTY;
- }
- if (typeof str != gsUTIL_string)
- {
- return str;
- }
- return str.replace(greUTIL_APOS_ESCAPE, gsUTIL_APOS).replace(greUTIL_QUOTE_ESCAPE, gsUTIL_QUOTE).replace(greUTIL_GREATERTHAN_ESCAPE, gsUTIL_GREATERTHAN).replace(greUTIL_LESSTHAN_ESCAPE, gsUTIL_LESSTHAN).replace(greUTIL_BACKSLASH_ESCAPE, gsUTIL_BACKSLASH);
- };
- function htmlencode(str)
- {
- if (typeof str == gsUTIL_undefined || str === gsUTIL_EMPTY)
- {
- return gsUTIL_EMPTY;
- }
- if (typeof str != gsUTIL_string)
- {
- return str;
- }
- return str.replace(/&/g, "&").replace(/</g, "<").replace(/>/g, ">").replace(/"/g, """);
- };
- function deleteArrayEntry(aArray, sValue)
- {
- var aNewArray = new Array();
- for (var idxArr in aArray)
- {
- if (idxArr != sValue)
- {
- aNewArray[aNewArray.length] = aArray[idxArr];
- }
- }
- return aNewArray;
- };
- function isDataTypeMatch(sDataType, iTypeConst)
- {
- if (typeof sDataType != gsUTIL_string)
- {
- return false;
- }
- var iDataType = parseInt(sDataType, 10);
- if (isNaN(iDataType))
- {
- return false;
- }
- var iDeterminedDataType = determineDataType(iDataType);
- if (iDeterminedDataType === iTypeConst)
- {
- return true;
- }
- else
- {
- return false;
- }
- };
- function stripSignature(sSpecification)
- {
- if (typeof sSpecification == "string")
- {
-
- var sHoofAndMouth = "00001111C4MCRYP7000001111";
- var iPosition = sSpecification.lastIndexOf(sHoofAndMouth);
- if (iPosition == -1 || iPosition == 0)
- {
-
- return sSpecification;
- }
- iPosition = sSpecification.lastIndexOf(sHoofAndMouth, (iPosition - 1));
- if (iPosition == -1)
- {
-
- return sSpecification;
- }
- return sSpecification.substr(0, iPosition);
- }
- else
- {
- return sSpecification;
- }
- };
- function createCommand(sOpCode1, sOpCode2, aParams)
- {
-
- if (typeof sOpCode1 == "undefined" || typeof sOpCode2 == "undefined")
- {
- return "";
- }
- var sCommand = sOpCode1 + sOpCode2 + ":";
- if (aParams instanceof Array)
- {
- sCommand += aParams.join(",");
- }
- return sCommand;
- };
- function getArrayLength(aArray)
- {
- if (typeof aArray == "object" && aArray instanceof Array)
- {
- var length = 0;
- for (var idxArr in aArray)
- {
- length++;
- }
- return length;
- }
- return 0;
- };
- function getOrCreateMiniQueryDocument()
- {
- var oMQMgr = goApplicationManager.getMiniQueryManager();
- var oDoc = oMQMgr.getDoc();
- if (!oDoc)
- {
- oDoc = XMLBuilderCreateXMLDocument("CRQReport");
- }
- return oDoc;
- };
- function createHiddenInput(oFrame, oForm, sName, sValue)
- {
- if (!oForm)
- {
- return false;
- }
- if (!oFrame)
- {
- oFrame = self;
- }
- var oInput = oFrame.document.createElement("INPUT");
- oInput.type = "hidden";
- oInput.id = sName;
- oInput.name = sName;
- oInput.value = sValue;
- oForm.appendChild(oInput);
- return true;
- };
- function concatAssociativeArrays(aAssArray1, aAssArray2)
- {
- var aNewArr = [];
- var idxArr = null;
- if (typeof aAssArray1 == "object" && aAssArray1 !== null)
- {
- for (idxArr in aAssArray1)
- {
- aNewArr[idxArr] = aAssArray1[idxArr];
- }
- }
- if (typeof aAssArray2 == "object" && aAssArray2 !== null)
- {
- for (idxArr in aAssArray2)
- {
- aNewArr[idxArr] = aAssArray2[idxArr];
- }
- }
- return aNewArr;
- };
- function stripPFromParam(sParam)
- {
- var sKeyNoP = sParam;
- if (sKeyNoP.indexOf("p_") === 0)
- {
- sKeyNoP = sKeyNoP.substr(2);
- }
- return sKeyNoP;
- };
- function getPromptPageParameterValues()
- {
- var aPV = [];
- var aPPP = goApplicationManager.getReportManager().getParameterManager().getPromptPageParameters();
- for (var idxPPP in aPPP)
- {
- var sName = idxPPP;
- if (sName.charAt(0) != "_")
- {
- sName = "p_" + sName;
- }
- var sValue = aPPP[idxPPP];
- aPV[aPV.length] = [sName, sValue];
- }
- return aPV;
- };
|