CA Service Management

 View Only
Expand all | Collapse all

Assistance with backfill of contact information into an Incident

  • 1.  Assistance with backfill of contact information into an Incident

    Posted May 17, 2016 03:22 PM

    We are using SDM 14.1.02 and have a customization in the detail_in.htmpl that backfills customer data into an incident.  This works great as long as the field used to display the data in detail_in.htmpl is not read-only.  Every method we've tried to make it read-only has failed.  The data is either displayed in the field but not saved to the database or the data is not displayed at all.  This is the backfill code:

    // TPMOD Incident Field Placement 4.3.1 Backfill Customer Data MS 20140205 START
    function fill_related_fields()
    {
    zFID=document.forms["main_form"].elements["FID"].value;
    zSID=document.forms["main_form"].elements["SID"].value;
    var zcntID=document.forms["main_form"].elements["SET.customer"].value;
    var zcntID=zcntID.replace("U","");
        zcntID=zcntID.replace("'","");
        zorg_id="";
    zproc_id="";
      
    if ((zcntID != "")&&("$args.z_internal" == "0"))
       {
       var url;
         if(ahdframe.currentAction==0) // =0 if customer selected from contact list; =6 if typed in
         {
          set_action_in_progress(ACTN_AUTOFILL);
         }

      fill_build_url_display("cnt", "userid", "fill_cnt_customernumber", "QBE.EQ.id="+escape(zcntID));
      //Move to the next field to validate to prevent save delays from recalculation.
      jQuery("input[name=requested_by_combo_name]").focus();
    }
    else
       {
      fill_set_display_value(true, "custnum", "");
       }
    }

    function fill_cnt_customernumber(persid, value, rel_attr_val)
    {
    fill_set_display_value(true, "custnum", value);
    //for BLI fill
    fill_build_url_display("cnt", "z_customer_bli", "fill_cnt_BLICallback", "QBE.EQ.id="+escape(rel_attr_val));
    }

    function fill_cnt_BLICallback(persid, value, rel_attr_val)
    {
    fill_set_display_value(false, "z_billing_indicator", value);
    //for SLI fill
    fill_build_url_display("cnt", "z_customer_sli", "fill_cnt_SLICallback","QBE.EQ.id="+escape(rel_attr_val));
    }

    function fill_cnt_SLICallback(persid, value, rel_attr_val)
    {
    fill_set_display_value(false, "z_service_level_ind", value);
    //for organization fill
    fill_build_url_display("cnt", "organization", "fill_cnt_organization","QBE.EQ.id="+escape(rel_attr_val));
    }

    function fill_cnt_PccCallback(persid, value, rel_attr_val)  //PCC fill
    {
    fill_set_display_value(false, "z_cust_pcc", value);
    //for prioritization process fill
    fill_build_url_display("org", "z_prioritization_process", "fill_org_prioritizationprocess","QBE.EQ.id="+escape(zorg_id));
    }

    function fill_cnt_organization(persid, value, rel_attr_val)
    {
    set_action_in_progress(0);
    zorg_id = value;
    //for organization name fill
    fill_build_url_display("cnt", "organization.name", "fill_cnt_organizationname","QBE.EQ.id="+escape(rel_attr_val));
    }

    function fill_cnt_organizationname(persid, value, rel_attr_val)
    {
    if (zorg_id != "")
    {
      fill_set_display_value(true, "custorg", value);
    }
    //for PCC fill
    fill_build_url_display("z_iatasid", "pcc", "fill_cnt_PccCallback","QBE.EQ.customer="+escape(rel_attr_val)+"+QBE.EQ.primarysidind=Y");
    }

    function fill_org_prioritizationprocess(persid, value, rel_attr_val)
    {
    if (zorg_id != "")
    {
      fill_set_display_value(false, "z_prioritization_process", value);

    }

    //for prioritization process value
    fill_build_url_display("org", "z_prioritization_process.z_input_value1", "fill_org_prioritizationprocessname","QBE.EQ.id="+escape(zorg_id));
    }

    function fill_org_prioritizationprocessname(persid, value, rel_attr_val)
    {
    if (zproc_id != "")
    {
      fill_set_display_value(true, "priprocess", value);
    }

    //for prioritization priority fill
    fill_build_url_display("org", "z_prioritization_priority", "fill_org_prioritizationpriority","QBE.EQ.id="+escape(zorg_id));

    }

    function fill_org_prioritizationpriority(persid, value, rel_attr_val)
    {
    if (zorg_id != "")
    {
      fill_set_display_value(false, "z_prioritization_priority", value);
    }
    }

    // TPMOD Incident Field Placement 4.3.1 Backfill Customer Data MS 20140205 END

     

     

    This is where we display the fields.  Billing Indicator and SLI we want to be read-only.  Prioritization Process doesn't save the value to the database if the field is read-only even though it displays the value on the form.

    <PDM_MACRO name=dtlStartRow>

    <PDM_MACRO name=dtlReadonly hdr="Customer Number" attr="customer.userid" id="custnum">

    <PDM_MACRO name=dtlTextbox hdr="Billing Indicator" attr=z_billing_indicator id="bli">

    <PDM_MACRO name=dtlTextbox hdr="SLI" attr=z_service_level_ind id="sli">

    <PDM_IF "$cst.z_capabilities.a1" == 1 || "$SESSION.ROLE_ID" == 400056 >

    <PDM_MACRO name=dtlDropdown hdr="Prioritization Process" attr="z_prioritization_process" whereclause="z_process_name = 'SDM Picklist' and z_type = 'CR Prioritization Process' and delete_flag = 0">

    <PDM_ELSE>

    <PDM_MACRO name=dtlReadonly hdr="Prioritization Process" attr="z_prioritization_process.z_input_value1" colspan="1" id="priprocess">

    </PDM_IF>

     

    Does anyone have any ideas?



  • 2.  Re: Assistance with backfill of contact information into an Incident

    Posted May 18, 2016 05:28 AM

    I will suggest you use your own javascript to display/save the data as the readonly macro will not contain the necessary for you to save that data.

    Have a look and compare the two js function detailTextbox() & detailTextboxReadonly() that are called by the respective macro in the wwwroot/script folder for your inspiration.

     

    Hope this help

     

    /J