RSS

Tag Archives: dixf

DIXF – Double entities in R3 CU10

Any version prior to CU10 has about 238 entities. AX 2012 R3 – CU10 doubles the number of DIXF entities (~467 entities). These new entities are in areas such as

1. Accounts payable, 10
2. Accounts receivable, 13
3. Cash and bank management, 7
4. General ledger, 23
5. Human resources, 27
6. Inventory and Warehouse management, 19
7. Organization administration, 27
8. Procurement and sourcing, 27
9. Product information management, 8
10. Production control, 17
11. Project management and accounting, 27
12. Sales and marketing, 4
13. System administration, 6
14. Travel and expense, 11

If your version is not R3 CU10, you can still apply KB 3061216 to support new DIXF entities. After applying the hot fix and you still don’t see new entities, you might delete them all and reopen the Target entities form

 
5 Comments

Posted by on November 16, 2015 in Development

 

Tags: , , , , , ,

DIXF – Error when viewing target mapping

Issue:
An issue comes up today when a client could not open “View target mapping”. This is R2 CU7. The stack trace error is shown like below

“Field ‘Position’ in table ‘DMFTargetXMLToEntityMap’ has not been explicitly selected“

It works for some entities but fails for some entities

image

image

Result

After looking at stack trace I was able to find an issue with the select statement in table DMFEntity.generateXML() method. Position field was used but it was not part of Group by of the select statement; therefore, an exception was raised for missing field.

AOT > Table > DMFEntity > generateXML

I added ‘Position’ field to the select statement
while select mapping
group by MethodName, Position
where mapping.Entity      == _entity.EntityName
&& mapping.MappingType == DMFMappingType::Function
exists join sourceXMLFields
where sourceXMLFields.Entity == _entity.EntityName
&& sourceXMLFields.DefinitionGroup == _defGroup
&& mapping.EntityField == sourceXMLFields.EntityField

image

I’m now able to view the mapping. I found same issue with R3 CU8 and I haven’t tested with R3 CU9 yet.

image

 
Leave a comment

Posted by on June 15, 2015 in Development

 

Tags: , , , , , ,

DIXF – {CR}{LF} vs {LF}

A client was doing an DIXF Import for a Purchase Order Line entity and kept getting this error.

“The field “VendGroup” is not present in source”

image

INVESTIGATION:

This happened when i tried to preview data or to promote data from csv to staging. What happened was the DIXF framework stores header of csv file to a container and validates these header fields against source that user already defined during mapping.

Container[25] = “VendGroup”
Entity Field.FeldName = “VendGroup”

These 2 should be equal; however, it failed

image

I was thinking there should be a special character that is coming from the csv file which regular text editor can’t see. i used Notepad++ to verify the header and there is {CR}{LF} right behind “VendGroup”

image

{CR} Carriage Return;  {LF} Line feed

SOLUTION

I started looking at “Source data format” of the entity and realized it was using “{LF}” as row delimiter. That explained why the method confind could not match the string because of special character {CR}

Container[25] = “VendGroup{CR}”
Entity Field.FeldName = “VendGroup”

image

Changing row delimiter from {LF} to {CR}{LF} fixed my problem.

 
1 Comment

Posted by on September 9, 2014 in Development

 

Tags: , , , ,

DIXF – How to regenerate target entities

There is time when you add custom fields to staging table and they do not appear in your Target when you promote data from STAGING to TARGET. The reason the new fields do not appear in TARGET because it does not know there are new fields that we need to regenerate field mapping for the target.

There are 2 ways to do this, I’m going to show you both LONG WAY and SHORT WAY

LONG WAY

1. Go to the DIXF area page. Click on Target entities.

image

2. Find the entity in the list.

clip_image001[5]

3. Click on the “Modify target mapping” at the top:

image

4. Click on “Mapping Details”

image

5. Click on “Generate mapping”

clip_image001

6.  Answer “Yes” to prompt

image

7. You should see your new fields in the list

clip_image001[13]

SHORT WAY

Run either one of the 2 jobs below

This jobs run for all entities

static void regenerateDMFTargetMapping(Args _args)
{
    DMFTargetXMLToEntityMap     dmfTargetXMLToEntityMap;
    DMFEntity                   dmfEntity;
 
    // delete all target Mappings
    ttsBegin;
        delete_from dmfTargetXMLToEntityMap;
    ttsCommit;
 
    // Regenerate Target Mapping for all Entities
    while select dmfEntity
    {
        DMFTargetXMLToEntityMap::generateMapping(dmfEntity);
    }
 
    info("All Done!");
}

This one run for  one entity. Make sure to replace your <Entity Name> with your entity

static void regenerateDMFTargetMapping(Args _args)
{
    DMFTargetXMLToEntityMap     dmfTargetXMLToEntityMap;
    DMFEntity                   dmfEntity;
 
    // delete specified target Mapping
    ttsBegin;
        delete_from dmfTargetXMLToEntityMap where dmfTargetXMLToEntityMap.Entity = <EntityName>;
    ttsCommit;
 
    // Regenerate Target Mapping for specified Entity
    while select dmfEntity where dmfEntity.EntityName = <EntityName>
    {
        DMFTargetXMLToEntityMap::generateMapping(dmfEntity);
    }
 
    info("All Done!");
}

ADVANTAGE OF USING JOBS

Sometimes it is not possible to regenerate the target mapping for a particular entity as clicking on “Modify target mapping” generates an error.   This error typically reads along the lines of

“Duplicate assignment found for the following target field <some field name>”

DMFDuplicateAssignment

“Cannot create a record in Target XML (DMFTargetXML)”

image

Run the job will fix these issues.

 
2 Comments

Posted by on August 26, 2014 in Development

 

Tags: , , , , , , ,

DIXF – Errors after upgrading to CU7

After upgrading to CU7, DIXF does not work anymore and it gives a bunch of errors like below

“Cannot create a record in XML to entity mapping for a definition group (DMFSourceXMLToEntityMap). Processing group: Vendor, Vendor. The record already exists.”

image

“Cannot create a record in XML to entity mapping for a definition group (DMFTargetXML). Processing group: Vendor, Vendor. The record already exists.”

image

“Cannot create a record in Staging log (DMFStagingLog). Stage: Source.
The record already exists.”
image

Solution:

The code that creates the standard entities was trying to create with an existing recid violating the index.  By deleting the data out of these tables will solve this type of problem

DMFSourceXMLToEntityMap
DMFTargetXML
DMFTargetXMLToEntityMap
DMFEntity
DMFStagingLog

 
1 Comment

Posted by on March 13, 2014 in Installation and Configuration

 

Tags: , , , , ,

DIXF – Network Path vs. Absolute Path

Today I ran into an interesting issue that DIXF does not like absolute path for its target file path.  Validation was passed but I could not get data to staging or preview source file.

image

When I clicked on “Preview Source File”, it generated an error message like

“Could not find file (Directory of file path) then an obscure text file name {BD6213FB-3AAC-4777-97DC-DE245BB73982}..csv.”

image

Solution

  • Please make sure to use network path instead of absolute path.
  • It can be any shared folder but AOS needs to have access to the shared folder.

image

image

image

 
1 Comment

Posted by on March 6, 2014 in Development, General

 

Tags: , , , ,

 
%d bloggers like this: