Custom Tables and Seccodeid in SalesLogix Web

Question: We have 20+ custom tables in a highly customized SalesLogix platform.  Seccodeid has been added to all of the tables because they need to abide by field level security.  I’ve notice that in the Windows client that the Provider seems to take care of the initial setting of this value, but I don’t find that to be the case in the Web client.  When I save data with a data bound control on a form in the Web, a record is created but it throws an error when I try to save.  I find the seccodeid value is not set when I look at the record in SQL, and setting the value fixes the problem.  How can I fix this issue?

Answer: You will need write some code for Web client.  Here is an example of code added to the OnBeforeInsert event for the custom table (AccountService in this case):

public static void OnBeforeInsertStep( IAccountService accountservice, ISession session)
{
accountservice.Owner = accountservice.Account.Owner;
}

and the following to the Account ChangeAccountOwner business rule as a Post Execute Step:

public static void ChangeAccountOwnerStep( IAccount account)
{
if (account != null)
{
foreach (IAccountService accsvc in account.AccountServices)
{
accsvc.Owner = account.Owner;
}
}
}

Hope this helps!

Submit a Comment

Your email address will not be published. Required fields are marked *

Subscribe To Our Newsletter

Join our mailing list to receive the latest Infor CRM (Saleslogix) news and product updates!

You have Successfully Subscribed!