public function linkStammdaten($sender, $param)
 {
     $MultiDimension = 0;
     $Usersql = "SELECT idtm_stammdaten, stammdaten_name FROM tm_stammdaten WHERE idta_stammdaten_group = '" . $this->dim_idta_stammdaten_group->Text . "'";
     $Userdata = PFH::convertdbObjectArray(StammdatenRecord::finder()->findAllBySql($Usersql), array("idtm_stammdaten", "stammdaten_name"));
     $this->fields_idtm_stammdaten->DataSource = $Userdata;
     $this->fields_idtm_stammdaten->dataBind();
     $LABEL_AVAILABLE_VALUES = "";
     $Records = StammdatenGroupView::finder()->findAll("parent_idta_stammdaten_group = ? AND idta_stammdatensicht = ?", $this->dim_idta_stammdaten_group->Text, $this->dim_idta_stammdatensicht->Text);
     $counter = 0;
     if (count($Records) > 0) {
         $SQLINStatement = "(";
         foreach ($Records as $Record) {
             $counter == 0 ? $SQLINStatement .= "'" . $Record->idta_stammdaten_group . "' " : ($SQLINStatement .= ",'" . $Record->idta_stammdaten_group . "'");
             $counter == 0 ? $LABEL_AVAILABLE_VALUES .= " " . $Record->stammdaten_group_name : ($LABEL_AVAILABLE_VALUES .= ", " . $Record->stammdaten_group_name);
             $counter++;
             if ($Record->stammdaten_group_multi == 1) {
                 $MultiDimension = 1;
             }
         }
         $SQLINStatement .= ") ";
     } else {
         $SQLINStatement = "('-1') ";
     }
     $this->LABEL_AVAILABLE_VALUES->Text = $LABEL_AVAILABLE_VALUES;
     $TTRecords = TTStammdatenStammdatenRecord::finder()->findAll();
     $counter = 0;
     if (count($TTRecords) >= 1 and $MultiDimension == 0) {
         $TTSQLINStatement = "(";
         foreach ($TTRecords as $TTRecord) {
             $counter == 0 ? $TTSQLINStatement .= "'" . $TTRecord->idtm_stammdaten . "' " : ($TTSQLINStatement .= ",'" . $TTRecord->idtm_stammdaten . "'");
             $counter++;
         }
         $TTSQLINStatement .= ") ";
     } else {
         $TTSQLINStatement = "('-1') ";
     }
     $Usersql = "SELECT idtm_stammdaten, stammdaten_name FROM tm_stammdaten WHERE idta_stammdaten_group IN " . $SQLINStatement . "AND idtm_stammdaten NOT IN " . $TTSQLINStatement;
     $Userdata = PFH::convertdbObjectArray(StammdatenRecord::finder()->findAllBySql($Usersql), array("idtm_stammdaten", "stammdaten_name"));
     if (count($Userdata) < 1) {
         $Userdata = array("0" => "leer");
     }
     $this->fields_children_idtm_stammdaten->DataSource = $Userdata;
     $this->fields_children_idtm_stammdaten->dataBind();
 }
 public function PFStrukturGenerator($OnlyNested = 0, $planungssicht = 1)
 {
     //als erstes suchen wir die ebenen der obersten ebene
     //das parent elment ist NULL
     if ($OnlyNested == 0) {
         $rootsql = "SELECT * FROM vv_stammdaten_group WHERE parent_idta_stammdaten_group = 0 AND stammdaten_group_original = 0 AND idta_stammdatensicht = " . $planungssicht . " AND sts_stammdaten_group_use = 1";
         $BaseGroupElements = StammdatenGroupView::finder()->findAllBySQL($rootsql);
         foreach ($BaseGroupElements as $RootElement) {
             $LevelOne = StammdatenRecord::finder()->findAllByidta_stammdaten_group($RootElement->idta_stammdaten_group);
             foreach ($LevelOne as $LOElement) {
                 //check, ob der knoten schon existiert, wenn ja, wird er automatisch umgeordnet
                 $new_parent_idtm_struktur = $this->ifNodeExists($LOElement->idtm_stammdaten, $LOElement->stammdaten_name, 0, $RootElement->idta_struktur_type, 1, $planungssicht);
                 //jetzt schauen wir, ob bei den Kindern Informationen aus der Zuordnung existieren...
                 $this->addChildElmenents($LOElement, $new_parent_idtm_struktur, $planungssicht);
             }
         }
     }
     $this->rebuild_NestedInformation(0, 1);
 }