Jump to content

cdtj

Members
  • Content Count

    677
  • Joined

  • Last visited

  • Days Won

    34

cdtj last won the day on November 15 2019

cdtj had the most liked content!

Community Reputation

36 Excellent

About cdtj

  • Rank
    Level 7 Contributor
  • Birthday 01/01/1970

Contact Methods

  • Website URL
    https://www.upwork.com/o/profiles/users/_~01b6c18f9463fc81f5/
  • Skype
    cdtj71

Profile Information

  • Location
    pdm_halt
  • Interests
    customization on demand, check link in profile

Recent Profile Visitors

2,376 profile views
  1. The whole code including triggers and logs could help (and don't forget to put them in <code> tag ;)).
  2. hi, your code should work, providing errors could help to figure out what's wrong. I found only 1 error: wc = format("parent = '%s'", this.persistent_id, this.outage_type); // passing 2 arguments but receiving only 1. ps: there is no need to write a lot of code with this "lib": https://github.com/cdtj/zspel, after installation the second method can look like: cr::z_copy_outage_type_to_children(...) { string method, wc; method = "cr::z_copy_outage_type_from_parent()"; logf(SIGNIFICANT, "start %s for ticket %s", method, ref_num); wc = format("parent = '%s'", persistent_id); z_upd_val("cr", wc, 1, 1, "outage_type", outage_type); logf(SIGNIFICANT, "end %s for ticket %s", method, ref_num); } ps2: there is no need to use "this" in context of this object. (eg: this.ref_num equals ref_num).
  3. to update something, first of all, you need to open that object for edit, acquire edit session, the process is called checkout, URL sample: OP=UPDATE+FACTORY=CR+PERSID=cr:1234 if you're have that session, you can post some changes using inputs, eg: `<input name="SET.some_attr" value="someValue" />`, and then click save (checkin) looking at your code sample you're opening some object that has cr reference, no cr itself, so you can't edit cr in that way, but you can use workarounds: - perform http query to edit cr (ajax for example) - use spel (add trigger to object you edit, and when it triggers checkout, update and checkin cr you want); - use webengine op, most advanced method which allows you control the whole process.
  4. Tryed and it works without any deep customization, just used schema from the topic. Here is correct syntax for factory called "zobj" WSP: z_lrel_attachments_objs: attmnt SREL attmnt zobj SREL zobj // z_attmnt_obj.maj OBJECT zobj { ATTRIBUTES zobj { attachments BREL z_lrel_attachments_objs zobj { LREL attmnt; }; }; }; OBJECT attmnt { ATTRIBUTES Attachment { zobjs BREL z_lrel_attachments_objs attmnt { LREL zobj; }; }; }; // xx_attmnt_tab.htmpl function att_tab_src() { // ootb factories by pdm_elif // ... <PDM_ELIF "$prop.factory" == "zobj"> att_tab_url += "+QBE.EQ.zobjs.zobj.id=$args.id"; // ... } // detail_zobj.htmpl <PDM_MACRO name=tab title="Attachments" height=300 id=attmnt src="OP=SHOW_DETAIL+HTMPL=xx_attmnt_tab.htmpl+FACTORY=zobj+PERSID=$args.persistent_id+SDBP_FLAG=1"></pdm_tab>
  5. you can create custom page (form) in target sdm, z_redirect.htmpl for example, which will have some js + htmpl code to redirect to required filter: jq(document).ready(function() { window.location.href = "blablahpdmweb.exe?OP=SEARCH+FACTORY=in+QBE.EQ.assignee=${cst.id}"; // or use system defined navigation tools like: upd_specific_frame('SD', 'SEARCH', 'FACTORY=in', 'QBE.EQ.assignee=${cst.id}'); }); to open that form you can use your OP=SEARCH url and add +HTMPL=z_redirect.htmpl to it.
  6. // i hope that codeRol is defined if ((type == "R") && (active == 1) && (codeRol == "SOLSERRED")) { if (status == "OP") { if (is_null(zGrupo_Inicial) || is_empty(zGrupo_Inicial)) { send_wait(0, this, "call_attr", "zGrupo_Inicial", "set_val", group.id, "SURE_SET"); logf(SIGNIFICANT, "%s > successfully set campo zGrupo_Inicial", persistent_id); } else { logf(SIGNIFICANT, "%s > campo zGrupo_Inicial lleno", persistent_id); } } else if (status == "RE") { send_wait(0, this, "call_attr", "group", "set_val", zGrupo_Inicial, "SURE_SET"); logf(SIGNIFICANT, "%s > successfully set campo zGrupo_Inicial", persistent_id); } }
  7. hi, there is no way to pass array as argument, but you can create an object and pass it. how to was posted by daniel on ca.community which is unreachable for me. regarding to your name, are you from CIS? and if yes, are any companies still using ca sdm?
  8. this might be caused because you have more than one SET.customer called input (like in other form which is used to create parent/child object), try to define main form in jquery selector, ex: // not sure that main_form is a name, it can be an id, then use "#main_from" instead. jq("[name='main_form'][name='SET.customer']").val(); or check other inputs to confirm that problem is in wrong selection: // check jquery .each syntax if this fails jq("[name='SET.customer']").each(function(a, b) { alert(a + ":" + b.name + " @ " + b.value); });
  9. hi, just fetch the customer after the button has been clicked. You can use jquery (which is already included in sdm), code could be: alert("pdmqa:" + jq("[pdmqa='customer']").val()); alert("SET.customer:" + jq("[name='SET.customer']").val());
  10. hi Utku! check this one: https://community.broadcom.com/communities/community-home/digestviewer/viewthread?MID=765706 you need to apply refresh parent on close thing described in 10'th post in linked thread. regards.
  11. hi, ticket distribution is based on QREL called workload, default query is "assignee = ? AND active = 1" which means all active ticket on selected assignee. you can modify it in NX_ROOT/bopcfg/majic/cnt.spl (or cnt.maj or base.maj), I can't really remember in which one. so, you need to find workload attr in NX_ROOT/bopcfg/majic folder and modify it, for example to "assignee = ? AND active =1 AND resolve_date is NULL" which means count only unresolved tickets. regards, Timur
  12. hi, this one should help: https://community.broadcom.com/communities/community-home/digestviewer/viewthread?MID=751297
  13. hi - you need to get the name of modification date attribute, this command should help: bop_sinfo -a wf | find "DATE" - call sync_fetch to get tasks list; example: - task by task compare modification date between fetched records; OR - using bop_sinfo get list of all domsets and maybe there is already presented sorted order by mod date, so you can use to it get the latest record.
  14. just swap priority get and display macros: <PDM_MACRO name=lswrite text="var zPriEnum = @{list.priority.enum:0}"> // this one gets current priority <PDM_MACRO name=lscol attr=priority fmtfunc=zPriClr // this one displays it
×
×
  • Create New...