stevend17's Profile
Agile Professional
404
Points

Questions
8

Answers
57

  • Agile Professional Asked on October 4, 2021 in Agile PLM (v9).

    You may need something like this…

    IEventInfo req = obj.getPXEventInfo();

    IObjectEventInfo info=(IObjectEventInfo)req;
    IDataObject changeObj = info.getDataObject();
    IChange change=(IChange)changeObj;

    Hope that helps,

    Steve

    • 774 views
    • 1 answers
    • 0 votes
  • Agile Professional Asked on October 4, 2021 in Agile PLM (v9).

    Sabarish, I can’t speak for 9.3.6 because we’re still on 9.3.2. However, I suspect the behavior is similar.  Here’s what I observed…

    • I found a subclass that had a page 2 attribute with visible set to No.
    • I then went to parts page two and set visibility for that attribute to Yes.
    • I went back to the subclass and refreshed to see the attribute was now set to visible = Yes, which is what you were expecting.
    • Here’s the exception… If I now set visibility to No for that attribute on the subclass, and start the process again, it will NOT reset to Yes.
    • Meaning… I went back to the Page 2 settings on Parts, set visibility to No, Save it, then set to Yes again. It no longer sets to visible Yes on the subclass.

    The implication is that the visibility for the attribute at the subclass level must have been locked to No at one time in the past.  You might try another attribute or possibly check another subclass to see if you observe the same thing.

    Steve L.

    • 716 views
    • 1 answers
    • 0 votes
  • Agile Professional Asked on May 3, 2021 in Agile PLM (v9).

    Dear Agile PLM User,

    Here’s a query you may be able to use directly, or may be able to modify for your purposes.  Try running this query against a test part you just created, then again after placing the item onto an ECO.  Then release that ECO, and then place the item once more onto a new ECO that is not yet released. Check out the differences in the records. I hope this is helpful.

    SELECT I.ID ITEM_ID, I.Item_Number,
    r.old_revnumber,
    R.rev_number ,
    NVL(N1.Description, ‘Preliminary’) Lifecycle ,
    NVL(C.Change_Number,’N/A’) Change_Order ,
    NVL(N2.Description,’No ECO’) Co_Status,
    C.ID CHANGE_ID,
    C.RELEASE_DATE,
    R.Latest_Flag
    FROM Agile.Item I
    LEFT JOIN Agile.Rev R ON R.Item = I.Id AND r.site = 0
    LEFT JOIN Agile.Nodetable N1 ON R.Release_Type = N1.Id
    LEFT JOIN AGILE.CHANGE C ON R.CHANGE = C.ID
    LEFT JOIN AGILE.NODETABLE N2 ON C.STATUS = N2.ID
    WHERE i.item_number = ‘TEST-PART-NUMBER’;

    • 1371 views
    • 1 answers
    • 0 votes
  • Agile Professional Asked on April 1, 2021 in Agile PLM (v9).

    Hi Alex,

    We’re still on 9.3.2 and our notification table currently hosts 4 different object types.

    ID            PARENTID     DESCRIPTION
    6000     5002                  Change Orders
    7000     5002                  Change Requests
    18022  5002                  Activities
    18451  5002                  discussions

    Steve

    • 945 views
    • 2 answers
    • 0 votes
  • Agile Professional Asked on April 1, 2021 in Product Collaboration.

    Madhu,

    My first thought is that I’m not sure you can make such a restriction based solely on permissions. It seems to me that you would need a process extension, possibly one triggered when the affected items table is updated, that would look for the criteria in question and provide validation to the user or simply remove the invalid item.  I realize that’s not a big help, but not sure how you can do this without customization. At our company, we created a configurable validation PX, which is used to validate many situations. In a case like this, it would initially allow the user to add the affected items, but would validate upon workflow change, and then return the workflow to a status of Error.   I’m hoping someone can provide a simpler solution for you.

    Steve

    • 1069 views
    • 2 answers
    • 0 votes
  • Agile Professional Asked on April 1, 2021 in Product Collaboration.

    Manoj,

    Try this…

    SELECT MP.PART_NUMBER, M.NAME
    FROM AGILE.MANUFACTURERS M
    INNER JOIN AGILE.MANU_PARTS MP ON M.ID = MP.MANU_ID
    INNER JOIN AGILE.MANU_BY MB ON MP.ID = MB.MANU_PART
    INNER JOIN AGILE.ITEM I ON MB.AGILE_PART = I.ID
    WHERE MB.PREFER_STATUS = 1
    AND MB.CHANGE_OUT = 0
    AND I.ITEM_NUMBER = :ITEMNUMBER

    This answer accepted by agileplmuser. on April 14, 2021 Earned 15 points.

    • 736 views
    • 1 answers
    • 0 votes
  • Agile Professional Asked on March 1, 2021 in Agile PLM (v9).

    The best way I have found to order an exploded BOM is to  include a SYS_CONNECT_BY_PATH statement, which is also what mrmathison did.  the difference that I construct that path based on the find number rather than the part number. This should keep the exploded order just as expected.  In my case, I’m assuming the find numbers to be numeric, but keep in mind the field is a string. To build something that sorts properly, you must pad the find the numbers with zeros to a length greater or equal to the greatest number of digits you allow for a find number. We typically only allow only up to 4-digit find numbers, so that’s what the following example includes. The BOLD test below is what I added.

    SELECT childItem, ITEM_PATH
    ,findNumber, bomLevel, i.item_number as PARENT_ITEM, c.change_number,r.rev_number,c.id,r.change,n.id
    ,NVL(n.DESCRIPTION, ‘Preliminary’)
    FROM (
    SELECT DISTINCT A.item_number As childItem, A.find_number as findNumber
    , SYS_CONNECT_BY_PATH(LPAD(A.FIND_NUMBER,4,’0′), ‘|’) ITEM_PATH
    , a.item as item, LEVEL as bomLevel
    FROM bom A
    Start with (A.ITEM = (SELECT DISTINCT i.id
    FROM agile.item i, agile.bom b
    WHERE i.id = b.item AND i.item_number = ‘EC2630QI’)
    AND NVL (A.change_out, 0) = 0
    AND (SUBSTR (A.flags, 5, 1) = 1)
    AND A.id NOT IN (SELECT C.prior_bom
    FROM AGILE.bom C
    WHERE C.item = A.item))
    connect by nocycle PRIOR A.COMPONENT = A.ITEM
    AND NVL (A.change_out, 0) = 0
    AND (SUBSTR (A.flags, 5, 1) = 1)
    AND A.id NOT IN (SELECT B.prior_bom
    FROM AGILE.bom B
    WHERE B.item = A.item)) BOM
    INNER JOIN Item i ON BOM.item=i.id
    INNER JOIN Rev r on r.item = (select id from item where item_number =childItem) and r.latest_flag=1 AND R.SITE = 0
    INNER JOIN Nodetable n on r.release_type=n.id
    INNER JOIN Change c on c.id=r.change
    ORDER BY ITEM_PATH;

    • 1335 views
    • 2 answers
    • 0 votes
  • Agile Professional Asked on February 2, 2021 in Agile PLM (v9).

    Htsh, Have you tried simply using the Import feature under the Tools menu.  You can create an XLS file with some minimum required fields and create both new items and their BOMs. Exactly how much information you provide in the Excel sheet may depend on what your organization  requires and if the attributes are change controlled or not.  Are you creating new items in addition to adding components to their BOMs or just adding BOMs to existing items?  If both, it may go smoother if done in 2 steps… do one import just to create the items, and then another to add components to their BOMs.  I was able to do both at the same time. I did get one error, but in the end it still did what I needed.  Here’s a sample of what your spreadsheet might need to contain.  Your requires will obviously vary some, such as subclass names and Master Item Type (MIT). It doesn’t really matter what you name the columns as long as you map the values properly in the import.

    ITEM_NUMBER SUBCLASS DESCRIPTION MIT COMPONENT FIND_NUM QTY
    TESTASSY1 Design Part Test Assembly One Phantom Assembly-PHASSY COMPPART1 1 2
    COMPPART1 Design Part Test Component One Make Part-MP

     

    Hope this helps,

    Steve

    • 857 views
    • 1 answers
    • 0 votes
  • Agile Professional Asked on October 26, 2020 in Product Collaboration.

    Laura, it is possible that something in the database has gotten corrupt. Have all saved searches stopped working, or just this one?  If just this one, you might simply try recreating it and saving it with a slightly different name. I also recommend that you use Number Equals rather than Number Contains, unless that just won’t work for your users.  It runs quite a bit faster if you do that.

    Steve

    • 899 views
    • 1 answers
    • 0 votes
  • Agile Professional Asked on October 26, 2020 in Agile PLM (v9).

    Ravi, your question is not real specific.  Obviously redline changes take place on a Change Order. Are you looking for BOM changes or changes to other change-controlled attributes?

    Are you looking to do this via database query or did you have something else in mind? If query, I may be able to help. Let me know.

    • 1245 views
    • 2 answers
    • 0 votes