Pages

Wednesday, August 21, 2013

Bug in Data Import Export Framework (DIEF) when adding entity for InventParameters

When using the wizard to generate an entity for InventParameters, the generation fails with the name DEL_InventSumDateFinancialDimensionFocus_RU being too long (more than 40 characters).
The bug seems to come from the \Classes\DMFGenerateEntityTable\modifyFields method. Code from line 142:
                            if(fieldDeleted)
                            {
                                treeNodeToDelete = treeNode;
                            }
                            else
                            {
                                treeNode.AOTRename(#Del + fieldName);
                                treeNode.AOTsave();
                                treeNodeToDelete = treeNode;
                            }

The treeNode.AOTRename method is called without checking the length for #Del + fieldName.

4 comments:

Munib Ahmed said...

Hey Palle,

In my experience. I found the wizard very buggy. Nice post.

What caught my attention is not the bug but what table you used it for.

I have had countless discussions with colleagues on why they should or should not create a DIEF entity. InventParameters is a simple entity that you would set up once and thats it. Why bother with DIEF.

Palle Agermark said...

Hi Munib,

Good question. It seems rather fruitless to create an entity for a parameter table. in our case it is intended to be part of a bigger package with which we can to move a lot of data from one AX instance to another, incl. the parameter tables.

Thanks for your comments.

Gaurav Bansal said...

Nice post, In my office environment mostly we create an entity table for getting the data frequently so we generally avoid creating DIEF entity. For me it is just a waste of time, nothing else.

Gaurav Bansal said...

Nice post, In my office environment mostly we create an entity table for getting the data frequently so we generally avoid creating DIEF entity. For me it is just a waste of time, nothing else.