SAM Professional Create a Reserve Entitlement

cohlandt
Tera Contributor

When creating a reserver entitlement from the workspace. The actual record producer form appear and not the record producer.

 

cohlandt_0-1709053043807.png

But when not in the workspace it works fine.

This is an out of the box configuration not sure what needs to be changed in the following UI ACTION to make it work in the workspace:

function onClick(g_form) {
var ga = new GlideAjax('SAMPReserveEntitlementAjaxUtil');
    ga.addParam('sysparm_name', 'getDerivedReserveEntitlementDetail');
    ga.addParam('sysparm_sourceEntitlementSysId', g_form.getUniqueValue());
    ga.getXML(createReserveEntitlement);
}

function createReserveEntitlement (response) {
    var RESERVE_ENTITLEMENT_RECORD_PRODUCER = '547c0b0e77263300edfc0ff9ba1061c6';
    var result = response.responseXML.getElementsByTagName('result');
    var resultObj = result[0].getAttribute('sysparm_resp');
    resultObj = JSON.parse(resultObj);

    var softwareModel = g_form.getValue('software_model');
    var endDate = g_form.getValue('end_date');
    var sysId = g_form.getUniqueValue();
    var currencyCode = g_form.getValue('unit_cost.currency');
    var licenseMetric = g_form.getValue('license_metric');
    var metricGroup = g_form.getValue('metric_group');
    var userDateFormat = g_date_time_format;
    userDateFormat = userDateFormat.substring(0,10);
   
    //clear stale values from storage
    localStorage.removeItem("softwareModel");
    localStorage.removeItem("endDate");
    localStorage.removeItem("sysId");
    localStorage.removeItem("currencyCode");
    localStorage.removeItem("licenseMetric");
    localStorage.removeItem("metricGroup");
    localStorage.removeItem("unitCost");
    localStorage.removeItem("minDate");
    localStorage.removeItem("maxDate");
    localStorage.removeItem("userDateFormat");
   
    //set new values
    localStorage.setItem("softwareModel", softwareModel);
    localStorage.setItem("endDate", endDate);
    localStorage.setItem("sysId", sysId);
    localStorage.setItem("currencyCode", currencyCode);
    localStorage.setItem("licenseMetric", licenseMetric);
    localStorage.setItem("metricGroup", metricGroup);
    localStorage.setItem("userDateFormat",userDateFormat);
   

    var url = 'com.glideapp.servicecatalog_cat_item_view.do?sysparm_id=' + RESERVE_ENTITLEMENT_RECORD_PRODUCER + '&sysparm_softwareModel=' + softwareModel + '&sysparm_sourceEntitlement=' + sysId + '&sysparm_currencyCode=' + currencyCode + '&sysparm_licenseMetric=' + licenseMetric + '&sysparm_metricGroup=' + metricGroup;
   
    if (resultObj.monthlyUnitCost) {
        localStorage.setItem("unitCost", resultObj.monthlyUnitCost);
    }
    if (resultObj.endDate) {
        localStorage.setItem("endDate", resultObj.endDate);
    }
    if (resultObj.minDate) {
        localStorage.setItem("minDate", resultObj.minDate);
    }
    if (resultObj.maxDate) {
        localStorage.setItem("maxDate", resultObj.maxDate);
    }
   
       
//make fields readonly
    g_form.setReadOnly('publisher_part_number', true);
    g_form.setReadOnly('software_model', true);
    g_form.setReadOnly('product_type', true);
    g_form.setReadOnly('metric_group', true);
    g_form.setReadOnly('license_metric', true);
    g_form.setReadOnly('number_of_packs', true);
    g_form.setReadOnly('rights', true);
   
 g_form.addInfoMessage(getMessage("Some fields are made readonly as reserve entitlement exists/creation in progress "));
   
//open catalog item
var params = {};
params.sysparm_parent_table = "alm_license";
params.sysparm_parent_sys_id = g_form.getUniqueValue();
g_service_catalog.openCatalogItem('sc_cat_item', RESERVE_ENTITLEMENT_RECORD_PRODUCER, params);
   

   
}
 
This is from the Workspace section:
cohlandt_1-1709053176571.png

 

0 REPLIES 0