Welcome to Telelogic Product Support
  Home Downloads Knowledgebase Case Tracking Licensing Help Telelogic Passport
Telelogic DOORS (steve huntington)
Decrease font size
Increase font size
Topic Title: Filtering based on an attribute in a linked module
Topic Summary:
Created On: 13-Oct-2004 13:59
Status: Post and Reply
Linear : Threading : Single : Branch
Search Topic Search Topic
Topic Tools Topic Tools
Quick Reply Quick Reply
Subscribe to this topic Subscribe to this topic
E-mail this topic to someone. E-mail this topic
Bookmark this topic Bookmark this topic
View similar topics View similar topics
View topic in raw text format. Print this topic.
Answer This question was answered by Antonio Norkus, on Wednesday, October 13, 2004 4:54 PM

Answer:
This may be done by using the traceability wizard to create a column containing only the enumerated attribute.

Using the filter tool, select the "Columns" tab, and filter on the column containing the traced attribute. This only allows you to setup a filters using the "contains" operator, though...you don't have access to the enum values as a drop-down list, or the other filter operations that are provided for an attribute.

If you want want all those operations, you would need a DXL attribute, based on the enumerated type in the other module, which traces the value over the link.
 13-Oct-2004 13:59
User is offline View Users Profile Print this message


Patrick Whalen

Posts: 23
Joined: 2-Sep-2004

Hello,

I have a situation where I have two linked modules, say module A and Module B. I am running a report from module A to bring in the object heading/text from module B. All of those links are in place and it is no problem to run the report to get me that info. However, I have an enumerated attribute in module B that allows me to filter the objects in module B that meet a specific criteria.

Now I know I can bring in module B's heading/text, and then I run the wizard again to bring in the enumerated attribute. Can I filter on that attribute even though it is not really that same attribute in module A, rather just a column with linked data?

Or do I have to actually take those values in that column and create those as an attribute for module A (in order to filter on that field)?

Thanks for your help...

Patrick
Report this to a Moderator Report this to a Moderator
 13-Oct-2004 14:24
User is offline View Users Profile Print this message


Antonio Norkus

Posts: 109
Joined: 28-Jun-2003

Answer Answer
This may be done by using the traceability wizard to create a column containing only the enumerated attribute.

Using the filter tool, select the "Columns" tab, and filter on the column containing the traced attribute. This only allows you to setup a filters using the "contains" operator, though...you don't have access to the enum values as a drop-down list, or the other filter operations that are provided for an attribute.

If you want want all those operations, you would need a DXL attribute, based on the enumerated type in the other module, which traces the value over the link.
Report this to a Moderator Report this to a Moderator
 13-Oct-2004 17:00
User is offline View Users Profile Print this message


Patrick Whalen

Posts: 23
Joined: 2-Sep-2004

Thanks, Antonio. There it was in front of me the whole time...

To carry on from where your post left off, is there a function that will take the layout DXL column that I brought in from the other module, and grab all of that data to create a new attribute in the current module? This way I can filter on the attribute, versus just searching the COLUMN with the "contains" rule.

I'm using DOORS 7.0 and I know there's a script in the library that will let me take a text attribute and convert that to enumerated, but I didn't see anything that will fit this.

Offhand, I guess I could export the column in a spreadsheet, paste it to an exported spreadsheet of the current module, and create the attribute that way. That seems a little too manual. I don't mind doing that, but I would be interested in finding out a better way.

Thanks,

Patrick

Report this to a Moderator Report this to a Moderator
 13-Oct-2004 18:08
User is offline View Users Profile Print this message


Antonio Norkus

Posts: 109
Joined: 28-Jun-2003

Once you have the traceability column, use Tools->Support Tools->Convert Layout DXL to Attribute DXL to create a DXL attribute of type string.

Still no dropdown of values available, since it's a string attribute.

Unfortunately, if you try to use this generated DXL in an attribute based on an enumerated type (by importing the type definition from the other module and creating an attribute based on it), this will cause errors, because the DXL for manipulating an enumerated type is special. What the conversion tool does is overloads the "display" function in the Layout DXL, so that it puts it in a string attribute, instead of sending it to the column for display.

If I have time tomorrow, I'll look at posting an overloaded "display" operator that will populate an enumerated type. It should then just be a case of replacing the generated "display" function with that one.
Report this to a Moderator Report this to a Moderator
 14-Oct-2004 12:07
User is offline View Users Profile Print this message


Antonio Norkus

Posts: 109
Joined: 28-Jun-2003

Ok...here's the lowdown on how to get a DXL Attribute with the value of an enum attribute in a linked module, using standard DOORS tools...

1. Use the traceability wizard to show that attribute in a column
2. Convert the column to a DXL attribute
3. Click the menu item Edit->Attributes and Import the attribute from the other module, which will also import the enum type. At this stage, you may want to prefix the imported attribute with something like "Linked-" to show that it isn't a local attribute.
4. Select the "DXL for..." attribute that was generated by DOORS, click the Edit button, then click the Browse button, then click the Current button. This shows the generated DXL...copy this to a Notepad window
5. Cancel all dialogs until you get to the Attributes window again.
6. Select the attribute you imported, click the Edit button, then select the "DXL Attribute" checkbox and click the Browse button, then click the New button.
7. Copy the DXL in your notepad window to this window.
8. Replace the endAttributeDXL function near the beginning of the DXL script with the replacement below.
9. Click OK and you now have an enumerated attribute, whose value is populated using the linked value.

You can now display it in a column, filter and sort on it as if it were a local attribute.

PS. If you have any problems with editing the DXL in an attribute, refer to the info in the following thread...DXL Attribute Code Vanishes
Report this to a Moderator Report this to a Moderator
 18-Oct-2004 19:17
User is offline View Users Profile Print this message


Patrick Whalen

Posts: 23
Joined: 2-Sep-2004

Antonio,

Thanks again for your help...

I appreciate it!

Patrick
Report this to a Moderator Report this to a Moderator
Statistics
20925 users are registered to the Telelogic DOORS forum.
There are currently 1 users logged in.
The most users ever online was 15 on 15-Jan-2009 at 16:36.
There are currently 0 guests browsing this forum, which makes a total of 1 users using this forum.
You have posted 0 messages to this forum. 0 overall.

FuseTalk Standard Edition v3.2 - © 1999-2009 FuseTalk Inc. All rights reserved.