cmd.js 20 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809
  1. /****************************************************************
  2. ** Licensed Materials - Property of IBM
  3. **
  4. ** BI and PM: qs
  5. **
  6. ** (C) Copyright IBM Corp. 2001, 2015
  7. **
  8. ** US Government Users Restricted Rights - Use, duplication or
  9. ** disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  10. *****************************************************************/
  11. // Copyright (C) 2008 Cognos ULC, an IBM Company. All Rights Reserved.
  12. // Cognos and the Cognos logo are trademarks of Cognos ULC (formerly Cognos Incorporated) in the United States and/or other countries. IBM and the IBM logo are trademarks of International Business Machines Corporation in the United States, or other countries, or both. Other company, product, or service names may be trademarks or service marks of others.
  13. var __preview_win = null;
  14. var addColumnId = 0;
  15. var RSParameters;
  16. function sendCmd(sCommandString, xslref, resetRows, bLeaveDialog)
  17. {
  18. var bIsRerun = false;
  19. cfgSet("FirstRunQS", false);
  20. var cmdStr = sCommandString;
  21. if (typeof recordCommand == "function")
  22. {
  23. recordCommand(cmdStr);
  24. }
  25. if (resetRows)
  26. {
  27. cmdStr = "PF;" + cmdStr;
  28. }
  29. if (! cfgGet("isRunAsPreview"))
  30. {
  31. var sAmountOfData = cfgGet("amountOfData");
  32. cmdStr += generateCmdToSwitchRunMode(sAmountOfData);
  33. cfgRemove("amountOfData");
  34. }
  35. if (xslref.length <= 0)
  36. {
  37. xslref = 'qs.xsl';
  38. }
  39. cfgSet("OLD_qs_spec", cfgGet("conversation_qs_spec"));
  40. var oReportManager = goApplicationManager.getReportManager();
  41. var oQSRequest = oReportManager.createRequest("runSpecification");
  42. oReportManager.setRequestDefaultOptions(oQSRequest);
  43. oQSRequest.addOption("ui.action", "edit");
  44. var c = cfgGet("conversation_primaryRequest");
  45. if (c)
  46. {
  47. oQSRequest.addOption("ui.conversation", c);
  48. }
  49. var sUiObject = getUiObjectString();
  50. if (sUiObject && sUiObject.length)
  51. {
  52. oQSRequest.addOption("ui.object", sUiObject);
  53. }
  54. oQSRequest.addOption("ui.command", cmdStr);
  55. oQSRequest.addOption("run.xslURL", xslref);
  56. if (cmdStr.charAt(0) == "P" && cmdStr.charAt(1) == "U")
  57. {
  58. oQSRequest.removeOption("parameters");
  59. if (goApplicationManager)
  60. {
  61. var promptRunOption = goApplicationManager.get("run.prompt");
  62. if (promptRunOption)
  63. {
  64. oQSRequest.addOption("run.prompt", promptRunOption);
  65. }
  66. }
  67. }
  68. else if(cmdStr.indexOf("ON:") > -1 && cmdStr.indexOf("full") > -1)
  69. {
  70. bIsRerun = true;
  71. oQSRequest.addOption("rerun", "true");
  72. var executionPrompt = cfgGet("executionPrompt");
  73. var promptFlag = cfgGet("promptFlag");
  74. if ( executionPrompt != null && executionPrompt != "" )
  75. {
  76. oQSRequest.addOption("run.prompt", executionPrompt);
  77. }
  78. else if (promptFlag != null && promptFlag != "")
  79. {
  80. oQSRequest.addOption("run.prompt", promptFlag);
  81. }
  82. else
  83. {
  84. oQSRequest.addOption("run.prompt", "true");
  85. }
  86. }
  87. else
  88. {
  89. oQSRequest.addOption("run.prompt", "false");
  90. }
  91. var promptValuesArray = getPromptPageParameterValues();
  92. if (promptValuesArray!=null && typeof promptValuesArray == "object")
  93. {
  94. for (var i in promptValuesArray)
  95. {
  96. var promptValues = promptValuesArray[i];
  97. oQSRequest.addOption(promptValues[0], promptValues[1]);
  98. }
  99. }
  100. var oAllParams = goApplicationManager.getReportManager().getParameterManager().getAllParametersAsObject();
  101. if (oAllParams.promptPageParameters !== null)
  102. {
  103. oReportManager.setRequestDefaultOptionsForCV(true, true, "meta,exec", oQSRequest);
  104. }
  105. else if (bIsRerun)
  106. {
  107. oReportManager.setRequestDefaultOptionsForCV(true, true, "any", oQSRequest);
  108. }
  109. else
  110. {
  111. oReportManager.setRequestDefaultOptionsForCV(true, false, "any", oQSRequest);
  112. }
  113. if(sCommandString.indexOf("ON:") != 0)
  114. {
  115. updateReportHasChanged(true);
  116. }
  117. if (cfgGet("specification.editSpecification"))
  118. {
  119. oQSRequest.addOption("specification.editSpecification", cfgGet("specification.editSpecification"));
  120. }
  121. oReportManager.asyncSubmit(bLeaveDialog, oQSRequest);
  122. };
  123. function generateCmdToSwitchRunMode(sPreviousLimitData)
  124. {
  125. var oMQMgr = goApplicationManager.getMiniQueryManager();
  126. var cmdStr = "";
  127. var currentLimitData = getPreviewType();
  128. var sNewDataMode = "";
  129. if (sPreviousLimitData && sPreviousLimitData.length && sPreviousLimitData != currentLimitData)
  130. {
  131. sNewDataMode = sPreviousLimitData;
  132. }
  133. else if (oMQMgr.hasLimitDataChanged() && currentLimitData.length)
  134. {
  135. sNewDataMode = currentLimitData;
  136. }
  137. if (sNewDataMode.length)
  138. {
  139. cmdStr += ";" + createCommand("O", "N", new Array(sNewDataMode));
  140. }
  141. return cmdStr;
  142. };
  143. function escapeParam(param) { return escapeSpecialChar(param); }
  144. function escapeSpecialChar(s1) {
  145. var s2 = "";
  146. if (s1 != null)
  147. {
  148. s2 = s1.toString();
  149. s2 = s2.replace(/%/g, "%25");
  150. s2 = s2.replace(/;/g, "%3B");
  151. s2 = s2.replace(/\"/g, "%22");
  152. s2 = s2.replace(/\\/g, "%5C");
  153. s2 = s2.replace(/,/g, "%2C");
  154. s2 = s2.replace(/\n/g, "%0A");
  155. s2 = s2.replace(/ /g, "%20");
  156. }
  157. return s2;
  158. };
  159. function generateNcCmd(colId, newColName)
  160. {
  161. return createCommand("M", "N", new Array(escapeParam(goApplicationManager.getMiniQueryManager().getColumnId(colId)), escapeParam(newColName)));
  162. };
  163. function generateAcCmd(before_col_id, id, col, label, datatype, usage, regularAgg, semiAgg, promptType, displayType, sortOnRef, promptCascadeOnRef, promptFilterItemRef, groupType, bIsHierarchy, levelOrdinal, hun, metaType, currency, promptUseItemRef, promptDisplayItemRef)
  164. {
  165. if (before_col_id != "-1")
  166. before_col_id = validateBeforeColId(before_col_id);
  167. if (sortOnRef == "")
  168. sortOnRef = "none";
  169. if (promptCascadeOnRef == "")
  170. promptCascadeOnRef = "none";
  171. if (promptFilterItemRef == "")
  172. promptFilterItemRef = "none";
  173. if (groupType == "")
  174. groupType = "none";
  175. if (currency == "")
  176. currency = "none";
  177. if (promptUseItemRef == "")
  178. promptUseItemRef = "none";
  179. if (promptDisplayItemRef == "")
  180. promptDisplayItemRef = "none";
  181. if (promptType == "")
  182. promptType = 0;
  183. regularAgg = getRegularAggregateFromModelValue(regularAgg);
  184. var cmd = createCommand("M", "A", new Array(escapeParam(before_col_id), escapeParam(id), escapeParam(col), escapeParam(label), datatype, usage, regularAgg, semiAgg, promptType, displayType, escapeParam(sortOnRef), escapeParam(promptCascadeOnRef), escapeParam(promptFilterItemRef), escapeParam(groupType), escapeParam(bIsHierarchy), escapeParam(levelOrdinal), escapeParam(hun), escapeParam(metaType), escapeParam(currency), escapeParam(promptUseItemRef), escapeParam(promptDisplayItemRef)));
  185. return cmd;
  186. };
  187. function validateBeforeColId(before_col_id)
  188. {
  189. if (before_col_id == "")
  190. before_col_id = (cfgSize("SelColumns")== 1) ? goApplicationManager.getMiniQueryManager().getColumnId(cfgGetAt("SelColumns", 0)) : "-1";
  191. return before_col_id;
  192. };
  193. function generateAddCalcColCmd(before_col_id, id, colExpression, calculatedExpression, label, calcBy, calcOp, calcBase, calcNumDecs, calculationType, usageType, regularAgg, semiAgg, promptType, displayType, detailAgg, sortOnRef, qIDArray, groupType, currency, promptUseItemRef, promptDisplayItemRef)
  194. {
  195. var params = new Array();
  196. params[0] = escapeParam(validateBeforeColId(before_col_id));
  197. params[1] = escapeParam(id);
  198. params[2] = escapeParam(colExpression);
  199. params[3] = escapeParam(label);
  200. if (calculationType != -1)
  201. params[4] = calculationType;
  202. else
  203. params[4] = "21";
  204. if (usageType != -1 && usageType != "")
  205. {
  206. params[5] = usageType;
  207. }
  208. else if (usageType == "" && calculationType == "0")
  209. {
  210. params[5] = "0";
  211. }
  212. else
  213. {
  214. params[5] = "3";
  215. }
  216. params[6] = getRegularAggregateFromModelValue(regularAgg);
  217. if (semiAgg != "")
  218. {
  219. params[7] = escapeParam(semiAgg);
  220. }
  221. else
  222. {
  223. params[7] = "0";
  224. }
  225. if (promptType != -1)
  226. params[8] = promptType;
  227. else
  228. params[8] = "0";
  229. params[9] = displayType;
  230. if (sortOnRef == "")
  231. sortOnRef = "none";
  232. if (groupType == "")
  233. groupType = "none";
  234. if (currency == "")
  235. currency = "none";
  236. if (promptUseItemRef == "" || typeof promptUseItemRef == "undefined")
  237. promptUseItemRef = "none";
  238. if (promptDisplayItemRef == "" || typeof promptDisplayItemRef == "undefined")
  239. promptDisplayItemRef = "none";
  240. params[10] = escapeParam(sortOnRef);
  241. params[11] = escapeParam(groupType);
  242. params[12] = escapeParam(calcBy);
  243. params[13] = escapeParam(calcOp);
  244. params[14] = escapeParam(calcBase);
  245. params[15] = calcNumDecs;
  246. params[16] = escapeParam(calculatedExpression);
  247. if (detailAgg != -1)
  248. params[17] = detailAgg;
  249. else
  250. params[17] = "calculated";
  251. params[18] = escapeParam(currency);
  252. params[19] = escapeParam(promptUseItemRef);
  253. params[20] = escapeParam(promptDisplayItemRef);
  254. if (typeof qIDArray != "undefined")
  255. {
  256. for (var i = 0; i < qIDArray.length; i++)
  257. params[params.length] = escapeParam(qIDArray[i]);
  258. }
  259. return createCommand("M", "X", params)
  260. };
  261. function endac()
  262. {
  263. var mc = cfgGet("MultiColumnAddCommand");
  264. if (mc && mc.length > 0)
  265. sendCmd(mc, "", true);
  266. cfgRemove("MultiColumnAddCommand");
  267. };
  268. function cc(columnType, before_col_id, colExpression, label, datatype, usage, regularAgg, semiAgg, promptType, displayType, sortOnRef, promptCascadeOnRef, promptFilterItemRef, groupType, bIsHierarchy, levelOrdinal, hun, metaType, currency, promptUseItemRef, promptDisplayItemRef)
  269. {
  270. var mc = cfgGet("MultiColumnAddCommand");
  271. if (mc==null||(mc && mc.length == 0))
  272. mc="";
  273. else
  274. mc += ";";
  275. if (columnType == "OD")
  276. {
  277. mc += generateAddFilterCmd("name", label, escapeParam(colExpression));
  278. }
  279. else
  280. {
  281. var id = "XX" + addColumnId++;
  282. if (columnType == "MX")
  283. {
  284. var checkedRegularAgg = regularAgg;
  285. if (usage == 3)
  286. checkedRegularAgg = (checkedRegularAgg <= 1 ? "automatic" : regularAgg);
  287. else
  288. checkedRegularAgg = (checkedRegularAgg <= 1 ? "none" : regularAgg);
  289. mc += generateAddCalcColCmd(before_col_id, id, colExpression, colExpression, label, "none", "model", "none", "none", datatype, usage, checkedRegularAgg, semiAgg, promptType, displayType, (regularAgg <= 1 ? "automatic" : -1), "none", new Array(), groupType, currency, promptUseItemRef, promptDisplayItemRef);
  290. }
  291. else
  292. mc += generateAcCmd(before_col_id, id, colExpression, label, datatype, usage, regularAgg, semiAgg, promptType, displayType, sortOnRef, promptCascadeOnRef, promptFilterItemRef, groupType, bIsHierarchy, levelOrdinal, hun, metaType, currency, promptUseItemRef, promptDisplayItemRef);
  293. }
  294. cfgSet("MultiColumnAddCommand", mc);
  295. };
  296. function getPreviewType()
  297. {
  298. var oMQManager = goApplicationManager.getMiniQueryManager();
  299. var sLimitData = "full"
  300. if (typeof oMQManager === "object")
  301. {
  302. sLimitData = oMQManager.getLimitData();
  303. }
  304. return sLimitData;
  305. };
  306. function cancelErrorPage() {
  307. goBack();
  308. };
  309. function cancelPromptPage() {
  310. goBack();
  311. };
  312. function goBack() {
  313. var rf = getReportFrame();
  314. if (rf && rf.history) {
  315. if (historyLength!=null && historyLength + 2 > rf.history.length) {
  316. if (historyLength < 1)
  317. document.location.replace(goApplicationManager.getReportFrame().oCVQS.getWebContentRoot() + "/common/blank.html");
  318. else {
  319. rf.history.go(-2);
  320. }
  321. }
  322. else rf.history.back();
  323. }
  324. };
  325. function generateReplaceExpressionCmd(colExpression, calculatedExpression, calcOp)
  326. {
  327. return createCommand("M","R", new Array(escapeParam(goApplicationManager.getMiniQueryManager().getColumnId(cfgGetAt("SelColumns", 0))),escapeParam(colExpression),escapeParam(calculatedExpression),escapeParam(calcOp)));
  328. };
  329. function refreshDialog()
  330. {
  331. if (typeof cfgGet("LAST_DIALOG") == "undefined")
  332. {
  333. hideDialogFrame();
  334. return;
  335. }
  336. switch(cfgGet("LAST_DIALOG"))
  337. {
  338. case "filterComplex":
  339. goApplicationManager.getFeatureManager().launchFeature('FilterComplex');
  340. break;
  341. case "filter":
  342. goApplicationManager.getFeatureManager().launchFeature('FilterSimple');
  343. break;
  344. case "sort":
  345. goApplicationManager.getFeatureManager().launchFeature('Sort');
  346. break;
  347. case "summarize":
  348. goApplicationManager.getFeatureManager().launchFeature('Summarize', new Array('summarize', false));
  349. break;
  350. case "rename":
  351. goApplicationManager.getFeatureManager().launchFeature('Rename');
  352. break;
  353. case "newcalculation":
  354. goApplicationManager.getFeatureManager().launchFeature('Calculate');
  355. break;
  356. case "customizeValues":
  357. goApplicationManager.getFeatureManager().launchFeature('CustomGroups');
  358. break;
  359. case "refreshnewcalculation":
  360. refreshNewCalculation();
  361. break;
  362. case "format":
  363. goApplicationManager.getFeatureManager().launchFeature("Format", new Array("default"));
  364. break;
  365. case "condStyles":
  366. goApplicationManager.getFeatureManager().launchFeature("ConditionalStyle");
  367. break;
  368. case "textStyle":
  369. goApplicationManager.getFeatureManager().launchFeature("StyleText");
  370. break;
  371. case "borderStyle":
  372. case "chart":
  373. case "pageSize":
  374. case "saveas":
  375. break;
  376. default:
  377. if (cfgSize("SelColumns") > 0)
  378. {
  379. hideDialogFrame();
  380. }
  381. return;
  382. }
  383. if (typeof getDialogFrame().removeExecute == "function")
  384. {
  385. getDialogFrame().removeExecute();
  386. }
  387. };
  388. function upgradeModelExecute()
  389. {
  390. var bIsNewReport = cfgGet("NewReport");
  391. if (bIsNewReport === null)
  392. {
  393. bIsNewReport = false;
  394. }
  395. var sSpecPath = cfgGet("xxSpec");
  396. if (! sSpecPath || sSpecPath === "")
  397. {
  398. sSpecPath = cfgGet("upgradeDialogObjPath");
  399. }
  400. if (! bIsNewReport)
  401. {
  402. cfgSet("conversation_qs_obj", sSpecPath);
  403. cfgRemove("conversation_qs_spec");
  404. }
  405. else
  406. {
  407. cfgRemove("conversation_qs_obj");
  408. }
  409. cfgSet("persistOptions", "false");
  410. var sCmd = "";
  411. if (typeof oLimitedDataPreference === "object" && oLimitedDataPreference.getProperty("forceNoDataOnNextRun") === true)
  412. {
  413. sCmd = "ON:none;";
  414. }
  415. sCmd += createCommand ("P","U", new Array(escapeParam(cfgGet("upgradeDialogModel"))));
  416. sendCmd(sCmd,"",false);
  417. };
  418. function upgradeModelCancel()
  419. {
  420. if (gsUiBackURL == null || gsUiBackURL == "")
  421. {
  422. window.close();
  423. }
  424. else
  425. {
  426. document.location.replace(gsUiBackURL);
  427. }
  428. };
  429. function checkResponse(response, currentDocument, currentAction, callbackFunction)
  430. {
  431. if (response == null || currentDocument == null || currentAction == null || callbackFunction == null)
  432. {
  433. return false;
  434. }
  435. var htmlMatch = response.match(/<HTML>/i);
  436. if(htmlMatch === null || htmlMatch === "undefined")
  437. {
  438. htmlMatch = response.match(/<!DOCTYPE/i);
  439. }
  440. if (htmlMatch && (htmlMatch.length >= 1))
  441. {
  442. currentDocument.write(response);
  443. currentDocument.close();
  444. return false;
  445. }
  446. if (typeof response == "string" && response.match( /^FAULT;timeout/i ) )
  447. {
  448. cfgSet("LAST_ACTION", currentAction);
  449. cfgSet("LAST_FUNCTION", callbackFunction);
  450. pptFaultHandler();
  451. return false;
  452. }
  453. return true;
  454. };
  455. function pptFaultHandler( aCAMoptions )
  456. {
  457. var theURL = goApplicationManager.get("scriptEngine") + "?b_action=xts.run&m=portal/close.xts";
  458. if ( aCAMoptions && aCAMoptions.length )
  459. {
  460. for (var idxOption = 0; idxOption < aCAMoptions.length; idxOption++)
  461. {
  462. theURL += "&" + encodeURIComponent(aCAMoptions[idxOption].name) + "=" + encodeURIComponent(aCAMoptions[idxOption].value);
  463. }
  464. }
  465. theURL += "&h_CAM_action=logonAs";
  466. var expWnd = window.open(theURL,"LoginWnd",'scrollbars=yes,resizable=yes,width=540,height=360');
  467. };
  468. function pdsCallback(prmtObject)
  469. {
  470. if (prmtObject)
  471. {
  472. var parameters = prmtObject.parameters ? prmtObject.parameters : null;
  473. var state = prmtObject.state ? prmtObject.state : null;
  474. var conversation = null;
  475. var clientContext = prmtObject.clientContext ? prmtObject.clientContext : null;
  476. var tracking = prmtObject.tracking ? prmtObject.tracking : null;
  477. getConfigFrame().promptResponse(parameters, state, conversation, clientContext, tracking);
  478. }
  479. };
  480. function ccModalCallBack(command, data)
  481. {
  482. if (cfgGet("LAST_DIALOG") == "queryOpen")
  483. {
  484. goApplicationManager.getFeatureManager().launchFeature("OpenReport", new Array("ccModalCallback", command, data));
  485. }
  486. else if (typeof command != "undefined" && command == "ok")
  487. {
  488. if (cfgGet("LAST_SAVE_DIALOG") == "save")
  489. {
  490. goApplicationManager.getFeatureManager().launchFeature("Save", new Array(cfgGet("LAST_SAVE_DIALOG")));
  491. }
  492. else if (cfgGet("LAST_SAVE_DIALOG") == "saveas")
  493. {
  494. goApplicationManager.getFeatureManager().launchFeature("SaveAs", new Array(cfgGet("ACTION_AFTER_SAVE")));
  495. }
  496. else
  497. {
  498. switch(cfgGet("LAST_ACTION"))
  499. {
  500. case "functionList":
  501. setTimeout("fetchMetadataFunctionList('" + cfgGet("CURRENT_REQUEST") + "');", 1);
  502. break;
  503. case "metadataTree":
  504. setTimeout("doMetadataRequest('" + cfgGet("CURRENT_REQUEST") + "');", 1);
  505. break;
  506. case "logon":
  507. if (cfgGet("gbIsAnonymous") === true)
  508. {
  509. bannerHome(cfgGet("gsCognosHome"));
  510. }
  511. else
  512. {
  513. var iTraversableNamespaces = cfgGet("giTraversableLogonNamespaces");
  514. if (iTraversableNamespaces && iTraversableNamespaces > 0)
  515. {
  516. iTraversableNamespaces += 1;
  517. }
  518. cfgSet("giTraversableLogonNamespaces", iTraversableNamespaces);
  519. var iAvailableNamespaces = cfgGet("giAvailableLogonNamespaces");
  520. setTimeout("initLogonMenu(" + iAvailableNamespaces + "," + iTraversableNamespaces + ", false);", 1);
  521. }
  522. break;
  523. case "logoff":
  524. break;
  525. default:
  526. if (typeof cfgGet("LAST_FUNCTION") == "function")
  527. {
  528. var sFunctionName = cfgGet("LAST_FUNCTION").toString().match(/( \w+)/)[0];
  529. setTimeout(cfgGet("LAST_FUNCTION"), 1);
  530. }
  531. break;
  532. }
  533. }
  534. }
  535. cfgRemove("LAST_FUNCTION");
  536. cfgRemove("LAST_ACTION");
  537. cfgRemove("LAST_SAVE_DIALOG");
  538. cfgRemove("ACTION_AFTER_SAVE");
  539. cfgRemove("LAST_DIALOG");
  540. };
  541. function addCalcColumn(before_col_id, colExpression, calculatedExpression, label, calcBy, calcOp, calcBase, calcNumDecs, calculationType, usageType, regularAgg, promptType, detailAgg, qIDArray)
  542. {
  543. var id = "XX" + addColumnId++;
  544. var cmd = generateAddCalcColCmd(before_col_id, id, colExpression, calculatedExpression, label, calcBy, calcOp, calcBase, calcNumDecs, calculationType, usageType, regularAgg, "0", promptType, "4", detailAgg, "none", qIDArray, "none", "none", "none", "none");
  545. sendCmd(cmd, "", true);
  546. hideDialogFrame();
  547. };
  548. function cancelRequest()
  549. {
  550. var urlParams = "b_action=cognosViewer&ui.action=cancel&cv.responseFormat=successfulRequest";
  551. if (cfgGet("m_tracking"))
  552. {
  553. urlParams += "&m_tracking=" + encodeURIComponent(cfgGet("m_tracking"));
  554. }
  555. urlParams += "&conversationid=" + cfgGet("conversation_primaryRequestId");
  556. if (cafContextId != "")
  557. {
  558. urlParams += "&ui.cafcontextid=" + cafContextId;
  559. }
  560. cfgRemove("m_tracking");
  561. sendDispatcherRequest(urlParams, null);
  562. hideDialogFrame();
  563. if (typeof oLimitedDataPreference === "object" && oLimitedDataPreference.getProperty("noDataAfterCancel") === false)
  564. {
  565. cfgSet("qsBrowserBackPerformedOnCancel", true);
  566. cfgSet("conversation_qs_spec", cfgGet("OLD_qs_spec"));
  567. cfgSet("do_not_set_NR", true);
  568. var repMgr = goApplicationManager.getReportManager();
  569. if (repMgr !== null)
  570. {
  571. repMgr.getUndoManager().executeSpec(repMgr.get("sMiniQueryMarkup"));
  572. }
  573. }
  574. else
  575. {
  576. goApplicationManager.getFeatureManager().launchFeature('Run', new Array('none'));
  577. }
  578. };
  579. function constructGETRequestParamsString(urlParams)
  580. {
  581. var newUrlParams = "";
  582. if (typeof CAFXSSEncode == "function")
  583. newUrlParams = CAFXSSEncode(urlParams);
  584. else
  585. newUrlParams = urlParams;
  586. if (cafContextId != "")
  587. {
  588. if (newUrlParams != "")
  589. return newUrlParams + "&ui.cafcontextid=" + cafContextId;
  590. else
  591. return "ui.cafcontextid=" + cafContextId;
  592. }
  593. else
  594. return newUrlParams;
  595. };
  596. function wrapCmdWithCreateColumnBasedonMetadataItem(sCmd, sId)
  597. {
  598. var oMQMgr = goApplicationManager.getMiniQueryManager();
  599. if (sId && oMQMgr.getColumnById(sId) === MINI_QUERY_NO_COLUMN_FOUND)
  600. {
  601. var oData = cfgGet("_META_" + sId);
  602. if (oData && oData["columnId"] && oData["addCmd"])
  603. {
  604. var sId_escaped = escapeParam(oData["columnId"]);
  605. sCmd = [
  606. oData["addCmd"],
  607. sCmd,
  608. createCommand("M", "D", [sId_escaped] )
  609. ].join(";");
  610. cfgRemove("_META_" + sId);
  611. }
  612. }
  613. return sCmd;
  614. };
  615. function getRegularAggregateFromModelValue(sRegularAgg)
  616. {
  617. if (sRegularAgg == -1 || sRegularAgg === "-1")
  618. {
  619. sRegularAgg = "calculated";
  620. }
  621. else if (sRegularAgg == 13
  622. || sRegularAgg === "13"
  623. || sRegularAgg === "countDistinct")
  624. {
  625. if (checkCalcFunctionAgainstDB("DATA_ITEM_AGGREGATE_COUNT_DISTINCT"))
  626. {
  627. sRegularAgg = "countDistinct";
  628. }
  629. else
  630. {
  631. sRegularAgg = "automatic";
  632. }
  633. }
  634. return sRegularAgg;
  635. };
  636. function getUiObjectString()
  637. {
  638. var sReturn = "";
  639. var sSpec = cfgGet("conversation_qs_spec");
  640. if (sSpec)
  641. {
  642. var sSearchPath = cfgGet("SearchPath");
  643. if (sSearchPath != null && sSearchPath != "")
  644. {
  645. sReturn = sSearchPath;
  646. }
  647. }
  648. else
  649. {
  650. sObjectPath = cfgGet("conversation_qs_obj");
  651. if (sObjectPath && sObjectPath.length)
  652. {
  653. sReturn = sObjectPath;
  654. }
  655. else
  656. {
  657. if (gsUiObject && gsUiObject.length)
  658. {
  659. sReturn = decodeURIComponent(gsUiObject);
  660. }
  661. }
  662. }
  663. return sReturn;
  664. };