// we switch off security for this one method! be carefull!
cnx->check_security = 0;
@co_call(par_area,'"generic"',"insertChild",par_area=>par_area,par_class=>par_class,par_id=>par_id,child_class=>child_class,child_prop=>child_prop, foreign_prop=>foreign_prop);
id_new = *(int *) cou_getReturnValue(cnx, CO_INTEGER, &err);
__SEND_MESG_DEBUG("obtained id=%d",id_new);
@co_call(par_area,par_class,"copyACL", par_area=>par_area,par_class=>par_class,par_id=>par_id, area_target=>par_area,class_target=>child_class,id_target=>id_new);
cnx->check_security = 1;
// security switched on again
/*
__CREATE_QUERY("INSERT INTO co_sec_acl
SELECT NEXTVAL('co_sec_acl_sqid'), version, deleted, id_permission, %d ,id_role, area, '%s'
FROM co_sec_acl
WHERE area = '%s' AND class_name = '%s' AND id_object = %d ",
id_new, child_class, par_area, par_class, par_id );
__SQL_EXEC
*/
cou_setReturnValue(cnx, &id_new, CO_INTEGER);