2016-12-05 2 views
0

모듈의 각 객체에 대해 링크를보고 링크 이름을 반환하는 DXL 열로 사용할 DXL을 작성하고 있습니다. 그런 다음 링크 이름이 "verif"로 시작하면 링크 된 모듈의 "TestResultFloating"속성에서 객체 텍스트를 가져와 현재 모듈의 DXL 열에 표시합니다.DXL 속성이 모듈에 존재하지 않으면 오류를 무시합니다.

전체 데이터베이스 (현재 샌드 박스를 사용 중입니다)에서이 문제를 사용할 때 "verif"링크 모듈을 통해 연결된 일부 모듈에는 "TestResultFloating"속성이 포함되지 않습니다. 이것들에 대해 '알 수없는 객체 속성 (TestResultFloating)'오류를 억압하고 대신 현재 모듈의 해당 객체에 대해 N/A와 같은 것을 표시하려고합니다.

아래 코드는 "TestResultFloating"속성이 연결된 모듈에있는 한 현재 작동하지만 속성이없는 경우 오류가 발생합니다.

ModName_ mSrc 
Object o = current 
Object nObject 
Object oSrc, oDest 
LinkRef lr = null 
Link l = null 
string linkname = "" 
string attrbName = "TestResultFloating" 

    for mSrc in (obj <- "*") do { 

    if (!open(mSrc)) { 
     read(fullName(mSrc), true) 
    } 
    } 

    for l in (obj <- "*") do { 

    oSrc = source(l) 
    linkname = name(module(l)) 
    string linkmodname = upper(linkname[0:4]) 

    if(linkmodname == "VERIF") { 
     string objText = oSrc."TestResultFloating" 
     display(objText) 
     } 
    } 

은 내가 속성이 존재하는지 여부를 확인하는 것이었다 DXL 참조 설명서에서 가지고 그 일을 한 가지 방법을 시도하고 작업을한다. 이것은 내가 추가 한 것입니다하지만 내가 뭘하려 은 다음과 같다, 나는 여전히 같은 오류 "알 수없는 개체 속성 (TestResultFloating)"를 얻을 작동하지 않습니다

if(linkmodname == "VERIF") { 
     if(exists attribute "TestResultFloating"){ 
     string objText = oSrc."TestResultFloating" 
     display(objText) 
    } 
     else { 
     display("N/A") 
     } 
    } 

도 내가있어주의하시기 바랍니다 DOORS와 DXL에 대해 아주 새로운 것입니다. 그래서 내가 크게 잘못한 일을하거나 단순한 질문을하면 용서해주십시오.

답변

1

string probeAttr_(Object o, string attrName)이라는 유틸리티 기능이 있는데,이 속성은 속성의 읽기 가능 여부 또는 존재 여부가 확실하지 않은 경우 속성 값을 가져 오는 데 사용할 수 있습니다.
이 기능과 다른 환경에 맞는 많은 유사한 기능은 "c : ₩ Program Files ₩ IBM ₩ Rational ₩ DOORS ₩ 9.6 ₩ lib ₩ dxl ₩ utils ¥ attrutil.inc"파일에서 찾을 수 있습니다.

+0

나는이 경우에 사용합니까? 나는 전에 함수를 사용하지 않았다. 문자열 = probeAttr_ (obj, "TestResultFloating")을 설정 한 다음 문자열이 비어 있는지 확인하는 것과 같을까요? – Gurn64

+0

네, 정확하게 이것 같습니다. – Mike

관련 문제