A question for the behavior of Item relationship between part and manufacturer part.

Hi Expert,

Would you please help one thing?

Part ItemType has a relationship with 'Manufacturer Part' ItemType and the relationship ItemType is 'Part AML'.
The behavior of 'Part AML' is 'hard float'. (the behavior of Part ItemType is 'float'.)
With this configuration, I created '10000' part. And then,

1) I linked 'MFN0001' Manufacturer Part to '10000' Part, saved and unlocked it. ('10000' Part: Version A, Generation 1).
2) I locked '10000' part and deleted 'MFN0001' from the part and linked 'MFN0002' to '10000' part.
Saved and unlocked it. ('10000' Part: Version A, Generation 2).

When I opened 'MFN0002', it links to '10000' part. (Version A, Generation 2.) which is correct.
The problem is that when I opened 'MFN0001', it still links to '10000' Part (Part Version A, Genration 1).
What we want is that when we open 'MFN0001', there is no link to '10000' Part (Part Version A, Genration 1) because we delete it from '10000' Part.

I thought it would be solved by changing the behavior of 'Part AML' to 'hard float'.
But, it isn't.

Would you please help how to achieve this?

Thank you so much in advance.

Regards,

Joseph

Parents Reply Children
  • 0 オフライン in reply to Joseph An

    Hi Joseph

    I guess the result what you are getting is correct.

    Part 10000 Revision A and Generation 1 has  --> MFN0001

    Part 10000 Revision A and Generation 2 has  --> MFN0002

    Which means, MFN0002 should show Part 10000 Revision A and Generation 2 and MFN0001 should show Part 10000 Revision A and Generation 1.

    MFN0001 is still connected to Part 1000 older generation. In order to maintain the history it is working this way (example: which Manufacturer Part is deleted or added on which generation)

    I quickly tested and If you still want to change this functionality, I assume you are using Innovator 12 version. Follow below steps 

    Step 1: Search and open PE_ReverseItemsFed_OnGet Method

    Step 2: Go to line number 102 and add below if condition (highlighted text is the only change we need to include in this method).

    GROUP BY item.CONFIG_ID
    ) groupeditem ON groupeditem.CONFIG_ID = item.CONFIG_ID AND groupeditem.GENERATION = item.GENERATION",
    startItemId, QuoteName(relationshipTableName), QuoteName(sourceTableName));
    if (sourceTableName == "PART" && relationshipTableName == "PART_AML")
    {
    sql = sql + " AND IS_CURRENT = '1'";
    }

    Step 3: Save and unlock method


    Try and let me know if it works for you.

    Thank You

    Gopikrishnan R

  • 0 オフライン in reply to Gopikrishnan

    Hi Gopikrishnan, 

    Thank you for your reply. 

    Unfortunately, I couldn't find 'PE_ReverseItemsFed_OnGet' method in ARAS system(Aras Innovator Version 11.0 SP9  Build: 6549). 

    However, I really appreciate your sincere reply. 

    Thank you. 

  • 0 オフライン in reply to Joseph An

    Hi Joseph

    Above solution is applicable for ARAS V12 version. No Worries. Try below solution for V11

    Step 1: Search and open PE_GetRelatedParts Method

    Step 2: Go to line number 172 and add below if condition (highlighted text is the only change we need to include in this method).

    sqlQuery = String.Format(CultureInfo.InvariantCulture, sqlQuery,
    this.ID,
    this.RelationshipItem.SourceItem.TableName,
    this.RelationshipItem.TableName
    );
    if (this.RelationshipItem.SourceItem.Type == "Part" && this.RelationshipItem.Type == "Part AML")
    {
    sqlQuery = sqlQuery + " AND IS_CURRENT = '1'";
    }

    Step 3: Save and unlock method

    Try now and hit like if it works Slight smile

  • 0 オフライン in reply to Gopikrishnan

    Hi Gopikrishnan, 

    Thank you so much for your reply. 

    Let me try it. 

    Thank you again. 

    Regards,

    Joseph An

  • 0 オフライン in reply to Joseph An

    Hi Gopikrishnan, 

    The solution you suggested works !

    You are amazing!!!

    Thank you so so so much!

    Joseph