Join the #BuildWithBuildAgent Challenge! Get recognized, earn exclusive swag, and inspire the ServiceNow Community with what you can build using Build Agent.  Join the Challenge.

How to copy attachment from one table to another table

Nag9
Tera Expert

Hi 

I have catalog item that should create a CR usimg workflow..

If i raise a ritm along with attachement, the attachement should be appear while the time creating new CR using workflow.

1 ACCEPTED SOLUTION

Ok, here is the updated script.

if(current.variables.cloud_type == 'GCP Project'){
var service = new GlideRecord('change_request');
    service.initialize();
    service.setValue('cmdb_ci','2513c8b2db88f204f6ef7016bf961965');
    gs.log("assigned_to is "+current.variables.assigned_to()+"--"+current.assigned_to);
    service.setValue('assigned_to',current.assigned_to);
    service.setValue('u_automation','CRISP');
    service.setValue('u_work_characterization',"Normal Change");
    service.setValue('category','Application');
    service.setValue('u_chg_env','Production');
	service.setValue('u_test_except', 'no_llc');
	service.setValue('u_classification','Standalone');

service.setValue('u_itil_watch_list','Eldridge_L_Fussell@homedepot.com,ITO_Configuration_Management@homedepot.com,BRIAN_HIGGINBOTHAM@homedepot.com,Nalini_Subu@homedepot.com,JEFFREY_L_MITCHELL@homedepot.com,Brett_Warner@homedepot.com,Barbara_Sanders@homedepot.com,it_security_qualys@homedepot.com,ALVA_JENKINS-HOUSTON1@homedepot.com,JAY_ROGERS@homedepot.com');
	
    service.setValue('u_deployment_environment','Google Cloud Platform');
	service.setValue('description',current.variables.u_gcp_project_name +','+current.variables.life_cycle+','+current.variables.workload_description);
    service.setValue('u_size','Normal');
    service.setValue('u_downtime_required_','No');
    service.setValue('u_test_perf','No');
    service.setValue('short_description','Google Cloud Platform - New Project');
    gs.log("values are "+current.opened_by.getDisplayValue()+"--"+current.variables.opened_by);
    service.setValue('u_validated_by', current.opened_by.getDisplayValue());
	
	service.setValue('u_subexperience', current.variables.sox);
	service.setValue('u_subexperience', current.variables.pci);
	service.setValue('u_subexperience', current.variables.financial_impacting);
	service.setValue('u_subexperience', current.variables.restricted_data);
	service.setValue('u_subexperience', current.variables.pii_confidential);
	service.setValue('ustart_date', current.variables.requested_governance_review_date);
	service.setValue('u_project_id', current.variables.project_id);
	service.setValue('u_subexperience', current.variables.subexperience);
	service.setValue('justification', current.variables.business_justification);
	
	
	
    var cr_sys_id = service.insert();

	//service.setValue('u_project_id',current.variables.project_name);
    //copy the attachments of RITM to the above created CR.
    GlideSysAttachment.copy('sc_req_item',current.sys_id,'change_request',cr_sys_id);	


}

View solution in original post

17 REPLIES 17

Anurag Tripathi
Mega Patron
Mega Patron

Hi Nag,

It should be fairly simple:

GlideSysAttachment.copy('sourcetable','sys_id','destinationtable','sys_id');

Read more here: https://docs.servicenow.com/bundle/london-servicenow-platform/page/script/useful-scripts/reference/r_UsefulAttachmentScripts.html


Please mark my answer correct/helpful if it helps you solve your issue.
-Anurag

-Anurag

Thank you Anurag, it works fine.

asifnoor
Kilo Patron

Hi Nag,

Write a BR on your attachment table (after insert) and then add following condition

if (current.table_name ='sc_cat_item' && current.table_sys_id = "your cat item sys id") {

GlideSysAttachment.copy('sc_cat_item','cat_item_sys_id','change_request','change_request_sys_id');

}

Mark the comment as a correct answer and also helpful once worked.

Tried the code but its not working Please look in this once (function executeRule(current, previous /*null when async*/) { // Add your code here if ((current.table_name =='sc_req_item')&&(current.table_sys_id == '3b58935fdbf923801ac0105f68961901')){ gs.log('outside the lopo'); { gs.log('inside the lopo'); GlideSysAttachment.copy('sc_cat_item','3b58935fdbf923801ac0105f68961901','change_request','72671a540a0a3c7401f5f1ccb8a3fc5a'); } } })(current, previous);