Jump to content


  • Content count

  • Joined

  • Last visited

  • Days Won


Everything posted by cdtj

  1. cdtj

    Show Filter button

    Hi, check button option for sfStart macro: https://support.ca.com/cadocs/0/CA Service Desk Manager 12 9-ENU/Bookshelf_Files/HTML/CA_SDM_Web_Screen_Painter_Help_ENU/index.htm?toc.htm?sfstart.html Regards.
  2. hi, try to add +HTMPL=z_detail_called.htmpl to your url. regards.
  3. hi, try this one: function zAlgPopup(aty, htmpl) { var alg_url = window.cfgCgi + "?SID=" + window.cfgSID + "+FID=" + window.fid_generator() + "+FACTORY=cr" + "+PERSID=" + window.argPersistentID + "+OP=UPDATE+ACTIVITY_LOG_TYPE=" + aty; if (typeof(htmpl) == "string") { alg_url += "+HTMPL=" + htmpl; } popupActivityWithURL(alg_url); } <PDM_MACRO name=button Caption="Log Comment" Func="zAlgPopup('LOG', 'detail_alg_edit.htmpl')" hotkey_name="LOG[G]" ID="LOG"> button should located between dtlForm and dtlStart.
  4. cdtj

    URGENT !! Blank Notification Issue!!

    if youre triggering notification from Activity you should access fields through related object, eg: @{call_req_id.description} (or change_id, or issue_id) but if youre triggering from Event, it populating notification directly from itself, so you can access attributes directly: @{description} @{summary}, etc.
  5. cdtj

    Cab Approval

    you need to know: - spel basics; - vanilla javascript, jquery basics. I have list of tasks like Approval, Implementation, User testing, etc. Then I have registered trigger for that tasks, once task switch status from WAIT to PEND, trigger fires some activity to change chg's status. Whole logic contains ~2000 lines of spel and js code.
  6. cdtj

    Cab Approval

    hi, in our env we have implemented behaviour when Change's status can't be changed manually and depends by current tasks. So chg will not go furthur until all tasks for specified status will be completed. Regards, cdtj
  7. sound like a huge security issue and would be better if CA fix it globally, could you open a CA Support ticket about this? ca sdm uses javascript to generate inputs, so you can manually modify form generating script (detail_form.js or something like that) and replace unwanted tags with spaces using RegEx.
  8. you can redefine create button using sfStart pdm_macro: https://docops.ca.com/ca-service-management/14-1/en/building/building-ca-service-desk-manager/using-the-web-screen-painter-wsp/pdm-macro-definitions#PDMMacroDefinitions-sfStartas I remember you need to pass own javascript function as extraCreateURL, ex: <PDM_MACRO name=sfStart extraCreateURL="zCreateBREL"> function zCreateBREL() { create_new('z_table', <few attrs like window height/width>, 'PRESET=z_chg:$args.KEEP.chg_id'); } Its a good practice to use KEEP array to pass through id from main form to tab: <PDM_MACRO NAME=tab SRC="OP=SEARCH+FACTORY=z_table+KEEP.chg_id=$args.id...<some_other_params>">
  9. yeah, arrays in spel are very limited
  10. hi, ref_num can be update on insert (new ticket creation) only. If you share your code and error message I can review it. Regards, cdtj
  11. might be obvious but do have repository that marked as default? (Admin tab > Attachments > Repos)
  12. Hi, have you tried to escalate backslashes (c:\\path\\file) or use forward slashes? Regards, cdtj
  13. oh, if I misunderstood you and you want to predefine chg on your custom form you can use PRESET functionallity: // in URL: +PRESET=<attr_name>:<rel_attr> // example, where 12345 is id and z_chg is your attr name: +PRESET=z_chg:12345 // or if you want to predefine chg using chg_ref_num, where 54321 is ref num: +PRESET_REL=z_chg:chg.id:chg_ref_num:54321
  14. hi, there is out-of-the-box thing called notification method, more information could be found here: https://docops.ca.com/ca-service-management/14-1/en/administering/configuring-ca-service-desk-manager/how-to-configure-notifications https://docops.ca.com/ca-service-management/14-1/en/building/building-ca-service-desk-manager/modify-notification-methods#ModifyNotificationMethods-TheNotificationProcess
  15. change means chg (Change Order), feels like there should be nothing special and simple dtlLookup macro without any other params should trigger autocompletion. <PDM_MACRO name=dtlLookup hdr="Change Order" attr="chg">
  16. Hi, chg's outer key is id (type integer), so you need to fill it with change id, and then refer as: <change_attribute>.chg_ref_num How do you creating an entry in your custom table? Regards, cdtj
  17. check browser console (hotkey F12) for errors
  18. hi, i think you can avoid spell in this scenario, you can simply define zbgt_summary_check on form level. if you're creating activity (alg) using OP=UPDATE+FACTORY=cr (used in transfer, status change, escalate, etc) you can specify attr as: docWriteln('<input name="SET.zbgt_summary_check" id="zbgt_summary_check" value="${args.zbgt_summary_check}">'); and if you're using OP=CREATE_NEW+FACTORY=alg like it used in log comment, code will be: docWriteln('<input name="SET.call_req_id.zbgt_summary_check" id="zbgt_summary_check" value="${args.call_req_id.zbgt_summary_check}">'); js part: function preSaveTrigger() { if (someErrorStatement) { alert("some error message"); return false; } else { alert("DEBUG: Setting 400001 to zbgt_summary_check"); jq("#zbgt_summary_check").val(400001); return true; } } preSaveTrigger triggers when user click Save button. Regards, cdtj
  19. Hi, please share your trigger (mod file) too. If you're using POST_/PRE_VALIDATE on change factory, try to use POST_CI then. Regards, cdtj
  20. sorry for necroposting, I had the same error which was ignored for years and now I figured out the rootcause. incorrect references in notification templates can cause this error too.
  21. hi, you can try to use format function, example: format("chg.chg_ref_num IN '%s' AND nr.zkpi IN '1'", chg_num); Regards, cdtj
  22. hi, as far as i know you can specify any existing attribute as part of xml file and then upload it using grload, example: <ci> <some other attrs>.......</some other attrs> <resource_contact>cnt:UUID_HERE</resource_contact> </ci> or if this will not work, try to use text_api to map attrs: https://docops.ca.com/ca-service-management/14-1/en/reference/ca-service-desk-manager-reference-commands/technical-reference/ca-sdm-text-api-interface Regards, cdtj
  23. feels like you got it right! but if you want to make unversal logic that work with any analyst in any group, the hardest part will be writing optimal sql query to fetch unread logs, how do you plan to handle scenario when member of N-count of groups will open a ticket? if making logic over analyst not over group, this a bit primitive example could help: https://communities.ca.com/people/cdtj/blog/2015/07/29/custom-webengine-op-who-is-currently-watching-object where 2 events: on page load script creates new db entry and on page close it deletes it. If db entry exists it means that object in decided state. Ignoring db performance, schema and algoritm could be: Schema: z_alg_unread: analyst SREL cnt, log SREL alg; Logic: if analyst opens log list, check every log entry; if log was read with someone else comapre their groups with current analyst; if group match found do not highlight log, otherwise - highlight; if analyst reads highlighted log entry, create db record for this analyst and this log entry. But this will work very very very slow, sorry for my fantasies Regards, cdtj
  24. hi, NoVaLue message poiniting to NX.ENV configuration file, you can try to reconfigure SDM using pdm_configure cmd. But if you can, better to raise CA Support ticket. Regards, cdtj
  25. hi, to perform this customization you need to have experience in: jquery, ajax, spel (including webengine spel). possible scenario: - publish new table (z_alg_unread, for example) with followed attrs: SREL cr, SREL alg, int readflag (default 0); - publish new QREL relation from cr to z_alg_unread with condition "WHERE readflag 0" to dispaly unread activites count; - register webengine op to switch readflag; - using jquery fetch unread activities and pass their ids to webengine op with ajax query; - use jquery to switch display settings (highlight background for read/unread, etc), keep unmarked ids to do not perform multiple actions for a single object; Regards, cdtj