Can requirements be imported from spreadsheet into a DNG module into multiple sections (under different heading rows)?
I am using DNG version 6.0.5, no Configuration Management. <o:p> </o:p>
Let’s say my module contents is organized hierarchically as follows: <o:p> </o:p>
1.0 Project Title <o:p> </o:p>
1.1 1st Section Heading <o:p> </o:p>
1001 1st requirement statement <o:p> </o:p>
1002 2nd requirement statement <o:p> </o:p>
1.2 2nd Section Heading <o:p> </o:p>
1001 1st requirement statement <o:p> </o:p>
I want the requirements to end up with the same artifact ID in more than one section (heading) in the module. <o:p> </o:p>
For example, in my spreadsheet I have a requirement, let’s say the Name and Primary Text are “The system shall perform X.” <o:p> </o:p>
I want this requirement to be imported under two different headings. Let’s say the heading artifact IDs are 1000 and 2000. <o:p> </o:p>
In my spreadsheet in the parentBinding column, I have successfully imported the requirement when I set the parentBinding cell to 1000. <o:p> </o:p>
In a similar manner I imported from a spreadsheet with the parentBinding 2000. <o:p> </o:p>
However, the artifacts are created with new and different IDs. <o:p> </o:p>
Is there a way to set both parentBinding numbers in the spreadsheet for the same requirement? If so, how?
2 answers
When I import the following Excel table, I get new artifacts for each row, but I would have expected the last row to be the same artifact as the third (a002). So that’s annoying. <o:p> </o:p>
id <o:p> </o:p> |
Artifact Type <o:p> </o:p> |
Primary Text <o:p> </o:p> |
isHeading <o:p> </o:p> |
parentBinding <o:p> </o:p> |
a001 <o:p> </o:p> |
Heading <o:p> </o:p> |
123 <o:p> </o:p> |
TRUE <o:p> </o:p> |
<o:p> </o:p> |
a002 <o:p> </o:p> |
Information <o:p> </o:p> |
456 <o:p> </o:p> |
<o:p> </o:p> |
a001 <o:p> </o:p> |
a003 <o:p> </o:p> |
Information <o:p> </o:p> |
789 <o:p> </o:p> |
<o:p> </o:p> |
a001 <o:p> </o:p> |
a004 <o:p> </o:p> |
Heading <o:p> </o:p> |
987 <o:p> </o:p> |
TRUE <o:p> </o:p> |
<o:p> </o:p> |
a002 <o:p> </o:p> |
Information <o:p> </o:p> |
456 <o:p> </o:p> |
<o:p> </o:p> |
a004 <o:p> </o:p> |
<o:p> </o:p> I created a new heading, exported, modified (yellow row is the change):
<o:p> </o:p>
id <o:p> </o:p> |
Primary Text <o:p> </o:p> |
isHeading <o:p> </o:p> |
parentBinding <o:p> </o:p> |
module <o:p> </o:p> |
Artifact Type <o:p> </o:p> |
591039 <o:p> </o:p> |
123 <o:p> </o:p> |
true <o:p> </o:p> |
<o:p> </o:p> |
591038 <o:p> </o:p> |
Heading <o:p> </o:p> |
591040 <o:p> </o:p> |
456 <o:p> </o:p> |
false <o:p> </o:p> |
591039 <o:p> </o:p> |
591038 <o:p> </o:p> |
Information <o:p> </o:p> |
591041 <o:p> </o:p> |
789 <o:p> </o:p> |
false <o:p> </o:p> |
591039 <o:p> </o:p> |
591038 <o:p> </o:p> |
Information <o:p> </o:p> |
591042 <o:p> </o:p> |
987 <o:p> </o:p> |
true <o:p> </o:p> |
<o:p> </o:p> |
591038 <o:p> </o:p> |
Heading <o:p> </o:p> |
591043 <o:p> </o:p> |
456 <o:p> </o:p> |
false <o:p> </o:p> |
591042 <o:p> </o:p> |
591038 <o:p> </o:p> |
Information <o:p> </o:p> |
591044 <o:p> </o:p> |
ABC <o:p> </o:p> |
true <o:p> </o:p> |
<o:p> </o:p> |
591038 <o:p> </o:p> |
Heading <o:p> </o:p> |
591041 <o:p> </o:p> |
789 <o:p> </o:p> |
false <o:p> </o:p> |
591044 <o:p> </o:p> |
591038 <o:p> </o:p> |
Information <o:p> </o:p> |
<o:p> </o:p> Imported that and now get this! It moved the 591041 from under 591039 to under 591044.
<o:p> </o:p>
So I manually inserted a same artifact (591040 after 591041), exported, made no changes, and imported. That worked, in that it kept both instances of 591040 where they were. <o:p> </o:p>
Finally I modified that export by moving the last row up a few lines. <o:p> </o:p>
id <o:p> </o:p> |
Primary Text <o:p> </o:p> |
isHeading <o:p> </o:p> |
parentBinding <o:p> </o:p> |
module <o:p> </o:p> |
Artifact Type <o:p> </o:p> |
591039 <o:p> </o:p> |
123 <o:p> </o:p> |
true <o:p> </o:p> |
<o:p> </o:p> |
591038 <o:p> </o:p> |
Heading <o:p> </o:p> |
591040 <o:p> </o:p> |
456 <o:p> </o:p> |
false <o:p> </o:p> |
591039 <o:p> </o:p> |
591038 <o:p> </o:p> |
Information <o:p> </o:p> |
591042 <o:p> </o:p> |
987 <o:p> </o:p> |
true <o:p> </o:p> |
<o:p> </o:p> |
591038 <o:p> </o:p> |
Heading <o:p> </o:p> |
591043 <o:p> </o:p> |
456 <o:p> </o:p> |
false <o:p> </o:p> |
591042 <o:p> </o:p> |
591038 <o:p> </o:p> |
Information <o:p> </o:p> |
591040 <o:p> </o:p> |
456 <o:p> </o:p> |
<o:p> </o:p> |
591042 <o:p> </o:p> |
591038 <o:p> </o:p> |
Information <o:p> </o:p> |
591044 <o:p> </o:p> |
ABC <o:p> </o:p> |
true <o:p> </o:p> |
<o:p> </o:p> |
591038 <o:p> </o:p> |
Heading <o:p> </o:p> |
591041 <o:p> </o:p> |
789 <o:p> </o:p> |
<o:p> </o:p> |
591044 <o:p> </o:p> |
591038 <o:p> </o:p> |
Information <o:p> </o:p> |
<o:p> </o:p> Aaaaand got this error:
<o:p> </o:p>
ID CRRRW7571E ... <o:p> </o:p>
Validation Errors:
Row Number: 7
Error Message: Duplicate bindings or cycles were detected in the submitted binding structure
So DNG spreadsheet importer might be broken for this situation. L <o:p> </o:p>
<o:p> </o:p>
Comments
Haha, also broken is the "paste from Word" feature of this forum.
M K, thanks for your prompt reply. It is re-assuring for me to read your excellent steps regarding spreadsheet exports and imports to update module artifacts and to realize you experienced similar results.
Work Item Defect 124232 created for this on July 6.
When I import the following Excel table, I get new artifacts for each row, but I would have expected the last row to be the same artifact as the third (a002). So that’s annoying. <o:p> </o:p>
id <o:p> </o:p> |
Artifact Type <o:p> </o:p> |
Primary Text <o:p> </o:p> |
isHeading <o:p> </o:p> |
parentBinding <o:p> </o:p> |
a001 <o:p> </o:p> |
Heading <o:p> </o:p> |
123 <o:p> </o:p> |
TRUE <o:p> </o:p> |
<o:p> </o:p> |
a002 <o:p> </o:p> |
Information <o:p> </o:p> |
456 <o:p> </o:p> |
<o:p> </o:p> |
a001 <o:p> </o:p> |
a003 <o:p> </o:p> |
Information <o:p> </o:p> |
789 <o:p> </o:p> |
<o:p> </o:p> |
a001 <o:p> </o:p> |
a004 <o:p> </o:p> |
Heading <o:p> </o:p> |
987 <o:p> </o:p> |
TRUE <o:p> </o:p> |
<o:p> </o:p> |
a002 <o:p> </o:p> |
Information <o:p> </o:p> |
456 <o:p> </o:p> |
<o:p> </o:p> |
a004 <o:p> </o:p> |
<o:p> </o:p>
I created a new heading, exported, modified (yellow row is the change): <o:p> </o:p>
id <o:p> </o:p> |
Primary Text <o:p> </o:p> |
isHeading <o:p> </o:p> |
parentBinding <o:p> </o:p> |
module <o:p> </o:p> |
Artifact Type <o:p> </o:p> |
591039 <o:p> </o:p> |
123 <o:p> </o:p> |
true <o:p> </o:p> |
<o:p> </o:p> |
591038 <o:p> </o:p> |
Heading <o:p> </o:p> |
591040 <o:p> </o:p> |
456 <o:p> </o:p> |
false <o:p> </o:p> |
591039 <o:p> </o:p> |
591038 <o:p> </o:p> |
Information <o:p> </o:p> |
591041 <o:p> </o:p> |
789 <o:p> </o:p> |
false <o:p> </o:p> |
591039 <o:p> </o:p> |
591038 <o:p> </o:p> |
Information <o:p> </o:p> |
591042 <o:p> </o:p> |
987 <o:p> </o:p> |
true <o:p> </o:p> |
<o:p> </o:p> |
591038 <o:p> </o:p> |
Heading <o:p> </o:p> |
591043 <o:p> </o:p> |
456 <o:p> </o:p> |
false <o:p> </o:p> |
591042 <o:p> </o:p> |
591038 <o:p> </o:p> |
Information <o:p> </o:p> |
591044 <o:p> </o:p> |
ABC <o:p> </o:p> |
true <o:p> </o:p> |
<o:p> </o:p> |
591038 <o:p> </o:p> |
Heading <o:p> </o:p> |
591041 <o:p> </o:p> |
789 <o:p> </o:p> |
false <o:p> </o:p> |
591044 <o:p> </o:p> |
591038 <o:p> </o:p> |
Information <o:p> </o:p> |
<o:p> </o:p>
Imported that and now get this! It moved the 591041 from under 591039 to under 591044. <o:p> </o:p>
So I manually inserted a same artifact (591040 after 591041), exported, made no changes, and imported. That worked, in that it kept both instances of 591040 where they were. <o:p> </o:p>
Finally I modified that export by moving the last row up a few lines. <o:p> </o:p>
id <o:p> </o:p> |
Primary Text <o:p> </o:p> |
isHeading <o:p> </o:p> |
parentBinding <o:p> </o:p> |
module <o:p> </o:p> |
Artifact Type <o:p> </o:p> |
591039 <o:p> </o:p> |
123 <o:p> </o:p> |
true <o:p> </o:p> |
<o:p> </o:p> |
591038 <o:p> </o:p> |
Heading <o:p> </o:p> |
591040 <o:p> </o:p> |
456 <o:p> </o:p> |
false <o:p> </o:p> |
591039 <o:p> </o:p> |
591038 <o:p> </o:p> |
Information <o:p> </o:p> |
591042 <o:p> </o:p> |
987 <o:p> </o:p> |
true <o:p> </o:p> |
<o:p> </o:p> |
591038 <o:p> </o:p> |
Heading <o:p> </o:p> |
591043 <o:p> </o:p> |
456 <o:p> </o:p> |
false <o:p> </o:p> |
591042 <o:p> </o:p> |
591038 <o:p> </o:p> |
Information <o:p> </o:p> |
591040 <o:p> </o:p> |
456 <o:p> </o:p> |
<o:p> </o:p> |
591042 <o:p> </o:p> |
591038 <o:p> </o:p> |
Information <o:p> </o:p> |
591044 <o:p> </o:p> |
ABC <o:p> </o:p> |
true <o:p> </o:p> |
<o:p> </o:p> |
591038 <o:p> </o:p> |
Heading <o:p> </o:p> |
591041 <o:p> </o:p> |
789 <o:p> </o:p> |
<o:p> </o:p> |
591044 <o:p> </o:p> |
591038 <o:p> </o:p> |
Information <o:p> </o:p> |
<o:p> </o:p>
And got this error: <o:p> </o:p>
ID CRRRW7571E ... <o:p> </o:p>
Validation Errors:
Row Number: 7
Error Message: Duplicate bindings or cycles were detected in the submitted binding structure
<o:p>
</o:p>
<o:p> </o:p>
<o:p> </o:p>
So DNG spreadsheet importer might be broken for this situation. L <o:p> </o:p>
<o:p> </o:p>
<o:p> </o:p>