Querying Service Catalog Tables

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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。

以上是关于Querying Service Catalog Tables的主要内容,如果未能解决你的问题,请参考以下文章

Atcoder 212D Querying Multiset

RoR - Advanced Querying

AtCoderD - Querying Multiset 优先队列

OpenShift 3.11 all in one 安装失败

如何将LetsEncrypt onHostRule与LetsEncrypt的Consul Catalog后端一起使用?

Redshift Querying: error xx000 disk full redshift