Querying Service Catalog Tables

ServiceNow開發中我們在寫代碼查詢request_item表時,經常會遇到想要根據variable的值來作爲查詢條件。但是官方文檔有強調:

You cannot directly query the variables of the Service Catalog Request Item table [screqitem]. Instead, query the Variable Ownership table, [scitemoptionmtom], by adding two queries, one for the variable name and another for the value. The query returns the many-to-many relationship, which you can dot-walk to the requested item.

Wrong example:

var gr = new GlideRecord('sc_req_item');
gr.addQuery('variables.variable_iem',item_value);
......

Right example:

var request_item_id;
var gr = new GlideRecord('sc_item_option_mtom');
gr.addQuery('sc_item_option.item_option_new.name','item_name');
gr.addQuery('sc_item_option.value','item_value');
gr.query();

while(gr.next()) {
    request_item_id = gr.request_item.sys_id+''; 
}

總結:
1 Variables.variable_name不能作爲record 查詢條件。
2 在確定record的情況下,可以使用gr.variables.variable_name。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章