Missing Default Order Settings with DIXF Products import

I was importing new Released Products into Microsoft Dynamics AX 2012 R3 using Data Import Export Framework’s ‘Products’ entity. Although the import was apparently successful, I found that fields on the Default Order Settings form were all greyed out.

Default Order Settings

All fields on the Default Order Settings form are greyed out.

I had last encountered this problem nearly two years ago in AX 2012 FP. At that time, DIXF was in Beta, and Microsoft were not accepting bug reports. Thinking about filing one now, I decided to investigate the cause. The Default Order Settings form has three datasources:

  • InventItemInventSetup
  • InventItemPurchSetup
  • InventItemSalesSetup

Looking at these tables, I could see that DIXF had created records for my imported items, but the field ‘InventDimIdDefault’ was blank. With items created using the AX client (and which did not have a default site defined) this field contained the value ‘AllBlank’. I decided, for a quick fix, to add these three fields to my import. In the AOT, I opened the table DMFProductEntity and expanded the Fields node. In another window, I browsed to InventItemInventSetup. I dragged the field ‘InventDimIdDefault’ from this table onto the Fields node of DMFProductEntity. This created a new field in DMFProductEntity called ‘InventDimIdDefault’. I renamed it ‘InventItemInventSetup_InventDimIdDefault’. I repeated this for the other two tables, and compiled DMFProductEntity. This caused three new fields to be created in the Product’s Staging table.

DMFProductEntity

Adding fields to DMFProductEntity

In the Product CSV file that I was importing, I added three columns with the names ‘InventItemInventSetup_InventDimIdDefault’ etc. In each column, the values in all records were set to ‘AllBlank’. In DIXF, I opened my Processing group for the Products import and hit ‘Entities’. I then hit Generate source mapping and confirmed I wanted it to generate from scratch. This ensured the new fields in my data were mapped to the new fields I had created in the Staging table

Staging table mapping

The new fields are mapped to the staging table

Still in DIXF, I then found the ‘Product’ Target Entity and hit ‘Modify target mapping’. I did ‘Refresh diagram’, and then switched to the ‘Mapping details’ view. I hit ‘Generate mapping’, confirming that I wanted to generate the mapping from scratch. When this was complete, I scrolled down to confirm that my three fields were mapped to ‘Target fields’ with the same names.

Target mapping

The new fields are mapped to the target

I then ran the import, and found this time that I was able to use the Default Order Settings form as expected on my newly imported items. Perhaps I shan’t bother logging it with Microsoft after all!


UPDATE 13th March 2015: I notice that Microsoft have released a hotfix for Dynamics AX 2012 R3 which sounds like it resolves this problem with the Products entity in DIXF:

KB 3047371: Cannot edit default order settings after importing product data by using Data Import export framework (DIXF)

UPDATE 16th June 2015: I notice that Microsoft have released a related hotfix for Dynamics AX 2012 R3 for a problem with the ‘Item’ entity in DIXF. It seems AX will assume the InventDim record which has no inventory dimensions is ‘AllBlank’, even if it is not:

KB 3069778 : “item” Target entity import using DIXF assumes that the blank INVENTDIMID is “AllBlank” without interpreting what is in the blank INVENTDIMID record for the company that you are importing into
Advertisements

11 thoughts on “Missing Default Order Settings with DIXF Products import

  1. Hi ,
    good write up! We have experienced the same issue 🙂

    There are a few other problems with the ProductEntity:
    1)
    A few fields/related tables do not get populated when you run DIEF the first time (create)… they only get created the second time (update). Such as:
    Storage Dimension Group (record in EcoResStorageDimensionGroupItem is missing)
    Tracking Dimension Group (record in EcoResTrackingDimensionGroupItem is missing)

    I did not bother to debug this, since running the import twice simply solves the problem… but maybe somebody wants to have a second look at this 🙂

    2)
    The export function does not export the complete entity. You need to fix the method CopyTargetToStaging in Class DMFEntityBase

    cheers

    • Hi Kim,

      Thanks for your feedback. My example was in a very recent version of 2012 R3, and I am not seeing problems with the Storage and Tracking Dimension Group tables. Perhaps it has been fixed!

    • Hi,

      With the R3 (6.3.164) , the dimension group (storage and tracking) don’t import for me.

      How fix the method CopyTargetToStaging in Class DMFEntityBase ?

  2. Hi flo,

    I think Kim is saying that you only need to fix the CopyTargetToStaging method if you are exporting data out of AX.

    As I said, I’ve not had a problem importing the dimension groups. Kim is saying that doing the ‘Copy data to target’ step a second time fixes it. If this is not good for you, I suggest heading over to here and posting your message. They’re a friendly and helpful bunch.

    https://community.dynamics.com/ax/f/default.aspx

    • Thanx for your reply.

      In fact, i’m interested to fix the CopyTargetToStaging method. I export data out to Ax PREPROD to PROD environment.

      Have you the new code for this ?

      • Also i wish add this two another field to the entity product ∞¿?

        (MCRInventTable).AllowPriceAdjust
        (WHSInventTable).UOMSeqGroupId

  3. Hi flo,

    I’m not sure if Kim will get notification of your messages, you may have to nudge him!

    Whilst we talking about adding tables to the product entity, I would vote also for WHSReservationHierarchyItem 🙂

  4. There are few custom fields added to an existing table i.e. HCMEmployementEmployee and I was able to add the custom fields to the DMFEmployeeentity however the custom fields are not showing as one of the target fields when trying to map them. what am I missing

    • Hi gilbert,

      I think you should:

      Add the fields to your source data file.
      Map them to the fields you have added in the Staging table (from within the Processing group).
      Then go to the Target Entity that you are using. ‘Modify Target Mapping’ -> ‘Mapping details’ -> ‘Generate mapping’ -> ‘Yes’.

      And if you still can’t make it work, post over at https://community.dynamics.com/ax/f/33 . There are lots of cleverer people than me there!

  5. Hi,
    I am new at dmf and need some help. I have tried to import the field Stopped for the table InventItemPurchSetup using DMFProductEntity.I have tried multiple times but without success. The data for this field is imported in the stagging table but not in the target one. Any suggestion pls?

    Thank you

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s