how to get the data from sysevent table to my custom table.

Suresh_32
Tera Expert

We want get data (insert/update records) from Event(sysevent) table to my custom table.

 

Created BR on table is 'sysevent' and after insert/update BR.

 

 var oldRecord = new GlideRecord("sysevent");
 oldRecord.addQuery('nameLIKElogin^ORnameLIKElogout'); // only we want login and Logout records from event table.
 oldRecord.query();
 while(oldRecord.next())
    var newRecord = new GlideRecord("u_newtable"); //my custom table
    newRecord.initialize();
    newRecord.u_created = current.sys_created_on;
    newRecord.u_name = current.name;
    newRecord.u_parm1 = current.parm1;
    newRecord.insert();
//    newRecord.update();
11 REPLIES 11

Yes background script is working fine,

 

Business Rule also working but duplicate records are created.

 

Can you share the business rule details you created.

 

 

BR is Async Insert

Code :
var oldRecord = new GlideRecord("sysevent");
oldRecord.addQuery('nameLIKElogin^ORnameLIKElogout');
//nameLIKElogin
oldRecord.query();
while(oldRecord.next())
{
    var newRecord = new GlideRecord("u_newtable");
    //newRecord.initialize();
    newRecord.u_created = oldRecord.sys_created_on;
    newRecord.u_name = oldRecord.name;
    newRecord.u_parm1 = oldRecord.parm1;
 
    //newRecord.insert();
newRecord.update();
 }

BR is Async and insert

 

//code

var oldRecord = new GlideRecord("sysevent");
oldRecord.addQuery('nameLIKElogin^ORnameLIKElogout');
//nameLIKElogin
oldRecord.query();
while(oldRecord.next())
{
    var newRecord = new GlideRecord("u_newtable");
    //newRecord.initialize();
    newRecord.u_created = oldRecord.sys_created_on;
    newRecord.u_name = oldRecord.name;
    newRecord.u_parm1 = oldRecord.parm1;
  
    //newRecord.insert();

newRecord.update();
 }

Just use this code in the script:

 

var newRecord = new GlideRecord("u_newtable");
    newRecord.initialize();
    newRecord.u_created = current.sys_created_on;
    newRecord.u_name = current.name;
    newRecord.u_parm1 = current.parm1;
    newRecord.insert();
 
No need to use the below script as the BR will be written on the sysevent table:
var oldRecord = new GlideRecord("sysevent");
oldRecord.addQuery('nameLIKElogin^ORnameLIKElogout');
//nameLIKElogin
oldRecord.query();
while(oldRecord.next())
{}