Forum Discussion

didonato's avatar
didonato
Creator II
9 years ago

AML Error

Can some help me on the formatting of this AML command. Here is the SQL version that work: SELECT Item_number,name FROM innovator.PART WHERE ID IN (SELECT AFFECTED_ID FROM innovator.AFFECTED_ITEM where ID IN (SELECT RELATED_ID FROM innovator.EXPRESS_ECO_AFFECTED_ITEM where SOURCE_ID IN (SELECT ID FROM innovator.EXPRESS_ECO where ID = '2F79912A828A4768AC6CE8769D2ED8F8'))) <hr /> This is the AML version that I keep getting a "Incorrect syntax near the keyword 'SELECT': <AML> <Item type ="Part" action="get" select = "item_number,name"> <id condition="in"> (SELECT AFFECTED_ID FROM innovator.AFFECTED_ITEM <id condition="in"> (SELECT RELATED_ID FROM innovator.EXPRESS_ECO_AFFECTED_ITEM <source_id condition="in"> (SELECT ID FROM innovator.EXPRESS_ECO where ID = '2F79912A828A4768AC6CE8769D2ED8F8'))) </source_id> </id> </id> </Item> </AML>    

3 Replies

  • If anyone is interested, I figured it out.   <Item type ="Part" action="get" select = "item_number,name"> <id condition="in"> (SELECT AFFECTED_ID FROM innovator.AFFECTED_ITEM where ID IN (SELECT RELATED_ID FROM innovator.EXPRESS_ECO_AFFECTED_ITEM where SOURCE_ID IN (SELECT ID FROM innovator.EXPRESS_ECO WHERE (id = '${Item/@id}')))) </id> </Item>
  • Actually I think better solution will be
    <AML> <Item type='Express ECO' action='get' id='2F79912A828A4768AC6CE8769D2ED8F8' select='id'> <Relationships> <Item type='Express ECO Affected Item' action='get' select='related_id(affected_id(item_number,name)) /> </Relationships> </Item> </AML>
    Then in your code (just guessing this is server C# method)
    Item qry = this.getInnovator().applyAML({AML}); Item partsItems = qry.getItemsByXPath("//Item[@type='Part']");