FlowFact - Entwicklungstools

zurück

Function - AKT_GetRootAKTDsn
Hauptaktivität im Vorgangsbaum

Diese Funktion wendet 'AKT_GetParentAdDsn' solange an, bis keine übergeordnete Aktivität vorhanden ist. Eine Hauptaktivität ist somit jede Aktivität ohne eine übergeordnete Aktivität.
Hinweis: Bei zyklisch Verknüpften Datensätzen wird ein Fehler ausgegeben.
  Function AKT_GetRootAKTDsn(ByVal strAktDsn As String) As String  
 


strAktDsn: Datensatznummer der untergeordneten Aktivität
Rückgabewert: Datensatznummer (DSN) der Hauptaktivität oder 'LEER'


Public Function AKT_GetRootAKTDsn(ByVal strAktDsn As String) As String
    Dim strDsnParent As String
    Dim strDsnCur As String
    Dim strMsg As String
    Dim strDsnList As String

    strDsnCur = strAktDsn
    strDsnParent = strDsnCur
    While strDsnParent <> ""
        strDsnParent = AKT_GetParentAKTDsn(strDsnCur)
        If strDsnParent <> "" Then
            If InStr(strDsnList, "|" & strDsnParent & "|") > 0 Then
                strMsg = "Zyklische Verknüpfung zwischen Aktivität '§1§' und '§2§'"
                strMsg = Replace(strMsg, "§1§", oBase.Sql_GetKennung("AKT", strDsnCur, False))
                strMsg = Replace(strMsg, "§2§", oBase.Sql_GetKennung("AKT", strDsnParent, False))
                Err.Raise 601, "AKT_GetRootAktDsn", strMsg
            End If
            strDsnList = strDsnList & strDsnParent & "|"
            strDsnCur = strDsnParent
        End If
    Wend
    AKT_GetRootAKTDsn = strDsnCur
End Function