TIA DB in andern DB kopieren

HEICO-BÄR

Level-2
Beiträge
15
Reaktionspunkte
1
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo,
ich bin momentan an einer Aufgabe dran, bei der ich einen Betriebsstundenzähler für 31 Maschinen programmieren soll.

Mein Probleme sind:
-Wechsel des Monats erfassen
-Daten des aktuellen Monats von einem DB in einen anderen DB kopieren und anschließend den ersten DB leeren und wieder neu beschreiben

Stehe etwas auf dem Schlauch. Eventuell hat jemand einen Tipp oder eventuell sogar einen Screenshot der mir weiter hilft.

Liebe grüße
 
2 weitere DBs anlegen, die die gleiche Struktur haben wie der DB, den du kopieren willst und alle mit einer Struktur versehen. Einen DB nutzt du als den Speicher DB und einen zum ablöschen, dieser muss überall "Null" als Werte haben und darf nicht verändert werden.

Weißt du ob die Zeit in der CPU stimmt und im Idealfall sogar eine Zeitsynchronisation per NTP angebunden ist? Dann ist auch das auslesen des korrekten Monatswechsels einfach gemacht, Monatswechsel erfassen lässt sich einfach indem man die Systemzeit (oder Lokalzeit) der CPU ausliest und dort aus dem Datentyp DTL den Monat anschaut, wenn sich dieser ändert dann folgende Funktion einmalig ausführen:

Code:
RD_loc_T(OUT=>#temp_DTL);

If #temp_DTL.Month <>"DB_global"."aktueller_monat" then
"DB_global"."aktueller_monat" := #temp_DTL.Month;
"DB_Data_save"."Struktur" := "DB_Data_original"."Struktur;
"DB_Data_original"."Struktur := "DB_Data_delete"."Struktur";

end_if;

Ist jetzt nur mal schnell runter getippt, da ich grade kein TIA zur Hand habe, wird der Compiler vielleicht an der ein oder anderen Stelle noch meckern. Wenn du nicht möchtest, dass das umkopieren bereits beim ersten Mal ausgeführt wird, dann solltest du vor dem reinladen des Programmcodes noch "DB_global"."aktueller_monat" auf den aktuellen Monat über eine VAT ändern.
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Dankeschön für die Antworten. Habe es jetzt mal probiert und das kopieren Werte klappt. Habe jetzt noch ein Problem mit dem Nullen des aktuellen Monats. Ich weiß nicht warum und ich habe auch schon viel ausprobiert, aber der Wert für den aktuellen Monat wird beim Monatswechsel nicht auf 0 gesetzt.
Vllt hat jemand dafür auch noch eine Lösung für mich.

Grüße
 

Anhänge

  • IMG_20230302_115726.jpg
    IMG_20230302_115726.jpg
    6,6 MB · Aufrufe: 33
Was steht denn in dem DB "Reihe_2_Null"."Struktur" drin? Zeig mal einen Screenshot der aktuell Werte davon

Was mir grade noch auffällt, du vergleichst in ...Lokalzeit.Minute mit "Aktueller_Monat".Monat. Wenn das die richtigen Variabelen sind, dann nochmal über die Bezeichnung nachdenken.
 
Was steht denn in dem DB "Reihe_2_Null"."Struktur" drin? Zeig mal einen Screenshot der aktuell Werte davon

Was mir grade noch auffällt, du vergleichst in ...Lokalzeit.Minute mit "Aktueller_Monat".Monat. Wenn das die richtigen Variabelen sind, dann nochmal über die Bezeichnung nachdenken.
Habe nur zum testen die lokalzeit.minuten umgestellt, soll später erst beim Monatswechsel überschreiben.

Screenshot kann ich gleich mal machen.
 

Anhänge

  • IMG_20230302_125512.jpg
    IMG_20230302_125512.jpg
    5,3 MB · Aufrufe: 15
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Wie werden die Daten denn in "Reihe_2".Struktur eingetragen? Nicht das die Daten nach dem ablöschen im Programm wieder beschrieben werden. Wo kommen die Daten her und wie landen diese dann im DB?
 
Zurück
Oben