Kevin Cummings's Profile
Agile Angel
3573
Points

Questions
5

Answers
233

  • Agile Angel Asked on January 21, 2017 in Agile PLM (v9).

    So far as I know, what Patrick described is the only way to do it outside of running a script on the database (well, other than writing a PX or Groovy script to do it).
     Is this only for the latest released BOM, or maybe *all* revisions of the BOM??
     If you are only worried about the latest released BOM for an assembly, get all records from the BOM table where ITEM = the id for the assembly and CHANGE_OUT = 0 (if there is a pending change on the assembly, you also need to make sure that the change ID in CHANGE_IN is released). Put that data (assembly number, component number, quantity, find number plus whatever other fields you need) into a table and then write a recursive script to check the count of  BOM records for every assembly against all other assemblies, and only compare the actual item numbers and other data values if the counts match.
     If you want to compare ALL revisions of a BOM, it is going to get a LOT more complicated. For an assembly, get a list of all revisions (just ECOs are fine) in release date order. For each rev change ID, look for any records in BOM where CHANGE_IN is zero or the current change ID or one of the previous change IDs *AND* CHANGE_OUT is zero or not one of the previous or current change ID values. This will give you all records for whatever the current revision is. And you have to work your way through all of the revisions.
     One way or the other, you will probably chew up a lot of disk space and CPU time.

    • 2179 views
    • 4 answers
    • 0 votes
  • Agile Angel Asked on January 11, 2017 in Agile PLM (v9).

    That particular field is stored in AGILE_FLEX where ATTID=2240, ID will be the id from ITEM for the part number you want, and ROW_ID will be the ID from the MANU_BY table that you are interested in (for that item).
     All multitext attributes are now stored in AGILE_FLEX, like Notes from P2, any of the multitext fields from P2 or P3, etc. Each attribute has a unique ID that is stored in ATTID. For P2/P3 attributes, ID= the ID of the object to which the text belongs (and ROW_ID will have the same value). For Rev/BOM/AML multitext fields, ID is the object ID value and ROW_ID is the table ID that the text belongs to (and they must correspond).
     AGILE_FLEX is also where all user-defined attributes are stored, as it can handle list, text, numeric and date values.

    • 3151 views
    • 2 answers
    • 0 votes
  • Agile Angel Asked on January 11, 2017 in Agile PLM (v9).

    ATTID will match an ID in NODETABLE, and DESCRIPTION will be the name displayed for the attribute in the GUI.
     “Reference Notes” is a multitext attribute, and so is in AGILE_FLEX. Note that any other data type attribute (date/list/text/etc.) will be in the MANU_BY table. It doesn’t have a lot of attributes, but anything that is displayed in the Manufacturers tab and the “attribute” starts with “MANU_BY.” will be in that table. Same for BOM attributes, except that they will be in the BOM table. For the change Affected Items tab, attributes are in the REV table.

    • 3151 views
    • 2 answers
    • 0 votes
  • Agile Angel Asked on January 10, 2017 in Agile PLM (v9).

    Yes, you can create flex/user-defined attributes from the Java client so long as you have Administrator privileges. When you create them, you define the name, API name and data type, and they are created under the class/subclass you were viewing when you clicked the “New” button. And yes, they do get APINames assigned when created, and these will be visible to ACS.
     That said, ACS will include the new attribute if the tab the flex attribute was created in is selected in a filter being used by ACS. Note that the filter definition does not get down to which attributes are going to get processed, only which tabs will get processed. If an attribute is visible in a tab, it will get extracted by ACS when that filter is used. The only exception to this is LargeText attributes. Given what their size can be (up to 2GB), they can be enabled or disabled using the “Large text Options” pull-down list in the filter. This allows any visible LT attributes in a tab that will be processed by the filter to be included

    • 1438 views
    • 1 answers
    • 0 votes
  • Agile Angel Asked on January 4, 2017 in Agile PLM (v9).

    Note that “lifecycle” values are in NODETABLE with an OBJTYPE value of  29. Default values for Items can be found under PARENTID=1514, with values specific to the Parts class having PARENTID=9045 and those specific to  Documents having PARENTID=9043. Values for specific subclasses are arranged under other parent IDs. Status values for Manufacturers and Manufacturer Parts are done much the same way. Workflows are different, with each set of status values under the workflow itself.

    • 2592 views
    • 13 answers
    • 0 votes
  • Agile Angel Asked on January 3, 2017 in Agile PLM (v9).

    Oh, darn, I did forget to mention that running Averify AT LEAST ONCE A MONTH (as mentioned by Arif) is a VERY good thing. It can help in finding things that can easily be fixed before they start to become major issues (and null pointers are just one of those things). You might want to have a several-hour shutdown once a month to run Averify, check the results, fix anything that you already know about (and can fix), research those that you have never seen before, and then make a full backup of the database. This will also force users to close sessions and either complete transactions or lose them (had a client once who had a user who would open a session for *each* item they wanted to edit and leave all of them open for days….. – had them set the connection timeout to NOT be unlimited).

    • 2499 views
    • 4 answers
    • 0 votes
  • Agile Angel Asked on January 3, 2017 in Agile PLM (v9).

    The workflows in Agile are designed to handle each revision of an object separately. There is no way within a single workflow to handle multiple revisions of an object. With Agile you create an object, assign values, and release it using a change and its workflow. If alterations are needed to that object after it is released, you open a new change, assign the object to it, make the needed modifications, and then release it again with a new revision. The way you are thinking, a workflow *might* have a near-infinite number of steps depending on how many things there are, and how often those things are modified.
     It sounds like PPM is a *much* better way to handle your scenario, whereas the PC module can handle each step of the modification process on each object.

    • 2592 views
    • 13 answers
    • 0 votes
  • Well, I have never seen that issue either. Contact Oracle about that one, but it looks like you have some synonyms that have multiple declarations that are different. Oracle would be much better at sorting that out than I would.

    • 2421 views
    • 10 answers
    • 0 votes
  • Agile Angel Asked on January 3, 2017 in Agile PLM (v9).

    Then you are kind of between a rock and a hard place. The PC module *cannot* lump everything under 1 change and manage multiple revision/lifecycle values within a single workflow. That just is not how it is (or can be) done.
     If you cannot use PPM, then you may have to use a subclass of Documents (or Folders) that allows you to manage one or more objects as phases of a project, using appropriate workflows. Messy at best, but if you lock things down, it is possible. Let all other Parts/Documents use normal workflows that manage the process of releasing a single revision. But you then have a workflow for that one Document subclass that manages a phase of a project (“First Test Load”, “Second Test Load”, etc.) through the phases of Preparation/Review Issues, Extract Data, Prepare Data, Load Data, Validate Load and Prepare Load Report (yes, I do a *lot* of that kind of work). Nowhere near as good as using PPM, but I have seen a client do it, although they had a LOT of up-front thought that went into it to make sure it all worked. Also hard to adjust things along the way like you can do in MS Project or Agile PPM, or to be able to put together Gannt chart of what has been done, what is in-process and what is in the future. And rather hard to manage,  because the PC module was never really meant to be used like that. Things will have to be pretty simple, but the client I referred to earlier made it work (although only with a LOT of work).

    • 2592 views
    • 13 answers
    • 0 votes
  • There is nothing in terms of an “interceptor” that I am aware of. It would have to be something in the form of a PX or groovy script that happens right after an object is viewed, and the data written to a log file. The log files would then have to be processed to get information on who had seen what.
      You might want to look at the “sample” code Oracle provides for PXs to see if there is anything like this.

    • 1788 views
    • 3 answers
    • 0 votes