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);