Existing Index Changes D365FO

 

Change existing Index D365FO

 

As we all have a requirement in the past to perform the changes in the existing indexes, and as we know the customization is not allowed in the OOTB elements, so we couldn’t achieve this.

 

How we can achieve it?

 

In D365FO, we couldn’t delete or disable the existing index, but there is one way to achieve this.

We can disable the index on SQL level by using the SQL script even on prod.

 

Yes, you are reading correct, we can disable the index and it will not enable again during package deployment, please only disable the index not remove the index, otherwise, Microsoft classes will re-create the index during deployment.

 Now you can create the new index as per your requirements and it will work properly and will not make any conflict with the existing index, because it is already in the disabled state.

How you can disable the index?

 

  public void disableIndex(str _tableName, str _indexName)

    {

        str sql;

        Connection conn;

        SqlStatementExecutePermission permission;

        ;

       

            sql= strFmt("ALTER INDEX %1 ON %2 DISABLE;", _ indexName, _tableName);

            // sql = ‘delete from custTable’;

            permission = new SqlStatementExecutePermission(sql);

            conn = new Connection();

            permission = new SqlStatementExecutePermission(sql);

            permission.assert();

            conn.createStatement().executeUpdate(sql);

            // the permissions needs to be reverted back to original condition.

            CodeAccessPermission::revertAssert();

       

    }


Important

Before applying the index, please perform the analysis on your existing data, might possible

you can face the issue.

Mandatory Field with user Personalization


Mandatory Field with user Personalization

This feature is available in Version 10.0.12, and you can enable this feature from feature management.



Many times we receive requests from the customers that for their internal control purpose they want to make few fields mandatory in the particular form.

Earlier we had to connect with the technical team and make it mandatory but now it's not required. End-user itself can make the field mandatory base on requirements.


Here are the steps you can follow to achieve this requirement.

Ste-1

Go to the feature management and enable the feature like below.


Step-2 

Go to the form, on which you want to make the field Mandatory.



Step-3 Right Click > Personalize Field > Select required Check box option




Step-4 

You will get the message like below when will you try to save the record without entering the value in the field.






Virtual Fields Vs Computed Fields

  Virtual Field: A virtual field in D365FO is a field that doesn't have a direct representation in the database. It's a field that y...