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 do I archive 350 storied from archived table?

Dk nov
Tera Contributor

Hello,

I want to restore 350 records from archived story table, and it doesn't have list UI action 'Restore Record and Related Records' to restore all together with its related record. 

Restore Record and Related Records - List UI action is only available for Archive Log table. 

What are the possible options to do that?

 

Thanks.

1 REPLY 1

Bert_c1
Kilo Patron

You can use a script to process the 350 records.  Similar to below:

 

// Find sys_choice records where not present in any record.
var arc = new GlideRecord('ar_kb_use');		// substitue name of the archive table
// arc.addQuery('field', 'value');
arc.query();
gs.info("Processing " + arc.getRowCount() + " records.")
while (arc.next()) {
	gs.info('restoring ' + arc.id + '.');

	// restore the record, along with related records
	var sal = new GlideRecord("sys_archive_log");
	sal.addQuery("id", arc.sys_id);
	sal.addNotNullQuery("archive");
	sal.setLimit(1);
	sal.query();

	if (sal.next())
		new GlideArchiveRestore().restoreMainAndRelated(sal.sys_id);
}

logic in the loop is taken from the UI Action named 'Restore Record and Related Records'.  Test, in scripts - background. you can roll-back if you don't get the desired results. All records in my ar_kb_use table are no gone.