2017-09-19 2 views
0

他の属性オブジェクトの条件をいくつか使用して、あらかじめ設定された列挙値{""、 "1"、 "2"、 "3"}などで属性を設定しようとしました。以下のようになります。DXL DOORSで列挙値を使用/選択する

if (o."attr1" = "AA") { 
    o."enumeratedAttr" = "1" 
} else if (o."attr1" = "BB") { 
    o."enumeratedAttr" = "1" 
} else { 
    o."enumeratedAttr" = "" //no change as default 
} 

ただし、列挙型属性はその要素をDBEとして返します。上のスクリプトは動作しません。どのように各条件で列挙値の1つを設定/選択できますか?ありがとう。

答えて

0

さて、私はこれで亀裂を取るつもりです、そして、私はそれが参考になることを願っています。

if (o."attr1" = "AA") {  
o."enumeratedAttr" = "1" 
} else if (o."attr1" = "BB") { 
o."enumeratedAttr" = "1" 
} else { 
o."enumeratedAttr" = "" //no change as default } 

これは、必要な型として列挙型を取得しません。あなたは文字列に列挙型を比較したい場合は、このような何か必要があります。あなたは、Oを割り当てないことを確認する必要があります

if (o."attr1" "" == "AA") {  
o."enumeratedAttr" = "1" 
} else if (o."attr1" "" == "BB") { 
o."enumeratedAttr" = "1" 
} else { 
o."enumeratedAttr" = "" //no change as default } 

を「enumeratedAttr」ではない値にenum型に対して有効です。これはDXLエラーを引き起こします。

オブジェクト/属性呼び出しの後に引用符( "")を追加すると、DOORSは文字列と文字列の比較を確実に実行します。

関連する問題