FlowFact - Entwicklungstools

zurück

Function - OBJ_GetRootOBJDsn
Hauptobjekt im Objektbaum

Diese Funktion wendet 'OBJ_GetParentOBJDsn' solange an, bis kein übergeordnetes Objekt vorhanden ist. Ein Hauptobjekt ist somit jedes Objekt ohne ein übergeordnetes Objekt.
Hinweis: Bei zyklisch Verknüpften Datensätzen wird ein Fehler ausgegeben.
  Function OBJ_GetRootOBJDsn(ByVal strObjDsn As String) As String  
 


strObjDsn: Datensatznummer des untergeordneten Objektes
Rückgabewert: Datensatznummer (DSN) des Hauptobjektes oder 'LEER'


Public Function OBJ_GetRootOBJDsn(ByVal strObjDsn As String) As String
    Dim strDsnParent As String
    Dim strDsnCur As String
    Dim strMsg As String
    Dim strDsnList As String

    strDsnCur = strObjDsn
    strDsnParent = strDsnCur
    While strDsnParent <> ""
        strDsnParent = OBJ_GetParentOBJDsn(strDsnCur)
        If strDsnParent <> "" Then
            If InStr(strDsnList, "|" & strDsnParent & "|") > 0 Then
                strMsg = "Zyklische Verknüpfung zwischen Objekt '§1§' und '§2§'"
                strMsg = Replace(strMsg, "§1§", oBase.Sql_GetKennung("OBJ", strDsnCur, False))
                strMsg = Replace(strMsg, "§2§", oBase.Sql_GetKennung("OBJ", strDsnParent, False))
                Err.Raise 601, "OBJ_GetRootOBJDsn", strMsg
            End If
            strDsnList = strDsnList & strDsnParent & "|"

            strDsnCur = strDsnParent
        End If
    Wend
    OBJ_GetRootOBJDsn = strDsnCur
End Function