public static function initStrukturLink() { //als erstes holen wir uns die Definitionen aus ta_stammdaten_link $StammdatenLinks = StammdatenLinkRecord::finder()->findAll(); foreach ($StammdatenLinks as $StammdatenLink) { //als nächstes hole ich mit die Werte der Dimensionsgruppe in der gesucht werden soll, diese gilt dann als suchkriterium... $StammdatenGroups = StammdatenRecord::finder()->findAllByidta_stammdaten_group($StammdatenLink->idta_stammdaten_group); foreach ($StammdatenGroups as $StammdatenGroup) { //als nächstes muss ich in der Struktur suchen, welcher Bereich für die jeweiligen Kennungen gilt... $StrukturWechselKnoten = StrukturRecord::finder()->findByidtm_stammdaten($StammdatenGroup->idtm_stammdaten); if (is_object($StrukturWechselKnoten)) { //da lft und rgt jetzt bekannt sind, kann ich mit dem folgenden SQL die entsprechenden Elemente fuer idtm_str_from und idtm_str_to finden $SQL = "SELECT idtm_struktur FROM tm_struktur WHERE (struktur_lft BETWEEN " . $StrukturWechselKnoten->struktur_lft . " AND " . $StrukturWechselKnoten->struktur_rgt . ") AND idtm_stammdaten='" . $StammdatenLink->idtm_stammdaten_from . "'"; $idtm_struktur_from = StrukturRecord::finder()->findBySql($SQL)->idtm_struktur; $SQL = "SELECT idtm_struktur FROM tm_struktur WHERE (struktur_lft BETWEEN " . $StrukturWechselKnoten->struktur_lft . " AND " . $StrukturWechselKnoten->struktur_rgt . ") AND idtm_stammdaten='" . $StammdatenLink->idtm_stammdaten_to . "'"; $idtm_struktur_to = StrukturRecord::finder()->findBySql($SQL)->idtm_struktur; //jetzt haben wir alle informationen um den Datensatz zu schreiben $TestRecord = StrukturStrukturRecord::finder()->count("idtm_struktur_from = ? AND idtm_struktur_to = ? AND idta_feldfunktion = ?", $idtm_struktur_from, $idtm_struktur_to, $StammdatenLink->idta_feldfunktion_from); if ($TestRecord == 1) { $ChangeRecord = StrukturStrukturRecord::finder()->find("idtm_struktur_from = ? AND idtm_struktur_to = ? AND idta_feldfunktion = ?", $idtm_struktur_from, $idtm_struktur_to, $StammdatenLink->idta_feldfunktion_from); } else { $ChangeRecord = new StrukturStrukturRecord(); } $ChangeRecord->idtm_struktur_from = $idtm_struktur_from; $ChangeRecord->idtm_struktur_to = $idtm_struktur_to; $ChangeRecord->idta_feldfunktion = $StammdatenLink->idta_feldfunktion_from; $ChangeRecord->save(); unset($TestRecord); unset($ChangeRecord); } } unset($StammdatenGroups); } }
public function RCTTSavedButtonClicked($sender, $param) { if ($this->RCedstammdatenlink_edit_status->Text == 0) { $StammdatenLink = new StammdatenLinkRecord(); } else { $StammdatenLink = StammdatenLinkRecord::finder()->findByPK($this->RCTDedidta_stammdaten_link->Text); } $StammdatenLink->idta_stammdaten_link = $this->RCTDedidta_stammdaten_link->Text; $StammdatenLink->idtm_stammdaten_from = $this->RCTDedidtm_stammdaten_from->Text; $StammdatenLink->idtm_stammdaten_to = $this->RCTDedidtm_stammdaten_to->Text; $StammdatenLink->idta_stammdaten_group = $this->RCTDedidta_stammdaten_group->Text; $StammdatenLink->idta_feldfunktion_from = $this->RCTDedidta_feldfunktion_from->Text; $StammdatenLink->save(); $this->bindList_StammdatenLink($sender, $param); $this->RCedstammdatenlink_edit_status->Text = 1; }