creating RITM using inbound action and cart api

Rahul Raja Sami
Tera Guru

 

Hi 

 

Trying to create RITM using inbound action and below cart API

target table: sc_req_item


createRequest();
function createRequest() {
var cartId = GlideGuid.generate(null);
var cart = new Cart(cartId);
//give sys_id of catalog item
var item = cart.addItem('0498ad2987472450d0d4ca27cebb35cc', 1);
cart.setVariable(item,"requested_for", gs.getUserID());
cart.setVariable(item,'short_description',email.subject);
cart.setVariable(item,'please_select_the_request','Active Directory');
var rc = cart.placeOrder();
var tsk = new GlideRecord('sc_task');
tsk.addQuery('request', rc.sys_id);
tsk.query();
while (tsk.next()) {

tsk.assignment_group = 'd625dccec0a8016700a222a0f7900d06' ;// add your value
tsk.short_description = email.subject;
tsk.description = email.body_text;

tsk.u_sub_category = 'Active Directory'; //add your value

}
}

 

but after using this the sys email table target record is getting updated and this error showing on the log

 

RahulRajaSami_3-1669135032798.png

 

error

RahulRajaSami_2-1669134901383.png

 

and 2 RITM's are getting created

RahulRajaSami_1-1669134874407.png

 

why this is happening?

 

1 ACCEPTED SOLUTION

I have configured Inbound action for Task table and everything works fine.

View solution in original post

19 REPLIES 19

but those variables are mandatory (through UI policy), so with out filling them it is not possible to save it.

though i have filled some value , when tested these unnecessary values are displaying on the task form. which is not expected.

HI Mike, this didn't work.

I have configured Inbound action for Task table and everything works fine.

Hi,

Can you please provide the working code for this one ?

 

 

Hi 

createRequest();
function createRequest() {
var cartId = GlideGuid.generate(null);
var cart = new Cart(cartId);
//give sys_id of catalog item
var item = cart.addItem('0498ad2987472450d0d4ca27cebb35cc', 1);
cart.setVariable(item,"requested_for", gs.getUserID());
cart.setVariable(item,'short_description',email.subject);
cart.setVariable(item,'please_select_the_request','Active Directory');
var rc = cart.placeOrder();
var tsk = new GlideRecord('sc_task');
tsk.addQuery('request', rc.sys_id);
tsk.query();
while (tsk.next()) {

tsk.assignment_group = 'd625dccec0a8016700a222a0f7900d06' ;// add your value
tsk.short_description = email.subject;
tsk.description = email.body_text;

tsk.u_sub_category = 'Active Directory'; //add your value

}
}

the inbound action target table is set as Task table.