SQL executed by the Supervisor product when creating a user:


//Check if the user doesn't already exist
select M_ACTOR_N_ID from OBJ_M_ACTOR where M_ACTOR_N_TYPE = 16
and M_ACTOR_C_NAME = 'u3' and M_ACTOR_N_LAT <> 1

//Look for deleted lines to reuse them
select M_ACTOR_N_ID from OBJ_M_ACTOR where M_ACTOR_N_LAT = 1
order by M_ACTOR_N_LAD asc

//Get the last magic id for user definition (ACTORDEF)
select M_MAGIC_N_ID from OBJ_M_MAGICID
where M_MAGIC_C_NAME = 'ACTORDEF'

//Add 1 to the magic id
update OBJ_M_MAGICID set M_MAGIC_N_ID = 13
where M_MAGIC_C_NAME = 'ACTORDEF' and M_MAGIC_N_ID = 12

//Insert user definition
insert into OBJ_M_ACTOR
(M_ACTOR_N_ID,M_ACTOR_N_TYPE,M_ACTOR_N_LEVEL,M_ACTOR_C_NAME,M_ACTOR_C_ PASSWORD,M_ACTOR_N_AUTID,M_ACTOR_N_LAD,M_ACTOR_N_LAT,M_ACTOR_N_STATUS, M_ACTOR_N_ENDING,M_ACTOR_N_CNTDOWN) values (13 , 16 , 0 ,'u3','', 1 , 2087474088 , 2 , 1 , 0 , 0)

//Get the last magic id for the user instance priority (4.1 only)
select M_MAGIC_N_ID from OBJ_M_MAGICID where M_MAGIC_C_NAME = 'USER'

//Add 1 to the magic id
update OBJ_M_MAGICID set M_MAGIC_N_ID = 15 where M_MAGIC_C_NAME = 'USER' and M_MAGIC_N_ID = 14

//Check that the user doesn't already belong to that group
select M_ACTL_N_ID from OBJ_M_ACTORLINK where M_ACTL_N_ACTORID = 13
and M_ACTL_N_FATLINKID = 1 and M_ACTL_N_LAT <> 1

//Look for deleted lines to reuse them select M_ACTL_N_ID from OBJ_M_ACTORLINK
where M_ACTL_N_LAT = 1 order by M_ACTL_N_LAD asc

//Get the last magic id for the user instance select M_MAGIC_N_ID from OBJ_M_MAGICID
where M_MAGIC_C_NAME = 'ACTORLINK'

//Add 1 to the magic id
update OBJ_M_MAGICID set M_MAGIC_N_ID = 1003
where M_MAGIC_C_NAME = 'ACTORLINK' and M_MAGIC_N_ID = 1002

//Insert user instance
insert into OBJ_M_ACTORLINK (M_ACTL_N_ID, M_ACTL_N_ACTORID, M_ACTL_N_ACTORTYPE, M_ACTL_N_STATUS, M_ACTL_N_FATLINKID, M_ACTL_N_INFO, M_ACTL_N_LAD, M_ACTL_N_LAT) values (1003 , 13 , 16 , 0 , 1 , 15 , 2087474089 , 2)


The simplest SQL to run to insert a user into the Repository:


//Set the user definition magic id to a high, unused value
update OBJ_M_MAGICID set M_MAGIC_N_ID = 500
where M_MAGIC_C_NAME = 'ACTORDEF'

//Insert user definition
insert into OBJ_M_ACTOR
(M_ACTOR_N_ID,M_ACTOR_N_TYPE,M_ACTOR_N_LEVEL,M_ACTOR_C_NAME,M_ACTOR_C_ PASSWORD,M_ACTOR_N_AUTID,M_ACTOR_N_LAD,M_ACTOR_N_LAT,M_ACTOR_N_STATUS, M_ACTOR_N_ENDING,M_ACTOR_N_CNTDOWN) values (500 , 16 , 0 ,'MyUser','', 1 , 800000000 , 2 , 1 , 0 , 0)

//Set the user instance magic id to a high, unused value
update OBJ_M_MAGICID set M_MAGIC_N_ID = 1500
where M_MAGIC_C_NAME = 'ACTORLINK'

//Insert user instance (attached to root group)
insert into OBJ_M_ACTORLINK (M_ACTL_N_ID, M_ACTL_N_ACTORID, M_ACTL_N_ACTORTYPE, M_ACTL_N_STATUS, M_ACTL_N_FATLINKID, M_ACTL_N_INFO, M_ACTL_N_LAD, M_ACTL_N_LAT) values (1500 , 500 , 16 , 0 , 1 , 0 , 800000000 , 2)